Region chunk (of a DLS file)

The region chunk in a Downloadable Sounds (DLS) file contains directions to finding a wave sample and instructions how and for which notes this sample should be played. The region chunk is a chunk of the RIFF type LIST with the subtype "rgn ".

The content of the region 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 "rgn " (note the space after "n")
data various 0x0C Region header, wave link, wave sample, and articulations as described below

Structure and placement of the region chunk

As described in the main DLS topic]], a region chunks is contained in a list of regions. The list of regions itself is also a chunk of the RIFF type LIST and is found within a DLS instrument. A DLS instrument is a collection of wave samples (directions for finding the wave samples in the file) and instructions about how these wave samples should be played to produce the sound of an instrument (e.g., piano, drum set, etc.).

Each region in the instrument contains:

  • Directions to one wave sample.
  • Instructions about which notes on the instrument should use this sample. For example, the notes C to F in octave 4 on the piano perhaps use one sample, while other notes use another.
  • Instructions about what velocities can use this sample. For example, if velocity is to be interpreted as volume, it is possible that quiet notes should use one sample, while loud notes should use another.
  • Instructions about how the sample should be played. These are called articulations. An articulation could specify, for example, the decay of a note (the amount of time for a note volume to decrease to silence) or the frequency oscillation (LFO) for a vibrato or tremolo.

The following is the structure of a region chunk.

  • Region list chunk
    • Region chunk
      • Region header chunk
      • Wave link chunk
      • Wave sample chunk
      • Articulation list chunk
        • Articulation chunk
        • Articulation chunk
      • Region chunk

    Chunks in the region chunk

    The region header sub-chunk specifies which notes should be played by the wave sample, what note velocities can use this sample, and options for whether the note on this instrument can be played with other notes on this instrument or whether it should turn off other notes on this instrument (for example, a closed high hat on a drum set should realistically turn off an open high hat on the same drum set).

    The wave link chunk specifies, most importantly, the index of the cue in the DLS wave pool table. The wave pool table is in a separate part of the DLS file. The cue index is zero based.

    The wave sample chunk contains information about how a wave sample should be played. That is, the wave sample chunk describes how the wave data is stored (e.g., how many and which samples should be repeated so that the sound can be sustained) and how it was recorded (e.g., any pitch corrections to produce the correct pitch).

    Articulations also contain information about how the wave sample should be played, but they are different than wave sample chunks. Articulations describe how the sound should be modified (e.g., volume envelopes) to imitate the instrument.

    See also:
    Donwloadable Sounds (DLS) format

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.