-
Notifications
You must be signed in to change notification settings - Fork 1
Creative Voice File format
Chris Buguet edited this page May 24, 2025
·
9 revisions
Creative Voice is an audio sound format created by Creative Labs.
Files usually have .VOC extension and are still supported by a few players like VLC or Audacity.
| Platform | VOC revision |
|---|---|
| Floppy | v1.10 (0x010A) |
| PC-CD | v1.20 (0x0114) |
| Type | Size | Name | Comments |
|---|---|---|---|
| CHAR[] | 19 bytes | Signature | "Creative Voice File" |
| UINT8 | 1 byte | EOF | 0x1A used to abort printing of file |
| UINT16LE | 2 bytes | First data block offset | Should be 26 |
| UINT16 | 2 bytes | Version | Higher-order byte is major version, Lowest-order byte is the minor revision. |
| UINT16LE | 2 bytes | Checksum | See below |
Checksum is calculated using the version. The formula to verify it is:
CHECKSUM = (~VERSION + 0X1234) & 0xFFFF
Following the header are a series of data blocks.
Each block is identified by a 4 byte header:
- 1 byte for the block type identifier
- 3 bytes for the data size
The following blocks are supported on v1.10:
| Block ID | Name |
|---|---|
| 0x00 | Termination |
| 0x01 | Sound data |
| 0x02 | Sound data continued |
| 0x03 | Silence |
| 0x04 | Marker |
| 0x05 | String |
| 0x06 | Loop start |
| 0x07 | Loop end |
Termination is the data block the end of the file. It does not contain any extra data.
Block marks the end of a loop. It does not contain any extra data.
TODO