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
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.
- 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
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.
- 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
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.