Skip to main content

MIDI Objects for Python

Project description

https://travis-ci.org/mido/mido.svg?branch=master https://github.com/mido/mido/workflows/Test/badge.svg

Mido is a library for working with MIDI messages and ports:

>>> import mido
>>> msg = mido.Message('note_on', note=60)
>>> msg.type
'note_on'
>>> msg.note
60
>>> msg.bytes()
[144, 60, 64]
>>> msg.copy(channel=2)
Message('note_on', channel=2, note=60, velocity=64, time=0)
port = mido.open_output('Port Name')
port.send(msg)
with mido.open_input() as inport:
    for msg in inport:
        print(msg)
mid = mido.MidiFile('song.mid')
for msg in mid.play():
    port.send(msg)

Full documentation at https://mido.readthedocs.io/

Main Features

  • 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 stream 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.

Status

1.2 is the third stable release.

Requirements

Mido targets Python 3.6 and 2.7.

Installing

pip install mido

If you want to use ports:

pip install python-rtmidi

See docs/backends/ for other backends.

Source Code

https://github.com/mido/mido/

License

Mido is released under the terms of the MIT license.

Questions and suggestions

For questions and proposals which may not fit into issues or pull requests, we recommend to ask and discuss on Discussions.

Project details


Download files

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

Source Distribution

mido-1.2.10.tar.gz (103.1 kB view details)

Uploaded Source

Built Distribution

mido-1.2.10-py2.py3-none-any.whl (51.1 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file mido-1.2.10.tar.gz.

File metadata

  • Download URL: mido-1.2.10.tar.gz
  • Upload date:
  • Size: 103.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/49.3.1 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.6

File hashes

Hashes for mido-1.2.10.tar.gz
Algorithm Hash digest
SHA256 17b38a8e4594497b850ec6e78b848eac3661706bfc49d484a36d91335a373499
MD5 928a0a5df7701cd5db5baa96f173f9e0
BLAKE2b-256 571fb067eed2314c13481e354dd32560c1d9f45d516dd44d9751b85e0e9798fc

See more details on using hashes here.

Provenance

File details

Details for the file mido-1.2.10-py2.py3-none-any.whl.

File metadata

  • Download URL: mido-1.2.10-py2.py3-none-any.whl
  • Upload date:
  • Size: 51.1 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/49.3.1 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.6

File hashes

Hashes for mido-1.2.10-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 0e618232063e0a220249da4961563c7636fea00096cfb3e2b87a4231f0ac1a9e
MD5 aa5e3cf18a0add073d2b79869a93f270
BLAKE2b-256 b56de18a5b59ff086e1cd61d7fbf943d86c5f593a4e68bfc60215ab74210b22b

See more details on using hashes here.

Provenance

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