All Projects → Wohlstand → ADLMIDI-Player-Java

Wohlstand / ADLMIDI-Player-Java

Licence: MIT license
Simple MIDI-player for Android based on libADLMIDI library

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language
java
68154 projects - #9 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to ADLMIDI-Player-Java

midica
A Music programming language. Translates source code into MIDI. Includes a player. Supports MIDI-Karaoke. Includes a MIDI analyzer.
Stars: ✭ 57 (+137.5%)
Mutual labels:  midi, midi-player
ppplay
An old-fashioned Module Player
Stars: ✭ 27 (+12.5%)
Mutual labels:  opl3-emulator, ymf262
MicroDexed
Dexed port for Teensy (3.5/3.6 with audio shield)
Stars: ✭ 20 (-16.67%)
Mutual labels:  midi, fm-synthesizer
libOPNMIDI
A Software MIDI Synthesizer library with OPN2 (YM2612) emulator
Stars: ✭ 61 (+154.17%)
Mutual labels:  midi-player, fm-synthesizer
JZZ-midi-SMF
Standard MIDI Files: read / write / play
Stars: ✭ 28 (+16.67%)
Mutual labels:  midi, midi-player
DMXOPL
YMF262-enhanced FM patch set for Doom and source ports.
Stars: ✭ 42 (+75%)
Mutual labels:  midi, ymf262
flutter midi
Midi Playback in Flutter
Stars: ✭ 52 (+116.67%)
Mutual labels:  midi, midi-player
CureSynth Whip
Polyphonic MIDI Synthesizer for STM32F7
Stars: ✭ 45 (+87.5%)
Mutual labels:  midi
Raspberry-MIDI-Controller
A python script that sends MIDI signals from the Raspberry (client) to a Computer (host)
Stars: ✭ 44 (+83.33%)
Mutual labels:  midi
esp32 basic synth
ESP32 based simple synthesizer project
Stars: ✭ 134 (+458.33%)
Mutual labels:  midi
guitar
🎸 Online guitar toy and tablature recorder/player
Stars: ✭ 80 (+233.33%)
Mutual labels:  midi
ofxOscMidi
Midi in, OSC out with Midi thru. Based on openFrameworks
Stars: ✭ 66 (+175%)
Mutual labels:  midi
node-keyboard
A REPL where music is simply streams of input in node (using soundfonts). Supports optional MIDI input and Rx.
Stars: ✭ 50 (+108.33%)
Mutual labels:  midi
models
Programmatically control Elektron's model:cycles & model:samples via midi using Go.
Stars: ✭ 26 (+8.33%)
Mutual labels:  midi
Robatim
a hard-coded music generator
Stars: ✭ 29 (+20.83%)
Mutual labels:  midi
py midicsv
A Python port and library-fication of the midicsv tool by John Walker. If you need to convert MIDI files to human-readable text files and back, this is the library for you.
Stars: ✭ 55 (+129.17%)
Mutual labels:  midi
HitNotes
Rhythm-based mobile game
Stars: ✭ 24 (+0%)
Mutual labels:  midi
elektroid
Sample and MIDI device manager
Stars: ✭ 127 (+429.17%)
Mutual labels:  midi
midibus.js
🚌💨🎶 Web MIDI API wrapper based on themidibus
Stars: ✭ 24 (+0%)
Mutual labels:  midi
midi-player
A MIDI player which sends MIDI messages to connected devices.
Stars: ✭ 21 (-12.5%)
Mutual labels:  midi

ADLMIDI-Player-Java

Implementation of ADLMIDI based MIDI-player for Android

It's a MIDI-player based on emulator of a Frequency Modulation chip Yamaha OPL3. This small MIDI-player made with using of libADLMIDI library - a fork of original ADLMIDI a console program implementation.

Key features

  • OPL3 emulation with four-operator mode support
  • 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
  • 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 a 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)

Download latest binary

https://github.com/Wohlstand/ADLMIDI-Player-Java/releases

System requirements

  • Recommended to have powerful CPU: Emulation of OPL3 chip is a sound generation by formulas which requires requires operations. For example, application works almost fine on Samsung GT-I9300 which has quad-core Exynos 4212 CPU with 1400 Mhz. On slow CPUs it may lag, for example, on LG-E612 with MSM7225A Cortex A5 with 800 Mhz.
  • 4 MB free space

How to install

  • Put APK to your Android device
  • Check in settings that custom applications installations are allowed
  • Open APK via any file manager and confirm installation
  • Allow external storage reading (needed to open MIDI-files from phone memory and SD Card)

How to use

  • Use "Open" button to open file dialog and select any MIDI, RMI, KAR or IMF (Wolfinstein 3D) file
  • Setup any preferences (bank, tremolo, vibrato, number of emulated chips, etc.)
  • Press "Play/Pause" to start playing or press again to pause or resume
  • Press "Restart" to begin playing of music from begin (needed to apply changes of some settings)
  • Use "Open" again to select any other music file
  • You can switch another application or lock screen, music playing will work in background.

Tips

  • This application audio playback may lag on various devices, therefore you can reduce number of emulated chips
  • If you are using "4-operators" banks, you can increase number of 4-op channels into number of chips multiped to 6 (each OPL3 chip supports maximum 6 four-operator channels). Or simply use "" mode which will automatically choose count of necessary 4-operator channels in dependence on a bank.
  • Set number of four-operator channels into zero if you are using 2-operator banks (most of banks are 4-operators. Pseudo-four-operator banks are 2-operator banks with double-voice support)

More detailed about playing MIDI with this application you also can find on libADLMIDI library repo

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].