438
edits
(Created page with "JUKEBOX.SI is an SI file containing 60 audio tracks of music and radio dialogue. With a few exceptions{{Citation needed}}, all of Lego Island's music is s...") |
No edit summary |
||
Line 1: | Line 1: | ||
[[JUKEBOX.SI]] is an [[SI Files|SI file]] containing 60 audio tracks of music and radio dialogue. With a few exceptions{{Citation needed}}, all of [[Lego Island]]'s music is stored in JUKEBOX.SI. | [[JUKEBOX.SI]] is an [[SI Files|SI file]] containing 60 audio tracks of music and radio dialogue. With a few exceptions{{Citation needed}}, all of [[Lego Island]]'s music is stored in JUKEBOX.SI. | ||
== Details == | |||
All audio in JUKEBOX.SI is uncompressed mono PCM. Most of the tracks are in 11025 Hz and 16-bit, but a handful are 22050 Hz and 8-bit. Each track starts with a header specifying its format (sample rate, sample size, byte rate, etc.) | |||
Due to SI files' standardization with RIFF, each track's header is Microsoft {{Wikipedia|WAV}} compatible and can be transplanted directly into a WAV file's header. However due to SI files' chunked/interleaved nature, the PCM data cannot be directly transplanted without noticeable clicks and glitches in the output. | |||
JUKEBOX.SI does not actually interleave its audio with any other data, making extraction easier than most SI files. However the audio is still separated into chunks and each chunk's 20-byte header (which is naturally not PCM data) is what causes the aforementioned clicks/glitches when trying to extract the data directly. These chunk headers will need to be removed to extract a clean copy of the audio. | |||
== Technical Information == | == Technical Information == | ||
Music appears to begin with a <code>MxDa</code> and is split into chunks of <code>MxCh</code>. The <code>MxDa</code> header contains information about the PCM audio in the <code>MxCh</code> chunks. The first <code>MxCh</code> appears to be information about the remainder of the chunks in the <code>MxDa</code> structure. | Music appears to begin with a <code>MxDa</code> and is split into chunks of <code>MxCh</code>. The <code>MxDa</code> header contains information about the PCM audio in the <code>MxCh</code> chunks. The first <code>MxCh</code> appears to be information about the remainder of the chunks in the <code>MxDa</code> structure. | ||
All bytes are little endian. | All bytes are little endian as is normal for RIFF-based files. | ||
'''MxDa Header Specification''' | '''MxDa Header Specification''' |