RØDECaster Pro II mit BT-Fernbedienung für Räuspertaste/Kapitelmarke mit dem Mac

In meinem Studio habe ich eine Podcast-Aufnahme-Lösung mit dem RØDECaster Pro II am Mac für bis zu vier Teilnehmer (zzgl. Remote Teilnehmer) wo jeder Teilnehmer mit einer Bluetooth-Fernbedienung verschiedene Funktionen steuern kann:

  • Räuspertaste (Mute Button)
  • Kapitel- und andere Marker setzen
  • Marker löschen

Im Mittelpunkt steht eben der RØDECaster Pro II (siehe dazu mein ausführliches Review des Gerätes) bei dem sich in der aktuellen Firmware-Version 1.3.4 als Beta-Option eine MIDI-Funktionalität freischalten lässt.

Komponenten

Das ganze Setup besteht aus folgenden Komponenten

Hardware:

rode-rodecaster-pro-II-quarter-left-1080x1080-rgb

Software auf dem Mac:

RØDECaster Pro II

Auf dem Mischpult muss im Konfigurations-Menü → System → MIDI die Funktion „MIDI Control“ eingeschaltet werden. Dann kann man z.B. MIDI Befehle mit den Pads versenden bzw. das Gerät lauscht dann auch selbst auf MIDI-Daten.

Über den USB 1 Port wird am Rechner automatisch ein MIDI Device angemeldet über das mit dem Mischpult gesprochen werden kann.

Die MIDI-Implementierung der Mute-Taste (wei auch der Solo-Taste) auf dem Mischpult ist in der Firmware 1.3.4 ziemlich bekloppt gelöst. Denn anders als man es erwarten würde (und für Mischpulte eigentlich Standard ist) sendet ein Tastendruck nicht etwa den neuen Zustand (on/off) per MIDI an den Rechner sondern sendet nur für das Drücken und das Loslassen jeweils ein MIDI-CC-Kommando. Von außen kann man also lediglich detektieren, dass die Taste einmal gedrückt (und wieder losgelassen) wurde, man weiß aber nicht, on die Mute- bzw. Solo-Funktion dabei ein- oder ausgeschaltet wurde. Das macht leider das direkte Setzen eines bestimmten Zustands von außen unmöglich. Man kann nur ihn nur „triggern“.

Trotzdem reicht die Funktionalität für unsere Zwecke bereits aus. Es gilt also nun via MIDI von außen quasi die Taste zu „drücken“, die Fernbedienung ist am Ende nicht mehr als eine Tastenverlängerung. Aber eben auch nicht weniger.

Folgende MIDI CC Kommandos simulieren das Drücken der Mute Taste

CC 27 1 (Drücken)
CC 27 0 (Loslassen)

Der gewählte MIDI-Kanal bestimmt dabei den Fader, der adressiert wird. MIDI Kanal 1 bezieht sich auf den ersten Fader, Kanal 2 auf den zweiten etc.

Man beachte das hier von Fadern die Rede ist. Man adressiert mit dem MIDI Kanal nicht automatisch das erste Mikrofon. Man adressiert den Kanal, der dem ersten Fader zugeordnet ist. Im weiteren gehe ich aber davon aus, dass die vier Mikrofoneingänge den ersten vier Fadern zugeordnet wurden.

Der Vollständigkeit halber hier noch die anderen CC Kommandos für das Mischpult wie es mir von RØDE mitgeteilt wurde:

MIDI Channel Corresponds to the Fader channel

Jetzt müssen wir dafür sorgen, dass wir diese Kommandos vom Mac aus an das Mischpult senden können. Da kommt dann SendMIDI mit ins Spiel.

SendMIDI

SendMIDI ist ein einfaches Kommandozeilen-Tool, dass es einem erlaubt, MIDI Kommandos an MIDI Geräte zu schicken. Man kann es einfach mit homebrew mit brew install sendmidi installieren.

Auf der Kommandozeile geht es jetzt weiter. Mit

$ sendmidi list

erhält man eine Liste aller verfügbaren MIDI Devices, die der Mac sieht. Hier sollte unter anderem RODECaster Pro II erscheinen. Jetzt kann man mit zwei Aufrufen von sendmidi die beiden CC Kommandos an das Mischpult senden:

$ sendmidi dev 'RODECaster Pro II' ch 1 cc 27 1
$ sendmidi dev 'RODECaster Pro II' ch 1 cc 27 0

