Synthesizer plugin for ADLMIDI and OPNMIDI (VST/LV2)
This software package provides FM synthesizer plugins, based on OPL3 and OPN2 sound chip emulations.
The emulations and the drivers are provided by libADLMIDI and libOPNMIDI.
- control of multiple YMF262/YM2612 emulated chips
- high fidelity emulation, with choice of compromise level (good fidelity/fast, excellent fidelity/slow)
- synthesis of melodic and percussive instruments
- extensible polyphony
- bundled collection of instruments
- support for dynamic parameterization and automation
- rigorous implementation of the MIDI standard
- multi-channel operation with General MIDI compatibility
- ability to synthesize entire MIDI files out of the box
Author: Jean Pierre Cimalando
Contributors: Olivier Humbert, Christopher Arndt
Find automatic builds of the development branch here.
- User Manual : French 🇫🇷
- LibraZiK-2 : ADLplug 🇫🇷 OPNplug 🇫🇷
- Fedora Copr : ycollet/linuxmao
- Arch Linux AUR : adlplug-git and opnplug-git
- Bank editor software : OPL3 and OPN2
Install required dependencies:
- the CMake build system
- a C++11 compiler
- development packages for Linux: Jack, ALSA, Freetype, X11
git clone --recursive https://github.com/jpcima/ADLplug.git
mkdir ADLplug/build
cd ADLplug/build
cmake -DCMAKE_BUILD_TYPE=Release .. #<more build options...>
cmake --build .
This package is able to build several plugins from a single source:
- to build the OPL3 variant, define the option
ADLplug_CHIP
toOPL3
; - to build the OPN2 variant, define the option
ADLplug_CHIP
toOPN2
.
Build option | Description |
---|---|
-DADLplug_VST2=ON/OFF | Build a VST2 plugin |
-DADLplug_VST3=ON/OFF | Build a VST3 plugin |
-DADLplug_LV2=ON/OFF | Build a LV2 plugin |
-DADLplug_Standalone=ON/OFF | Build a standalone program |
-DADLplug_Jack=ON/OFF | Build a standalone program for Jack with better features |
-DADLplug_CHIP=OPL3/OPN2 | Build a variant for the given chip type (default: OPL3) |
-DADLplug_PCH=ON/OFF | Use precompiled headers, on a compiler which supports it |
-DADLplug_ASSERTIONS=ON/OFF | Force building with assertions regardless of build type |
sudo cmake --build . --target install
1.0.0.beta.2 (dev)
- added the CLI flag
-a
for auto-connection to system outputs in the JACK-only standalone - added the freedesktop shortcuts and icons
- support for keyboard mappings other than QWERTY
- support setting the keyboard's octave
- highlighted the keys played via MIDI input
- made the program selection follow MIDI program change events
- allowed to install into the GNU standard installation directories
- we have been selected for the Open Source Music FM Synthesizer Challenge! 🎉
1.0.0.beta.1
- support of OPN2 synthesis in a distinct plugin
- fixed the plugin state which would be saved incomplete
- fixed the extension of OPN2 bank files in the file chooser
1.0.0.alpha.3
- compensation of MIDI latency at high buffer sizes
- fixed a mismanagement of the 4-op channel map
- fixed cases of bad channel allocations following a long idle period
- improved internal timing precision
- gained an ability to save and restore the current state
- added a large collection of embedded banks
- enhanced the UI in various ways