Configuring music

mididings – MIDI router/processor based on Python

mididings is MIDI router/processor based on Python, supporting ALSA and JACK MIDI.

mididings configuration files are just Python scripts, although some of Python’s features are used in ways for which they weren’t intended. Technically, mididings is an embedded domain-specific language based on Python.

The main difference between mididings and regular Python scripts is that mididings typically uses Python only at startup. Patches consist of Python objects and nested data structures, but not actual Python code to be executed once everything is set up. Internally, patches are converted to C+.

This is free and open source software.

Features include:

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

Website: github.com/mididings/mididings
Support:
Developer: Dominic Sacré, George Rawlinson
License: GNU General Public License v2.0

mididings is written in Python. Learn Python with our recommended free books and free tutorials.


Explore Linux

Best Free and Open Source Software - A huge collection of recommended free and open source software covering every major category.
In-depth Linux Software Reviews - Detailed assessments of Linux software covering features, usability and overall quality.

The Big List of Active Linux Distros - An extensive collection of actively developed Linux distributions.
Open Source Alternatives - Alternatives to software and services from Google, Microsoft, Apple, Adobe, IBM, Autodesk, Oracle and others.
Essential Linux System Tools - Indispensable utilities for monitoring, maintaining and managing Linux systems.
Linux Productivity Tools - Useful utilities for improving productivity and streamlining everyday tasks.
Alternatives to Popular CLI Tools - Modern alternatives to familiar command-line utilities supplied with Linux systems.
Awesome Free Linux Game Tools - Tools, utilities and companion software that improve gaming on Linux.
Machine Learning on Linux - Machine learning and deep learning software, self-hosted applications and practical tools.
Saving Money with Linux - Practical ways to reduce electricity consumption and lower computing costs with Linux.
Linux Candy - Fun, entertaining and sometimes delightfully quirky software from the lighter side of Linux.
Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted