Electronic Arts SCxl: Difference between revisions

From MultimediaWiki
Jump to navigation Jump to search
(→‎SCEl: fill in)
(→‎SCHl: fill in)
Line 8: Line 8:


=== SCHl ===
=== SCHl ===
Header.
Header. Contains special Patch record, describes all vital audio parameters.
 
==== PT patch ====
 
  offset type  description
      0  byte  Tag, should be 'PT'
      2  int16  Platform identifier
      4  ...    Patch substream
 
===== Default Audio Format =====
 
* 16 bits
* Mono
* 22050 kHz
* XA compression
 
 
==== GSTR patch ====
 
  offset type  description
      0  byte  Tag, should be 'GSTR'
      4  int32  Unknown, presumably version or platform id
      8  ...    Patch substream
 
===== Default Audio Format =====
 
* 16 bits
* Mono
* 48000 kHz
* XA compression
 
 
==== Patch substream ====
 
Patch substream consist of a series of small chunks, tagged with unique byte identifiers. General substream format is:
 
Tag[, Length, Data][, ...]
 
* Tag is an unique identifier of the data. Several tags doesn't contain any data, thus, has no Length and Data fields.
* Length is a single byte, unless it's value is 0xFF. In this case, extra 4-bytes value of the actual length follows, stored in big-endian order.
* Data is a big-endian number of Length bytes total, meaning is specific to particular Tag.
 
 
==== Known patch tags ====
 
* 0xFF - End of substream. No data.
* 0xFE - Begin of the envelope portion of substeam. No Data.
* 0xFC, 0xFD - Begin of the format description portion of substream. No data.
* 0x80 - Compression version.
* 0x82 - Number of channels.
* 0x84 - Sampling frequency.
* 0x85 - Total count of samples in the stream.
* 0xA0 - Compression type. Same compression type may have minor variation of the data stream, depending on it's version.


=== SCCl ===
=== SCCl ===

Revision as of 17:12, 29 March 2006

SCxl is an audio stream format used in various games published by companies under the Electronic Arts umbrella.

Chunk Types

See Electronic Arts Formats for file format description.

SCHl

Header. Contains special Patch record, describes all vital audio parameters.

PT patch

 offset type   description
     0  byte   Tag, should be 'PT'
     2  int16  Platform identifier
     4  ...    Patch substream
Default Audio Format
  • 16 bits
  • Mono
  • 22050 kHz
  • XA compression


GSTR patch

 offset type   description
     0  byte   Tag, should be 'GSTR'
     4  int32  Unknown, presumably version or platform id
     8  ...    Patch substream
Default Audio Format
  • 16 bits
  • Mono
  • 48000 kHz
  • XA compression


Patch substream

Patch substream consist of a series of small chunks, tagged with unique byte identifiers. General substream format is:

Tag[, Length, Data][, ...]
  • Tag is an unique identifier of the data. Several tags doesn't contain any data, thus, has no Length and Data fields.
  • Length is a single byte, unless it's value is 0xFF. In this case, extra 4-bytes value of the actual length follows, stored in big-endian order.
  • Data is a big-endian number of Length bytes total, meaning is specific to particular Tag.


Known patch tags

  • 0xFF - End of substream. No data.
  • 0xFE - Begin of the envelope portion of substeam. No Data.
  • 0xFC, 0xFD - Begin of the format description portion of substream. No data.
  • 0x80 - Compression version.
  • 0x82 - Number of channels.
  • 0x84 - Sampling frequency.
  • 0x85 - Total count of samples in the stream.
  • 0xA0 - Compression type. Same compression type may have minor variation of the data stream, depending on it's version.

SCCl

Holds single 4-byte value, indicates total number of SCDl chunks in the stream.

SCDl

Data. Actual audio data in format, specified by SCHl chunk.

SCLl

Loop.

SCEl

End. Indicates end of the stream. Contains no data.