Der Parameter ch 1 wählt MIDI-Kanal 1 aus und cc 27 1 sendet das CC-Kommando 27 mit dem Wert 1 (bzw. dann 0 im zweiten Fall).

Diese beiden Kommandos sollten jetzt den Zustand der Mute-Taste des ersten Faders auf dem Mischpult umgedreht haben. Jetzt müssen wir nur noch dafür sorgen, dass diese Kommandos gesendet werden, wenn auf einer Fernbedienung eine entsprechende Taste gedrückt wird.

ShowMIDI

ShowMIDI ist ein kleine Mac App, die eigentlich nur ein Monitor für MIDI-Nachrichten ist. Es hilft einerseits, die Funktionalität des MIDI Subsystems zu überprüfen aber hier ist es vor allem als Rostlöser im Spiel, denn wenn dieses Programm läuft wird ein Problem mit dem RØDECaster Pro II umgangen, das zu verloreneren und verspätet ausgelieferten Nachrichten führt.

ShowMIDI muss also in diesem Setup einfach nur im Hintergrund laufen und sonst gar nichts tun. Genau genommen ist nicht mal ShowMIDI erforderlich: man kann z.B. auch das Audio-MIDI-Setup von macOS laufen lassen, das hat den gleichen Effekt. Aber ShowMIDI zeigt eben auch sehr übersichtlich die MIDI-Aktivität an und hilft dabei, alles so einzurichten, wie man das haben möchte.

Siri Remote

apple-tv-remotes-apple-tv-4k-apple-tv-4gen-01

Mein Setup habe ich mit der Siri Remote (1. Generation) aufgebaut. Allerdings gibt es auch eine ganze Reihe anderer Fernbedienungen die hier zum Einsatz kommen können. Genau genommen alle Fernbedienungen die von Remote Buddy unterstützt werden.

firetv

Eine günstige Alternative wäre die Amazon Fire Remote, die zwar nicht mehr von Amazon verkauft wird, die man aber für wenig Geld auf Amazon, eBay etc. erstehen kann. Am Ende eine Geschmacksfrage. Die Siri Remote ist ein wenig teurer, aber schön flach und kann per Lightning geladen werden. Die Fire TV muss mit AAA Batterien gefüttert werden und ist entsprechend dicker.

Jetzt braucht es noch die Anbindung der Fernbedienung an sendmidi. Diese Verbindung wird mit RemoteBuddy herstellt.

Remote Buddy

Remote Buddy (hier kommt derzeit Version 2.5.1 zum Einsatz) von Felix Schwarz (IOSPIRIT) ist eine Steuersoftware für Fernbedienungen aller Art und eher dafür gedacht, den Mac als Medienzentrale wie ein Apple TV zu verwenden.

Um Remote Buddy für den gewünschten Zweck einzusetzen sind daher ein paar merkwürdige Klimmzüge erforderlich, da wir hier Remote Buddy etwas anders nutzen und konfigurieren als das eigentlich gedacht war.

Behaviours

Remote Buddy hat das Konzept von Behaviours. Eine Behaviour repräsentiert in der Regel eine Applikation auf dem Mac, die gerade mit der Fernbedienung gesteuert werden soll. Da man schnell zwischen Apps wechseln können soll schalten sich diese Behaviours automatisch ein oder können über ein On-Screen-Menü vom Nutzer mit der Fernbedienung ausgewählt werden. Jedes Behaviour schaltet dann die komplette Belegung der einzelnen Tasten um so dass man für jede Applikation ein anderes und der Applikation angemessene Set von Funktionen abrufen kann.

Für unsere Zwecke sind diese Behaviours eher im Weg, trotzdem benötigen wir eine eigene Behaviour um die Belegung zu definieren. Da wir aber auch gar keine Applikation steuern wollen, sondern nur im Hintergrund sendmidi aufrufen möchten, müssen wir ein wenig tricksen. Das geht mit einer im Programm-Menü von Remote Buddy versteckten Funktion namens Behaviour Construction Kit:

image

Hier kann viel kompliziertes Zeug einstellen, wir haben aber nur ein einziges Ziel: ein eigenes „Behaviour“ einrichten. Dazu wechselt man in dem erscheinenden Fenster auf „Beahviour Factory“ und richtet mit dem „+“ Button links unten im Sidebar eine solche ein. Sie heißt in diesem Beispiel „Metaebene“, kann aber auch irgendwie heißen. Lasst sie besser mit A anfangen, dann findet ihr sie später in der alphabetisch sortierten Liste leichter wieder :slight_smile:

