DLS

From Video Game Music Preservation Foundation Wiki
Revision as of 00:11, 5 December 2016 by SynaMax (talk | contribs) (Games: Added Midtown Madness 2)
Jump to: navigation, search
Downloadable Sounds
DLS.png
Developer: IASIG, MMA
Header: RIFF
Content: PCM
Instruments: Intrinsic
Target Output
Output - Digital Audio.png Output - MIDI - No.png Output - FM Synthesis - No.png Output - PSG - No.png
Released: 1990-??-??
First Game: ?
Extensions
  • *.dls

The DownLoadable Sounds (DLS) file format was firstly created by Interactive Audio Special Interest Group (IASIG) in 1990 and continued by MIDI Manufacturers Association (MMA) later. The file doesn't store music, but it does contain the digital audio samples for instrument collections.

Some audio hardware has native DLS support for wavetable synthesis, for example:

Since not many sound cards have native DLS support, Microsoft has developed DirectMusic Synthesizer, firstly bundled with DirectX 6.1, which uses DLS sound banks by design. Also the DirectMusic proprietary format was created to extend MIDI capabilities.

Mainly DLS is used in music formats like RMI or SGT, but some games can use it to store sound effects.

Players

(Category)

Editors

(Category)

Games

(Category)
Released Title Usage
1999-02-03 DirectX Diagnostic Tool (W32) Music Instruments
2000-01-25 Final Fantasy VIII (W32) Music Instruments
2000-09-22 Midtown Madness 2 (W32) Music Instruments
2001-04-13 Analog Devices Sound Demo (W32) Music Instruments
2001-11-15 Gothic (W32) Music Instruments
2002-05-15 Elite Forces: Navy SEALs (W32) Sound Effects
2003-08-18 Donuts 4: Revenge of the Space Torus (W32) Music Instruments
2003-08-21 Gothic II: Night of the Raven (W32) Music Instruments
2003-10-28 Gothic II (W32) Music Instruments

Technical

All DLS files use RIFF tree structure, and the identifier is "DLS " (with space at the end).

RIFF Tree Structure

File Root
│
└─ RIFF:DLS             - RIFF DLS header
   ├─ colh              - Number of instruments in collection
   ├─ vers              - Version (optional)
   ├─ msyn              - "msyn" chunk (unknown, optional)
   ├─ LIST:lins         - Instruments list
   │  ├─ LIST:ins       - Instrument #1
   │  │  ├─ insh        - Instrument header
   │  │  ├─ LIST:lrgn   - Regions list
   │  │  │  ├─ LIST:rgn - Region #1
   │  │  │  │  ├─ rgnh  - Region header
   │  │  │  │  ├─ wsmp  - Sample information
   │  │  │  │  └─ wlnk  - Link information
   │  │  │  ├─ LIST:rgn - Region #2
   │  │  │  └─ ...
   │  │  ├─ LIST:lart   - "lart" list (unknown)
   │  │  │  └─ art1     - "art1" chunk (unknown)
   │  │  └─ ...
   │  ├─ LIST:ins       - Instrument #2
   │  └─ ...
   ├─ ptbl              - Reference table to digital audio data
   ├─ LIST:wvpl         - Samples list
   │  ├─ LIST:wave      - Wave sample #1
   │  │  ├─ fmt         - Wave format
   │  │  ├─ wsmp        - Sample information
   │  │  ├─ data        - Waveform data
   │  │  └─ ...
   │  ├─ LIST:wave      - Wave sample #2
   │  └─ ...
   └─ LIST:INFO         - Information container
      ├─ INAM           - Name / Title
      ├─ ICOP           - Copyright
      ├─ ISFT           - Software
      └─ ...

Links