IBK Format

From ModdingWiki
Jump to navigation Jump to search
IBK Format
Format typeMusical Instrument
HardwareOPL, MIDI
Number of instruments128
Instruments named?Yes, 8 chars

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)


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.


The following tools are able to work with files in this format.

Name PlatformPlay? Create new? Modify? Convert/export to other? Import from other? Access hidden data? Edit metadata? Notes
SBTimbre DOSYesYesYesYes; .ibkYes; .bnkNoYes Instrument editor using IBK as its primary format
OPL3 Bank Editor Linux, Windows, macOSYesYesYesYes; manyYes; manyNoYes