Ihr könnt das Fenster jetzt wieder schließen. Jetzt müssen wir noch dafür sorgen, dass unser tolles neues Behaviour auch immer ausgewählt ist. Das geht über eine recht versteckte Einstellung in den Einstellungen von Remote Buddy im Tab Allgemein.

allgemein

Dort wählt ihr unten rechts den Button „Erweitert…“ aus.

behaviour

Und dort stellt ihr bei „Beim Start Behaviour aktivieren“ eure neu eingerichtete Behaviour ein. Und schließt wieder alle Fenster.

Jetzt könnt ihr mit der Anmeldung der Fernbedienung weitermachen.

Anmeldung der Fernbedienung

Im Remote Buddy Programm-Menü wählt ihr „Neues Gerät einrichten…“ aus und folgt den weiteren Anweisungen. Für Bluetooth-Fernbedienungen besteht der Prozess im wesentlichen darin, das Gerät mit dem Mac zu pairen. Remote Buddy sollte das dann delektieren und die Fernbedienung in seiner Liste aufführen. Falls es hier Probleme gibt schaut bitte in die Doku von Remote Buddy. Klappt schon irgendwie

Belegung der Fernbedienung

In den „Einstellungen“ von Remote Buddy geht es jetzt weiter und zwar im ersten Tab „Belegung“

Hier wird es jetzt sportlich. Wenn ihr das Fenster das erste Mal aufmacht und eure neu eingerichtete Behaviour aufmacht, dann werden ein paar Tasten der eingerichteten Fernbedienung bereits belegt sein. Ein Teil der Belegung wird gar nicht in dem hier zu sehenden Bereich der Behaviour eingestellt sein, sondern in dem Bereich ganz oben namens „Alle Apps“. Wählt das zuerst aus und stellt alle Zuordnung zurück auf „-“ (was dann mit „Keine Aktion“ in der Liste dokumentiert wird). Dann geht es zurück wieder zu unserer Behaviour.

Im Gegensatz zu der globalen Zuweisung in „Alle Apps“ kann man in der Behaviour-spezifischen Zuordnung Eigene Aktionen einstellen. Warum das nicht global geht weiß ich nicht, aber das ist jetzt der Trick mit dem wir unsere eigentliche Zuordnung machen.

Kurze Zusammenfassung bevor wir weitermachen zum checken:

  • Wir haben eine eigene Behaviour im „Behaviour Construction Kit“ eingerichtet, damit wir was haben, dem wir unsere Aktionen zuordnen können
  • Wir stellen diese Behaviour als die ein, die automatisch ausgewählt ist.
  • Wir befreien die Behaviour von pauschal zugewiesenen globalen Aktionen

Jetzt können wir mit unseren Aktionen weiter machen. Zur Erinnerung, wir möchten jetzt einer Taste den doppelten Aufruf des sendmidi Kommandos zuweisen so wie wir es oben schonausprobiert haben.

Wähle jetzt einfach auf dem Bild des Fernbedienung die gewünschte Taste aus und mach dann in der Liste das Popup-Menü für die Taste auf und wähle in der Liste „Eigene Aktionen…“ auf.

Hier muss nun eine Aktion angelegt werden, wir nennen sie „Mute 1“ und richten sie mit dem „+“ Button unten links ein.

Der Aktion „Mute 1“ müssen dann rechts „Actors“ zugeordnet werden (ja, komisches Wording, aber egal). Leg hier mit „+“ einen an und wähle AppleScript aus. Im „Quelltext“ Feld trägt man dann die Aufrufe von sendmidi ein

do shell script "/usr/local/bin/sendmidi dev 'RODECaster Pro II' ch 1 cc 27 1"

Unter Optionen dann noch „beim Drücken der Taste“ auswählen.

Dann noch ein weiterer Actor der gleichen Art. Hier dann eben die zweite Variante des Aufrufs eintragen

do shell script "/usr/local/bin/sendmidi dev 'RODECaster Pro II' ch 1 cc 27 0"

und darunter die Option „Beim Loslassen der Taste“ auswählen.

