MP3toMIDI

Verified safeOpen sourceExclusive
No reviews reviews
17
downloads
8.1
android

AI summary

Experimental offline audio converter that splits songs into stems using Demucs, then transcribes pitch and drum hits into MIDI files. Runs entirely on-device with ONNX Runtime after downloading models once; conversions take 10+ minutes. Includes MIDI playback with customizable soundfonts. Results are recognizable but often busy. Requires Android 8.1+.

Generated by AI. May contain inaccuracies.

About this app

MP3toMIDI is a "proof of concept" idea I had where I wondered whether I could automate splitting stems from a real song and turning that into a decent MIDI file. So far the results are.. interesting, but nowhere near good. The files tend to be too busy to be enjoyable but the original song is usually recognizable.

The way it works now is the song is split into 6 stems using Demucs and then those stems are shoved through a pitch transcriptor/drum hit idenitifier - this is then fed into a MIDI parser and a baby is made!

This baby runs locally on your device (Android 8.1+) after downloading a few models and a stock soundfont. Conversions take many minutes (10+) on a midrange device and could be more on something worse. You can use it as is if you like but you have been warned. (Under Construction GIF here)

Cheers

Features 6-stem separation (drums, bass, vocals, guitar, piano, other) via htdemucs_6s, the highest-quality Demucs configuration, run fully on-device through ONNX Runtime Mobile. Polyphonic pitch transcription for every pitched stem via Spotify's Basic Pitch (onset/pitch/offset detection), instead of a single monophonic pitch track for the whole song. Real drum-hit classification (kick, snare, closed hi-hat, crash/open hi-hat) from the isolated drums stem — dual-band onset detection (so quiet hi-hats aren't drowned out by loud kicks) plus FFT band-power and decay-shape heuristics, calibrated against real songs across several genres rather than only synthetic test signals. Real tempo detection via autocorrelation of the drum onset envelope, with a correction for the specific case where a syncopated backbeat pattern (breakbeats, half-time grooves) fools a naive autocorrelation into locking onto the wrong metrical level. Real instrument classification per stem, not a fixed guess — Google's YAMNet identifies what a stem actually sounds like and maps it to the closest General MIDI program, with a note-envelope-shape fallback (bass / pad / lead / pluck) for synthesizer timbres that a real-instrument-trained classifier can't confidently place, and a fixed per-stem default as the last resort. Broad format support in — MP3, WAV, FLAC, AAC, OGG, Opus, or anything else Android's own media decoders handle — and a Standard MIDI File (Type 0) out. Fully offline after first use. The two large models (Demucs, YAMNet) download once, verified by SHA-256, and are cached in app-private storage; only Basic Pitch's much smaller export ships bundled in the APK. Every conversion after the first needs no network at all. Conversion runs as a foreground WorkManager job so it survives the app being backgrounded, with a cancel button (with confirmation) that stops the job and cleans up its temp files. In-app MIDI playback with real soundfont (SF2) synthesis — load any .mid file (not just ones this app produced) and hear it through a bundled-quality default soundfont, or load your own GM-compatible .sf2. Lets you A/B a conversion's output by ear, not just as data.

About this version

Version
0.2.0 (2)
Size
133.98 MB
Requires Android
8.1
Target SDK
27
Architecture
x86, x86_64, arm64-v8a, armeabi-v7a
Downloads
17
Updated
Sep 3, 2026
Package
com.rm.mp3tomidi

Similar apps

Ratings & reviews

0 ratings
  • 5
    0
  • 4
    0
  • 3
    0
  • 2
    0
  • 1
    0

Write a review

Tap a star to rate this app