Adapter MIDI-Clock auf Fußschalter

Bodo

Bodo

Gnabbldiwörz!
Moin.

Ich hatte gestern abend vor dem Heiagehen mal wieder einen Hirnfurz Idee:

Das wirklich einzige, was mich bei meinem Tascam DP24 wurmt, ist dass ich den Audiotransport nicht extern per MIDI-Clock-Startsignal starten kann. Mehr MIDI bräuchte er nicht zu können, nur das Startsignal erkennen und befolgen. Geht aber nicht, das habe ich mit dem Tascam-Support auch schon im Sinne einer Workaround-Anfrage abgeklärt.

Aber, und das war gestrige Idee: Es gibt die Möglichkeit, den Audiotransport per Fußschalter zu starten, den RC-3F hab ich sogar. Der ist batteriebetrieben und hat drei verschiedene Tasten, aber da kann ich schnell ausmessen, welche was macht (z.B. Spannung auf Tip, Spannung auf Ring, Tip und Shaft verbinden...). Ich hab bis jetzt nur die mittlere (startet defaultmäßig Audiotransport) benutzt.

Wenn man jetzt etwas hätte, das das eingehende MIDI-Clock-Signal auswertet, den Startbefehl extrahiert und diesen dann in ein fußschalteriges Signal wandelt (also um dem Recorder vorzugaukeln, dass ich den Schalter betätigt hätte), würde mir das ermöglichen, zu teilfertigen Aufnahmen live dazuzujammen und eben mit Sequencer oder Arpeggiator synchron zu bleiben. Das klappt nicht, wenn ich den Recorder separat von der MIDI Clock und von Hand starten muss.

Minimale Latenzen durch die Signalwandlung wären eher kein großes Problem, das kann ich bei der Nachbearbeitung mit minimalem Aufwand in Studio One zurechtrücken. Und die E-RM MIDI Clock ist auch präzise genug, um mehrere separat aufgenommene Spuren übereinander zu bekommen. Der Recoder braucht nicht als Slave von der Clock gesynct zu werden*, und er braucht auch kein Stoppsignal zu erkennen (wenn er es tut, wäre es OK, muss aber gar nicht).
Es geht, wie eingangs gesagt, wirklich nur darum, das Startsignal als solches zu erkennen und den Audiotransport zu starten.

Genug der Vorrede - meine Idee war:

MIDI Clock => [Wandeladapter, z.B. mit einem Arduino] => fußschalterartiges Signal => via Fußschalter-Klinkenbuchse in den Recorder.

Gute Idee oder bescheuert? Und wenn gut, wer ist so lieb und schreibt mir Code für einen Arduino Nano o.ä.?

* Meine Fresse, was 'n Deutsch :lol:.
 
Zuletzt bearbeitet:
*örks*

Erstmal danke, aber >200 Euro für (in meinem Fall) so 'n One Trick Pony sind schon 'ne Ansage :?.
Das Ding kann halt viel mehr als ich brauche...
 
Mist, ich hätte vielleicht vor dem Threadstart mal eben googeln sollen :roll:.

Eben gefunden:

Wenn man das so anpassen könnte, dass außer Start- und (ggf., s.o.) Stoppsignal alles ignoriert wird und dann halt am Ausgang was geschieht, wäre es das doch schon, bzw. zumindest mal einen Versuch wert.
 
die v01 davon kostet nur 189€

wie startest du denn den Midiclock-Geber? Kann man den nicht zufällig mittels pedal starten... dann kannst du das selbst Signal gleich an deinen Audioplayer schicken
 
Das klingt auf jedenfall machbar... mit nem Arduino.
Ich würde dafür wohl z.B. einen Arduino ProMicro (oder baugleiches) Board nehmen, das hat den Vorteil, das der direkt als USB Midi Gerät arbeiten kann.
DAnn gilt es eigentlich nur noch rauszufinden was genau der Tascam zum Starten/Stoppen erwartet. Dafür muss man dann ev. eine kleine Schaltung basteln oder ev ein Relais ansteuern das statt des Tasters schaltet.
 
