2 Creative Voice (VOC) file format
\r
3 --------------------------------
\r
5 ~From: galt@dsd.es.com
\r
7 (byte numbers are hex!)
\r
10 Series of DATA BLOCKS (bytes 1A+) [Must end w/ Terminator Block]
\r
12 - ---------------------------------------------------------------
\r
17 ------ ------------------------------------------
\r
18 00-12 "Creative Voice File"
\r
19 13 1A (eof to abort printing of file)
\r
20 14-15 Offset of first datablock in .voc file (std 1A 00
\r
22 16-17 Version number (minor,major) (VOC-HDR puts 0A 01)
\r
23 18-19 2's Comp of Ver. # + 1234h (VOC-HDR puts 29 11)
\r
25 - ---------------------------------------------------------------
\r
30 Data Block: TYPE(1-byte), SIZE(3-bytes), INFO(0+ bytes)
\r
31 NOTE: Terminator Block is an exception -- it has only the TYPE byte.
\r
33 TYPE Description Size (3-byte int) Info
\r
34 ---- ----------- ----------------- -----------------------
\r
35 00 Terminator (NONE) (NONE)
\r
36 01 Sound data 2+length of data *
\r
37 02 Sound continue length of data Voice Data
\r
39 04 Marker 2 Marker# (2 bytes)
\r
40 05 ASCII length of string null terminated string
\r
41 06 Repeat 2 Count# (2 bytes)
\r
42 07 End repeat 0 (NONE)
\r
45 *Sound Info Format: **Silence Info Format:
\r
46 --------------------- ----------------------------
\r
47 00 Sample Rate 00-01 Length of silence - 1
\r
48 01 Compression Type 02 Sample Rate
\r
51 ***Extended Info Format:
\r
52 ---------------------
\r
53 00-01 Time Constant: Mono: 65536 - (256000000/sample_rate)
\r
54 Stereo: 65536 - (25600000/(2*sample_rate))
\r
60 Marker# -- Driver keeps the most recent marker in a status byte
\r
61 Count# -- Number of repetitions + 1
\r
62 Count# may be 1 to FFFE for 0 - FFFD repetitions
\r
63 or FFFF for endless repetitions
\r
64 Sample Rate -- SR byte = 256-(1000000/sample_rate)
\r
65 Length of silence -- in units of sampling cycle
\r
66 Compression Type -- of voice data
\r
71 Multi DAC = 3+(# of channels) [interesting--
\r
72 this isn't in the developer's manual]
\r