Creative Voice file

From HandWiki
Short description: Audio format for digital audio data
VOC
Filename extension.voc
Internet media typeaudio / x-voc
Developed byCreative Technology

Creative Voice , filename extension .voc, is an audio format for digital audio data developed in the 1990s Sound Blaster sound cards from Creative Technology.

Construction

Original 8-bit format

The file format [1][2][3] consists of a 26-byte header and a series of subsequent data blocks containing the audio information. The byte order is little-endian.

VOC header
Offset (hex) Length (in bytes) Content
0x00 19 ASCII stringCreative Voice File
0x13 1 0x1A (EOF)
0x14 2 Starting byte of first data block (usually 0x1A00 for a little-endian value of 26)
0x16 2 [Version] (major, minor), hexadecimal, e.g. 0x010a, version 1.10
0x18 2 Validation: ~version + 0x1234, hexadecimal, truncated to 16 bits, e.g. 0x1129

The header is followed by data blocks. Each data block begins with a type byte describing the contents of the data, followed by 3 bytes for the size of the data. For two of the 9 defined types, the subsequent size of the data is missing, so the block ultimately consists of only a single byte – these are 0x00 terminator, and 0x07 repeat end.

If a size is specified, the first 4 bytes will be followed by a block of the content resulting from the specified type with the specified size.

VOC data block
Type (hex) Type description Size (3 bytes) Info
0x00 Terminator
0x01 Sound data 2 + size of the data
Audio content
Offset Description Meaning
0x00 Sampling rate 256-(1000000/sample rate)
0x01 Codec see table

is ignored if a block of type 0x08 (extra info) defines a codec (from version 1.20)

from 0x02 Audio data in the specified format (codec)
0x02 Sound continue Size of the data additional audio data in the same format as the previous block
0x03 Silence 3
Silence
Offset Description Meaning
0x00-01 Length of silence in the unit of the sampling rate Integer -1
0x02 sampling rate as with audio content
0x04 Marker 2 Marker number (2 bytes): remains in an intermediate memory during playback and can be jumped on again.
0x05 ASCII string Length of the string Null-terminated string
0x06 Repeat 2 Number of repetitions (2-byte integer)

0x0000to 0xFFFE1-65,535 repetitions, 0xFFFFfor infinite

0x07 End repeat
0x08 Extended 4

The file optionally ends with the terminator block (data block of type 0x00).

Use

Creative Voice files were used in various DOS games when they could use sound blaster cards for audio output, such as Eye of the Beholder.[4]

The spread of the file format disappeared noticeably with the advent of RIFF WAVE, which was already supported in Windows. However, the Creative Voice file format required the installation of additional player programs included with the Sound Blaster Card drivers. With the advent of AC'97, WAVE, file extension .WAV, finally prevailed.

References

  1. Greg. "Greg figures out most of the .VOC Format" (in en). http://www.textfiles.com/programming/FORMATS/vocform.pro. Retrieved 2018-06-01. 
  2. John. "John chimes in with further analysis of the .VOC Format" (in en). http://www.textfiles.com/programming/FORMATS/vocform2.pro. Retrieved 2018-06-01. 
  3. Bagwell, Chris (1998-11-14). "Audio File Formats FAQ" (in en). pp. Chapter 11: File Formats. http://sox.sourceforge.net/AudioFormats-11.html#ss11.5. Retrieved 2018-06-01.  Documentation (FAQ) for the SoX audio editor
  4. movAX13h. "Dr. Riptide Dissected" (README file). GitHub.