Talk:Creative Voice
I just found back an old book "Sound Blaster - The Official Book", which contains (among other things) some information on the .voc file format. It isn't all that elaborate (it doesn't explain how the various packed formats work), but it does show a list of codec ids (called "pack type" in the book), which differs somewhat from the list displayed in the article:
0 = 8-bit unpacked 1 = 4-bit packed 2 - 2.6-bit packed 3 - 2-bit packed 4 - 1 channel multi 5 - 2 channel multi 6 - 3 channel multi 7 - 4 channel multi 8 - 5 channel multi 9 - 6 channel multi 10 - 7 channel multi
All other info appears to be the same, but the book doesn't document block type 9. — SvdB 23:50, 29 July 2006 (EDT)
Hi, I'm not sure if anyone else has seen this before, but wotsit.org has a document describing this format.
The author is galt@dds.es.com, with the information on type 9 by Votis Kokavessis.
The file follows below.
A quick check of the person's email address indicates that the account doesn't exist any more, and a google search on the address turns up nothing. As with many of the files from wotsit.org, it is quite possible that this person has disappeared and would be unable to be contacted.
HEADER (bytes 00-19) Series of DATA BLOCKS (bytes 1A+) [Must end w/ Terminator Block]
HEADER:
=
byte # Description
------ ------------------------------------------
00-12 "Creative Voice File"
13 1A (eof to abort printing of file)
14-15 Offset of first datablock in .voc file (std 1A 00
in Intel Notation)
16-17 Version number (minor,major) (VOC-HDR puts 0A 01)
18-19 1's Comp of Ver. # + 1234h (VOC-HDR puts 29 11)
DATA BLOCK:
=
Data Block: TYPE(1-byte), SIZE(3-bytes), INFO(0+ bytes) NOTE: Terminator Block is an exception -- it has only the TYPE byte.
TYPE Description Size (3-byte int) Info
---- ----------- ----------------- -----------------------
00 Terminator (NONE) (NONE)
01 Sound data 2+length of data *
02 Sound continue length of data Voice Data
03 Silence 3 **
04 Marker 2 Marker# (2 bytes)
05 ASCII length of string null terminated string
06 Repeat 2 Count# (2 bytes)
07 End repeat 0 (NONE)
08 Extended 4 ***
*Sound Info Format: **Silence Info Format:
--------------------- ----------------------------
00 Sample Rate 00-01 Length of silence - 1
01 Compression Type 02 Sample Rate
02+ Voice Data
***Extended Info Format:
---------------------
00-01 Time Constant: Mono: 65536 - (256000000/sample_rate)
Stereo: 65536 - (25600000/(2*sample_rate))
02 Pack
03 Mode: 0 = mono
1 = stereo
Marker# -- Driver keeps the most recent marker in a status byte
Count# -- Number of repetitions + 1
Count# may be 1 to FFFE for 0 - FFFD repetitions
or FFFF for endless repetitions
Sample Rate -- SR byte = 256-(1000000/sample_rate)
Length of silence -- in units of sampling cycle
Compression Type -- of voice data
8-bits = 0
4-bits = 1
2.6-bits = 2
2-bits = 3
Multi DAC = 3+(# of channels) [interesting--
this isn't in the developer's manual]
Addendum submitted by Votis Kokavessis:
After some experimenting with .VOC files I found out that there is a Data Block Type 9, which is not covered in the VOC.TXT file. Here is what I was able to discover about this block type:
TYPE: 09
SIZE: 12 + length of data
INFO: 12 (twelve) bytes
INFO STRUCTURE:
Bytes 0-1: (Word) Sample Rate (e.g. 44100) Bytes 2-3: zero (could be that bytes 0-3 are a DWord for Sample Rate) Byte 4: Sample Size in bits (e.g. 16) Byte 5: Number of channels (e.g. 1 for mono, 2 for stereo) Byte 6: Unknown (equal to 4 in all files I examined) Bytes 7-11: zero
Dashcloud 10:25, 31 July 2006 (EDT)