Skip to main content

A Python binding for the RtMidi C++ library implemented using Cython.

Reason this release was yanked:

Install error with Python 2 and/or old setuptools versions

Project description

Welcome to python-rtmidi!

A Python binding for the RtMidi C++ library implemented using Cython.

Latest version Project status MIT License Python versions Wheel available Travis CI status


RtMidi is a set of C++ classes which provides a concise and simple, cross-platform API (Application Programming Interface) for realtime MIDI input / output across Linux (ALSA & JACK), macOS / OS X (CoreMIDI & JACK), and Windows (MultiMedia System) operating systems.

python-rtmidi is a Python binding for RtMidi implemented using Cython and provides a thin wrapper around the RtMidi C++ interface. The API is basically the same as the C++ one but with the naming scheme of classes, methods and parameters adapted to the Python PEP-8 conventions and requirements of the Python package naming structure. python-rtmidi supports Python 3 (3.5, 3.6, 3.7, and 3.8).

The documentation provides installation instructions, a history of changes per release and an API reference.

See the file LICENSE.txt about copyright and usage terms.

For more information, visit

Usage example

Here’s a quick example of how to use python-rtmidi to open the first available MIDI output port and send a middle C note on MIDI channel 1:

import time
import rtmidi

midiout = rtmidi.MidiOut()
available_ports = midiout.get_ports()

if available_ports:
    midiout.open_virtual_port("My virtual output")

with midiout:
    note_on = [0x90, 60, 112] # channel 1, middle C, velocity 112
    note_off = [0x80, 60, 0]

del midiout

More usage examples can be found in the examples and tests directories of the source repository.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

python-rtmidi-1.4.4.tar.gz (247.4 kB view hashes)

Uploaded source

Built Distributions

python_rtmidi-1.4.4-cp38-cp38-win_amd64.whl (95.9 kB view hashes)

Uploaded cp38

python_rtmidi-1.4.4-cp38-cp38-win32.whl (84.2 kB view hashes)

Uploaded cp38

python_rtmidi-1.4.4-cp37-cp37m-win_amd64.whl (93.7 kB view hashes)

Uploaded cp37

python_rtmidi-1.4.4-cp37-cp37m-win32.whl (81.8 kB view hashes)

Uploaded cp37

python_rtmidi-1.4.4-cp36-cp36m-win_amd64.whl (93.5 kB view hashes)

Uploaded cp36

python_rtmidi-1.4.4-cp36-cp36m-win32.whl (81.8 kB view hashes)

Uploaded cp36

python_rtmidi-1.4.4-cp35-cp35m-win_amd64.whl (90.9 kB view hashes)

Uploaded cp35

python_rtmidi-1.4.4-cp35-cp35m-win32.whl (79.5 kB view hashes)

Uploaded cp35

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page