Это небольшой и простой MIDI-плеер с ЧМ-синтезом OPN2 (Yamaha YM2612) и OPNA (YM2608). Плеер может проигрывать любые файлы MIDI, MUS или XMI, которые возможно найти на устройстве. Плеер имеет встроенный General-MIDI и частично XG cовместимый тембровый банк, собранный из инструментов, взятых из разных игр для Sega Megadrive/Genesis, портированных с чипа OPL3, или сделанных с нуля. Также можно использовать пользовательские внешние тембровые банки в формате WOPN чтобы можно было полностью поменять звучание музыки.
# Ключевые возможности синтезатора libOPNMIDI:
* Эмуляция OPN2
* Поддержка пользовательских тембровых банков в формате WOPN (Спецификацию можно найти тут: https://github.com/Wohlstand/OPN2BankEditor/blob/master/Specifications/WOPN-and-OPNI-Specification.txt)
* Стерео-звук
* Паралельное использование нескльких симулируемых OPN2-чипов от 1-го до 100 (максимальня полифония - 600 голосовых каналов!)
* Панорама (двоичная панорама, левая/правая сторона вкл/выкл.)
* Тоновое смещение (Pitch-bend) с регулируемым диапазоном
* Вибрато, управляемое с помощью настроек RPN/NRPN
* Зажим (т.е. Нажатие педали) и Состенуто
* Поддержка MIDI и RMI
* Поддержка MIDI API реального времени
* Поддержка петли с помощью маркеров loopStart и loopEnd (формат игры Final Fantasy VII)
* Поддержка петли с помоьщю 111-го контроллера в качестве начала цикла (формат движка RPG-Maker)
* Автоматическое арпеджио над аккордами, чтобы преодолеть нехватку каналов полифонии
* Поддержка нескольких виртуальны MIDI-синтезаторов (по отдельности на каждую дорожку с помощью MIDI-события FF09 "Выбор устройства"). Может использоваться для преодоления ограничения в 16 каналов.
* Поддержка проигрывания файлов Id-software Music File format (IMF)
* Частичная поддержка стандартов GS и XG (вожможно наличие наборов инструментов больше чем 128:128 и возможность использовать несколько дополнительных каналов ударных, а также поддержка некоторых GS/XG-специфичных контроллеров)
* Контроллер CC74 "Яркость" управляет модулятором (чтобы сымитировать "срезание частоты", специфичное волновым синтезаторам)
* Поддержка портаменто (контроллеры CC5, CC37 и CC65)
* Поддержка SysEx, которая поддерживает некоторые общие, GS и XG-возможности
* Опция, включающая полнопанорамное стерео (работает только на эмуляторах)
# Ссылки
* Исходный код плеера: https://github.com/Wohlstand/OPNMIDI-Player-Java
* Исходный код libOPNMIDI: https://github.com/Wohlstand/libOPNMIDI
* Редактор банков OPN2, который позволяет создавать и менять тембровые банки WOPL: https://github.com/Wohlstand/OPN2BankEditor/
Последнее обновление
18 авг. 2023 г.