OPL3/OPN2 synthesizer using ADLMIDI and OPNMIDI
This is a standalone synthesizer for ADLMIDI and OPNMIDI on the text console. It is based on libADLMIDI and libOPNMIDI.
- adljack is the version for the Jack audio system.
- adlrt is the portable version for Linux, Windows and Mac.
- Real time, low latency FM synthesizer
- Support of multiple FM chip emulators
- Support of multiple chips for extended polyphony
- Loading instrument banks in WOPL and WOPN formats
- General MIDI level 1 and 2
- Multi-channel MIDI playback
- Automatic bank reloading when the file changes on disk
- User interface for the terminal with dynamic controls
- Session management with the NSM protocol (adljack only)
This is how you use adljack in the console.
- -h: Show a help message, and lists available players and emulators
- -p [player]: Selects the player. (ADLMIDI, OPNMIDI)
- -n [chips]: Defines the number of chips.
- -b [bank]: Loads the indicated bank file.
- -e [emulator]: Selects the emulator. (by number, as listed in -h)
- -L [latency]: (adlrt only) Defines the audio latency. The unit is milliseconds. Default 20ms.
Find automatic builds of the development branch here (Windows).
Installed required dependencies:
- a C++ compiler for the 2011 standard
- at least one development package for audio, and one for MIDI: ALSA, PulseAudio, Jack
- either: (n)curses for a terminal interface, or SDL2 for a PDCurses pseudo-terminal (needed on Windows)
git clone --recursive https://github.com/jpcima/adljack.git
mkdir adljack/build
cd adljack/build
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build .
sudo cmake --build . --target install
The default terminal setting may prevent the program from being able to define its own colors.
In the initialization of your shell, try setting a 256-color terminal type: test "$TERM" = "xterm" && export TERM=xterm-256color
You can run the AdlRt with the -A alsa
command-line argument:
adlrt -A alsa
which forces it to select ALSA as a sound system instead of PulseAudio.
- ability to set initial volume using the option
-v
- fixed build on Arch Linux
- updated libADLMIDI, libOPNMIDI, and other modules
- support for different channel allocation modes
- support of YMFM OPN2 and YMFM OPNA emulators at libOPNMIDI
- updated versions of libADLMIDI and libOPNMIDI
- support for newer RtAudio 6.x
- configuration will be saved in the config file and reloaded if not overriden by command-line arguments
- experimental support for GTK system tray icon with context menu and file dialogues
- support of new emulators
- support of MIDI portamento
- support of OPN2 soft panning
- resolved a possible crash occurring on the PDCurses build
- ability to connect audio ports automatically using the option
-a
- fidelity improvement of DosBox, MAME and Gens emulators by processing at native sample rate
- update of the DosBox OPL emulator
- support of MIDI aftertouch
- fixed issues with pitch bend and pitch bend sensitivity
- support of Roland SC-55 sysex: text insert
- improved computation of the optimal 4 operator channel setting for OPL3
- fixed long notes cutting prematurely
- translation support on Windows
- various fixes
This is the initial release.