MIDI cross-talk cancellation filter and plugin host for real-time MIDI applications in Python.
It should work on Linux, Windows and Mac OS.
See xtalk --help for the list of available options.
xtalk --list will display all available MIDI interfaces that you can work with.
For crass-talk cancellation you can either specify a basic set of parameters on the command-line or use advanced filter policies. The policies enable users to specify which MIDI notes cause what cross-talk MIDI notes, so that ideally only those are filtered. A set of example policies can be found in the policies folder.
The currently available plugins can be found in the plugins folder.
On Linux systems:
- Install all required dependencies according to their installation guides or with your favorite package manager: python3 incl. venv support, python3-pip and python3-rtmidi.
E.g. on debian-based OSes:sudo apt install python3 python3-venv python3-pip python3-rtmidi - Clone this repository and copy it to a directory of your liking.
- Use
cdto change to the repository directory. - Optional: If you want to use the most recent dependencies, run
rm -f pkgs/* && pip3 download --destination-directory ./pkgs pynput setuptools. - Run the installer via
./installer install.
You can check the./installerhelp output for further options. - Run xtalk via the
./xtalkscript, which was created by the installer.
All of the python code is cross-platform, i.e. it should also work on other OSes such as Windows or Mac.
The installer routines however are specific to Linux, i.e. you'll have to figure out the installation yourself.
- Run
./installer uninstall. - Remove the repository and uninstall the dependencies installed during the first installation step.
© 2026 David Hobach
xtalk is released under the GPLv3 license; see LICENSE for details.