Skip to content

reales/retromulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Retromulator

A standalone app and DAW plugin (AAX / VST3 / AU) that emulates classic hardware synthesizers, samplers, and keyboards by running their original firmware on cycle-accurate CPU and DSP emulators.

Retromulator

Download for Windows   Download for macOS   Download for Linux   Buy License $29

Hardware Cores

Hardware Emulation
Access Virus A / B / C Motorola DSP 56300 cycle-accurate
Access Virus TI Motorola DSP 56300 cycle-accurate
Akai S1000 SFZero v3.0.0 sample engine
Clavia Nord Lead / Rack 2x Motorola DSP 56300 cycle-accurate
Commodore 64 SID 6581 / 8580 reSID cycle-accurate
Roland JP-8000 (JE-8086) Motorola DSP 56300 cycle-accurate
Waldorf microQ Motorola DSP 56300 cycle-accurate
Waldorf Microwave XT Motorola DSP 56300 cycle-accurate
Wurlitzer 200A (OpenWurli) Physical modeling synthesis
Yamaha DX7 HD6303R + YM21280 EGS + YM21290 OPS (VDX7)
Yamaha OPL3 / YMF262 Nuked OPL3 v1.8

Most DSP-based synths require their original ROM firmware to run (not included). ROMs are loaded from the application support folder at runtime. The microQ can run with an embedded fallback ROM. The Akai S1000, OpenWurli, and OPL3 cores are ROM-free.

The Akai S1000 sampler loads SF2, SFZ, ZBP, and ZBB sample banks, as well as Akai ISO/BIN/CUE disk images, via the SFZero MIT-licensed engine with 8-point sinc interpolation, extended SFZ/SF2 opcode support, auto-slice drum mapping, CC20 global tuning, and discoDSP Bliss sampler format.

The Wurlitzer 200A (OpenWurli) is a physical model of the Wurlitzer 200A electric piano with 64-voice polyphony, tremolo, speaker character modeling, velocity curves, and 2x oversampling.

The Yamaha OPL3 emulates the YMF262 FM synthesis chip (18 channels, 4-operator) using the Nuked OPL3 engine. It loads SBI patch files with bank navigation via folder hierarchy, pitch bend, and voice stealing.

The Commodore 64 SID emulates the MOS 6581 / 8580 chip using the reSID engine with 3-voice polyphony, oldest-voice stealing, and a full 50 Hz macro playback engine (wavetable, pulsetable, filtertable, speedtable). It loads GoatTracker .sng banks and .ins standalone instruments, with live MIDI control via CC 1 (vibrato depth), CC 22 (pitch bend range, 1–48 semitones), CC 64 (sustain pedal), CC 71 (resonance), CC 74 (cutoff), and CC 75 (pulse width).

How it differs from Gearmulator

Retromulator is built on top of the open-source emulation engines from Gearmulator by dsp56300. Gearmulator ships as standalone applications and open-source plugins built with CMake. Retromulator packages the same engines into a polished single-plugin experience using JUCE, with a unified rack-style UI, DAW state persistence, bank/patch browsing, focused on preset playing.

The emulation cores (dsp56300, mc68k, h8s, synthLib and all synth-specific libraries) are from Gearmulator. The DX7 emulation is ported from VDX7, a separate project (see Credits below). The OPL3 emulation uses Nuked OPL3 by Nuke.YKT. The SID emulation uses reSID by Dag Lem. The Akai S1000 sampler uses the SFZero module, an MIT-licensed JUCE sample engine maintained by discoDSP. The Wurlitzer 200A (OpenWurli) is a physical model fully ported by discoDSP.

Credits

  • dsp56300 — DSP56300 emulator, Virus TI / microQ / XT / Nord N2X / JE-8086 engines, GPL v3
  • All contributors to github.com/dsp56300/gearmulator
  • chiacconaVDX7, cycle-accurate Yamaha DX7 emulation (HD6303R CPU, EGS, OPS), GPL v3
  • Nuke.YKTNuked OPL3, cycle-accurate YMF262 emulation, LGPL v2.1
  • Dag LemreSID, cycle-accurate MOS 6581 / 8580 SID emulation, GPL v2
  • Lasse Öörni / CadaverGoatTracker .sng / .ins format reference, GPL v2
  • Steve Folta — original SFZero SFZ/SF2 sample player, MIT license
  • Leo Olivers — SFZero JUCE module port
  • discoDSPSFZero v3.0.0, 8-point sinc interpolation, Bliss format, extended opcode support, MIT license
  • Joshua PriceOpenWurli Wurlitzer 200A physical model

JUCE integration, UI, AAX/AU/VST3 plumbing is developed separately.

License

The emulation engine source code in this repository is licensed under the GNU General Public License v3.0 — see LICENSE.txt. The SFZero module is licensed under the MIT License — see Modules/SFZero/LICENSE. The Nuked OPL3 engine is licensed under the GNU Lesser General Public License v2.1. The reSID engine is licensed under the GNU General Public License v2.0.

About

A standalone app and DAW plugin (AAX / VST3 / AU) that emulates classic hardware synthesizers, samplers, and keyboards by running their original firmware on cycle-accurate CPU and DSP emulators.

Topics

Resources

License

Stars

Watchers

Forks

Contributors