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
Some links that might also be of interest:
- Original homepage
- Original documentation
- QJackCtl and the Patchbay
- The Python Tutorial
- Guide to the MIDI specification
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file mididings-20230114.tar.gz
.
File metadata
- Download URL: mididings-20230114.tar.gz
- Upload date:
- Size: 176.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b63fa2ec380075f89da72747d83c3e130e4202e545442da44e249b79b751f29a |
|
MD5 | 5aaae4cde3a264e89cc5e7e5cb19cd0d |
|
BLAKE2b-256 | 5fc4c4e9f83076557968106a9217d832be90244e3f91111c4b5d32e963ec9a43 |