Sound Canvas

The Roland Sound Canvas SC-55, released in 1991, was the first General MIDI sound module and quickly became the de facto standard for DOS game music. Most composers wrote and tested their music on Sound Canvas hardware, making it the gold standard for how the soundtrack was meant to sound.

For background on the General MIDI and GS standards, and help deciding which MIDI device to use for a particular game, see the MIDI overview.

dosbox-automation emulates the SC-55 via the Nuked SC55 CLAP audio plugin, providing sample-accurate playback of the actual SC-55 sound engine - as close to the real hardware as you can get without owning one.

Setup

To enable Sound Canvas emulation, set the MIDI device and place the required ROM files:

[midi]
mididevice = soundcanvas

Download the SC-55 ROM files from here, unpack the ZIP archive, then move the contents of the Nuked-SC55-Resources/ROMs/ folder into the soundcanvas-roms directory inside your DOSBox configuration folder:

PlatformROM directory
WindowsC:\Users\<USERNAME>\AppData\Local\dosbox-automation\soundcanvas-roms\
macOS~/Library/Preferences/dosbox-automation/soundcanvas-roms/
Linux~/.config/dosbox-automation/soundcanvas-roms/

This is what the contents of soundcanvas-roms should look like:

soundcanvas-roms
├── SC-55-v1.10
│   ├── sc55_rom1.bin
│   ├── sc55_rom2.bin
│   ├── sc55_waverom1.bin
│   ├── sc55_waverom2.bin
│   └── sc55_waverom3.bin
├── SC-55-v1.20
│   ...
├── SC-55-v1.21
...

You can also set a custom ROM directory via the soundcanvas_rom_dir setting.

Note

Sound Canvas emulation is CPU-intensive. You'll need a mid-range or better desktop-class CPU from the last 5--7 years for glitch-free playback. If your system struggles, FluidSynth with a good SoundFont is a lighter alternative.

Tip

You can switch between Sound Canvas models on the fly by changing the soundcanvas_model setting - no restart needed.

For a hands-on walkthrough of setting up Sound Canvas emulation with a specific game, see the Star Wars: Dark Forces chapter of the getting started guide.

Sound Canvas revisions

The SC-55 went through several firmware revisions. The most important difference is Capital Tone Fallback (CTF) - a Roland GS feature that ensures correct instrument playback when a game requests a GS "variation tone" that isn't available on the module. Without CTF, the module may play silence or the wrong instrument. Many DOS games rely on CTF for correct audio, particularly for percussion and instrument variations.

Due to a patent dispute with Yamaha, Roland was forced to remove CTF from later firmware revisions. This makes the choice of firmware version significant for DOS gaming.

dosbox-automation emulates the following Sound Canvas firmware versions:

ModelVersionsoundcanvas_modelCTFNotes
SC-55v1.00sc55_100YesFirst release; some instrument mapping bugs
SC-55v1.10sc55_110YesBug fixes
SC-55v1.20sc55_120YesCorrected instrument #122; GS reset
SC-55v1.21sc55_121YesFixed NRPN processing bugs - recommended
SC-55v2.00sc55_200NoCTF removed (Yamaha patent dispute)
SC-55mk2v1.00sc55mk2_100No28 voices, 354 sounds; no CTF
SC-55mk2v1.01sc55mk2_101NoMinor revisions

The SC-55 v1.21 is the best overall choice for DOS gaming - it has Capital Tone Fallback, correct instrument mappings, and all known firmware bugs fixed. dosbox-automation's soundcanvas_model = auto prefers v1.21 when its ROM is available. Avoid v2.00 and the Mk II versions for games that rely on CTF.

Games that require Capital Tone Fallback (CTF) for correct audio

These games use GS variation tones that depend on CTF. On SC-55 v2.00 or Mk II firmware (which lack CTF), certain instruments or percussion will sound incorrect or be silent.

Mixer channel

Sound Canvas outputs to the SOUNDCANVAS mixer channel.

Configuration settings

Sound Canvas settings are to be configured in the [soundcanvas] section.

soundcanvas_model

Roland Sound Canvas model to use. One or more CLAP audio plugins that implement the supported Sound Canvas models must be present in the plugins directory in your DOSBox installation or configuration directory.

Possible values:

  • auto (default) -- Pick the best available model.
  • sc55 -- Pick the best available original SC-55 model.
  • sc55mk2 -- Pick the best available SC-55mk2 model.
  • <version> -- Use the exact specified model version (e.g., sc55_121).
soundcanvas_rom_dir

The directory containing the Roland Sound Canvas ROMs (unset by default). The directory can be absolute or relative, or leave it unset to use the soundcanvas-roms directory in your DOSBox configuration directory. Other common system locations will be checked as well.

soundcanvas_filter

Filter for the Roland Sound Canvas audio output.

Possible values:

  • on (default) -- Filter the output. This applies a 1st order low-pass filter at 11 kHz (lpf 1 11000).
  • off -- Don't filter the output.
  • <custom> -- Custom filter definition; see Custom filter settings for details.