MIDI Objects for Python
Mido is a library for working with MIDI messages and ports. It’s designed to be as straight forward and Pythonic as possible:
>>> import mido >>> msg = mido.Message('note_on', note=60) >>> msg.note 60 >>> msg.bytes() [144, 60, 64] >>> msg.copy(channel=2) <message note_on channel=2 note=60 velocity=64 time=0>
with mido.open_input('LinnStrument') as inport: for msg in inport: print(msg)
port = mido.open_output() port.send(msg)
mid = mido.MidiFile('song.mid') for msg in mid.play(): port.send(msg)
Full documentation at https://mido.readthedocs.io/
- works in Python 2 and 3.
- convenient message objects.
- supports RtMidi, PortMidi and Pygame. New backends are easy to write.
- full support for all 18 messages defined by the MIDI standard.
- standard port API allows all kinds of input and output ports to be used interchangeably. New port types can be written by subclassing and overriding a few methods.
- includes a reusable MIDI parser.
- full support for MIDI files (read, write, create and play) with complete access to every message in the file, including all common meta messages.
- can read and write SYX files (binary and plain text).
- implements (somewhat experimental) MIDI over TCP/IP with socket ports. This allows for example wireless MIDI between two computers.
- includes programs for playing MIDI files, listing ports and serving and forwarding ports over a network.
1.2 is the third stable release.
Mido targets Python 2.7 and 3.2.
pip install mido
If you want to use ports:
pip install python-rtmidi
See docs/backends/ for other backends.
Mido is released under the terms of the MIT license.
Ole Martin Bjorndalen - email@example.com
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size mido-1.2.6-py2.py3-none-any.whl (69.8 kB)||File type Wheel||Python version 2.7||Upload date||Hashes View|
|Filename, size mido-1.2.6.tar.gz (93.0 kB)||File type Source||Python version None||Upload date||Hashes View|