.IMC

From Gitaroo Pals
Jump to navigation Jump to search

The .IMC file format is used to store audio in Gitaroo Man.

Data types used in this document (all little-endian):

  • uint32: unsigned 4-byte integer

Header

offset size data
+0x00 4 number of subsongs


After this is a header entry for each subsong:

offset size data
+0x00 16 null-terminated string: name of subsong
+0x10 4 uint32: absolute offset of subsong start
+0x14 4 probably garbage
+0x18 4 probably garbage
+0x1C 4 uint32: audio loading mode
  • 0 = Stream from disc (music, you win/lose)
  • 2 = Load into memory (menu sound effects, beeps)

Subsong

The actual audio data is Sony VAG compressed ADPCM.

offset size data
+0x00 4 uint32: number of channels (as many as 8)
+0x04 4 uint32: sample rate (Hz)

valid sample rates are: 11025, 16000, 22050, 32000, 44100, 48000. Anything else will result in silent audio.

+0x08 4 uint32: frames per block (multiply by 16 to get block size in bytes)
+0x0C 4 uint32: total number of blocks, for all channels combined
+0x10 ? Sony VAG ADPCM sound data. (Exact size of this section, in bytes, is [frames per block] * 16 * [total number of blocks])