Electronic Arts SCxl: Difference between revisions

From MultimediaWiki
Jump to navigation Jump to search
m (→‎PT patch: put platform ids list where it should be)
(+mpeg layer 2 spotted)
 
(9 intermediate revisions by 3 users not shown)
Line 7: Line 7:
See [[Electronic Arts Formats]] for file format description.
See [[Electronic Arts Formats]] for file format description.


=== SCHl ===
=== SCHl or SHEN ===
Header. Contains special Patch record, describes all vital audio parameters.
Header. Contains special Patch record, describes all vital audio parameters.
==== PATl patch ====
Used in very old files.
* PATl block
  offset type  description
      0  byte  Tag, "PATl"
'''TODO'''
* TMpl block
  offset type  description
      0  byte  Tag, "TMpl"
      4  byte  Version, 0
      5  byte  Sample width (bits)
      6  byte  Channels
      7  byte  ?
      8  byte  ?
      9  byte  ?
      A  int16  Frequency
      C  int32  ?
    10  int32  ?
    14  int32  ?
    18  int32  ?


==== PT patch ====
==== PT patch ====
Line 56: Line 82:
* Data is a big-endian number of Length bytes total, meaning is specific to particular Tag.
* Data is a big-endian number of Length bytes total, meaning is specific to particular Tag.


Note, that patch substream may not include various tags/values or even be completely empty at all. In this case default audio parameters is used (listed above).


==== Known patch tags ====
==== Known patch tags ====


* 0xFF - End of substream. No data.
* 0x00 - Unknown
* 0xFE - Begin of the envelope portion of substeam. No Data.
* 0x05 - Unknown
* 0xFC, 0xFD - Begin of the format description portion of substream. No data.
* 0x0B - Unknown
* 0x13 - Unknown
* 0x1B - Unknown
* 0x80 - Compression version.
* 0x80 - Compression version.
        0x00   PCM Signed Interleaved Data
          0x01   EA XA ADPCM R1
        0x07   EA XA ADPCM
          0x02  EA XA ADPCM R2
          0x03   EA XA ADPCM R3
* 0x82 - Number of channels.
* 0x82 - Number of channels.
* 0x84 - Sampling frequency.
* 0x83 - Compression type.
          0x00  PCM Signed Interleaved Data
          0x07  EA XA ADPCM
          0x09  Unknown
* 0x84 - Sample rate (Hertz).
* 0x85 - Total count of samples in the stream.
* 0x85 - Total count of samples in the stream.
* 0x86 - Loop offset
* 0x87 - Loop length
* 0x88 - Data offset (relevant only to Electronic Arts Bank Format)
* 0x8A - End of the format description substream. No data.
* 0x8C - Unknown
* 0x92 - Bytes per sample
* 0x9C - Unknown
* 0x9D - Unknown
* 0xA0 - Compression type.
* 0xA0 - Compression type.
          0x01  EA XA ADPCM R1
          0x02  EA XA ADPCM R2
          0x03  EA XA ADPCM R3
* 0xA2 - Compression type.
           0x00*  PCM Signed 16-bit Interleaved (LE)
           0x00*  PCM Signed 16-bit Interleaved (LE)
           0x01*  PCM Signed 16-bit Interleaved (BE)
           0x01*  PCM Signed 16-bit Interleaved (BE)
           0x02*  PCM Signed 8-bit Interleaved
           0x02*  PCM Signed 8-bit Interleaved
           0x04  MicroTalk 10:1
           0x04  MicroTalk 10:1
           0x05*  VGA ADPCM
           0x05*  VAG ADPCM
           0x07*  PCM Signed 16-bit Planar (BE)
           0x07*  PCM Signed 16-bit Planar (BE)
           0x08  PCM Signed 16-bit Planar (LE)
           0x08  PCM Signed 16-bit Planar (LE)
Line 84: Line 122:
           0x0B*  PCM Unsigned 8-bit Interleaved
           0x0B*  PCM Unsigned 8-bit Interleaved
           0x0C*  CD XA
           0x0C*  CD XA
           0x0E*  MP3 Layer 1
           0x0E*  MPEG Layer 1
           0x0F*  MP3 Layer 2
           0x0F   MPEG Layer 2
           0x10  MP3 Layer 3
           0x10  MPEG Layer 3
           0x12*  Game Cube ADPCM
           0x12*  Game Cube ADPCM
           0x13*  PCM Signed 24-bit Interleaved (LE)
           0x13*  PCM Signed 24-bit Interleaved (LE)