die v01 davon kostet nur 189€

wie startest du denn den Midiclock-Geber? Kann man den nicht zufällig mittels pedal starten... dann kannst du das selbst Signal gleich an deinen Audioplayer schicken
Naja, schon ein kleiner Unterschied zu ca. 10-15€ für nen ProMicro oder noch weniger für nen Nano... selbst wenn ggf. noch ein kleines Relaisboard oder andere Komponenten für den "Schalter" hinzukommen...
 
die v01 davon kostet nur 189€

Naja, 'n Arduino Nano plus bisschen Bauteile bleibt unter 10 Euro ;-). Und wenns diese Option gibt/gäbe, werde ich zum Dagobert Duck.

Edit: Der vorherige sinngemäß vergleichbare Beitrag von @recliq hat sich zeitlich mit meinem überschnitten ;-).

wie startest du denn den Midiclock-Geber?

Drucktaste am Gehäuse

Kann man den nicht zufällig mittels pedal starten

Nee, diese Option bietet die E-RM MIDI Clock nicht.
 
andere Komponenten für den "Schalter"

Da muss ein Kabel mit 2,5-mm-Klinkenstecker aus dem Gehäuse raus, sonst nix. Es geht ja nur darum, den Arduino o.ä. das Betätigen des Schalters simulieren zu lassen, so dass ein für den Recorder nicht unterscheidbares Signal auf dem Klinkenstecker anliegt.
 
Eben gefunden:

Wenn man das so anpassen könnte, dass außer Start- und (ggf., s.o.) Stoppsignal alles ignoriert wird und dann halt am Ausgang was geschieht, wäre es das doch schon, bzw. zumindest mal einen Versuch wert.
Ja, sollte spottend einfach sein:

const int startOutPin = 2; byte midi_start = 0xfa; byte data; void setup() { Serial.begin(31250); pinMode(startOutPin, OUTPUT); } void loop() { if(Serial.available() > 0) { data = Serial.read(); if(data == midi_start) { digitalWrite(startOutPin, HIGH); } } }

An Output-Pin2 des Arduino hängst Du dann noch die Schaltung von https://doepfer.de/faq/strig_e.gif (Widerstand an den Arduino-PinD2, Transistor-Ausgang und Ground an den Quasi-Fußschalterstecker)
 
Zuletzt bearbeitet:
aber die kann mit einer Kabelpeitsche DIN analog ausgeben .... da geht doch ein Gate auf High bei Start

Einer der Kanäle bei der E-RM steht bei mir auch auf analogem DIN - da würde der Recorder aber sofort das nächste Gate wieder als erneute Fußschalter-Betätigung interpretieren, ein ununterbrochenes An-Aus in (sehr) schneller Reihenfolge wäre die Konsequenz. Da müsste auch ein interface ran, das nur das erste Gate durchlässt und danach alle blockt.

Edit: Durchgestrichen, weil irrelevant - ich ging zu dem Zeitpunkt noch von simpler analoger Gatespannung aus, weil ich das mit den UART-Befehlen in der Bedienungsanleitung zunächst überlesen hatte :oops:.
 
Zuletzt bearbeitet:
Ja, sollte spottend einfach sein:

const int startOutPin = 2 byte midi_start = 0xfa; byte data; void setup() { Serial.begin(31250); pinMode(startOutPin, INPUT); } void loop() { if(Serial.available() > 0) { data = Serial.read(); if(data == midi_start) { digitalWrite(startOutPin, HIGH); } } }

An Output-Pin2 des Arduino hängst Du dann noch die Schaltung von https://doepfer.de/faq/strig_e.gif (Widerstand an den Arduino, Transistor-Ausgang und Ground an den Quasi-Fußschalterstecker)

