£ŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ¨ 3 Creative Labs File Formats (SBI/CMF/IBK) 3 …ŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ— Written for the PC-GPE by Mark Feldman e-mail address : u914097@student.canberra.edu.au myndale@cairo.anu.edu.au £ŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ¨ 3 THIS FILE MAY NOT BE DISTRIBUTED 3 3 SEPARATE TO THE ENTIRE PC-GPE COLLECTION. 3 …ŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ— £ŽŽŽŽŽŽŽŽŽŽŽŽƒŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ 3 Disclaimer 3 …ŽŽŽŽŽŽŽŽŽŽŽŽ— I assume no responsibility whatsoever for any effect that this file, the information contained therein or the use thereof has on you, your sanity, computer, spouse, children, pets or anything else related to you or your existance. No warranty is provided nor implied with this information. £ŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽƒŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ 3 Sound Blaster Instrument File Format (SBI) 3 …ŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ— The SBI format contains the register values for the FM chip to synthesize an instrument. £ŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ¨ 3 Offset Description 3 ~AŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ' 3 00h-03h Contains id characters "SBI" followed by byte 1Ah 3 3 04h-23h Instrument name, NULL terminated string 3 3 24h Modulator Sound Characteristic (Mult, KSR, EG, VIB, AM) 3 3 25h Carrier Sound Characteristic 3 3 26h Modulator Scaling/Output Level 3 3 27h Carrier Scaling/Output Level 3 3 28h Modulator Attack/Delay 3 3 29h Carrier Attack/Delay 3 3 2Ah Modulator Sustain/Release 3 3 2Bh Carrier Sustain/Release 3 3 2Ch Modulator Wave Seelct 3 3 2Dh Carrier Wave Select 3 3 2Eh Feedback/Connection 3 3 2Fh-33h Reserved 3 …ŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ— £ŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽƒŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ 3 Creative Music File Format (CMF) 3 …ŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ— The CMF file format consists of 3 blocks: the header block, the instrument block and the music block. The CMF Header Block ŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ £ŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ¨ 3 Offset Description 3 ~AŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ' 3 00h-03h Contains id characters "CTMF" 3 3 04h-05h CMF Format Version MSB = major version, lsb = minor version 3 3 06h-07h File offset of the instrument block 3 3 08h-09h File offset of the music block 3 3 0Ah-0Bh Clock ticks per quarter note (one beat) default = 120 3 3 0Ch-0Dh Clock ticks per second 3 3 0Eh-0Fh File offset of the music title (0 = none) 3 3 10h-11h File offset of the composer name (0 = none) 3 3 12h-13h File offset of the remarks (0 = none) 3 3 14h-23h Channel-In-Use Table 3 3 24h-25h Number of instruments used 3 3 26h-27h Basic Tempo 3 3 28h-? Title, composer and remarks stored here 3 …ŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ— The CMF Instrument Block ŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ The instrument block contains one 16 byte data structure for each instrument in the piece. Each record is of the same format as bytes 24h-33h in the SBI file format. The CMF Music Block ŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ The music block adheres to the standard MIDI file format, and can have from 1 to 16 instruments. The PC-GPE file MIDI.TXT contains more information on this file format. The music block consists of an alternating seqence of time and MIDI event records: £ŽŽŽŽŽƒŽŽŽŽŽŽŽŽŽŽƒŽŽŽŽŽƒŽŽŽŽŽŽŽŽŽŽƒŽŽŽŽŽƒŽŽŽŽŽŽŽŽŽŽƒŽ 3dTime3MIDI Event3dTime3MIDI Event3dTime3MIDI Event3 ........ …ŽŽŽŽŽ ŽŽŽŽŽŽŽŽŽŽ ŽŽŽŽŽ ŽŽŽŽŽŽŽŽŽŽ ŽŽŽŽŽ ŽŽŽŽŽŽŽŽŽŽ Ž dTime (delta Time) is the amount of time before the following MIDI event. MIDI Event is any MIDI channel message (see MIDI.TXT). The CMF file format defines the following MIDI Control Change events: £ŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ¨ 3 Control 3 3 Number Control Data 3 ~AŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ' 3 66h 1-127, used as markers in the music 3 3 67h 0 - melody mode, 1 = rhythm mode 3 3 68h 0-127, changes the pitch of all following notes upward 3 3 by the given number of 1/128 semitones 3 3 69h 0-127, changes the pitch of all following notes downward 3 3 by the given number of 1/128 semitones 3 …ŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ— In rhythm mode, the last five channels are allocated for the percussion instruments: £ŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ¨ 3 Channel Instrument 3 ~AŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ' 3 12h Bass Drum 3 3 13h Snare Drum 3 3 14h Tom-Tom 3 3 15h Top Cymbal 3 3 16h High-hat Cymbal 3 …ŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ— £ŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽƒŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ 3 Sound Blaster Instrument Bank File Format (IBK) 3 …ŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ— A bank file is a group of up to 128 instruments. £ŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ¨ 3 Offset Description 3 ~AŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ' 3 00h-03h Contains id characters "IBK" followed by byte 1Ah 3 3 04h-803h Parameters for 128 instruments, 16 bytes for each instrument 3 3 in the same format as bytes 24h-33h in the SBI format 3 3 804h-C83h Instrument names for 128 instruments, 9 bytes for each 3 3 instrument, each name must be null terminated 3 …ŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ— £ŽŽŽŽŽŽŽŽŽŽŽŽƒŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ 3 References 3 …ŽŽŽŽŽŽŽŽŽŽŽŽ— Title : Sound Blaster - The Official Book Authors : Richard Heimlich, David M. Golden, Ivan Luk, Peter M. Ridge Publishers : Osborne/McGraw Hill ISBN : 0-07-881907-5