Line 93: Line 131:
           0x16  MicroTalk 5:1
           0x16  MicroTalk 5:1
           0x17  EALayer3
           0x17  EALayer3
  * Denotes codec supported by [[Electronic Arts Sound eXchange]], but has not yet been observed in a computer game.
  * Denotes codec supported by [[Electronic Arts Sound eXchange]], but has not yet been observed in a computer game.
* 0xFC, 0xFD - Begin the format description portion of substream. No data.
* 0xFE - Begin of the envelope portion of substeam. No Data.
* 0xFF - End of substream. No data.


=== SCCl ===
=== SCCl or SCEN ===
Holds single 4-byte value, indicates total number of SCDl chunks in the stream.
Holds single 4-byte value, indicates total number of SCDl or SDEN chunks in the stream.


=== SCDl ===
=== SCDl or SDEN ===
Data. Actual audio data in format, specified by SCHl chunk.
Data. Actual audio data in format, specified by SCHl or SHEN chunk.


=== SCLl ===
=== SCLl ===
Loop.
Loop.


=== SCEl ===
=== SCEl or SEEN ===
End. Indicates end of the stream. Contains no data.
End. Indicates end of the stream. Contains no data.


[[Category:Game Formats]]
[[Category:Game Formats]]

Latest revision as of 19:47, 21 October 2015

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 or SHEN

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

PATl patch

Used in very old files.

  • PATl block
 offset type   description
     0  byte   Tag, "PATl"

TODO

  • TMpl block
 offset type   description
     0  byte   Tag, "TMpl"
     4  byte   Version, 0
     5  byte   Sample width (bits)
     6  byte   Channels
     7  byte   ?
     8  byte   ?
     9  byte   ?
     A  int16  Frequency
     C  int32  ?
    10  int32  ?
    14  int32  ?
    18  int32  ?

PT patch

 offset type   description
     0  byte   Tag, should be 'PT'
     2  int16  Platform identifier
                0x00  PC
                0x03  Macintosh
                0x05  Playstation 2
                0x06  Game Cube
                0x07  Xbox
                0x09  Xenon (Xbox 360)
                0x0A  PSP
     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.

Note, that patch substream may not include various tags/values or even be completely empty at all. In this case default audio parameters is used (listed above).

Known patch tags

  • 0x00 - Unknown
  • 0x05 - Unknown
  • 0x0B - Unknown
  • 0x13 - Unknown
  • 0x1B - Unknown
  • 0x80 - Compression version.
         0x01   EA XA ADPCM R1
         0x02   EA XA ADPCM R2
         0x03   EA XA ADPCM R3
  • 0x82 - Number of channels.
  • 0x83 - Compression type.
         0x00   PCM Signed Interleaved Data
         0x07   EA XA ADPCM
         0x09   Unknown
  • 0x84 - Sample rate (Hertz).
  • 0x85 - Total count of samples in the stream.
  • 0x86 - Loop offset
  • 0x87 - Loop length
  • 0x88 - Data offset (relevant only to Electronic Arts Bank Format)
  • 0x8A - End of the format description substream. No data.
  • 0x8C - Unknown
  • 0x92 - Bytes per sample
  • 0x9C - Unknown
  • 0x9D - Unknown
  • 0xA0 - Compression type.
         0x00*  PCM Signed 16-bit Interleaved (LE)
         0x01*  PCM Signed 16-bit Interleaved (BE)
         0x02*  PCM Signed 8-bit Interleaved
         0x04   MicroTalk 10:1
         0x05*  VAG ADPCM
         0x07*  PCM Signed 16-bit Planar (BE)
         0x08   PCM Signed 16-bit Planar (LE)
         0x09   PCM Signed 8-bit Planar
         0x0A   EA XA ADPCM
         0x0B*  PCM Unsigned 8-bit Interleaved
         0x0C*  CD XA
         0x0E*  MPEG Layer 1
         0x0F   MPEG Layer 2
         0x10   MPEG Layer 3
         0x12*  Game Cube ADPCM
         0x13*  PCM Signed 24-bit Interleaved (LE)
         0x14*  XBOX ADPCM
         0x15*  PCM Signed 24-bit Interleaved (BE)
         0x16   MicroTalk 5:1
         0x17   EALayer3
* Denotes codec supported by Electronic Arts Sound eXchange, but has not yet been observed in a computer game.
  • 0xFC, 0xFD - Begin the format description portion of substream. No data.
  • 0xFE - Begin of the envelope portion of substeam. No Data.
  • 0xFF - End of substream. No data.

SCCl or SCEN

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

SCDl or SDEN

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

SCLl

Loop.

SCEl or SEEN

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