Wow. Ich glaube, ich habe ein neues Bastelprojekt. Das klingt sehr machbar! Wobei ich, wie im Eingangsbeitrag gesagt, noch eben messen muss, wie die jeweiligen Signale - der Fußschalter bietet ja drei - beschaffen sind.

Kann auch sein, dass da nur Tip und Shaft kurzgeschlossen werden oder so. Halte ich sogar für ziemlich wahrscheinlich, so kenne ich das von z.B. Kanalumschalt-Tastern bei meiner Gitarrenvorstufe u.ä.


Edit wegen s.o.
 
Zuletzt bearbeitet:
PS: Vorsicht: in der ersten Code-Zeile von mir fehlte am Ende das semikolon, und das Pin2 war aus wg Cut&Paste aus anderem Code noch Input, ist jetzt auf OUTPUT geändert.
 
Zuletzt bearbeitet:
Ziemlich sicher. Das ist ja ein dreipoliger 2,5mm Klinkenstecker ->

Der Schalter hat ja drei Tasten für unterschiedliche Funktionen (wie gesagt, ich hab den ja zuhause!) - und die müssen ja auf unterschiedliche Weise Signale geben (Tasten) bzw. getriggert werden (Funktionen).
Er ist auch nicht rein passiv (wie z.B. die Kanalumschalter an der Gitarrenvorstufe), sondern wird mit 2 Batterien betrieben.

Ich mess das nachher einfach mal durch
:D.

Edit wegen s.o.

PS: Vorsicht: in der ersten Code-Zeile von mir fehlte am Ende das semikolon, und das Pin2 war aus wg Cut&Paste aus anderem Code noch Input, ist jetzt auf OUTPUT geändert.

Ich muss eh erstmal kucken, wie ich das in irgendeinen anderen Arduino-als-MIDI-Verarbeiter-Code reinbekomme (da gibts sicher was; ich versuch dann mal den Dr. Frankenstein :lol:) und lege das dann zur Begutachtung vor. Der Arduino muss ja wissen, dass das, was via Optokoppler an Pin XY reinkommt, ein MIDI-Signal ist. Vermutlich muss ich dann da auch eine "MIDI.h"-Library einbinden :?: (meine Güte, ich rede darüber, als ob ich irgendeine Ahnung davon hätte :lol:). Ich weiß aber echt nur ein paar Grundbegriffe, vor allem durch die Beschäftigung mit den Hagiwo-Dingern.

Wird aber sicher eher Mitte nächster Woche oder später, vorher komm ich da vermutlich nicht zu.
 
Zuletzt bearbeitet:
Ich muss eh erstmal kucken, wie ich das in irgendeinen anderen Arduino-als-MIDI-Verarbeiter-Code reinbekomme (da gibts sicher was; ich versuch dann mal den Dr. Frankenstein :lol:) und lege das dann zur Begutachtung vor. Der Arduino muss ja wissen, dass das, was via Optokoppler an Pin XY reinkommt, ein MIDI-Signal ist. Vermutlich muss ich dann da auch eine "MIDI.h"-Library einbinden :?: (meine Güte, ich rede darüber, als ob ich irgendeine Ahnung davon hätte :lol:).
Nee, brauchst Du nicht. Der Code liest einfach die Serielle-Schnittstelle mit 31250 Baud. Dass das dort übertragene Protokoll "MIDI" heißt, ist in dem Zusammenhang egal.
Das sollte auch komplett unabhängig vom verwendeten Arduino sein (ok, falls du einen mit mehreren seriellen Schnittstellen hättest, wäre das was anderes, aber davon geh ich jetzt nicht aus).

Er ist auch nicht rein passiv (wie z.B. die Kanalumschalter an der Gitarrenvorstufe), sondern wird mit 2 Batterien betrieben.
Iiiih. Dann fürchte ich, dass der nicht einfach kurz schließt, sondern seriell irgendeine digitale Info rausschickt. Dann lieber mal mit dem Scope gucken, was aus dem Stecker da rauskommt.
Notfalls musst Du in den Fußschalter Buchsen einbauen, die wiederum an die Taster gehen.
 
