jpcima / ADLplug

FM Chip Synthesizer — OPL & OPN — VST/LV2/Standalone
Boost Software License 1.0
426 stars 22 forks source link
adlmidi audio audio-plugin chip fm-synthesizer jackaudio lv2 midi musical-instrument opl opl3-emulator opn opn2-emulator opnmidi real-time-audio synthesizer vst

ADLplug

Synthesizer plugin for ADLMIDI and OPNMIDI (VST/LV2)

screenshot

Introduction

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.

Author: Jean Pierre Cimalando
Contributors: Olivier Humbert, Christopher Arndt, Bruce Sutherland, David Runge, Jérémy Frey

Development builds

Build Status

You can find automatic builds of the development branch here.

Useful links

FM core characteristics

Core Chip Accuracy Speed Rhythm-mode channels Extended panning
DOSBox OPL3 ★★★★★ ★★★★★ ★★
Nuked 1.8 OPL3 ★★★★★ + ★☆☆☆☆ ★★
Nuked 1.7 OPL3 ★★★★★ + ★★★☆☆ ★★
Opal OPL3 ★★★★☆ ★★★☆☆ ☆☆
Java OPL3 ★★★★☆ ☆☆☆☆☆ ★☆
Core Chip Accuracy Speed SSG-EG Extended panning
MAME OPN2 ★★★★★ ★★★★☆ ★★★★☆
Nuked OPN2 ★★★★★ + ☆☆☆☆☆ ★★★★★
Gens OPN2 ★★★☆☆ ★★★★☆ ★☆☆☆☆
Neko Project II Kai OPNA ★★★★☆ ★★★☆☆ ★????
MAME FM OPNA ★★★★★ ★★★☆☆ ★????

Build instructions

Install required dependencies:

Compiling

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:

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

Installing

sudo cmake --build . --target install

Change Log

dev

1.0.2

1.0.1

1.0.0

1.0.0.beta.5

1.0.0.beta.4

1.0.0.beta.3

1.0.0.beta.2

1.0.0.beta.1

1.0.0.alpha.3

License

ADLplug consists of various parts distributed under different free software licenses. The parts developed exclusively for this project are Boost licensed. The other parts and respective licenses are indicated here below.

Files License
thirdparty/fmt 3-Clause BSD
thirdparty/JUCE GNU GPL v3
thirdparty/libADLMIDI GNU LGPL v3, GNU LGPL v2.1, GNU GPL v3, Public Domain
thirdparty/libOPNMIDI GNU LGPL v3, GNU LGPL v2.1, GNU GPL v3
thirdparty/simpleini MIT
thirdparty/vst3sdk GNU GPL v3
thirdparty/nonlib ISC
thirdparty/wopl GNU LGPL v3
thirdparty/wopn GNU LGPL v3
sources/opl3/adl/measurer GNU GPL v3
sources/opl3/adl/measurer/chips/dosbox GNU GPL v2+
sources/opn2/adl/measurer GNU GPL v3
sources/opn2/adl/measurer/chips/mame GNU GPL v2+
sources/opl3/ui/components/opl3_waves.cc GNU LGPL v2.1