The instrument header chunk in a Downloadable Sounds (DLS) file contains the number of regions, bank number, and instrument number for a DLS instrument.
The content of the instrument header chunk is as follows.
Byte sequence description | Length in bytes | Starts with byte in the chunk | Value |
chunk ID | 4 | 0x00 | The ASCII character string "insh" |
size | 4 | 0x04 | The size of the sub-chunk less 8 (less the "chunk ID" and the "size") (an unsigned integer) |
regions | 4 | 0x08 | The number of regions in the instrument (unsigned integer) |
bank | 4 | 0x0C | The number of the bank to which this instrument belongs (unsigned integer) |
instrument | 4 | 0x10 | The number of the instrument (unsigned integer) |
The instrument header chunk is a part of the DLS instrument chunk. A DLS instrument is a collection of directions to wave samples and instructions about how these wave samples should be played. The term region refers to a DLS region chunk: directions to a single wave sample and instructions about how that wave samples should be played.
DLS instruments can be percussive or melodic. A melodic DLS instrument, such as a piano, can have at most 16 regions. A percussive DLS instrument, such as a drum set, can have up to 128 regions.
The bank and instrument are referred to as the MIDI locale. For example, one should expect that the instrument at bank 0, instrument index 0 is a piano, as that is the first instrument in the standard MIDI program, which is at bank 0.
More precisely, bits 0 to 6 of the bank number correspond to MIDI continuous controller 0 (coarse bank select) and bits 8 to 14 correspond to MIDI continuous controller 32 (fine bank select) (see MIDI Controller message). Bit 7 is reserved and should be 0. Bits 15 to 30 are also reserved and should be 0. The topmost bit, bit 31, defines whether the instrument is melodic or percussive. If the topmost bit of the bank number is 1, then this is a percussive instrument. Otherwise, the instrument is a melodic instrument.
See also:
Donwloadable Sounds (DLS) format
Add new comment