Dann fürchte ich, dass der nicht einfach kurz schließt, sondern seriell irgendeine digitale Info rausschickt.

Ohauerha, daran hatte ich jetzt in der Tat gar nicht gedacht, sondern wie im Eingangspost an "1) Spannung auf Tip, 2) Spannung auf Ring, 3) Tip und Shaft kurzgeschlossen".

Naja, ich mess das mal. DMM und Oszilloskop sind ja vorhanden, kein großes Ding.
 
. Dann fürchte ich, dass der nicht einfach kurz schließt, sondern seriell irgendeine digitale Info rausschickt. Dann lieber mal mit dem Scope gucken, was aus dem Stecker da rauskommt.

Lt. Manual "Plug: 2.5-mm TRS (Tip: SIGNAL, Ring: GND, Sleeve: GND) Output format: UART signals (9600 bps baud rate, even parity)"
 
Output format: UART signals (9600 bps baud rate, even parity)
Das war zu befürchten.
Wenn man das direkt ansteuern will, braucht man was mit zwei seriellen Schnittstellen wegen der unterschiedlichen baudraten (oder kann man im Atmega TX und RX unterschiedlich schnell konfigurieren?).

Dann sind wir wieder bei "Schalter im Fußschalter mit Transistoren doppeln" und dann diese Transistoren im Fußschalter ansteuern. Da könnte man gleich Optokoppler, ATMega, und die Transistoren auf eine kleine Platine packen und das ganze direkt in der Fußschalter reinbauen (wenn denn irgendwie noch eine MIDI-Buchse in den reinpasst).
 
Lt. Manual "Plug: 2.5-mm TRS (Tip: SIGNAL, Ring: GND, Sleeve: GND) Output format: UART signals (9600 bps baud rate, even parity)"

In anderen Sprachen stehts bzgl. Parität genau andersrum :mauer: - D: "ungerade", F: impaire, I: dispari, SP: impar...
Japanisch klappt nicht, weil mich das PDF nichts zwecks Fütterung von Google Translate herauskopieren lässt.

Das war zu befürchten.
Wenn man das direkt ansteuern will, braucht man was mit zwei seriellen Schnittstellen wegen der unterschiedlichen baudraten (oder kann man im Atmega TX und RX unterschiedlich schnell konfigurieren?).

Dann sind wir wieder bei "Schalter im Fußschalter mit Transistoren doppeln" und dann diese Transistoren im Fußschalter ansteuern. Da könnte man gleich Optokoppler, ATMega, und die Transistoren auf eine kleine Platine packen und das ganze direkt in der Fußschalter reinbauen (wenn denn irgendwie noch eine MIDI-Buchse in den reinpasst).

Ach, Mist :sad:.

Aber den Schalter umbauen muss doch trotzdem nicht? Ich hätte das auf jeden Fall lieber in separaten Geräten, schon, damit da nicht so eine Kette hintereinanderhängt.

Man müsste "nur" dem/n Arduino/s :?: sagen, was er als Signal ausspucken muss?
 
Zuletzt bearbeitet:
In anderen Sprachen stehts bzgl. Parität genau andersrum :mauer: - D: "ungerade", F: impaire, I: dispari, SP: impar...
Japanisch klappt nicht, weil mich das PDF nichts zwecks Fütterung von Google Translate herauskopieren lässt

Japanisch lt. Google-Translate: gerade Parität, wie im Englischen.
 
Japanisch lt. Google-Translate: gerade Parität, wie im Englischen.
Dankeschön :supi:! Ließ sich das bei Dir kopieren, oder hast Du das irgendwie abtippen können?

Na, wie auch immer - damit stehts dann numerisch 4:2 für "ungerade", aber mit vermutlich höherer Gewichtung für Japanisch und Englisch :?...
"Einigen wir uns auf Unentschieden" ist aber irgendwie auch keine zielführende Lösung.

