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 Documentation (FAQ) for the SoX audio editor consists of a 26-byte header and a series of subsequent data blocks containing the audio information. The byte order is little-endian. +VOC headerOffset (hex)Length (in bytes)Content0x0019ASCII stringCreative Voice File0x1310x1A (EOF)0x142Starting byte of first data block (usually 0x1A00 for a little-endian value of 26)0x162[Version] (major, minor), hexadecimal, e.g. 0x010a, version 1.100x182Validation: ~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) Info0x00 Terminator––0x012 + size of the data+Audio contentOffsetDescriptionMeaning0x00Sampling rate256-(1000000/sample rate)0x01Codecsee table is ignored if a block of type 0x08 (extra info) defines a codec (from version 1.20)from 0x02Audio data in the specified format (codec)0x02 Sound continueSize of the dataadditional audio data in the same format as the previous block0x03 Silence3+Silence Offset Description Meaning0x00-01Length of silence in the unit of the sampling rateInteger -10x02 sampling rate as with audio content0x04 Marker2 Marker number (2 bytes): remains in an intermediate memory during playback and can be jumped on again.0x05ASCII stringLength of the string Null-terminated string0x06 Repeat2 Number of repetitions (2-byte integer) 0x0000to 0xFFFE1-65,535 repetitions, 0xFFFFfor infinite0x07 End repeat––0x08 Extended4– 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 In Search of Dr. Riptide.movAX13h. "Dr. Riptide Dissected" (README file). GitHub.
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