The automatic MIDI flipper

Idea and concept by @andrewismusic, coded by @Sophira

Flip a MIDI

Give the Web address of a MIDI file that you want to flip, then click "Flip!"

Click the button below to find a MIDI file on your computer that you want to flip, then click "Flip!"


What the heck is this?

Have you ever wondered how a MIDI file would sound if you took its notes and inverted them, so that the high notes were low and the low notes were high, while preserving the tonal distance between the notes?


Well, Andrew Huang (@andrewismusic) has, and after inverting "Für Elise" by Beethoven, he made a YouTube video of the results. They're surprisingly good!

At the end of the video, he called for people to make their own flipped MIDIs and share them with the Twitter hashtag #midiflip via Twitter. I (Sophie Hamilton, aka @Sophira), thought that I could do one better.

After reading the MIDI specification and working out just how much of it can be ignored, I cobbled together AutoMIDIFlip in Perl to automatically flip any MIDI file you give it. It works a little bit differently to Andrew's original idea, though - rather than using the first note of the melody as an anchor point, AutoMIDIFlip simply inverts the entire range. Where you previously had 0-127 as note numbers, you now have 127-0, which prevents any flipped notes from going out of range.

There are a few other things to note about AutoMIDIFlip:

To use it, simply use the box above to give it a MIDI file to flip. You can also check out some examples:

Other MIDI flipper projects

I'm not the only one who had this idea. Here are links to some other projects that do similar things: