Skip to main content

A MIDI router/processor

Project description

mididings

A MIDI router/processor based on Python, supporting ALSA and JACK MIDI. It is available under the GNU GPL and currently runs on Linux.

Features

  • MIDI routing and filtering

Filter events depending on their event type, channel, note number, velocity, etc., and freely route them between an arbitrary number of input and output ports.

  • Modifying and converting MIDI events

Transpose notes, apply velocity curves, change controller values and ranges, or convert events to any other MIDI event type. mididings also includes more complex functions like a diatonic harmonizer, floating split points, latched notes, and more.

  • Seamless switching between patches

Set up different "scenes", each with its own MIDI routing and processing, and switch between them at any time, even while playing. Switching scenes does not affect notes already held, and does not result in dropouts or stuck notes!

  • MIDI event monitoring, running external commands

Print MIDI event data to the console to help debugging your patches and configuring your MIDI controllers. In addition to its MIDI output, mididings can also execute shell commands and send OSC or DBUS messages.

Installation

Pip / PyPi

Note: Ensure that required dependencies are installed/available before proceeding.

mididings is available as mididings on PyPi:

pip install mididings

Optional dependencies can be installed, see next section (Dependencies/Optional)for a list of optional dependencies.

pip install mididings[osc,smf,dbus,autorestart,xdg]

Arch Linux

For Arch Linux users, mididings is available as mididings on the official repositories:

pacman -Syu mididings

Dependencies

Required

Optional

  • pyliblo: to send or receieve OSC messages
  • pysmf: to read/write standard MIDI files using the process_file() function
  • dbus-python: to send DBUS messages
  • pyinotify: to automatically restart when a script changes
  • tkinter: for the livedings GUI
  • pyxdg: so mididings knows where to look for configuration files

Documentation

Documentation is currently being worked on, the original homepage & documentation are valuable resources.

Support

There is a mailing list at Google Groups for any discussion concerning mididings, including help requests and bug reports.

To post to the list, send mail to mididings@googlegroups.com.

License

mididings is available under the terms of the GNU General Public License, version 2 or later.

The example scripts in doc/examples are available under the terms of the GNU Free Documentation License 1.3 or later.

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

mididings-20230111.tar.gz (176.9 kB view details)

Uploaded Source

File details

Details for the file mididings-20230111.tar.gz.

File metadata

  • Download URL: mididings-20230111.tar.gz
  • Upload date:
  • Size: 176.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for mididings-20230111.tar.gz
Algorithm Hash digest
SHA256 1c12d8c8d78e759c30487ecc360a86f45f1f8240c8255551ac3482da42061b3a
MD5 9b59f987f416f33025acdadcfec19fd4
BLAKE2b-256 dfaf6219ce8ac4573a0b5c8b35b89ff3801879b5bb8a931453121c41e7b148d1

See more details on using hashes here.

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