Das alles mit „Verwenden“ abschließen und unsere tolle Aktion sollte jetzt der Taste der Fernbedienung zugeordnet sein. Wenn nicht, dann einfach noch mal das Pop-Up-Menü aufrufen und „Mute 1“ auswählen.

Tip: ihr könnt auch „Übersetzen“ klicken, dann wird das AppleScript kurz überprüft. Wenn es Syntax Highlighting erhält ist alles prima.

Push to Talk, Push to Mute

Ihr könnt die Aktion auch noch etwas änders anlegen, in dem sowohl beim Drücken als auch beim Loslassen der Taste beide MIDI-Werte geschickt werden. Je nach dem ob die Mute-Button gerade an oder aus ist kann man damit entweder eine Push-To-Talk oder Push-To-Mute-Funktion erzeugen.

Dann wird der Zustand des Mute Buttons nur so lange geändert wie man die Taste hält und wenn man sie loslässt ist wieder der alte Zustand da. Kann man sich auf eine andere Taste auf der der Fernbedienung legen und dann hat man beides.

Ausblick

In Version 2.6 von Remote Buddy wird man Shellskripte auch direkt in den Actors anlegen können ohne den Umweg über AppleScript zu gehen. Aber für die Performance macht das eigentlich keinen Unterschied und hier kann man auch granular konfigurieren, wann welche Actor ausgeführt wird.

Ausprobieren

Wenn ich jetzt nichts vergessen habe sollte das jetzt laufen. Für eine zweite Fernbedienung muss der ganze Sermon noch mal durchlaufen werden. Dann den Wer hinter „ch“ beim Aufruf von sendmidi anpassen, damit ein anderer Fader angesprochen wird.

Vergesst nicht, dass in dem Setup zwingend entweder das Audio-MIDI-Setup oder ShowMIDI laufen sollte. Sonst kann es dazu kommen, dass MIDI-Nachrichten verschluckt werden oder sich merkwürdig stauen. Ich weiß nicht genau, was der Grund dafür ist, vermute derzeit einen Bug in der USB-MIDI-Implementierung des RØDECaster Pro II.

Kapitelmarken und Co.

Auf die gleiche Art kann man sich jetzt auch ein Interface für Kapitelmarken in Ultraschall bauen. Da schickt man dann aber das MIDI nicht an den RØDECaster sondern muss es über ein lokales MIDI-Interface schicken. Das muss man zunächst mit Audio-MIDI-Setup einrichten:

  1. Audio-MIDI-Setup aufrufen
  2. Fenster „MIDI-Studio“ aufmachen (CMD-2)
  3. Doppelklick auf das Symbol „Local“
  4. In der Liste „Anschlüsse“ einen neuen Eintrag machen und benennen (z.B. „Ultraschall“)
  5. Die Checkbox „Das Gerät ist bereit“ setzen
  6. Auf „Anwenden“ klicken

Dann sollte es ein MIDI-Gerät „Ultraschall“ geben, dass von sendmidi list angezeigt werden sollte. Dann kann man MIDI-Kommandos dahin schicken. Wenn man dann in Ultraschall/Reaper dieses MIDI-Device aktiviert (in den Settings) kann man so dann Actions automatisieren wie z.B. Kapitel- oder Edit-Marken oder was man sonst noch automatisieren will.

Viel Erfolg.

9 „Gefällt mir“

Vielen Dank für das tolle Howto!
Dafür brauchts halt immer noch den Rechner als zusätzliches Gerät. Ich bin mobil nur mit dem RØDECaster stand alone unterwegs und bearbeite alles nach. Der Königsweg wäre noch, die Fernbedienung direkt mit dem RØDECaster per Bluetooth zu verbinden. Das würde den Umweg über den Rechner und damit auch die Aufnahme über den Rechner komplett erübrigen. Vielleicht ist das übergangsweise mit einer App fürs Telefon getan, so dass dann die Gäste jeweils ein altes Telefon in die Hand bekommen, per Bluetooth verbinden und so ihren Mute-Knopf und in ferner Zukunft vielleicht sogar ihre Kopfhöhrerlautstärke oder, noch besser, das Einzelmonitoring selbst kontrollieren können. Das wär doch softwareseitig am RØDECaster machbar oder? Wie geil wär das.

2 „Gefällt mir“

Tja geil wäre das, aber das müsste dann halt Røde direkt in ihre Firmware einbauen und das sehe ich so recht noch nicht. Vorschlagen kann man es ihnen natürlich mal.