Skip to main content

PyPI Python License Core Discourse

mididings

A Python-based MIDI router and processor for Linux and macOS. Flexible, fast, and built for live performance. Route, filter, transform and split MIDI events using a clean Python DSL, with all processing handled in C++.

Supports ALSA and JACK MIDI. Available under the GNU GPL.

Why this fork?

The original mididings by Dominic Sacré has been unmaintained since 2015. This community fork provides full Python 3 support, a modern build system (Meson + pyproject.toml), updated dependencies, and unified fixes gathered from various forks. The API remains fully compatible with existing patches and scripts.

Features

MIDI routing and filtering

Filter events by type, channel, note, velocity, and more. Route freely between any number of input and output ports.

Modifying and converting MIDI events

Transpose notes, apply velocity curves, remap controller values and ranges, or convert events to any other MIDI event type. Includes a diatonic harmonizer, floating split points, latched notes, and more.

Seamless scene switching

Set up named scenes, each with its own routing and processing, and switch between them at any time while playing. No dropouts, no stuck notes.

Monitoring and side effects

Print MIDI events to the console for debugging. Trigger shell commands, OSC messages, or DBUS calls alongside MIDI output.

Installation

PyPI

Note: Ensure system dependencies (ALSA, JACK, Boost) are available before installing.

pip install mididings

With optional extras (OSC, MIDI files, DBUS, auto-restart):

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

Available extras and their dependencies are listed in pyproject.toml.

Arch Linux

pacman -Syu mididings

From source

The recommended approach for development or testing a new version is a virtual environment:

python -m venv venv
source venv/bin/activate
pip install .

To verify the installation:

which mididings

To resume work in an existing environment:

source venv/bin/activate

System-wide installation

Requires scdoc and sphinx if building documentation.

meson build --prefix=/usr/local
meson compile -C build
meson install -C build

Packaging options

# Disable documentation
meson build -Ddocs=disabled -Dman=disabled

# Build documentation separately
meson setup build -Ddocs-only=true
meson compile -C build
cd build && meson install

Note: mididings must be installed before building docs with docs-only=true.

Dependencies

Required

Optional

Build-time

  • scdoc: man page generation
  • sphinx: HTML documentation (see pyproject.toml for modules)

Documentation and support

Additional references:

License

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

Example scripts in doc/examples are available under the GNU Free Documentation License 1.3 or later.

Metadata

Release files for mididings 20260601

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mididings 20260601
File Size Uploaded
mididings-20260601.tar.gz 185.0 kB Details

Release files / mididings-20260601.tar.gz

Download URL mididings-20260601.tar.gz
Size 185.0 kB
Tags Source
SHA-256 checksum
How to use checksums
6432935932d2332b060e94a9a79345ac009d2949fcbf24f8deed40c0e0e883ff
BLAKE2b-256 checksum
How to use checksums
5b6d565a5c3b68d97b9694abb25ae0b249fab46744bd96dc4547a1a18f43ba87
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.5

Release history Release notifications | RSS feed

This release

20260601 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page