Path: utzoo!utgpu!cs.utexas.edu!sdd.hp.com!elroy.jpl.nasa.gov!ucla-cs!oahu.cs.ucla.edu!greiner From: greiner@oahu.cs.ucla.edu (John Greiner) Newsgroups: alt.hackers Subject: Re: Sound Blaster .VOC File Format Message-ID: <1991Apr22.073421.1634@cs.ucla.edu> Date: 22 Apr 91 07:34:21 GMT Sender: usenet@cs.ucla.edu (Mr. News Himself) Organization: UCLA Computer Science Department Lines: 68 Approved: jef@well.sf.ca.us Nntp-Posting-Host: oahu.cs.ucla.edu In article <1991Mar7.002906.4258@dsd.es.com> usenet@dsd.es.com writes: >Not too big of a deal, but using voc-hdr along with debug, I mapped >out the file format for Sound Blaster .VOC files... >----------------------------------------------------------------- I just got the developer's kit for the SoundBlaster so I can fill in some holes in the CMF File Format. - John ----------------------------------------------------------------- Creative Voice File (VOC) Format: HEADER (bytes 00-19) Series of DATA BLOCKS (bytes 1A+) [Must end w/ Terminator Block] ----------------------------------------------------------------- HEADER: ======= byte # Description ------ ------------------------------------------ 00-12 Creative Voice File 13-15 1A 1A 00 (eof to abort printing of file) 16-17 Version number (minor,major) (VOC-HDR puts 0A 01) 18-19 2'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) *Sound Info Format: **Silence Info Format: --------------------- ---------------------------- 00 Sample Rate 00-01 Length of silence - 1 01 Compression Type 02 Sample Rate 02+ Voice Data 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] ----------------------------------------------------------------- -John