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)