JUKEBOX.SI: Difference between revisions

123 bytes added ,  24 November 2019
Rewrote details section based on new information (more of this page will need rewriting)
No edit summary
(Rewrote details section based on new information (more of this page will need rewriting))
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 [[Interleaf 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 ==
== 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.)
As an Interleaf file, JUKEBOX.SI is a container for a large number of asset files. Most of these files are background and radio music (including the radio voices) in Microsoft {{Wikipedia|WAV}} audio, however there are also 4 [[FLC]] video files for each of the building rooms (dune buggy, jetski, helicopter, and race car). These FLC files are the small instructional videos played in the screen and are interleaved together as "movies" that are equal length (thus looping together).


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.
All audio in JUKEBOX.SI (like most of LEGO Island's audio assets) is mono uncompressed PCM. While the majority of tracks are sampled at 11025 Hz/16-bit, a handful are sampled at 22050 Hz/8-bit. These can be distinguished by each track's WAV header (the "fmt " section if you're familiar with WAV headers) left intact in the first [[MxCh|chunk] of their respective streams.


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 22-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.
When replacing, the WAV "fmt " header can be directly transplanted over the existing data in said first chunk. All WAV formats are compatible. The PCM data can be transplanted too, but it must be interleaved into chunks.


== Technical Information ==
== Technical Information ==