Contents
- New here? Start with these
- What it does
- Any SoundFont you like, played properly
- Keeps playing when you leave
- Your whole folder, grouped by what MIDI files actually carry
- Playlists and favourites you can keep
- Seven slots, one tap apart
- A mixer, and every control on it is live
- Sing it yourself
- Play the font
- Reads the file properly, and shows its working
- Yours, on your phone
- Requirements
JMS MIDI PlayerComing soon
Pick a SoundFont, pick your files, press play. Then watch every channel of it.
Note
JMS MIDI Player is coming soon to the Google Play Store. There is no download yet, and when the store page opens this wiki will link to it. Everything here describes the app as it stands today, so do read on. See What's New.

JMS MIDI Player is a free Android player for Standard MIDI Files. It plays your .mid, .midi and .kar files through its own SoundFont engine, so there is no hardware to buy: give it a .sf2 file and it sounds like whatever that font is.
It is powered by the same SoundFont engine as PXR MIDI Player on the Mac. That engine is written from the SoundFont 2.04 specification rather than built to approximate it, and it is checked against the SoundFont Spec Implementation Test: a public set of thirty-two tests across three suites, exercising the parts of the format you actually hear. How notes swell and fade, how filters open and close, vibrato, panning, reverb and chorus, and how samples are stretched to play at pitches they were never recorded at.
It passes every one, confirmed by that suite's author. Every channel also gets its own reverb and chorus levels, exactly as real hardware does, instead of one effect stretched across the whole song.
It also means your music sounds the same wherever you take it. A phone's own synthesiser is fixed and varies between handsets; this one plays the SoundFont you gave it, note for note the same as the desktop app, on every device you install it on.
It is free, and it stays free. No ads, no accounts, no trial, and nothing to unlock. There is no INTERNET permission in the app at all. Made by James Woodcock of Pixel Refresh, in his spare time, for the love of MIDI.
New here? Start with these#
- Installing - what your phone needs before it arrives on Google Play.
- Quick Start - a font, a file, and play, in four steps.
- SoundFonts - the one thing you have to supply, and where to get one.
- MIDI & Sound Standards - new to MIDI? Start here.
What it does#
Any SoundFont you like, played properly#
Swap the font and the whole track changes: the same file through a bright GM font and through a dark orchestral one is two different pieces of music. Variation banks, the ones many players quietly skip, are played. Drum kits follow the GS and XG rules rather than a guess. See SoundFonts.
Keeps playing when you leave#
Playback lives in a service, not in the screen, so it carries on when you switch apps or lock the phone. The notification and the lock screen carry the controls, and it appears in Android Auto with your queue.
Your whole folder, grouped by what MIDI files actually carry#
Point it at the folder your files live in and it catalogues everything: by format, by tempo, by time signature, by whether there are words to sing, by the drum kit on channel 10, and by folder-with-a-cover-in-it, which is the closest thing a MIDI file has to an album. Nothing to tag, nothing to import. See The Library.
Playlists and favourites you can keep#
Both are saved as ordinary files in your own music folder, so they are backed up with the music and readable by other players. Restore your folder onto a new phone and they come back with it. See The Library.
Seven slots, one tap apart#
A bar across the bottom holds the sixteen channels with their meters and controllers, a piano roll, eighty-eight keys per channel, your library in the middle, the queue, a full mixing desk, and the words for a karaoke file. What is playing sits on a strip just above the bar on every page, so the player is always one tap away. Two more pages, the played keyboard and the SysEx log, open from Settings. See The Pages.
A mixer, and every control on it is live#
Sixteen strips and a master, with volume, pan, the three sends, brightness, mute and solo on each. Move a fader and the channel gets quieter as you move it. It turns your phone sideways for itself. See The Mixer.

Sing it yourself#
A karaoke file's words appear three lines at a time, the line being sung filling syllable by syllable. Change the key to suit your voice, and mute the melody so the tune is yours. See Karaoke.

Play the font#
Pick a bank, pick a voice by the name the font itself gives it, and play the keys. It is the only real way to judge a SoundFont: not by reading its preset list but by hearing what preset 41 actually sounds like. See Playing the SoundFont.
Reads the file properly, and shows its working#
GM, GM2, GS and XG files are recognised and the format is shown. Bank selects, SysEx, tempo changes and drum-channel rules are followed rather than approximated, so a file written for a Roland or a Yamaha module shows what its author asked for. The SysEx page, in Settings, decodes messages a file sends, which is where those decisions live.
Yours, on your phone#
Files are read through Android's own picker, so the app needs no storage permission. Cover art comes from the folder your music sits in.
Requirements#
| Android | 9 (Pie) or newer |
| Phone | 64-bit ARM, which is every phone from roughly 2016 onwards |
| Storage | About 90 MB installed, plus a copy of each file you load |
| A SoundFont | An .sf2 file of your own. See SoundFonts |
This wiki is the user guide. Use the navigation on the left, or the search box at the top.
