Music: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 14: | Line 14: | ||
|- | |- | ||
| <code>MxCh</code> || 4 || Chunk Header | | <code>MxCh</code> || 4 || Chunk Header | ||
|- | |||
| Chunk Size || 8 || 4-byte Integer | |||
|- | |- | ||
| Sub-Chunk Size || 22 || 4-byte Integer - The remaining size of this chunk after this value | | Sub-Chunk Size || 22 || 4-byte Integer - The remaining size of this chunk after this value | ||
Line 28: | Line 30: | ||
|- | |- | ||
| Bits per Sample per Channel || 38 || 2-byte Integer - 8 = 8-bit, 16 = 16-bit, etc. | | Bits per Sample per Channel || 38 || 2-byte Integer - 8 = 8-bit, 16 = 16-bit, etc. | ||
|} | |||
'''MxCh Specification''' | |||
{| class="wikitable" | |||
|- | |||
! Bytes !! Offset !! Description | |||
|- | |||
| <code>MxCh</code> || 0 || Chunk Header | |||
|- | |||
| Chunk Size || 4 || 4-byte Integer | |||
|- | |||
| Data|| 8 || Arbitrary data no more than "Chunk Size" in bytes | |||
|} | |} |
Revision as of 02:39, 18 April 2019
Technical Information
Music is stored in Lego Island SI files. SI files are derivatives of the Resource Interchange File Format best known as the basis of AVI and WAV files.
All music appears to be 11025Hz Mono Signed 16-bit. All bytes are little endian.
Music appears to begin with a MxDa
and is split into chunks of MxCh
. The MxDa
header contains information about the PCM audio in the MxCh
chunks. The first MxCh
appears to be information about the remainder of the chunks in the MxDa
structure.
MxDa Header Specification
Bytes | Offset | Description |
---|---|---|
MxDa |
0 | Identifier |
MxCh |
4 | Chunk Header |
Chunk Size | 8 | 4-byte Integer |
Sub-Chunk Size | 22 | 4-byte Integer - The remaining size of this chunk after this value |
Audio Format | 26 | 2-byte Integer - 1 = PCM, others indicate some form of compression |
Number of Channels | 28 | 2-byte Integer - 1 = Mono, 2 = Stereo |
Sample Rate | 30 | 4-byte Integer |
Byte Rate | 34 | 4-byte Integer - is equal to Sample Rate * Number of Channels * BitsPerSample/8
|
Bytes per Sample | 36 | 2-byte Integer - is equal to Number of Channels * BitsPerSample/8
|
Bits per Sample per Channel | 38 | 2-byte Integer - 8 = 8-bit, 16 = 16-bit, etc. |
MxCh Specification
Bytes | Offset | Description |
---|---|---|
MxCh |
0 | Chunk Header |
Chunk Size | 4 | 4-byte Integer |
Data | 8 | Arbitrary data no more than "Chunk Size" in bytes |