OPN2 MIDI Player
ru.wohlsoft.opnmidiplayer
Zapstore _@zapstore.dev Republished from GitHub / F-Droid by the Zapstore main account.
It's a small and simple MIDI player with OPN2 (Yamaha YM2612) or OPNA (YM2608) FM synthesis. The player can play any MIDI, MUS, or XMI file you will have on your device. Player has General-MIDI and Semi-XG compatible bank timbre bank made from imported instruments from various Sega Megadrive/Genesis games, ported from OPL3, or originally made. Optionally you can use external timbre bank file in WOPN to get the different sounding of your music. # Key features of the libOPNMIDI synthesizer: * OPN2 emulation * Customizable bank of FM patches (You have to use the bank editor (https://github.com/Wohlstand/OPN2BankEditor) to create own soundbank) * Stereo sound * Number of simulated OPN2 chips can be specified as 1-100 (maximum channels 600!) * Pan (binary panning, i.e. left/right side on/off) * Pitch-bender with adjustable range * Vibrato that responds to RPN/NRPN parameters * Sustain (a.k.a. Pedal hold) and Sostenuto enable/disable * MIDI and RMI file support * Real-Time MIDI API support * loopStart / loopEnd tag support (Final Fantasy VII) * 111'th controller based loop start (RPG-Maker) * 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 * 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 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 (works for emulators only) # Links * The source code of player: https://github.com/Wohlstand/OPNMIDI-Player-Java * The source code of libOPNMIDI: https://github.com/Wohlstand/libOPNMIDI * The OPN2 bank editor which allows you to create or modify WOPL timbre bank files: https://github.com/Wohlstand/OPN2BankEditor/
First release: Sep 21, 2025, 2 total releases.
Most recent release: Aug 24, 2026.
Appears in 0 app stacks.
0 sats / 0 zaps received in the past year.
Sats Received
Underlying data available via MCP: app_zaps, app_releases.
Zap Count
Underlying data available via MCP: app_zaps, app_releases.
Releases
- Aug 24, 2026 1.6.2- Updated target Android SDK to API 37. - Added infinite loop toggling. - Added the Apogee EMIDI mode (to correctly play music designed for games based on Apogee/3D Realms' Audio library "Apogee Sound System"). - Updated libOPNMIDI: * Added support for HMI and HMP files! * Added support for in-track (local) loops. * Optimized work with chip instruments. * Fixed the silence problem at the MIDI channel after playing too many notes without Note OFF event. * Added `opn2_setDeviceFilterMask()` public API to assign the device filter mask for the HMI/HMP/EMIDI tracks disabling/enabling. * Added handling of music files designed for the EMIDI standard from the Apogee Sound System. This feature must be enabled manually to avoid heuristics and possible conflicts.
More…
* Added `opn2_setModeEMIDI()` public API to enable handling EMIDI specification events without conflicts to other formats. - Sep 21, 2025 1.6.1- Enabled RAM page size support for 16 KB. - Updated libOPNMIDI to 1.6.1: * Added four extra heavy but very accurate Nuked LLE emulators (on weak machines suitable for WAV writing only). * WinMM: Fixed random crash on waveOutOpen initialisation because of incorrect initialisation structure usage. * Fixed crash when playing too many notes at the same channel. * WinMM: Fixed sound damange when switching between banks while playing some music streams. * Fixed the playback distortion while switching between OPN2 and OPNA family banks.