Skip to content

Instantly share code, notes, and snippets.

@infojunkie
Created August 18, 2016 00:03
Show Gist options
  • Save infojunkie/64f1c15eb625f259114b257908c7884e to your computer and use it in GitHub Desktop.
Save infojunkie/64f1c15eb625f259114b257908c7884e to your computer and use it in GitHub Desktop.
MIDI keyboard inversion using music21
#!/usr/bin/python
import sys
from music21 import *
mf = midi.MidiFile()
mf.open(sys.argv[1])
mf.read()
s = midi.translate.midiFileToStream(mf)
for n in s.flat.notes:
for p in n.pitches:
p.midi = 129 - p.midi
mo = midi.translate.streamToMidiFile(s)
mo.open(sys.argv[2], 'wb')
mo.write()
mo.close()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment