IBK Format
Jump to navigation
Jump to search
IBK Format
Format type | Musical Instrument |
---|---|
Hardware | OPL, MIDI |
Number of instruments | 128 |
Instruments named? | Yes, 8 chars |
Games |
The IBK (Instrument Bank) Format was created to store up to 128 instruments suitable for playback on a sound card with an OPL2 or OPL3 chip. The 128 instrument limit was most likely chosen so that a single IBK file could store all the instruments for a General MIDI song.
File format
The file is structured as follows:
Data type | Name | Description |
---|---|---|
char[4] | signature | "IBK" followed by 0x1A |
BYTE[16][128] | inst | 128 instrument settings, 16 bytes each (see below) |
char[9][128] | names | 128 instrument titles (each must be NULL-terminated, giving 8 visible chars max) |
Instruments
Each instrument is in the following format. This is identical to the format used for the instrument block in CMF Format files. Each individual instrument is the same as in the SBI Format.
Data type | Name | OPL base register | Description |
---|---|---|---|
UINT8 | iModChar | 0x20 | Modulator characteristic (Mult, KSR, EG, VIB and AM flags) |
UINT8 | iCarChar | 0x23 | Carrier characteristic (Mult, KSR, EG, VIB and AM flags) |
UINT8 | iModScale | 0x40 | Modulator key scaling/output level |
UINT8 | iCarScale | 0x43 | Carrier key scaling/output level |
UINT8 | iModAttack | 0x60 | Modulator attack/decay level |
UINT8 | iCarAttack | 0x63 | Carrier attack/decay level |
UINT8 | iModSustain | 0x80 | Modulator sustain/release level |
UINT8 | iCarSustain | 0x83 | Carrier sustain/release level |
UINT8 | iModWaveSel | 0xE0 | Modulator wave select |
UINT8 | iCarWaveSel | 0xE3 | Carrier wave select |
UINT8 | iFeedback | 0xC0 | Feedback/connection |
UINT8 | iPercVoc | N/A | Percussion voice mode: 0 is melodic, 6 - Bass Drum, 7 - Snare, 8 - Tom-Tom, 9 - Cymbal, 10 - HiHat |
INT8 | iTranspos | N/A | Number of notes to transpose timbre, signed |
INT8 | iDPitch | N/A | Percussion pitch: MIDI Note 0 - 127 |
BYTE[2] | Padding to bring instrument definition up to 16 bytes |
Percussive instruments
Percussive instruments are indicated by iPercVoc field. Percussive instruments are using rhythm mode of the OPL2/OPL3 chip.
Tools
The following tools are able to work with files in this format.
Name | Platform | Play? | Create new? | Modify? | Convert/export to other? | Import from other? | Access hidden data? | Edit metadata? | Notes |
---|---|---|---|---|---|---|---|---|---|
SBTimbre | DOS | Yes | Yes | Yes | Yes; .ibk | Yes; .bnk | No | Yes | Instrument editor using IBK as its primary format |
OPL3 Bank Editor | Linux, Windows, macOS | Yes | Yes | Yes | Yes; many | Yes; many | No | Yes |