Edit: Ich habe eben eine Anfrage mit Bitte um Klärung und Korrektur an den Tascam-Support geschickt.
Edit 2: Gerade bzw. even ist korrekt (vgl. im übernächsten Beitrag hinterlegte Protokoll-Dokumentation), offenbar gibt es in der deutschen/französischen/spanischen/italienischen Fassung einen Übersetzungsfehler.
 
Zuletzt bearbeitet:
Das sind doch nachgelagerte Probleme. So lange Du nicht weißt, was der Fußtaster da an den Recorder kommuniziert, nützt das alles nichts. Wenn Du Glück hast wird da auch MIDI-Protokoll gesprochen nur eben langsamer.
 
Das sind doch nachgelagerte Probleme. So lange Du nicht weißt, was der Fußtaster da an den Recorder kommuniziert, nützt das alles nichts. Wenn Du Glück hast wird da auch MIDI-Protokoll gesprochen nur eben langsamer.

Immerhin habe ich jetzt eine Dokumentation des Protokolls bekommen - vielleicht können Kundigere als ich damit was anfangen?
 

Anhänge

  • RC-3F_Protocol_1.01F.pdf
    143,7 KB · Aufrufe: 11
Ich zieh das nochmal nach oben, um da sauber einen Strich drunterzuziehen und einen Haken dranzumachen :mrgreen:.

Denn: Dieser Adapter funzt seit gestern.

Aufzeichnen des Fußschalter-Signals mit dem Oszilloskop und Abgleich mit dem im vorigen Beitrag angehängten UART-Protokoll ergab schlussendlich, dass der Schalter gar nicht den kompletten Befehl (also "Aufnahme starten!", "Vorspulen!" oder so) gibt, sondern nur, welche der drei Tasten gedrückt wurde. Der Recorder kann dann ja entsprechend konfiguriert werden, also z.B. "wenn mittlere Taste, dann starte die Aufnahme".
Das hatte ich zunächst missverstanden und war irrigerweise davon ausgegangen, dass der Schalter über den Recorder programmiert wird und danach eben den "kompletten" Befehl übermittelt.

Wie auch immer - mir hat dann jemand geholfen, den von mir in #4 verlinkten Code entsprechend anzupassen, ich hab die Hardware zusammengebastelt, und es funzt. Der Blogger, von dem der Code stammt, ist auch damit einverstanden, dass ich das so weitergebe (hab extra gefragt, auch wenn ich davon ausging, dass das vermutlich eh nach shared, open source und public domain etc. gehandhabt wird).

Benötigtes Material:
1 Arduino Nano (Clone)
1 DIN-MIDI-Buchse
1 DC-Hohlsteckerbuchse
1 Klinkenstecker 2,5 (ja, nicht 3,5!) mm plus Kabel
1 Optokoppler 6N138
paar Widerstände, Kerkos und 1 Diode
passendes Stück Lochrasterplatine
Gehäuse
4 Schrauben plus Muttern zur Montage der Platine im Gehäuse.

Edit - So sieht das aus dem Adapter kommende Signal dann aus:

UARTSignalAdapter.png
 
Zuletzt bearbeitet:
…welcher Adapter? - fehlt da noch ein URL?…
Nee, da gibts keinen URL. Es geht um den im Startbeitrag beschriebenen Adapter zur Umwandlung/Übersetzung eines MIDI-Clock-Startsignals in einen UART-Befehl, mit dem ich dem Tascam DP24 gegenüber vorgaukeln kann, dass ich den Fußschalter betätigt hätte.

Interessant ist das vermutlich nur für Besitzer des DP24 (und sicher auch DP32) sowie ggf. anderer TASCAM-Geräte, die mit dem RC-3F (= Fußschalter) ferngesteuert wqerden können.
 


Zurück
Oben