Home Learn About MIDI About US Career Center Public Forum Store
Tutorials Resources Fun With MIDI MIDI Products Tech Specs & Info Glossary
DLS - DownLoadable Sounds DLS Specifications
DLS Certification Program
DLS Proprietary Chunk IDs
DLS Products and Tools
DLS Specifications

Order Printed Documents

The Downloadable Sounds (DLS) Level 1 Specification defined the first industry-standard approach to delivering sound sets for sample-based ("wavetable") synthesizers. DLS allows composers and sound designers of CD-ROM and Internet-based content to develop custom sound sets and achieve consistent playback across a broad number of existing and pending devices. A DLS-compatible synthesizer becomes an expressive and interactive audio reproduction engine that performs exactly as the composer intended.

The combination of MIDI messages controlling small sound samples, as opposed to the use of streaming digitized audio, makes DLS especially appropriate for interactive multimedia applications, and for putting sound and music on web pages where fast downloading, seamless playback, and user interaction are critical.

DLS Version 1.1b - September 2004 [download]

The DLS Level 1 Specification (DLS1) describes the minimal synthesis architecture and feature set needed for a device to be capable of playing DLS-format sound samples. DLS Level 1 is aimed squarely at wavetable PC audio devices in use today, many of which can support DLS Level 1 with only minor driver (PC system) modifications. Later levels (DLS-2, etc.) address enhanced performance and features, and may include different methods of synthesis.

An explanation of the features and benefits of DLS (Level 1) is available here.

Revision History:

CHANGES IN VERSION 1.1b, September 2004

  • This is just an editorial change, correcting a misstatement regarding resetting of Expression (CC11) on reception of the Reset All Controllers message. Expression should be reset.

CHANGES IN VERSION 1.1, January 1999

  • General: Terms of reference more consistent.
  • Chapter 1:
    • Articulation Modules: LFO: Clarifies curve of LFO for volume and pitch.
    • Performances Controllers: PAN: Corrected pan formula expression.
    • Figure 16 (Connection Graph): Corrected CID numbers.
    • Table 1 (Connection Block Table): Changed articulator Names to be consistent with text.
    • Table 2 (Default, Minimum and Maximum Values): Corrected LFO Start Delay, Atten Scale and Mod to Atten default values
    • Data Formats: Corrected attenuation data format explanation.
    • Examples:
      • Table 3 (Parameter Table):
        • - Corrected headings to match text.
        • - Corrected LFO start delay Lscale value.
      • - Changed expressions in EG1 example.
      • - Changed pitch calculations.
      • - Changed attentuation calulations.
  • Chapter 2: Coding Requirements: Added text that inferred connections must not be written to DLS file.
  • Version 1.1 Errata
    • - Explanation of Attenuation vs. Gain (Entire Specification).
    • - Explanation of default note exclusivity behavior.
    • - New envelope digram (Figure 12) and segment descriptions.
    • - New <wsmp-chk> description

The DLS1 Specification (V1.1b) is available as a free download.

DLS version 2.2 - April 2006

The DLS Level 2 Specification (DLS-2) is a logical extension of DLS-1 intended to be in-line with what is commonly considered state of the art today in multimedia computing. The specification is the result of collaboration between numerous hardware and software manufacturers represented by the MMA, as well as input from other organizations intending to use the format, such as MPEG (IEC/ISO JTC-1 SC-29 WG-11).

The DLS Level 2 synthesizer consists of the following basic elements for each voice:

  • A sampled sound source with loop and release
  • Two 6-segment envelope generators characterized as DAHDSR (Delay-Attack-Hold-Decay-Sustain-Release)
  • Two Low Frequency Oscillator (LFO) generators
  • A low pass filter with resonance and dynamic filter cutoff frequency
  • Standardized response to MIDI controllers

The device must meet the following minimum requirements to be considered compliant with the DLS Level 2 specifications:

  • Minimum of 32 digital oscillators each with individually controlled DCA, DCF, LFO generators (two per oscillator), and envelope generators (two per oscillator).
  • Minimum sample playback rate of 22.05 KHz
  • Minimum sample memory of 1,048,576 x 16-bit words
  • Minimum of 512 waves stored simultaneously (subject to sample memory constraints)
  • Minimum of 256 instruments stored simultaneously (subject to articulation data constraints)
  • Minimum of 1,024 regions stored simultaneously (subject to articulation data constraints)
  • Minimum of 8,192 explicit connections stored simultaneously (does not include default connections)
  • If the device claims support for both DLS and GM, it must be able to support both of them simultaneously without encroachment on the above minimum requirements

DLS Level 2 introduces new functionality into the control logic, namely a block called a "Conditional Chunk." Conditional Chunks can be used to create libraries that are both forward and backward compatible. As an example, an instrument in a library may contain DLS Level 1 chunks, DLS Level 2 chunks, and chunks for a proprietary device. The file parser will then select the appropriate chunks for the specific device in use.

Revision History:

  • The DLS-2.1 Amendment of January 2000 changed the MOD LFO to Gain control to bipolar, non-inverted.
  • Some editions contained an error regarding Response to Reset All Controllers. Expression (CC11) should be reset.
  • Some editions contained errors in the dls.h file described in the appendix. The correct dls.h and correct dls2.h are on the MMA web site.
  • The DLS-2.2 Amendment corrects additional errors in the 2.0 and 2.1 documents.

Mobile DLS - 

The Mobile DLS Specification defines a wavetable instrument representation format optimized for use in mobile applications. Mobile DLS is intended for use with Mobile XMF file for a complete musical performance.

Mobile DLS is based on the DLS-2 file format and supports both DLS-1 and DLS-2 technologies through the use of mechanisms introduced in the DLS-2 specification. Mobile DLS departs from previous DLS specifications in a few notable ways, including:

  • The technical distinction between melodic programs and percussion programs no longer exists. There is now a single bank + program space, and any bank + program address can hold either type of program. (ulBank bit 31 no longer treated as part of bank + program address.)
  • Wavetables are no longer limited to 16-bit or 8-bit linear PCM. There is an extensible mechanism allowing the use of other encodings besides linear PCM, including compression codecs. (Table of Codecs )
  • It is possible to implement a Mobile DLS device without DCF and Vibrato LFO, however such an implementation will not be able to play instrument content that is authored to require those features.
  • Minimum device requirements including polyphony and system sampling rate have been relaxed due to the limitations of mobile devices. Reverb and chorus have been made optional, and all voice allocation decisions are left to the implementor.
  • Several corrections to the DLS 2.1 text in regard to the DCF, connection transform curve specifications, note exclusivity, and other matters, which were subsequently adopted for DLS 2 as v2.2.

The Mobile DLS Specification also contains requirements that enable compatibility with SP-MIDI format Standard MIDI Files (SMF), such as a requirement for a General MIDI 1 or 2 instrument set.

Document Publishing Information

Buy Now: "Downloadable Sounds Level 2 Specification v2.2" Document 

Buy Now: "Mobile DLS/XMF Specification v1.0c" Document

All materials, graphics, and text copyright © 1995-2012 MIDI Manufacturers Association Incorporated.
Use is prohibited without written permission.