Simple CoreMIDI for Python is the simplest way of using MIDI in Python on Mac OS X. Period.
pip install simplecoremidi
To send midi out from your application::
from simplecoremidi import send_midi
send_midi((0x90, 0x3c, 0x40))
This sends a MIDI Note On signal. To receive it you'll have to configure your DAW or software to receive from the "simple core midi source" MIDI source.
To receive midi from another application::
from simplecoremidi import recv_midi
data = recv_midi()
This returns all the midi data sent to the "simple core midi destination" MIDI destination since your last call. Put it inside a loop and poll it.
Look at the example in the simplecoremidi/examples directory.
To create an Output that will send to a Destination device::
from simplecoreimid import MIDIOutput
out = MIDIOutput("Numark ORBIT")
out.send([0x90, 60, 127])
To create an Input that can read from a Source device::
from simplecoreimid import MIDIInput
in = MIDIInput("Numark ORBIT")
data = in.recv()
As before, this returns all the midi data read from the Source since your last call. The format of the result is a list of tuples, where each is one packet.
[(144, 40, 127), (128, 41, 0), (144, 41, 127)]
- It only works on Macs. It will never work on Windows or Linux.
- It is not configurable.
- cloned from https://github.com/sixohsix/simplecoremidi
- sheffler added MidiInput, MIDIOutput
- changed format of receive data to list-of-tuples
- added example interfacing with Numark ORBIT controller