<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.legoisland.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=DmitriLeon2000</id>
	<title>LEGO Island Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.legoisland.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=DmitriLeon2000"/>
	<link rel="alternate" type="text/html" href="https://www.legoisland.org/wiki/Special:Contributions/DmitriLeon2000"/>
	<updated>2026-04-18T02:42:30Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://www.legoisland.org/index.php?title=MxHd&amp;diff=519</id>
		<title>MxHd</title>
		<link rel="alternate" type="text/html" href="https://www.legoisland.org/index.php?title=MxHd&amp;diff=519"/>
		<updated>2024-09-18T16:03:03Z</updated>

		<summary type="html">&lt;p&gt;DmitriLeon2000: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [[MxHd]] section is part of the [[Interleaf File]] standard. It&#039;s the global header that defines metadata about the Interleaf file itself.&lt;br /&gt;
&lt;br /&gt;
== Specification ==&lt;br /&gt;
{{Incomplete}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Bytes !! Offset !! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;quot;MxHd&amp;quot; || 4 || 0 || A data identifier&lt;br /&gt;
|-&lt;br /&gt;
| Chunk size  || 4 || 4 || An integer specifying the size of this chunk minus the first 8 bytes (usually &#039;&#039;&#039;12&#039;&#039;&#039; or &#039;&#039;&#039;0xC&#039;&#039;&#039; for MxHd section)&lt;br /&gt;
|-&lt;br /&gt;
| Minor version  || 2 || 8 || An integer specifying minor version (always &#039;&#039;&#039;2&#039;&#039;&#039; in retail releases)&lt;br /&gt;
|-&lt;br /&gt;
| Major version  || 2 || 10 || An integer specifying major version (always &#039;&#039;&#039;2&#039;&#039;&#039; in retail releases)&lt;br /&gt;
|-&lt;br /&gt;
| Buffer size  || 4 || 12 || An integer specifying the size of every data buffer&lt;br /&gt;
|-&lt;br /&gt;
| Buffer count  || 4 || 16 || An integer specifying the number of data buffers&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>DmitriLeon2000</name></author>
	</entry>
	<entry>
		<id>https://www.legoisland.org/index.php?title=MxCh&amp;diff=498</id>
		<title>MxCh</title>
		<link rel="alternate" type="text/html" href="https://www.legoisland.org/index.php?title=MxCh&amp;diff=498"/>
		<updated>2024-04-20T13:49:15Z</updated>

		<summary type="html">&lt;p&gt;DmitriLeon2000: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[MxCh]] is the identifier for a [[Lego Island]] data chunk. They are seen extensively in [[SI Files]] to allow interleaving of several different data types.&lt;br /&gt;
&lt;br /&gt;
MxCh chunks contain partial data of various different data types intended to be joined together continuously to form a complete file (an MxDa section). The chunks can also contain solely header data. A chunk will almost never contain a complete file on its own.&lt;br /&gt;
&lt;br /&gt;
== Specification ==&lt;br /&gt;
&lt;br /&gt;
=== WAV Data ===&lt;br /&gt;
&lt;br /&gt;
{{Incomplete}}&lt;br /&gt;
&lt;br /&gt;
This data is only known to be accurate for chunks that store WAV data.&lt;br /&gt;
&lt;br /&gt;
The MxCh header is 22 bytes long and specifies the length of the chunk with other data. MxCh chunks must start on an even offset or they will not be skipped by LEGO Island.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Bytes !! Offset !! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;quot;MxCh&amp;quot; || 0 || 4-byte chunk identifier&lt;br /&gt;
|-&lt;br /&gt;
| Chunk Size || 4 || 4-byte integer specifying the size of this chunk minus the first 8 bytes&lt;br /&gt;
|-&lt;br /&gt;
| Flags || 8 || 2-bytes that appear to have set flags about the chunk&lt;br /&gt;
|-&lt;br /&gt;
| ID || 10 || 4-byte integer that identifies which MxOb this belongs to.&lt;br /&gt;
|-&lt;br /&gt;
| Milliseconds || 14 || 4-byte integer that appears to be the chunk&#039;s offset in milliseconds increasing continuously (1000, 2000, 3000, etc.)&lt;br /&gt;
|-&lt;br /&gt;
| Chunk Data Size || 18 || 4-byte integer for the size of the data following the header.&lt;br /&gt;
|-&lt;br /&gt;
| Data || 22 || Arbitrary data no more than &amp;quot;Chunk Size - 14&amp;quot; in bytes (14 for the 22-byte header minus the first 8 bytes)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
The full purpose of the 2-byte &amp;quot;Flags&amp;quot; value above is not entirely known, however the following appear to be accurate:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Flag !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Chunk is an ending chunk. Chunk size must also be &amp;quot;14&amp;quot; (length of just the header - implies an empty chunk)&lt;br /&gt;
|-&lt;br /&gt;
| 16 || Chunk is split (see below).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Split Chunk ===&lt;br /&gt;
In addition to the data being split into chunks, the chunks themselves are sometimes split into two. If a chunk is split, both chunks will have the &#039;&#039;&#039;Flags&#039;&#039;&#039; section set to 16, and they&#039;ll also both have the same &#039;&#039;&#039;Milliseconds&#039;&#039;&#039; value. The &amp;quot;Chunk Size&amp;quot; will be accurate to each chunk&#039;s size (data length + 14), but the &amp;quot;Chunk Data Size&amp;quot; of the first chunk appears to be the total size of both chunks&#039; data. The second chunk&#039;s &amp;quot;Chunk Data Size&amp;quot; is accurate to its own chunk data size.&lt;br /&gt;
&lt;br /&gt;
The necessity of the split chunks appears to be due to the way Lego Island streams SI files; it appears to only be able to stream a certain amount of bytes (the buffer size) dictated by the SI file&#039;s [[MxHd]] (in the case of [[JUKEBOX.SI]], 20000h/131072 bytes; in the case of SNDANIM.SI, 58000h/360558 bytes; otherwise, 10000h/65536 bytes) at a time and the SI file must conform to this limitation. A chunk can have no data that extends over a multiple of the set buffer size. Doing so causes Lego Island to crash as it tries to read beyond the buffer it&#039;s allocated for streaming. Therefore, if a chunk is going to extend beyond a buffer size multiple, it must be split at that point and then another chunk must be written directly afterwards with the remainder of the data. This is a big obstacle to inserting audio that is larger than the existing audio, since literally all subsequent chunks of all subsequent songs must be shifted to fit around the buffer size multipliers or Lego Island will crash. This essentially necessitates a reconstruction of most, if not all, of the file.&lt;br /&gt;
&lt;br /&gt;
There seems to be no hard limit for the size of a chunk, other than having to accommodate these boundaries set by the [[MxHd]]. LEGO Island allows a chunk to be split more than once (possibly infinitely), meaning as long as the chunk is split every set buffer size it may be possible for each song to be read as one large chunk rather than one chunk per second. However, LEGO Island appears to expect each chunk to be one second long and seems to time certain events based on the length of a chunk rather than a length of time.&lt;/div&gt;</summary>
		<author><name>DmitriLeon2000</name></author>
	</entry>
	<entry>
		<id>https://www.legoisland.org/index.php?title=Interleaf_File&amp;diff=495</id>
		<title>Interleaf File</title>
		<link rel="alternate" type="text/html" href="https://www.legoisland.org/index.php?title=Interleaf_File&amp;diff=495"/>
		<updated>2024-04-20T06:48:38Z</updated>

		<summary type="html">&lt;p&gt;DmitriLeon2000: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;An &#039;&#039;&#039;Interleaf File&#039;&#039;&#039; (extension &#039;&#039;&#039;.SI&#039;&#039;&#039;) is a general-purpose asset archive format designed for streaming from CD-ROM. It was developed by [[Mindscape]] for use throughout [[LEGO Island]].&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
The Interleaf file format was originally thought to be exclusive to &#039;&#039;[[LEGO Island]]&#039;&#039;, but has since also been discovered in earlier [[Mindscape]] games called &#039;&#039;{{Wikipedia|Warhammer: Shadow of the Horned Rat}}&#039;&#039; and &#039;&#039;{{Wikipedia|Chessmaster 5000}}&#039;&#039;. Regardless, it remains an extremely obscure format and therefore is not well documented. All information known about this format has been through reverse engineering or interviews with game developers.&lt;br /&gt;
&lt;br /&gt;
Interleaf files are derived from the {{Wikipedia|Resource Interchange File Format}} standard (best known as the basis of {{Wikipedia|Audio Video Interleave}} and {{Wikipedia|WAV}} files). They are comprised of various LEGO Island-specific structures (such as [[MxDa]] and [[MxCh]]), however these structures usually contain standard format file data (such as PCM WAV audio and Windows BMP images).&lt;br /&gt;
&lt;br /&gt;
The primary purpose of Interleaf files is to split various file formats into smaller chunks that are interleaved together so they can all be read as one continuous stream. For example, a chunk of voice data may be followed by a chunk of matching animation data or a bitmapped graphic. This is done to reduce the amount of seeking around the disc for assets since CD-ROM speeds of the era were generally very slow and end-user hard drive space was usually too limited to store much game data.&lt;br /&gt;
&lt;br /&gt;
Interleaf files were produced internally with a tool called [[Weaver]], however this tool has never been publicly released or leaked.&lt;br /&gt;
&lt;br /&gt;
== Version ==&lt;br /&gt;
Interleaf files went through a number of revisions, as indicated by this error message that&#039;s thrown if an SI version doesn&#039;t match:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:WrongSIVersion.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The SI version is set in an SI file&#039;s [[MxHd]] section. The version used in both retail versions is 2.2.&lt;br /&gt;
&lt;br /&gt;
== Modification ==&lt;br /&gt;
As aforementioned, no official documentation of Interleaf files has ever been released. There are a handful of tools for working with them (e.g. [[LEGO Island Rebuilder]]), but none with a complete implementation. Therefore, manual hex editing is often used to replace or extract assets.&lt;br /&gt;
&lt;br /&gt;
When working with Interleaf files, this interleaving needs to be taken account as it will dictate how the data is both extracted and inserted. One file stream may be separated into several chunks with chunks of other files interleaved between them.&lt;br /&gt;
&lt;br /&gt;
Since audio is stored in PCM, Interleaf files can be crudely listened to using Audacity&#039;s &amp;quot;Import Raw Data&amp;quot; feature. SI audio is always uncompressed mono PCM and is either 11025 Hz and 16-bit or 22050 Hz and 8-bit. Unfortunately, due to the aforementioned chunked/interleaved nature of SI files, the audio retrieved through this method will be noticeably glitchy and will require further processing (removal of chunk headers and any non-audio chunks) to extract clean PCM data.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[JUKEBOX.SI]]&lt;br /&gt;
* [[NOCD.SI]]&lt;/div&gt;</summary>
		<author><name>DmitriLeon2000</name></author>
	</entry>
	<entry>
		<id>https://www.legoisland.org/index.php?title=MxHd&amp;diff=494</id>
		<title>MxHd</title>
		<link rel="alternate" type="text/html" href="https://www.legoisland.org/index.php?title=MxHd&amp;diff=494"/>
		<updated>2024-04-20T06:39:20Z</updated>

		<summary type="html">&lt;p&gt;DmitriLeon2000: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [[MxHd]] section is part of the [[Interleaf File]] standard. It&#039;s the global header that defines metadata about the Interleaf file itself.&lt;br /&gt;
&lt;br /&gt;
== Specification ==&lt;br /&gt;
{{Incomplete}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Bytes !! Offset !! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;quot;MxHd&amp;quot; || 0 || 4-byte data identifier&lt;br /&gt;
|-&lt;br /&gt;
| Chunk size || 4 || 4-byte integer specifying the size of this chunk minus the first 8 bytes (usually &#039;&#039;&#039;12&#039;&#039;&#039; or &#039;&#039;&#039;0xC&#039;&#039;&#039; for MxHd section)&lt;br /&gt;
|-&lt;br /&gt;
| Minor version || 8 || 2-byte integer specifying minor version (always &#039;&#039;&#039;2&#039;&#039;&#039; in retail releases)&lt;br /&gt;
|-&lt;br /&gt;
| Major version || 10 || 2-byte integer specifying major version (always &#039;&#039;&#039;2&#039;&#039;&#039; in retail releases)&lt;br /&gt;
|-&lt;br /&gt;
| Buffer size || 12 || 4-byte integer specifying the size of every data buffer&lt;br /&gt;
|-&lt;br /&gt;
| Buffer count || 16 || 4-byte integer specifying the number of data buffers&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>DmitriLeon2000</name></author>
	</entry>
	<entry>
		<id>https://www.legoisland.org/index.php?title=MxHd&amp;diff=493</id>
		<title>MxHd</title>
		<link rel="alternate" type="text/html" href="https://www.legoisland.org/index.php?title=MxHd&amp;diff=493"/>
		<updated>2024-04-20T06:39:06Z</updated>

		<summary type="html">&lt;p&gt;DmitriLeon2000: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [[MxHd]] section is part of the [[Interleaf File]] standard. It&#039;s the global header that defines metadata about the Interleaf file itself.&lt;br /&gt;
&lt;br /&gt;
== Specification ==&lt;br /&gt;
{{Incomplete}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Bytes !! Offset !! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;quot;MxHd&amp;quot; || 0 || 4-byte data identifier&lt;br /&gt;
|-&lt;br /&gt;
| Chunk size || 4 || 4-byte integer specifying the size of this chunk minus the first 8 bytes (usually &#039;&#039;&#039;12&#039;&#039;&#039; or &#039;&#039;&#039;0xC&#039;&#039;&#039; for MxHd section)&lt;br /&gt;
|-&lt;br /&gt;
| Minor version || 10 || 2-byte integer specifying minor version (always &#039;&#039;&#039;2&#039;&#039;&#039; in retail releases)&lt;br /&gt;
|-&lt;br /&gt;
| Major version || 8 || 2-byte integer specifying major version (always &#039;&#039;&#039;2&#039;&#039;&#039; in retail releases)&lt;br /&gt;
|-&lt;br /&gt;
| Buffer size || 12 || 4-byte integer specifying the size of every data buffer&lt;br /&gt;
|-&lt;br /&gt;
| Buffer count || 16 || 4-byte integer specifying the number of data buffers&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>DmitriLeon2000</name></author>
	</entry>
	<entry>
		<id>https://www.legoisland.org/index.php?title=MxHd&amp;diff=491</id>
		<title>MxHd</title>
		<link rel="alternate" type="text/html" href="https://www.legoisland.org/index.php?title=MxHd&amp;diff=491"/>
		<updated>2024-04-17T13:41:09Z</updated>

		<summary type="html">&lt;p&gt;DmitriLeon2000: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [[MxHd]] section is part of the [[Interleaf File]] standard. It&#039;s the global header that defines metadata about the Interleaf file itself.&lt;br /&gt;
&lt;br /&gt;
== Specification ==&lt;br /&gt;
{{Incomplete}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Bytes !! Offset !! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;quot;MxHd&amp;quot; || 0 || 4-byte data identifier&lt;br /&gt;
|-&lt;br /&gt;
| Chunk size || 4 || 4-byte integer specifying the size of this chunk minus the first 8 bytes (usually &#039;&#039;&#039;12&#039;&#039;&#039; or &#039;&#039;&#039;0xC&#039;&#039;&#039; for MxHd section)&lt;br /&gt;
|-&lt;br /&gt;
| Major version || 8 || 2-byte integer specifying major version (always &#039;&#039;&#039;2&#039;&#039;&#039; in retail releases)&lt;br /&gt;
|-&lt;br /&gt;
| Minor version || 10 || 2-byte integer specifying minor version (always &#039;&#039;&#039;2&#039;&#039;&#039; in retail releases)&lt;br /&gt;
|-&lt;br /&gt;
| Buffer size || 12 || 4-byte integer specifying the size of every data buffer&lt;br /&gt;
|-&lt;br /&gt;
| Buffer count || 16 || 4-byte integer specifying the number of data buffers&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>DmitriLeon2000</name></author>
	</entry>
	<entry>
		<id>https://www.legoisland.org/index.php?title=JUKEBOX.SI&amp;diff=490</id>
		<title>JUKEBOX.SI</title>
		<link rel="alternate" type="text/html" href="https://www.legoisland.org/index.php?title=JUKEBOX.SI&amp;diff=490"/>
		<updated>2024-04-17T11:43:33Z</updated>

		<summary type="html">&lt;p&gt;DmitriLeon2000: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Confused|JUKEBOXW.SI}}&lt;br /&gt;
&lt;br /&gt;
[[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]]&#039;s music is stored in JUKEBOX.SI.&lt;br /&gt;
&lt;br /&gt;
== Details ==&lt;br /&gt;
&lt;br /&gt;
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 [[FLIC]] 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 &amp;quot;movies&amp;quot; that are equal length (thus looping together). &lt;br /&gt;
&lt;br /&gt;
All audio in JUKEBOX.SI (like most of LEGO Island&#039;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&#039;s WAV header (the &amp;quot;fmt &amp;quot; section if you&#039;re familiar with WAV headers) left intact in the first [[MxCh|chunk]] of their respective streams.&lt;br /&gt;
&lt;br /&gt;
When replacing, the WAV &amp;quot;fmt &amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
== Technical Information ==&lt;br /&gt;
&lt;br /&gt;
Music appears to begin with a &amp;lt;code&amp;gt;MxDa&amp;lt;/code&amp;gt; and is split into chunks of &amp;lt;code&amp;gt;MxCh&amp;lt;/code&amp;gt;. The &amp;lt;code&amp;gt;MxDa&amp;lt;/code&amp;gt; header contains information about the PCM audio in the &amp;lt;code&amp;gt;MxCh&amp;lt;/code&amp;gt; chunks. The first &amp;lt;code&amp;gt;MxCh&amp;lt;/code&amp;gt; appears to be information about the remainder of the chunks in the &amp;lt;code&amp;gt;MxDa&amp;lt;/code&amp;gt; structure.&lt;br /&gt;
&lt;br /&gt;
All bytes are little endian as is normal for RIFF-based files.&lt;br /&gt;
&lt;br /&gt;
=== Extracting Audio ===&lt;br /&gt;
&lt;br /&gt;
* Audio streams can be located in JUKEBOX.SI by searching for &amp;quot; WAV&amp;quot; (note the prepending space).&lt;br /&gt;
** A few bytes before the &amp;quot; WAV&amp;quot; will be the original filename of the WAV file prior to being imported into the SI file if you wish to retrieve that too.&lt;br /&gt;
* A few bytes later will be &amp;quot;LIST&amp;quot; which appears to specify an array (or &amp;quot;list&amp;quot;) of chunks that make up one audio track. The next 4 bytes will by a 32-bit integer for the total size of this &amp;quot;LIST&amp;quot;, in other words the total amount of upcoming bytes of the SI file that belong to this particular audio track.&lt;br /&gt;
* The first [[MxCh]] after the &amp;quot;LIST&amp;quot; will contain WAV-compatible header data, most of which can be transplanted directly into a WAV file (see below for details).&lt;br /&gt;
* Every MxCh after this one will contain PCM audio data (formatted according to the header data in the first MxCh). Each MxCh has a 22 byte header that will need to be stripped out when extracting. After the 4 byte &amp;quot;MxCh&amp;quot; identifier, the header contains a 4 byte integer  of the total amount of bytes that the chunk takes up (minus 8 bytes for the &amp;quot;MxCh&amp;quot; identifier and chunk size integer). All data after this 22 byte header is PCM audio that will be exactly &amp;quot;chunk size - 14&amp;quot; bytes in size (14 is the size of the 22 byte header minus the first 8 bytes).&lt;br /&gt;
* Each MxCh&#039;s data can be dumped until you reach the end of the &amp;quot;LIST&amp;quot; size extracted above. At that point the end of the track has been reached and the process must be repeated to extract the next track.&lt;br /&gt;
&lt;br /&gt;
=== Header ===&lt;br /&gt;
&lt;br /&gt;
{{Incomplete}}&lt;br /&gt;
&lt;br /&gt;
As mentioned above, the first MxCh in a &amp;quot;LIST&amp;quot; contains solely header data. Most of this data is completely compatible with the specification for WAV.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Bytes !! Offset !! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;MxDa&amp;lt;/code&amp;gt; || 0 || Identifier&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;MxCh&amp;lt;/code&amp;gt; || 4 || Chunk Header&lt;br /&gt;
|-&lt;br /&gt;
| Chunk Size || 8 || 4-byte Integer&lt;br /&gt;
|-&lt;br /&gt;
| Sub-Chunk Size || 22 || 4-byte Integer - The remaining size of this chunk after this value&lt;br /&gt;
|-&lt;br /&gt;
| Audio Format || 26 || 2-byte Integer - 1 = PCM, others indicate some form of compression&lt;br /&gt;
|-&lt;br /&gt;
| Number of Channels || 28 || 2-byte Integer - 1 = Mono, 2 = Stereo&lt;br /&gt;
|-&lt;br /&gt;
| Sample Rate || 30 || 4-byte Integer&lt;br /&gt;
|-&lt;br /&gt;
| Byte Rate || 34 || 4-byte Integer - is equal to &amp;lt;code&amp;gt;Sample Rate * Number of Channels * BitsPerSample/8&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Bytes per Sample || 36 || 2-byte Integer - is equal to &amp;lt;code&amp;gt;Number of Channels * BitsPerSample/8&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Bits per Sample per Channel || 38 || 2-byte Integer - 8 = 8-bit, 16 = 16-bit, etc.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Transplanting the Header ====&lt;br /&gt;
&lt;br /&gt;
Use this [http://archive.is/XXc3O WAV File Format Header Specification] and you&#039;ll be able to determine the 16 bytes from &amp;quot;Audio Format&amp;quot; to &amp;quot;Bits per Sample per Channel&amp;quot; are identical. This makes up most of the WAV header data (apart from file and chunk size which cannot be determined from here) and can be directly transplanted to make extraction easier and ensure the sample rate and sample size are correct in the extraction.&lt;br /&gt;
&lt;br /&gt;
Note that the MxCh header contains a few more bytes after &amp;quot;Bits per Sample per Channel&amp;quot; and therefore its &amp;quot;Sub-Chunk Size&amp;quot; is larger than the average WAV file&#039;s. These extra bytes should be ignored and not transplanted, though if they are the &amp;quot;Sub-Chunk Size&amp;quot; should be translated too (or at least increased to accommodate for them).&lt;/div&gt;</summary>
		<author><name>DmitriLeon2000</name></author>
	</entry>
	<entry>
		<id>https://www.legoisland.org/index.php?title=MxHd&amp;diff=489</id>
		<title>MxHd</title>
		<link rel="alternate" type="text/html" href="https://www.legoisland.org/index.php?title=MxHd&amp;diff=489"/>
		<updated>2024-04-17T11:36:48Z</updated>

		<summary type="html">&lt;p&gt;DmitriLeon2000: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [[MxHd]] section is part of the [[Interleaf file]] standard. It&#039;s the global header that defines metadata about the Interleaf file itself.&lt;br /&gt;
&lt;br /&gt;
== Specification ==&lt;br /&gt;
{{Incomplete}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Bytes !! Offset !! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;quot;MxHd&amp;quot; || 0 || 4-byte data identifier&lt;br /&gt;
|-&lt;br /&gt;
| Chunk size || 4 || 4-byte integer specifying the size of this chunk minus the first 8 bytes (usually &#039;&#039;&#039;12&#039;&#039;&#039; or &#039;&#039;&#039;0xC&#039;&#039;&#039; for MxHd section)&lt;br /&gt;
|-&lt;br /&gt;
| Major version || 8 || 2-byte integer specifying major version (always &#039;&#039;&#039;2&#039;&#039;&#039; in retail releases)&lt;br /&gt;
|-&lt;br /&gt;
| Minor version || 10 || 2-byte integer specifying minor version (always &#039;&#039;&#039;2&#039;&#039;&#039; in retail releases)&lt;br /&gt;
|-&lt;br /&gt;
| Buffer size || 12 || 4-byte integer specifying the size of every data buffer&lt;br /&gt;
|-&lt;br /&gt;
| Buffer count || 16 || 4-byte integer specifying the number of data buffers&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>DmitriLeon2000</name></author>
	</entry>
	<entry>
		<id>https://www.legoisland.org/index.php?title=MxHd&amp;diff=488</id>
		<title>MxHd</title>
		<link rel="alternate" type="text/html" href="https://www.legoisland.org/index.php?title=MxHd&amp;diff=488"/>
		<updated>2024-04-17T11:33:08Z</updated>

		<summary type="html">&lt;p&gt;DmitriLeon2000: Defined buffer size and buffer count variables.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [[MxHd]] section is part of the [[Interleaf file]] standard. It&#039;s the global header that defines metadata about the Interleaf file itself.&lt;br /&gt;
&lt;br /&gt;
== Specification ==&lt;br /&gt;
{{Incomplete}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Bytes !! Offset !! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;quot;MxHd&amp;quot; || 0 || 4-byte data identifier&lt;br /&gt;
|-&lt;br /&gt;
| Chunk size || 4 || 4-byte integer specifying the size of this chunk minus the first 8 bytes (usually &#039;&#039;&#039;12&#039;&#039;&#039; or &#039;&#039;&#039;0xC&#039;&#039;&#039; for MxHd section)&lt;br /&gt;
|-&lt;br /&gt;
| Major version || 2 || 2-byte integer specifying major version (always &#039;&#039;&#039;2&#039;&#039;&#039; in retail releases)&lt;br /&gt;
|-&lt;br /&gt;
| Minor version || 2 || 2-byte integer specifying minor version (always &#039;&#039;&#039;2&#039;&#039;&#039; in retail releases)&lt;br /&gt;
|-&lt;br /&gt;
| Buffer size || 4 || 4-byte integer specifying the size of every data buffer&lt;br /&gt;
|-&lt;br /&gt;
| Buffer count || 4 || 4-byte integer specifying the number of data buffers&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>DmitriLeon2000</name></author>
	</entry>
</feed>