http://fileformats.archiveteam.org/index.php?title=Electronic_Arts_AS4_/_ASF_Music&feed=atom&action=historyElectronic Arts AS4 / ASF Music - Revision history2024-03-29T10:22:47ZRevision history for this page on the wikiMediaWiki 1.19.2http://fileformats.archiveteam.org/index.php?title=Electronic_Arts_AS4_/_ASF_Music&diff=47576&oldid=prevSembiance: Added sample files2023-12-28T21:21:01Z<p>Added sample files</p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr valign='top'>
<td colspan='2' style="background-color: white; color:black;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 21:21, 28 December 2023</td>
</tr><tr><td colspan="2" class="diff-lineno">Line 7:</td>
<td colspan="2" class="diff-lineno">Line 7:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== Description ==</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== Description ==</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>AS4 / ASF files are an audio file format used in many video games created by Electronic Arts. Note that extensions other than those listed may be AS4 / ASF files as Electronic Arts often change file extensions for different games.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>AS4 / ASF files are an audio file format used in many video games created by Electronic Arts. Note that extensions other than those listed may be AS4 / ASF files as Electronic Arts often change file extensions for different games.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== Information ==</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== Information ==</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>The basic structure of AS4 / ASF files is similar to that of [[RIFF]], with each file divided into blocks (although, unlike [[RIFF]], the format does not have a global file header).</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>The basic structure of AS4 / ASF files is similar to that of [[RIFF]], with each file divided into blocks (although, unlike [[RIFF]], the format does not have a global file header).</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td colspan="2" class="diff-lineno">Line 32:</td>
<td colspan="2" class="diff-lineno">Line 30:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== Header Block ===</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== Header Block ===</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Block ID:'''1SNh'''</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Block ID:'''1SNh'''</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td colspan="2" class="diff-lineno">Line 67:</td>
<td colspan="2" class="diff-lineno">Line 64:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== Sound Data ===</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== Sound Data ===</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Block ID: '''1SNd'''</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Block ID: '''1SNd'''</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td colspan="2" class="diff-lineno">Line 90:</td>
<td colspan="2" class="diff-lineno">Line 86:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== Loop Block ===</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== Loop Block ===</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Block ID: '''1SNl'''</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Block ID: '''1SNl'''</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td colspan="2" class="diff-lineno">Line 96:</td>
<td colspan="2" class="diff-lineno">Line 91:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== End Block ===</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== End Block ===</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Block ID: '''1SNe'''</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Block ID: '''1SNe'''</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td colspan="2" class="diff-lineno">Line 102:</td>
<td colspan="2" class="diff-lineno">Line 96:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== Software ==</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== Software ==</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>* http://bim.km.ru/gap/</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>* http://bim.km.ru/gap/</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">== Sample files ==</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">* {{DexvertSamples|audio/eaASF}}</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== Links ==</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== Links ==</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>* http://www.extractor.ru/articles/electronic_arts_audio_file_formats_description</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>* http://www.extractor.ru/articles/electronic_arts_audio_file_formats_description</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>[[Category:Electronic Arts]]</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>[[Category:Electronic Arts]]</div></td></tr>
</table>Sembiancehttp://fileformats.archiveteam.org/index.php?title=Electronic_Arts_AS4_/_ASF_Music&diff=26921&oldid=prevJsummers: PRONOM2016-10-28T14:53:45Z<p>PRONOM</p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr valign='top'>
<td colspan='2' style="background-color: white; color:black;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 14:53, 28 October 2016</td>
</tr><tr><td colspan="2" class="diff-lineno">Line 2:</td>
<td colspan="2" class="diff-lineno">Line 2:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>|formattype=electronic</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>|formattype=electronic</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>|subcat=Audio and Music</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>|subcat=Audio and Music</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div>|extensions={{ext|as4}} {{ext|asf}}</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>|extensions={{ext|as4}}<ins class="diffchange diffchange-inline">, </ins>{{ext|asf<ins class="diffchange diffchange-inline">}}</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins class="diffchange diffchange-inline">|pronom={{PRONOM|x-fmt/137</ins>}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>}}</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
</table>Jsummershttp://fileformats.archiveteam.org/index.php?title=Electronic_Arts_AS4_/_ASF_Music&diff=17412&oldid=prevDan Tobias at 02:59, 14 May 20142014-05-14T02:59:11Z<p></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr valign='top'>
<td colspan='2' style="background-color: white; color:black;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 02:59, 14 May 2014</td>
</tr><tr><td colspan="2" class="diff-lineno">Line 107:</td>
<td colspan="2" class="diff-lineno">Line 107:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>* http://www.extractor.ru/articles/electronic_arts_audio_file_formats_description</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>* http://www.extractor.ru/articles/electronic_arts_audio_file_formats_description</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">[[Category:Electronic Arts]]</ins></div></td></tr>
</table>Dan Tobiashttp://fileformats.archiveteam.org/index.php?title=Electronic_Arts_AS4_/_ASF_Music&diff=13696&oldid=prevHalftheisland: Created page with "{{FormatInfo |formattype=electronic |subcat=Audio and Music |extensions={{ext|as4}} {{ext|asf}} }} == Description == AS4 / ASF files are an audio file format used in many vi..."2013-10-03T12:14:08Z<p>Created page with "{{FormatInfo |formattype=electronic |subcat=Audio and Music |extensions={{ext|as4}} {{ext|asf}} }} == Description == AS4 / ASF files are an audio file format used in many vi..."</p>
<p><b>New page</b></p><div>{{FormatInfo<br />
|formattype=electronic<br />
|subcat=Audio and Music<br />
|extensions={{ext|as4}} {{ext|asf}}<br />
}}<br />
<br />
== Description ==<br />
<br />
AS4 / ASF files are an audio file format used in many video games created by Electronic Arts. Note that extensions other than those listed may be AS4 / ASF files as Electronic Arts often change file extensions for different games.<br />
<br />
== Information ==<br />
<br />
The basic structure of AS4 / ASF files is similar to that of [[RIFF]], with each file divided into blocks (although, unlike [[RIFF]], the format does not have a global file header).<br />
<br />
Each block starts with a standard header: <br />
<br />
<pre><br />
struct ASFBlockHeader<br />
{ <br />
char szBlockID[4]; <br />
DWORD dwSize; <br />
};<br />
</pre><br />
<br />
Where:<br />
<br />
* ''szBlockID'' gives the string ID for the block<br />
* ''dwSize'' gives the size of the block (including the header) in bytes.<br />
<br />
Each file then consists of a number of blocks, each of which are described below.<br />
<br />
=== Header Block ===<br />
<br />
Block ID:'''1SNh'''<br />
<br />
This is the first block in an ASF / AS4 file, describing the audio stream.<br />
<br />
<pre><br />
struct EACSHeader <br />
{ <br />
char szID[4]; <br />
DWORD dwSampleRate; <br />
BYTE bBits; <br />
BYTE bChannels; <br />
BYTE bCompression; <br />
BYTE bType; <br />
DWORD dwNumSamples; <br />
DWORD dwLoopStart; <br />
DWORD dwLoopLength; <br />
DWORD dwDataStart; <br />
DWORD dwUnknown; <br />
};<br />
</pre><br />
<br />
* ''szID'' - the ID string, should always be "EACS"<br />
* ''dwSampleRate'' - the sample rate for the file<br />
* ''bBits'' - the resolution of the decompressed sound data, divided by 8 (i.e. 1 = 8-bit, 2 = 16-bit)<br />
* ''bChannels'' - the number of channels. There are only two options: 1 for mono, 2 for stereo<br />
* ''bCompression'' - if this is equal to 0x00, the audio data consists of signed 8 or 16-bit [[PCM]]. If it is equal to 0x02, the audio data consists of compressed [[IMA ADPCM]]<br />
* ''bType'' - the type of file (this should always be 0x00 for AS4 / ASF files)<br />
* ''dwNumSamples'' - the number of samples in the file<br />
* ''dwLoopStart'' - where the beginning of the repeat loop should start (in terms of samples). If this is 0xFFFFFFFF, there is no loop<br />
* ''dwLoopLength'' - the length of the repeat loop (again in samples). If this is 0, there is no loop<br />
* ''dwDataStart'' - this is not used for AS4 / ASF files<br />
* ''dwUnknown'' - as the name suggests, the function of this would appear to be unknown<br />
<br />
=== Sound Data ===<br />
<br />
Block ID: '''1SNd'''<br />
<br />
The next block following the header is the sound data block. Confusingly, the first chunk of sound data will be contained in the '''1SNh''' block.<br />
<br />
<pre><br />
struct ASFChunkHeader <br />
{ <br />
DWORD dwOutSize; <br />
LONG lIndexLeft; <br />
LONG lIndexRight; <br />
LONG lCurSampleLeft; <br />
LONG lCurSampleRight; <br />
};<br />
</pre><br />
<br />
* ''dwOutSize'' - the size of the uncompressed (8 or 16-bit [[PCM]]) data in the chunk (in terms of samples). <br />
* ''lIndexLeft'', ''lIndexRight'', ''lCurSampleLeft'', ''lCurSampleRight'' - these are the initial values for the [[IMA ADPCM]] decompression routine.<br />
<br />
As mentioned above, if no compression is used these blocks consist simply of signed 8 or 16-bit [[PCM]] audio. Also note that for mono files, there is no ''lIndexRight'' or <br />
''lCurSampleRight'' value.<br />
<br />
=== Loop Block ===<br />
<br />
Block ID: '''1SNl'''<br />
<br />
This consists of a single value, ''DWORD value'', which defines the looping jump position relative to the start of the song. This block may be followed by a number of further '''1SNd''' blocks.<br />
<br />
=== End Block ===<br />
<br />
Block ID: '''1SNe'''<br />
<br />
An 8-byte block containing no data that defines the end of the audio stream. If there is a loop, the jump should be made from here. Note that some files contain further audio data beyond this.<br />
<br />
== Software ==<br />
<br />
* http://bim.km.ru/gap/<br />
<br />
== Links ==<br />
<br />
* http://www.extractor.ru/articles/electronic_arts_audio_file_formats_description</div>Halftheisland