Instrument chunk (of a DLS file)

The instrument chunk in a Downloadable Sounds (DLS) file contains a single DLS instrument. A DLS instrument is a collection of wave samples for one musical instrument – piano, drum set, other – and information about how those samples should be played. The instrument chunk is a chunk of the RIFF type LIST with the subtype "ins ".

The content of the instrument 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 "LIST"
size 4 0x04 The size of the sub-chunk less 8 (less the "chunk ID" and the "size") (an unsigned integer)
list type ID 4 0x08 The ASCII character string "ins " (note the space after "s")
data various 0x0C DLS ID, articulations and regions with wave samples as described below

Wave samples

There are two types of DLS instruments: melodic and percussive. An example of a melodic instrument is a piano. An example of a percussive instrument is a drum set with all of its drum parts (e.g., snare, kick, tom, cymbals). See MIDI program change message for the standard General MIDI instruments that are often present in DLS type files (DLS files can be used by MIDI synthesizers to produce sound).

A DLS instrument produces sound by playing a wave sample (the sound data stored in the file DLS uses the Wave file format and actual sampled audio data). One sample can be pitch shifted up and down to play different notes on the same instrument.

Each DLS instrument may use more than one wave sample. A percussive instrument like the drum set needs several wave samples to play the different parts of the drum set. A melodic instrument, like a piano, may also need several wave samples even if all these samples are for, say, a piano. To produce good sound, a piano may use one wave sample for its lowest notes and other wave samples for other groups of notes.

The instrument chunk does not contain the actual wave samples. Rather, the instrument region chunks described below contain information about where in the file their wave sample can be found. That way, the instrument can use the same wave sample, but with different instructions about how the sample should be played or, even, two different instruments can use the same wave sample, as rare as that may be.

Articulations

In addition to wave samples, a DLS instrument needs instructions about how these samples should be played. These are called articulations. An articulation could specify, for example, the attack of a note (the amount of time for a note volume to reach its maximum after starting from silence). Another articulation could determine the frequency oscillation (LFO) for a vibrato or tremolo.

Structure and placement of the instrument chunk

As described in the main DLS topic]], all instrument chunks are contained in one instrument list chunk. Each instrument chunk contains, an ID chunk, an instrument header chunk, articulations, regions, and samples as follows.

  • Instrument chunk
    • DLS ID chunk
    • Instrument header chunk
    • Articulation list
      • Articulation chunk
      • Articulation chunk
    • Region list chunk
      • Region chunk
        • Region header chunk
        • Wave link chunk
        • Wave sample chunk
        • Articulation list chunk
          • Articulation chunk
          • Articulation chunk
      • Region chunk
        • Region header chunk
        • Wave link chunk
        • Wave sample chunk
        • Articulation list chunk
          • Articulation chunk
          • Articulation chunk

    Chunks in the instrument chunk

    The instrument header sub-chunk specifies the number of wave samples (regions). Since the DLS instrument is designed to be played by a MIDI synthesizer, the instrument header sub-chunk also specifies the MIDI bank and program number for the instrument (see, for example, these standard MIDI instruments typically in bank 0).

    The articulation list that is not a part of a region contains the global articulations. These are instructions about how all notes for the instrument should be played. In other words, these global articulations apply to all regions and wave samples. Other articulations belong to a region and only apply to the wave sample in that region.

    Each region in the list of regions contains directions for finding a wave sample and articulations for that wave sample. The wave sample in a region of a percussive instruments could be a drum sound, like the snare hit. The wave sample in a region of a melodic instruments could be the one that is to be played for a set of notes and pitch shifted accordingly for each note. There can be up to 16 regions in melodic instruments and up to 128 regions for percussive instruments.

    The articulation list and region list chunks also use the RIFF LIST chunk format.

    See also:
    Donwloadable Sounds (DLS) format, Instrument list chunk (of a DLS file)

Add new comment

Filtered HTML

  • Freelinking helps you easily create HTML links. Links take the form of [[indicator:target|Title]]. By default (no indicator): Click to view a local node.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image.