Wenn der Linuxer Channel Pressure (Aftertouch) als Mod-Wheel braucht
Schon in den alten Tagen, als ich als Keyboarder live auf der Bühne stand, lernte ich Channel Pressure – damals einfach Aftertouch genannt – sehr zu schätzen. Die linke Hand fürs Mod-Wheel abzustellen hieß, dass man mit dieser nichts anderes spielen konnte. Also legte ich mir z.B. das Vibrato gerne auf den Aftertouch. Viele Synths konnten das. Aber auch heute gibt es noch Synth-Plugins, die diesbezüglich spröde sind. Wie schön wäre es doch, den Channel Pressure auf eine MIDI CC-Nummer umzubiegen, mit der jeder Klangerzeuger was anfangen kann, dachte ich mir, z.B. MIDI CC#1, das Mod-Wheel.
Dass man sowas gebrauchen kann, war schon anderen Leuten klar. Beim „Nasophon“ (siehe Link) wurde ich fündig. Mit mididings kann man MIDI verbiegen, was das Zeug hält. Mein Wunsch lässt sich verhältnismäßig einfach umsetzen. Einfach mididings mit folgenden Optionen starten, am besten gleich automatisch beim Sitzungsstart, und schon hat man einen MIDI-Signalprozessor, der Channel Pressure so umsetzt, als würde man am Mod-Wheel drehen:
mididings -balsa -i1 -o1 -c cp2mod "Filter(AFTERTOUCH) % Ctrl(1, EVENT_VALUE)"
Da wir in der Hardwarewelt sind, weil wir ein Keyboard anschließen, nehmen wir das ALSA-MIDI-Backend (-balsa), brauchen bloß einen Ein- und Ausgang (-i1 -o1) und nennen diesen Client cp2mod, um ihn leicht zu identifizieren bei der späteren virtuellen Verkabelung.
Das „Programm“, das von mididings ausgeführt wird, ist
Filter(AFTERTOUCH) % Ctrl(1, EVENT_VALUE)
Das heißt, dass alle AFTERTOUCH-Events zum MIDI CC#1 umgemünzt werden – dem Mod-Wheel.
Wie man nun das MIDI-Keyboard an cp2mod anschließt, ist Geschmackssache der Linuxers. Dafür gibt es grafische Tools wie Qjackctl, die DAW der Wahl kann es meist auch, und man kann natürlich ein kleines Shellscript schreiben, das das ALSA-Hilfsprogramm aconnect aufruft.
Im Beispiel sieht man die vier MIDI-Kanäle meines M-AUDIO Code61-Keyboards verbunden mit cp2mod, das wiederum mit meiner DAW Qtractor verbunden ist.
Habt Ihr Euch sowas auch schon gewünscht und nicht gefunden? Oder hat sich Euch das Problem nie gestellt, weil Ihr entweder Channel Pressure nicht nutzt oder alle Eure Klangerzeuger Channel Pressure als Modulationsquelle nutzen können?
Falls Ihr dieses oder ein ähnliches MIDI-Problem hattet, schreibt mir in den Kommentaren, wie Ihr es gelöst habt. Von der Windows- und Mac-Welt habe ich keine Ahnung, daher interessieren mich Kommentare aus diesen Welten besonders.
Danke für diesen Artikel. Ich hätte mir beinahe ein C++ Programm geschrieben für sowas. Python ist viel flexibler. Sehr hilfreich.
@Amazona: Bitte mehr solche kleinen Hilfestellungen direkt aus der Praxis!
@S_Hennig Ich habe erfahren, dass es auch ein Plugin für solche Zwecke gibt und passende vorgefertigte Konfigurationen:
https://open-music-kontrollers.ch/lv2/moony/
und
https://github.com/SpotlightKid/moony-lv2-scripts/blob/master/midi/channelpressure2cc.lua
Der Vollständigkeit halber:
Zuerst habe ich natürlich bei Robin Garaeus‘ genialen x42-Plugins vorbeigeschaut, mit denen man schon einiges umbiegen und flitern kann. Aber die midifilter-Sammlung kennt keinen Aftertouch und midimap kann nur Befehle der selben Länge umschreiben. Leider ist Channel Pressure 2 Bytes lang und CC 3 Bytes. Es geht also mit x42-Plugins nicht.
http://x42-plugins.com/x42/x42-midifilter
http://x42-plugins.com/x42/x42-midimap