Skip to content

🔥🔥🔥 You are viewing a development version of the website. Things will blow up. 🔥🔥🔥

Regular users, please follow the exit signs.

# Output filter emulation

Most DOS-era sound cards feature an output low-pass filter (and sometimes a high-pass filter too) that shapes the warmth and character of their output. DOSBox Staging accurately emulates these analog output stage filters for all supported sound devices, resulting in a more period-accurate and pleasant listening experience.

Filters are enabled by default for small-speaker audio systems (PC Speaker, IBM PS/1 Audio Card, Tandy, and the various Covox options). For hardware devices, the filters emulate the analog output stage of the original hardware. For small-speaker systems, they model the frequency response of a band-limited speaker in an acoustic environment — capturing the muffled, boxy quality that was very much part of how these devices actually sounded.

For Sound Blaster, the `sb_filter` parameter defaults to `modern`, which uses the simple linear interpolation method of previous DOSBox versions (kept as the default for broad compatibility across the widest range of games). Set it to `auto` to enable accurate analog output filter emulation that matches the filters of the selected Sound Blaster model. OPL and CMS filters are also accurately emulated.

Some devices, such as the Gravis UltraSound, Roland MT-32, FluidSynth, Innovation SSI-2001, and the IBM Music Feature Card, don’t have hardware output filters to emulate. These devices typically have clean, full-range output by design, but you can apply custom filters if you want to tailor the sound to your preference.

The following per-device filter settings are available:

- `cms_filter` — Creative Music System (Game Blaster)
- `fsynth_filter` — FluidSynth (custom only)
- `gus_filter` — Gravis UltraSound (custom only)
- `imfc_filter` — IBM Music Feature Card (custom only)
- `innovation_filter` — Innovation SSI-2001 (custom only)
- `lpt_dac_filter` — LPT DAC devices (Covox, Disney, Stereo-on-1)
- `mt32_filter` — Roland MT-32 (custom only)
- `opl_filter` — OPL synthesiser
- `pcspeaker_filter` — PC Speaker
- `ps1audio_dac_filter` — IBM PS/1 Audio DAC
- `ps1audio_filter` — IBM PS/1 Audio synthesiser
- `sb_filter` — Sound Blaster digital audio
- `tandy_dac_filter` — Tandy DAC
- `tandy_filter` — Tandy synthesiser

## Custom filter settings

One or two custom filters in the following format:

    TYPE ORDER FREQ

Where TYPE can be `hpf` (high-pass) or `lpf` (low-pass), ORDER is the order of the filter from 1 to 16 (1st order = 6dB/octave slope, 2nd order = 12dB/octave, etc.), and FREQ is the cutoff frequency in Hz.

Examples:

- 2nd order (12dB/octave) low-pass filter at 12kHz:

      lpf 2 12000

- 3rd order (18dB/octave) high-pass filter at 120Hz, and 1st order (6dB/octave) low-pass filter at 6.5kHz:

      hpf 3 120 lpf 1 6500