Skip to content

Instantly share code, notes, and snippets.

@jpcima
Created February 22, 2019 23:33
Show Gist options
  • Save jpcima/e89e102356fb7aeff8b86f7d3e59f963 to your computer and use it in GitHub Desktop.
Save jpcima/e89e102356fb7aeff8b86f7d3e59f963 to your computer and use it in GitHub Desktop.
ADLMIDI.txt
------------------------------------------------------------
Title:
------------------------------------------------------------
ADLMIDI Player
------------------------------------------------------------
Short description:
------------------------------------------------------------
A simple OPL3 Synth based MIDI Player with use of libADLMIDI
------------------------------------------------------------
Full description:
------------------------------------------------------------
It's a small and simple MIDI player with OPL3 (Yamaha YMF262) FM synthesis. The player can play any MIDI, MUS, XMI, or IMF file you will have on your device. Player has 76 embedded banks from various DOS games, musical software, and some other timbre banks you can choose to get the different sounding of your music. At the same time, you can use external timbre bank file in WOPL format.
# Key features of the libADLMIDI synthesizer:
* OPL3 emulation with four-operator mode support
* Embedded 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
* Stereo sound
* Number of simulated OPL3 chips can be specified as 1-100 (maximum channels 1800!)
* 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
* Support for playing Id-software Music File format (IMF)
* Support for custom banks of WOPL format (Specification of it can be found here: https://github.com/Wohlstand/OPL3BankEditor/blob/master/Specifications/WOPL-and-OPLI-Specification.txt)
* 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/ADLMIDI-Player-Java
* The source code of libADLMIDI: https://github.com/Wohlstand/libADLMIDI
* The OPL3 bank editor which allows you to create or modify WOPL timbre bank files: https://github.com/Wohlstand/OPL3BankEditor/
=== FR ===
------------------------------------------------------------
Title:
------------------------------------------------------------
Lecteur ADLMIDI
------------------------------------------------------------
Short description:
------------------------------------------------------------
Un lecteur MIDI simple basé sur un synthétiseur OPL3 utilisant libADLMIDI
------------------------------------------------------------
Full description:
------------------------------------------------------------
Ceci est un lecteur MIDI simple et léger basé sur la synthèse FM de l'OPL3 (Yamaha YMF262). Le lecteur peut jouer tout fichier MIDI, MUS, XMI ou IMF dont vous disposez sur votre appareil.
Le lecteur comprend 76 banque de timbres issues de divers jeux DOS, logiciels musicaux, et sources diverses que vous pouvez choisir afin de donner la sonorité que vous voulez à votre musique. Vous avez également la possibilité d'utiliser votre propre banque de timbres au format WOPL.
# Fonctionnalités clé du synthétiseur libADLMIDI :
* Émulation de l'OPL3 gérant le mode quatre opérateurs
* Patches FM inclus provenant d'un certain nombre de jeux PC connus, copiés depuis des fichiers aux formats courants AIL = Miles Sound System / DMX / HMI = Human Machine Interfaces / Creative IBK
* Son stéréo
* Nombre de circuits OPN2 simulés au choix entre 1 et 100 (1800 canaux maximum !)
* Panoramique (binaire, soit canal gauche/droit actif/inactif)
* Modulation de ton à hauteur ajustable
* Vibrato répondant aux paramètres RPN/NRPN
* Maintien (alias Pédale sustain) et Sostenuto
* Gestion des fichiers MIDI et RMI
* Gestion d'une API MIDI en temps réel
* Gestion du marqueur débutBoucle / finBoucle (Final Fantasy VII)
* Début de boucle basé sur le contrôleur 111 (RPG-Maker)
* Utilisation automatique d'arpège pour les accords, afin de réduire la pression sur les canaux
* Gestion des synthétiseurs MIDI multiples en travail simultané, (message FF 09 sélectionnant le port/appareil de la piste), permettant de dépasser la limite de 16 canaux
* Gestion de la lecture du format Id-software Music File (IMF)
* Gestions de banques personnalisées en format WOPL (la spécification se trouve ici : https://github.com/Wohlstand/OPL3BankEditor/blob/master/Specifications/WOPL-and-OPLI-Specification.txt)
* Support partiel des standards GS et XG (davantage d'instrument que l'ensemble GM 128:128, possibilité d'avoir plusieurs canaux percussifs, et gestion de certains contrôleurs GS/XG exclusifs)
* Le CC74 "Brillance" affecte le niveau des modulateurs (simule la coupure en fréquence des synthés Wave Table)
* Gestion du portamento (CC5, CC37, and CC65)
* Gestion en SysEx de quelques fonctionnalités génériques, GS, et XG
* Option panoramique stéréo étendue (fonctionne uniquement avec les émulateurs)
# Links
* Code source du lecteur : https://github.com/Wohlstand/ADLMIDI-Player-Java
* Code source de libADLMIDI : https://github.com/Wohlstand/libADLMIDI
* L'éditeur de banques OPL3 permettant de créer ou modifier des banques de timbres WOPL : https://github.com/Wohlstand/OPL3BankEditor/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment