Kris' Music System Voice Format
|Format type||Musical Instrument|
|Hardware||OPL, MIDI, PC Speaker|
|Number of instruments||65535|
|Instruments named?||Yes, 4 chars|
The Kris' Music System Voice Format is used to store the instrument settings for songs in Kris' Music System Format. There are different variants of the format for different audio hardware.
The file begins with a header:
|UINT32LE||lenFile||File length (sometimes files are longer than this though)|
|UINT16LE||numInstruments||Number of instruments in the file|
|char[numInstruments]||titles||List of four-character instrument titles, not null-padded, one for each instrument one after the other with no separators.|
|UINT32LE[numInstruments]||offInst||Offset where instrument data begins, relative to the end of this header|
This is followed by the instrument data. The offInst is always zero, as the instrument offsets are relative to the end of the above header and the first instrument always follows directly.
Each instrument begins with the following data.
|UINT16LE||lenInst||Length of instrument data, in bytes (0x64 for Adlib, 0x5D for MT32, Tandy, and PC Speaker|
! Work out rest of instrument data
There are no known tools that work with files in this format.
This file format was reverse engineered by Malvineous. If you find this information helpful in a project you're working on, please give credit where credit is due. (A link back to this wiki would be nice too!)