Python wrapper for RtMidi, the lightweight, cross-platform MIDI I/O library. For Linux, Mac OS X and Windows.
Setup
The wrapper is written in Cython, but the generated C++ code is included, so you can install the module as usual:
python setup.py install
If you want to build from the Cython source, make sure that you have a recent version of Cython (>= 0.17), and run:
python setup.py install --from-cython
Usage Examples
rtmidi-python uses the same API as RtMidi, only reformatted to comply with PEP-8, and with small changes to make it a little more pythonic.
Print all output ports
import rtmidi_python as rtmidi
midi_out = rtmidi.MidiOut()
for port_name in midi_out.ports:
print port_name
Send messages
import rtmidi_python as rtmidi midi_out = rtmidi.MidiOut() midi_out.open_port(0) midi_out.send_message([0x90, 48, 100]) # Note on midi_out.send_message([0x80, 48, 100]) # Note off
Get incoming messages by polling
import rtmidi_python as rtmidi
midi_in = rtmidi.MidiIn()
midi_in.open_port(0)
while True:
message, delta_time = midi_in.get_message()
if message:
print message, delta_time
Note that the signature of get_message() differs from the original RtMidi API: It returns a tuple instead of using a return parameter.
Get incoming messages using a callback
import rtmidi_python as rtmidi
def callback(message, time_stamp):
print message, time_stamp
midi_in = rtmidi.MidiIn()
midi_in.callback = callback
midi_in.open_port(0)
# do something else here (but don't quit)
Note that the signature of the callback differs from the original RtMidi API: message is now the first parameter, like in the tuple returned by get_message().
License
rtmidi-python is licensed under the MIT License, see LICENSE.
It uses RtMidi, licensed under a modified MIT License, see RtMidi/RtMidi.h.
Release files for rtmidi-python 0.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| rtmidi-python-0.2.2.tar.gz | 54.8 kB | Details |
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| rtmidi-python-0.2.2.win-amd64-py2.7.exe | Details | |||
| rtmidi-python-0.2.2.win32-py2.7.exe | Details |
Total release size:535.9 kB
Release files / rtmidi-python-0.2.2.tar.gz
| Download URL | rtmidi-python-0.2.2.tar.gz |
|---|---|
| Size | 54.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a092ab3d9b45d43a342a602a60bfd94381dce39d8120f4d06152d7755d57ecf2
|
|
BLAKE2b-256 checksum How to use checksums |
d17086e366288c5efef823926a0bfa19fdc90674ea11415f9b19a15894b71994
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / rtmidi-python-0.2.2.win-amd64-py2.7.exe
| Download URL | rtmidi-python-0.2.2.win-amd64-py2.7.exe |
|---|---|
| Size | 256.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1d341334182f4c041da107f109115b2e3a02c5eca961880fc11a664da7b4575d
|
|
BLAKE2b-256 checksum How to use checksums |
18e196b91ea9b79d9af6837ed4ef7af52ba4722b0b42a9e09d8f6acd0209316c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / rtmidi-python-0.2.2.win32-py2.7.exe
| Download URL | rtmidi-python-0.2.2.win32-py2.7.exe |
|---|---|
| Size | 224.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
20959f5db54338a497d7c9e1821e5845bd1501654f8c59be0129e8c04d14bdbb
|
|
BLAKE2b-256 checksum How to use checksums |
3e44552a9cc5ee1e4d9c3f70dbd90504160d6018f90ff511dd3d245b6409f29a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |