Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Coppersynth (General MIDI synthesizer)

Copperline includes Coppersynth, an integrated 16-part General MIDI / GS SoundFont synthesizer with an interactive Roland SC-55 style front panel and an automatic MT-32 translation layer.

Coppersynth mixes its output alongside the Amiga’s four Paula audio channels without requiring external ROM files or MIDI daemon software.

Configuration

In the launcher:

  1. Navigate to I/O Ports -> Serial Port.

  2. Set Device / Mode to MIDI.

  3. Set MIDI output to Coppersynth.

  4. Configure SoundFont, MT-32 translation mode, and front panel options as desired.

In copperline.toml:

[serial]
mode = "midi"
midi_out = "coppersynth"
# coppersynth_soundfont = "/path/to/bank.sf2"  # Optional custom SoundFont
# coppersynth_mt32_mode = "auto"               # "auto", "on", or "off"
# coppersynth_panel = true                     # Show front panel on boot

Command-line usage:

copperline --model A1200 --midi-out coppersynth KICK31.ROM

[serial] configuration keys

KeyValuesDescription
midi_out"coppersynth"Route MIDI output to built-in synthesizer
coppersynth_soundfontFile pathPath to .sf2 SoundFont or .zip archive
coppersynth_mt32_mode"auto", "on", "off"MT-32 SysEx/patch translation mode (default: "auto")
coppersynth_paneltrue / falseDisplay virtual front panel (default: false)

SoundFonts

Coppersynth includes the GeneralUser GS SoundFont by S. Christian Collins by default, providing complete General MIDI instruments, SFX, and drum sets.

To use an alternate SoundFont:

MT-32 translation mode

Many Amiga games with MIDI support target the Roland MT-32 specifically. When coppersynth_mt32_mode = "auto" is active:

Virtual front panel

The Coppersynth front panel

When enabled (coppersynth_panel = true), the virtual front panel appears beneath the video display.

Primary controls

ButtonFunction
PART < >Select part (1-16)
INSTRUMENT < >Select timbre/instrument for current part
LEVEL < >Adjust part volume
PAN < >Adjust stereo panning
REVERB < >Adjust reverb send level
CHORUS < >Adjust chorus send level
KEY SHIFT < >Transpose part pitch
ALLWhen active, edits apply to all 16 parts simultaneously
MUTEMute the selected part (or all parts if ALL is lit)
MIDI CH < >Set MIDI channel for current part (1-16 or Off)
VOLUMEMain output level
POWERPower cycle the synthesizer engine

Multi-button combinations (Power on)

CombinationFunction
ALL + MUTESolo the selected part
PART < + PART >Part parameter edit menu (Bend range, vibrato, filter cutoff, portamento)
PART < + PART > (with ALL)System setup menu (Master tune, reverb/chorus DSP types, meter modes)
INSTRUMENT < + INSTRUMENT >Instrument variation bank selection

Multi-button combinations (Power off)

With power turned off, hold combinations (right-click) and click POWER:

CombinationFunction
INSTRUMENT < + POWERToggle MT-32 translation mode
INSTRUMENT > + POWERReset parameters to GS factory standard
INSTRUMENT < + INSTRUMENT > + POWERMaster factory reset (restores default SoundFont)
PART < + PART > + POWERPlay built-in demo sequences
INSTRUMENT + MIDI CH + POWERDisplay version and credits info

Building without Coppersynth

To exclude Coppersynth when compiling from source:

cargo build --release --no-default-features \
  --features "midi,frontend,wasm-boards,control,ctl-bin,net-nat,net-bridge,fluxbridge,mt32,cpu-jit,profile-stats,game-library,mhi,cd-mp3"