Difference between revisions of "Sonarc"

From MultimediaWiki
Jump to navigation Jump to search
(File Format)
Line 8: Line 8:
  
 
== File Format ==
 
== File Format ==
Sonarc files have the extension .SNC. However, the files are just standard [[Microsoft Wave]] audio files with a codec ID of 0x0021.
+
All multi-byte numbers are little endian.
 +
 
 +
Sonarc files have the extension .SNC. However, the files are just standard [[Microsoft Wave]] audio files with a codec ID of 0x0021. The 'data' chunk contains the total amount of compressed bytes. The next 4 bytes represent the total number of decompressed bytes.
 +
 
 +
Following this is a sequence of encoded frames. Each frame begins with with a 2-byte frame length (which includes the 2-byte field).
 +
 
 +
Encoding a frame of silent 16-bit samples yields a 33-byte frame. Encoding a frame of random 16-bit samples yields a 4116-byte frame.
  
 
[[Category: Audio Codecs]]
 
[[Category: Audio Codecs]]
 
[[Category: Lossless Audio Codecs]]
 
[[Category: Lossless Audio Codecs]]
 
[[Category: Undiscovered Audio Codecs]]
 
[[Category: Undiscovered Audio Codecs]]

Revision as of 21:46, 9 May 2016

Sonarc is a lossless audio compression format by Richard P. Sprague and published by the company Speech Compression. The documentation accompanying v2.1i (the latest known version of the software) indicates a copyright date of 1994. This documentation further states, "Sonarc is now being used as an installation utility in PC titles published by Interplay, Origin, and The Software Toolworks, among others."

The algorithm operates on 8- or 16-bit PCM samples in either mono or stereo configurations. It typically achieves 2:1 to 3:1 compression ratios for suitable audio, while falling back to an uncompressed mode for data which falls outside of its coding model.

File Format

All multi-byte numbers are little endian.

Sonarc files have the extension .SNC. However, the files are just standard Microsoft Wave audio files with a codec ID of 0x0021. The 'data' chunk contains the total amount of compressed bytes. The next 4 bytes represent the total number of decompressed bytes.

Following this is a sequence of encoded frames. Each frame begins with with a 2-byte frame length (which includes the 2-byte field).

Encoding a frame of silent 16-bit samples yields a 33-byte frame. Encoding a frame of random 16-bit samples yields a 4116-byte frame.