Video Game Music
Generic Header Creator for VGMstream Description: Latest version 2.06 (13.12.2008)

Download >here<

Currently supported formats:

 - PlayStation 4-bit ADPCM
 - GameCube ADP/DTK 4-bit ADPCM
 - PCM RAW (Big Endian)
 - PCM RAW (Little Endian)
 - PCM RAW (8Bit)
 - Squareroot-delta-exact 8-bit DPCM
 - Intel DVI 4-Bit IMA ADPCM
 - MPEG X Layer X
 - 4-bit IMA ADPCM
 - Yamaha AICA 4-bit ADPCM
 - Microsoft 4-bit IMA ADPCM
 - Nintendo DSP
 - PCM RAW (Unsigned 8-bit)
more to come.....

Generic Header Layout:

The Header has a dynamic length, Byte 0x0020 shows the Generic Header Length, but it has a reserved byte-area of 4096 bytes to store infos about the original file and other infos...

0x0000 - Magic Word "GENH"
0x0004 - Channels
0x0008 - Interleave
0x000C - Frequency
0x0010 - Loop Start (In Samples)
0x0014 - Loop End (In Samples)
0x0018 - Identifer Byte
0x001C - Audio Start Offset
0x0020 - Generic Header Length (in the actual spec minimal 0x24 bytes)

0x0200 - Original File Name (256 Bytes)
0x0300 - Original File Length (4 Bytes)
0x0304 - Generic Header Creator Version (4 Bytes)

Identifer Byte could be:

0x00 - PlayStation 4-bit ADPCM (PS1, PS2)
0x01 - XBOX 4-bit IMA ADPCM (XBOX, XBOX360)
0x02 - GameCube ADP/DTK 4-bit ADPCM (NGC, Wii)
0x03 - PCM RAW (Big Endian) (Various)
0x04 - PCM RAW (Little Endian) (Various)
0x05 - PCM RAW (8Bit) (Various)
0x06 - Squareroot-delta-exact 8-bit DPCM (3DO)
0x07 - Intel DVI 4-Bit IMA ADPCM (Various)
0x08 - MPEG X Layer X (Various)
0x09 - 4-bit IMA ADPCM  (Various)
0x0A - Yamaha AICA 4-bit ADPCM (Dreamcast)
0x0B - Microsoft 4-bit IMA ADPCM (Various)
0x0C - Nintendo GameCube DSP 4-bit ADPCM (NGC/WII)
0x0D - PCM RAW (8-Bit Unsigned) (Various)

How to use it:

For our example we're using a bgm file from Wild Arms Advanced 3rd, after ripping the file and determining the needed infos we can append a Generic Header to the file, to play it correctly...

1.) Select the File where you want to append a GENH.
2.) Select the Input Format from the list (in this case PlayStation 4-bit ADPCM).
3.) Put the needed values into the textboxes, if you're dealing with an unknown header put the start of the real bgm data into the "Header Skip" tetbox, if you don't want to add a loop leave the "Loop Start (Samples)" box empty, else put a value there.
You can use the file end as Loop End (it should be the same in most cases).
4.) Hit "Create Generic Header" and listen to your beautiful looped GENH file. Winken
5.) If you have more questions, join our irc chat at #console_stream

[ Besucher-Statistiken *beta* ]