Wohlstand / libOPNMIDI

A Software MIDI Synthesizer library with OPN2 (YM2612) emulator
GNU Lesser General Public License v3.0
90 stars 7 forks source link
audio-codec fm-synthesizer midi-player opn2-emulator real-time-midi ym2612 ym3438

libOPNMIDI

libOPNMIDI is a free Software MIDI synthesizer library with OPN2 (YM2612) and OPNA (YM2608) emulation.

OPNMIDI Library: Copyright (c) 2017-2024 Vitaly Novichkov admin@wohlnet.ru

Library is based on core of the libADLMIDI, a MIDI playing library with OPL3 emulation.

Tested on platforms

Key features

How to build

To build libOPNMIDI you need to use CMake:

mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make
sudo make install

License

The library is licensed under in it's parts LGPL 2.1+, GPL v2+, GPL v3+, and MIT.

Available CMake options

You also can build library manually:

You need to make in the any IDE a library project and put into it next files (or include those files into subfolder of your exist project instead if you want to use it statically):

Useful macros

Public header (include)

Internal code (src)

MIDI Sequencer

To remove MIDI Sequencer, define OPNMIDI_DISABLE_MIDI_SEQUENCER macro and remove all those files

Important: Please use GENS emulator only on mobile or any non-power devices because it requires very small CPU power. Nuked OPN2 emulator is very accurate (compared to real OPN2 chip), however, it requires a VERY POWERFUL device even for a single chip emulation and is a high probability that your device will lag and playback will be dirty and choppy. Use of MAME OPN2 is recommended in such cases.

Working demos

Changelog

dev

1.5.1 2022-10-31

1.5.0.1 2020-10-11

1.5.0 2020-09-28

1.4.0 2018-10-01

1.3.0 2018-06-19

1.2.0 2018-04-24

1.1.0 2018-01-21

1.0.0-beta 2017-05-06