LibADLMIDI
libADLMIDI - is a software MIDI synthesizer based on
Features
- OPL3 emulation with four-operator mode support
- FM patches from a number of known PC games, copied from files typical to AIL = Miles Sound System / DMX / HMI = Human Machine Interfaces / Creative IBK.
- Pitch-bender with adjustable range
- Vibrato that responds to RPN/NRPN parameters
- Sustain (a.k.a. Pedal hold) and Sostenuto enable/disable
- Use automatic arpeggio with chords to relieve channel pressure
- Support for multiple concurrent MIDI synthesizers (per-track device/port select FF 09 message), can be used to overcome 16 channel limit
- Support for custom banks of WOPL format
- Partial support for GS and XG standards (having more instruments than in one 128:128 GM set and ability to use multiple channels for percussion purposes, and a support for some GS/XG exclusive controllers)
- CC74 "Brightness" affects a modulator scale (to simulate frequency cut-off on WT synths)
- Portamento support (CC5, CC37, and CC65)
- SysEx support that supports some generic, GS, and XG features
- Full-panning stereo option
OPL cores
The OPL core emulates a number of OPL chips. ZDoom extends them with features that did not exist on the emulated hardware, notably full MIDI stereo panning (OPL2 is normally mono, and OPL3 limited to 3 panning positions), though such enhancements can be turned off from the advanced sound options menu. There are three different cores available:
- DOSBox OPL3
- This OPL3 core comes from the
DOSBox project. This is the only emulator affected by the "Run at PCM rate" feature which allows running the emulation with fewer cycles to reduce CPU usage on slow machines.
- Nuked OPL3
- This OPL3 core was contributed by Alexey Khokholov.
- Nuked OPL3 v1.7
- The older version of Nuked OPL3, but slightly optimized and works a bit faster than Nuked OPL3 1.8.
- Opal OPL3
- This OPL3 core comes from the Reality AdLib Tracker project. It's an incomplete OPL3-only emulator that lacks some features like OPL2 and rhythm mode. It is in the Public Domain.
- Java OPL3
- This OPL3 core is a
C++ port of "That Vintage Tone", Robson Cozendey's OPL emulator written in Java.
See also
External links
- OPL3 Bank Editor - a utility that allows the creation of custom WOPL banks are can be used with this synthesizer.
- libADLMIDI - GitHub page that contains latest source code of this synthesizer and related documentation.
- WOPL format specification - A complete specification of WOPL bank format used by this synthesizer.
- DOSBox project