Skip to content

jman ADPCM compresor?, where?

Technical discussion which is not directly related to VGM files. Talk about Hardware and Software.

Moderator: Staff

  • pianino Offline
  • Posts: 65
  • Joined: 2014-11-29, 21:36:08
  • Location: quito, ecuador

jman ADPCM compresor?, where?

Post by pianino »

i want to use compressed samples in my vgm hacking music, i'm searching for he jman DPCM compressor but all the links is unavailable.
i download the Sonic mega pcm driver, but in te code can find the line to replace samples or convert the raw pcm to dpcm.
and, what extention is the dpcm files?, its a spesific file or a bin file as sonic1?.

where can i find the compressor?.
any help?
My favorite sound chip?, YM-2413!
  • User avatar
  • ValleyBell Offline
  • Posts: 4768
  • Joined: 2011-12-01, 20:20:07
  • Location: Germany

Post by ValleyBell »

I personally don't see a reason for using compressed samples for homebrew stuff, as usual 8-bit PCM sounds better. And MegaPCM supports that as well.

In general you have to save your WAV files as RAW unsigned 8-bit (mono). At this point you should already use them with MegaPCM (which I think most people do these days?).
If you insist on using DPCM samples, you should probably download my SMPS research pack http://www.mediafire.com/file/w6w29o3ec ... Pack_v5.7z
It includes a tool called "pcm2dpcm", which does the same conversion that jman's DPCM compressor did in the early days. The file extension doesn't matter, it's all binary files.
  • pianino Offline
  • Posts: 65
  • Joined: 2014-11-29, 21:36:08
  • Location: quito, ecuador

Post by pianino »

the reason to use dpcm is for experimenting new Sonic posibilitys when i apply large pcm files, for example, a 1 minut audio file as a wave player.
allso s for add derty qality of the samples just the sega megadrive dac.
My favorite sound chip?, YM-2413!
  • lo zaffo Offline
  • Posts: 39
  • Joined: 2016-08-03, 22:36:09
  • Location: Italy

Post by lo zaffo »

Does anybody believe YM2413/OPLL can do pcm as baa say? Sort of PCM mode of FM6 of YM2612/OPN2?
Botton of this Page: baa Japanese page
  • User avatar
  • ValleyBell Offline
  • Posts: 4768
  • Joined: 2011-12-01, 20:20:07
  • Location: Germany

Post by ValleyBell »

This is not the first time I've seen hints of a debug mode on the OPLL that makes it able to play PCM stuff.
Unfortunately documentation on the OPLL test register is next to non-existent and it isn't emulated by any emulator AFAIK.
This is actually the first time I've seen such concrete documentation on it!

EDIT: Searching a bit more, I also found some documentation about it in the MSX Resource Center forums. It seems to be the same info, just in English.
  • lo zaffo Offline
  • Posts: 39
  • Joined: 2016-08-03, 22:36:09
  • Location: Italy

Post by lo zaffo »

Thank You very much VB!
I've just taken it from Your links!
  • SeregaZ Offline
  • Posts: 98
  • Joined: 2015-08-08, 13:56:52

Post by SeregaZ »

SMPS research pack is nice item. as i can see it have a lot of games and with sound data for that melodoes. but have this pack a player, that can play this trs file? or maybe spec file with explanation where lays wich data? instruments, envelopes and sequences?
  • User avatar
  • ValleyBell Offline
  • Posts: 4768
  • Joined: 2011-12-01, 20:20:07
  • Location: Germany

Post by ValleyBell »

For a general overview how SMPS works, see the Sonic Retro Music Hacking Guide.
The sequence commands (also called "coordination flags" are different in almost every game though.
For this reason, there is a file called "DefCFlag.txt" that lists what each command byte does. (see also: full list of commands)

SMPS files can be played using a program called SMPSPlay, which I posted in the SMPS Research topic on Sonic Retro.
  • SeregaZ Offline
  • Posts: 98
  • Joined: 2015-08-08, 13:56:52

Post by SeregaZ »

not clear :) ok, i choice Golden Axe III from archive, then choice this (probably song) one: 01 Title Theme (Skip).trs

where to get structure for this .trs file?

Image

later:
06 07 pointer to wav
08 09 not used
0A 0B pointer to channel
0C some high... song pitch?
0D probably song volume

later;

Code: Select all

      ;1 3 2 4  1 3 2 4  1 3 2 4  1 3 2 4
;fbalg detn mul rsc atrt am decr  sustain  susl relr total lv
;3D    02045408 1B1F3F1E 0B151112 01010101 2F2F2F1F  16808680
;3D    01010201 4B0F3F1E 0B050102 010000FF 2F2F2F1F  1C808680
;3C    71627161 1F1F1F1E 0F010602 02020102 FFFF0305  10801680
;3D    01010101 0F1F1F1E 0B050102 010000FF 2F2F2F1F  20868482
;3D    01010101 7E52144C 06080F03 00000000 3F1F1F1F  1B808080
;3D    01010101 7E42044C 06080F03 00000000 3F1F1F1F  1B808080
not clear with last part. i think it is total level of instrument, and 16 values is true, and 1C for next instrument too (for first operator). but 80? and 86? it cant be :) because it is $7F value as max for TL.

later again:
DefCFlag.txt file for this Golden Axe III have this items:

Code: Select all

E4	PAN_ANIM	        	82
***
01	MUS_PAUSE	MUSP_68K	82	; Pause/Resume Music, Note: if param is 81-FF, length is 03
82 is set as length. can it be mistake and real value is 02?
  • User avatar
  • ValleyBell Offline
  • Posts: 4768
  • Joined: 2011-12-01, 20:20:07
  • Location: Germany

Post by ValleyBell »

As described in the FM, DAC and PSG headers section of the Music Hacking Guide, the header also includes a default transposition and volume for each track. (and more for PSG)

In SMPS songs, a TL value of $80+ is often used to indicate that the operator is affected by the track volume.
GEMS and SMPS 68k decide this based on the "algorithm" of the instrument. SMPS Z80 looks at "TL bit 7" instead. (either method results in identical sound for 99% of all SMPS songs)
In any case, bit 7 is ignored by the YM2612. So values $80..$FF have the same effect as $00..$7F.

A length of $80+ in DefCFlag.txt means, that the command has a variable length.
For example, the Pan Animation command may be 2 or 6 bytes long. (2 bytes when the first parameter is 0, 6 bytes when it is nonzero)
For details on how each command works, you'll need to look at the SMPSPlay source code, src/Engine/smps_commands.c.
Post Reply