Replifex TAP-Delay per MIDI steuern über Roland GFC-50

  • Ersteller suckspeed
  • Erstellt am
suckspeed
suckspeed
Registrierter Benutzer
Zuletzt hier
30.03.24
Registriert
06.12.17
Beiträge
821
Kekse
3.896
Hallo zusammen,

ich will bei meinem Rocktron Replifex das TAP-Delay über MIDI steuern. Dazu habe ich an meine MIDI-Fußleiste einen ganz normalen Fußtaster angeschlossen. Der bewirkt dann über CC-64 zum Beispiel die Übertragung des Tastendrucks. Am Replifex habe ich im Controller-Assignment des Presets dann auch TAP-Delay auf 64 gesetzt.

Ganz selten reagiert das Replifex irgendwie sinnvoll, meistens aber flackert nach ein paar Fußtasterbetätigungen die rote LED sehr schnell und es ist dann wie ein Slapback-Echo. Ich habe mir mal die MIDI-Fußleiste an mein Steinberger UR44-Audio-Interface angeschlossen und die MIDI-OX-Software angeschmissen. Ich wollte checken, ob der Taster so furchtbar prellt, dass so ein schneller Tastendruck registriert wird. Allerdings ist das nicht der Fall. Wenn ich den Taster schließe, kommt eine 0 und wenn ich ihn wieder los lasse, kommt eine 127.

O.k., während ich das hier schreibe, kommt mir ein Gedanke: was ist, wenn das Replifex jeden Wechsel als den Zeitraum annimmt, der fürs Delay benutzt werden soll? Ich tappe ja immer kurz drauf bei jedem Beat. Das heißt aber, dass auch immer ganz schnell ein Wechsel auf 0 und dann auf 127 kommt. Beim nächtsten Tap dann wieder ganz schnell 0 und 127 hintereinander.
Also habe ich es jetzt gerade nochmal anders ausprobiert: Wenn ich im Takt den Fuß aufs Pedal setze und dann beim nächsten Beat erst wieder anhebe, dann wieder bei jedem weiteren Beat treten und loslassen... Und ja: so geht es! Also brauche ich wohl keinen Taster, sondern einen Schalter wie es scheint. Das ist ja doof, denn Taster sind doch oft geräusch- und widerstandsärmer als Schalter. Ich hatte erst überlegt: jetzt, wo ich weiß, wie es geht, könnte ich mich doch drauf einstellen und einfach so das Tempo eintappen. Aber so einfach ist das nicht. Wir sind es gewohnt, mit dem Fuß zum Takt mitzutappen, indem wir schnell den Fuß senken und schnell wieder anheben, dann beim nächsten Beat wieder runter und schnell hoch. Man bekommt das anders nicht so sauber hin.

Also was meint ihr? Einen leichtgängigen, prellfreien Schalter suchen und fertig? Oder gibt es andere Optionen? Irgendwelche Einstellungen, die ich übersehe? (Glaube ich nicht, aber man lernt ja nie aus). Hat jemand einen Tipp für einen leichtgängigen, prellfreien Schalter für einen Selbstbau?
 
Grund: Edit zwecks Kommentar
Zuletzt bearbeitet von einem Moderator:
C_Lenny
  • Gelöscht von C_Lenny
  • Grund: Sorry - bezogen auf Frage inhaltlich unkorrekt
Nö, du brauchst einen Midi-Controller, der bei Tastenbetätigung eine Signalfolge schickt ..Midi-Channel xx, CC# 64, Value 127, und dann Midi-Channel xx, CC#64, Value 0.

Oder der Roland-Controller kann direkt Midi-Clock senden und das Replifex empfangen. Dann erfolgt die Auswertung der Taste im Controller und der sendet die Midi-Clocks zyklisch ans Replifex.
 
Ich habe ja das "Roland GFC-50", was baugleich mit dem Boss FC-50 ist. Das Geniale bei denen: sie haben 2 Mono-Klinkeneingänge für MIDI-CC-Controller und weiterhin 2 Stereo-Klinkeneingänge für MIDI-CC-Expression-Controller. D. h. man kann einen stinknormalen Taster oder Schalter anschließen und die MIDI-Fußleiste überträgt den Schaltzustand entweder als MIDI-CC #64 ("CTL 1"-Eingang) oder #80 ("CTL 2"-Eingang). Das funktioniert ja auch bestens und ist so gedacht. Ein Schalter schließt und dann wird der Wert '0' übertragen, und wenn er öffnet, wird die '127' übertragen. Soweit so gut. Etwas ungeschickt ist nun, dass man für TAP-Tempo doch wohl einen Taster und keinen Schalter annehmen darf. So funktioniert ja auch die Taste an der Front und auch der direkte Fußtaster-Klinkeneingang hinten am Gerät. Ich finde es inkonsequent, dass über MIDI nun das Senden von "0, 127" zu zwei Eingaben für TAP-Tempo führt statt nur zu einer. Die Lösung scheint also zu sein, dass man sich einen Schalter hernimmt, der eben einrastet und pro Betätigung nur einen Wert schickt: jeweils abwechselnd '0' und '127'.

Vielleicht habe ich irgendwas davon unklar ausgedrückt oder dich nicht richtig verstanden. Ich will kein weiteres Gerät anschaffen, sondern eben diesen MIDI-Footcontroller benutzen, der diese Funktion ja prima beherrscht. Nur das Replifex scheint etwas unerwartet mit diesen MIDI-Daten umzugehen.

Sehr interessant wäre es, wenn mal jemand mit einem "All Access"-Floorboard von Rocktron oder auch mit der MidiMate testen würde, was denn da an MIDI-Daten geschickt wird, wenn man den TAP-Tempo-Taster (Schalter?) betätigt. Schicken die immer nur einen Wert raus und das ist dann abwechselnd '0' und '127'? Muss ja fast so sein...

Ganz einfach lässt sich das überprüfen, indem man den MIDI-Controller am Computer-Audio-Interface anschließt und mit der Freeware MIDI-OX schaut, was da an Daten generiert/geschickt wird. Ich bin gespannt, ob da jemand was herausfindet! ;)
 
Das mit den Exp-Taster/Pedalen und den damit in Relation stehenden-MIDI-CC# habe ich schon verstanden.

Was ich meinte..

Bei TAP-Tempo ist es oft so, dass die Zeit zwischen zwei Tastendrücken gemessen wird. Das schließt aber ein zweimaliger Ein-und Ausschalten ein (Taste drücken ein, Taste loslassen aus, Taste nochmal drücken ein, und Taste nochmal loslassen aus).

Um das über MIDI-CC# zu simulieren, musst Du für jeden Tastendruck über MIDI die Befehlsfolge
CC#64, MIDI-Kanal xx, Wert 127 (Taste drücken) und CC#64, MIDI-Kanal xx, Wert 0 (Taste loslassen) senden.
 
...wenn mal jemand mit einem "All Access"-Floorboard von Rocktron oder auch mit der MidiMate testen würde, was denn da an MIDI-Daten geschickt wird, wenn man den TAP-Tempo-Taster (Schalter?) betätigt.
Ich habe das mal mit der/die/das Midimate exerziert und von Midi-Ox folgendes Protokoll/Monitoring erhalten:

1670956699270.png


Erste Zeile -> Tastenbetätigung No.1 (drücken u. loslassen)
Zweite Zeile -> Tastenbetätigung No.2 (drücken und loslassen)

Genau so
dass die Zeit zwischen zwei Tastendrücken gemessen wird.
erfolgt dann bei meinem Replifex das Setzen des Tap-Tempo.

LG Lenny
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: 1 Benutzer
Ich habe das mal mit der/die/das Midimate exerziert und von Midi-Ox folgendes Protokoll/Monitoring erhalten:

Anhang anzeigen 873924

Erste Zeile -> Tastenbetätigung No.1 (drücken u. loslassen)
Zweite Zeile -> Tastenbetätigung No.2 (drücken und loslassen)

Vielen Dank, dass du dir die Mühe gemacht hast. Das bestätigt meine Annahme auf Basis meiner Beobachtungen: jedes Mal, wenn du bei der MidiMate drückst und loslässt, wird nur ein Wert geschickt - und das abwechselnd jeweils als '127' (7F) und '0'. So funktioniert es mit einem mechanischen Taster über den MIDI-Footcontroller ja auch: wenn ich nur runterdrücke und den Taster unten halte, wird ein Wert gesendet. Wenn ich dann loslasse, wird der andere gesendet. Was bei dir also zweimal jeweils Drücken&Loslassen erzeugt, habe ich mit einmal Drücken&Loslassen. Ich hätte das gleiche Verhalten wie bei der MidiMate, wenn ich statt des Tasters einen Schalter nähme. Da würde ich dann drauftappen (drücken & loslassen) und er würde nur geschlossen, d. h. ein Wert wird per MIDI CC gesendet. Wenn ich das wiederhole, öffnet sich der Kontakt und es wird wieder ein Wert gesendet (der andere). Also entweder ist in deiner MIDI-Fußleiste ein Schalter oder Rocktron hat das per Elektronik/Firmware entsprechend umgesetzt.

Auf jeden Fall ist das extrem hilfreich. Vielen Dank! :)

Das mit den Exp-Taster/Pedalen und den damit in Relation stehenden-MIDI-CC# habe ich schon verstanden.

Was ich meinte..

Bei TAP-Tempo ist es oft so, dass die Zeit zwischen zwei Tastendrücken gemessen wird. Das schließt aber ein zweimaliger Ein-und Ausschalten ein (Taste drücken ein, Taste loslassen aus, Taste nochmal drücken ein, und Taste nochmal loslassen aus).

Um das über MIDI-CC# zu simulieren, musst Du für jeden Tastendruck über MIDI die Befehlsfolge
CC#64, MIDI-Kanal xx, Wert 127 (Taste drücken) und CC#64, MIDI-Kanal xx, Wert 0 (Taste loslassen) senden.

Kann schon sein, dass manche Hersteller das so umgesetzt haben. Ich habe nicht allzu viele Geräte mit dieser Funktion (eigentlich nur mein Replifex und dann noch meinen Pocket POD, bei dem ich Tap-Delay per MIDI noch nicht ausprobiert habe) und kann deshalb nur für das Replifex sprechen. Das Replifex registriert jeden Wechsel des CC-Werts als eine Eingabe für das TAP-Delay. Da kann man wohl nicht anders als mit dem Schalter zu arbeiten.
 
Ja, so soll das aussehen und funktionieren. ;) Danke nochmal für deine Bemühungen!
Ich hatte mir diese Roland-MIDI-Fußleiste erst kürzlich gekauft, weil sie so schön kompakt ist und genügend Fußtaster für meine Zwecke hat. Früher hatte ich mal so ein Monster von ART: das X-15 mit zwei Expression-Pedalen drauf, man konnte den Modus der Taster umschalten von Program-Changes auf MIDI-CC. So war man extrem flexibel. Aber das Teil war eben auch riesig... Das Teil von Roland passt nun gut aufs Pedalboard und es ist noch schön Platz fürs Wah daneben usw...
Ich weiß gar nicht mehr, ob die MidiMate breiter ist. Die hatte ich letztlich nicht mehr auf dem Radar. Ist schon auch ein schickes Teil - und flexibel konfigurierbar.

Viele Grüße

Frank
 
Das Filmchen von @C_Lenny zeigt aber erst eine Reaktion der TAB-Led nachdem er ein zweites mal den Taster gedrückt und wieder losgelassen hat. Das würde eher meiner Theorie entsprechen, dass zweimal der Wert von Cc#64 von 127 auf 0 wechseln muss. Da müsstest Du ja mit einem Schalter 4 mal draufdrücken. Damit dann eine gewünschte BPM einzutappen ist nicht möglich.

Schau mal im Manual Deiner MIDI-Leiste, ob es da eine Einstellung für den Schaltzustand latching/ non-latching gibt. Da wird eher der Hind begraben liegen.
 
Lenny hat aber auch die gesendeten MIDI-CC-Daten aus MIDI-OX gezeigt und da sind nach zweimal Drücken&Loslassen nur zwei Messages angekommen. Die LED blinkt in der aktuell eingestellten oder neu eingegebenen TAP-Delay-Geschwindigkeit. Das Gerät muss ja mindestens zwei MIDI-Messages bekommen, um den Zeitraum bestimmen zu können. Insofern passt das nach meinem Verständnis.

Ich kann einen Schalter ja auch mit meinem Taster simulieren und habe das erfolgreich getan wie oben beschrieben. Einmal drücken beim ersten Beat, dann loslassen beim zweiten, das gibt dem Gerät die richtige TAP-Delay-Geschwindigkeit. Benutze ich einen Schalter, dann drücke ich einmal und hebe direkt wieder den Fuß an, dann sendet die MIDI-Fußleiste eine Wertänderung (0). Drücke ich nochmal und hebe den Fuß direkt wieder, dann wird der nächste Wert gesendet (127). Das funktioniert.

Ich habe durch weiteres Herumforschen auch gelernt, dass Boss-Geräte, die irgendwas mit Fußtastern machen können, "normally-closed" Taster benötigen. Dann würde logischerweise auch nicht der Wert '0' beim Runterdrücken des Schalters zu beobachten, sondern 127. Ich habe das gleiche Phänomen gestern auch noch beobachtet, als ich mit einem Taster an die gleiche MIDI-Fußleiste angeschlossen über die PatchMate Loop8 von Rocktron meinen Ditto-Looper fernsteuern wollte. Da kann ich die einzelnen Loops, die ja auch als normale Schaltkontakte benutzt werden können, auch über MIDI-CC aktivieren. Wenn ich den Taster drücke, geht der Loop aus und beim Loslassen an. Ich kann dann den Loop-Anschluss nehmen, der "normally-closed" ist, was die Sache genau umdreht. Hätte ich einen Fußtaster mit "normally-closed", wäre der Loop sinnvollerweise immer deaktiviert, wenn ich den Taster nicht drücke.

Also 1) für TAP-Delay braucht man einen Schalter, es sei denn, man benutzt ein "All Access" oder "MidiMate" von Rocktron und 2) als Taster einen mit "normally-closed" benutzen. Damit hat man es dann eigentlich... ;)

Bei dem Boss FC-50 oder Roland GFC-50 gibt es keinerlei Einstellmöglichkeiten über den MIDI-Channel hinaus.
 
nachdem er ein zweites mal den Taster gedrückt und wieder losgelassen hat. Das würde eher meiner Theorie entsprechen, dass zweimal der Wert von Cc#64 von 127 auf 0 wechseln muss.
Ich denke nicht, dass das -zumindest- bei der Midimate bei Tastendruck so ist. Mit den Tastern kann man ja auch Effekte "On" bzw "Off" schalten. Im Control Assignment des Replifex muss man dazu auch zwei Werte eingeben (Schaltzustand "In" / Schaltzustand "Out"). Der Zustand "Fx-On" erfolgt bei Tastendruck 1, verändert sich nicht beim Wiederloslassen, sondern er wechselt erst auf "Fx-Off", wenn ein zweiter Tastendruck erfolgt ;) .

Bin zwar nicht die Midi-Kompetenz in Person (ganz und gar nicht!), aber könnte nicht auch die Spalte "Timestamp" in Midi-Ox Aufschluss geben? Im obigen Snapshot sind ja Hex-Werte für das Erfassen des Signals angegeben. Ich weiss nun nicht, wie genau dieser Wert generiert wird (Midi-Ox , Windows etc.), aber irgendeine Bewandtnis wird dieser Timestamp (nicht zu verwechseln mit einem Midi Time-Code!!) schon haben. Unterstellt man mal, dass das Angaben in Millisekunden sein könnten, gäbe eine Umrechnung in Dezimalwerte folgendes Bild:

000C44A4 = 804004ms
000C41C7 = 803271ms
Differenz = 733ms

Der Wert 733ms scheint mir zumindest realistisch für das getappte Delay sein zu können. Kann es also nicht sein, dass das Replifex eine analoge, also auf die Zeitdifferenz der erhaltenen Signals bezogene Berechnung durchführt - also unterm Strich tatsächlich immer nur EINEN Wert bei Tastendruck erhält und verarbeitet :gruebel:?

LG Lenny
 
Miss mal in Midi-Ox zwei komplette Taps, also zweimal drücken und loslassen. Lies dann mal die Zeit zwischen den beiden Schaltzeitpunkten (Taste drücken und nochmal Taste drücken und Taste loslasden und nochmal Taste loslassen) und vergleich Die Zeit mit dem BPM-Wert aus dem Replifex. BPM=60/gemessene Zeit.
 
Miss mal in Midi-Ox zwei komplette Taps, also zweimal drücken und loslassen.
Das sieht dann so aus in Midi-Ox:

1671042123632.png


Die oberen beiden Zeilen ergeben umgerechnet in Dezimalwerte für den Timestamp:

0002EEBB = 192187ms
0002F0B1 = 192689ms
Differenz = 502ms

Das Display des Replifex weist dann folgende Delay-Time aus:

1671042377492.png


Die unteren beiden Zeilen im Midi-Ox ergeben umgerechnet in Dezimalwerte für den Timestamp:

0008F038 = 585784ms
0008F3FE = 586750ms
Differenz = 966ms

Das Display des Replifex weist dann folgende Delay-Time aus:

1671042521753.png


Die Werte im Replifex korrespondieren also ganz offensichtlich mit den Timestamp-Differenzen in der Midi-Ox-Messung ;) .

LG Lenny
 
  • Gefällt mir
Reaktionen: 1 Benutzer
Du misst aber jedes mal nur ein Tap und das zu verschiedenen Zeiten. Ich meinte, das Du mal zwei Taps direkt nacheinander misst und dann die Zeit zwischen beiden Taps (Value 127 oder 0) im Midiprotokoll vermittelst und das dann in Relation zur Delayzeit setzt.
 
Sorry, aber das geht mir jetzt irgendwie zu sehr in's Eingemachte. Da ist nix mit Value 0/127 im Replifex und das Midi-Ox wirft bei Bedienung des Tasters nicht anderes heraus als das, was ich jetzt schon zweimal visuell kommuniziert habe. Der Midimate-Taster reagiert bei Druck, das Midi-Ox protollliert das und bei Loslassen tut sich nichts - weder im Replifex noch im Midi-Ox-Protokoll. Ich weiss auch nicht, was Du mit "Zeit zwischen beiden Taps...im Midiprotokoll vermittelst" meinst - da wird im Midi-Ox nichts protokolliert, ich kann dort auch nichts hineinprotokollieren und das Replifex verharrt im gerade eingetappten Tempo. Zeit zwischen zwei Taps und deren Relation zur Delayzeit will mir auch nichts sagen :nix:.

Tapping-Vorgang 1 = Zeile 1 und 2 im Snapshot
Tapping-Vorgang 2 = Zeile 3 und 4 im Snapshot

Du kannst ja mal selbst die Differenz der dort aufgeführten Hex-Werte zwischen Zeile 2 und Zeile 3 (ist ja die "Pause" zwischen Tapping 1 und Tapping 2) in Millisekunden umrechnen, wenn es das ist, was Du mit "Zeit zwischen beiden Taps....Relation zur Delayzeit" meinst und mich dann erhellen ;).

LG Lenny
 
Ok. Ok. Ok. Ich gebe ja Ruhe ;)
 
  • Haha
Reaktionen: 1 Benutzer
So, nun möchte ich das Rätsel mal vollständig aufklären, damit keine Unklarheiten bleiben.
Aufgrund von Lennys Tests mit der MidiMate kam ich auf die Idee, dass das Replifex bei TAP-Delay über MIDI-CC vielleicht gar nicht auf den übertragenen Wert schaut, sondern eben nur die eingehenden MIDI-Nachrichten registriert und die Zeitabstände zwischen den beiden letzten als Delay-Zeit nimmt.

Also habe auch ich einen Test mit MIDI-OX gemacht: ich habe einfach immer nur den Wert '0' geschickt. MIDI-OX hat für diese Art von Datenübertragung eine nette Funktion. Man kann dort MIDI-CC-Nummer und MIDI-Kanal sowie den gewünschten MIDI-CC-Wert einstellen. Entweder werden die Nachrichten automatisch gesendet, wenn man einen der Parameter ändert, oder es wird durch Klick auf den Button "Send" gesendet. Ich habe als CC-Nummer 64 eingestellt (so ist mein Replifex konfiguriert) und als Wert die '0'. Dann habe ich im Takt mit der Maustaste auf "Send" geklickt. Zweimal genau. Und dann war die Delayzeit beim Replifex auch so eingestellt. Wenn ich weitere zwei Male den Button aktiviere mit anderer Pausenzeit dazwischen, dann wurde diese Delayzeit eingestellt.

Ich denke, dass damit "bewiesen" wäre, dass der Wert keine Rolle spielt, sondern nur die eingehenden MIDI-Nachrichten für die entsprechend eingestellte MIDI-CC-Nummer.
Deshalb kommt beim Tastendruck auf meinen mechanischen Taster eben auch dieses schnelle "Flackern" der Delay-LED raus und dieses "Slapback"-Delay. Das ist ja durchaus nützlich, wenn man z. B. wirklich nur einen Tastendruck übertragen will - über die "PatchMate Loop8" etwa.
Und die MidiMate schaltet ja auch Effekte ein und aus über die Taster. Würde sie auch nur einen Tastendruck übermitteln, wäre der Effekt ja nur so lange aktiv, wie man die Fußtaste gedrückt hält.

Es passt also alles zusammen und ist nun wohl vollständig verstanden.

Danke nochmal an Euch für Eure Mithilfe bei der Aufklärung! (y)
 
  • Gefällt mir
Reaktionen: 1 Benutzer
Du kannst mal testen, ob ein Ausfiltern der "Pedal loslassen"-MIDI-Events ein vernünftiges Eintappen des Tempos ermöglicht:

In MIDIOX: wähle Options->Data mapping->Insert. In diesem "Define mapping"-Fenster stellst du die folgenden Werte ein, die bewirken, dass alle CC64 mit Wert 0 ausgefiltert werden:

1671143609168.png


Schließe mit OK und stelle sicher, dass im übergeordneten Fenster "Translation Map" unbedingt die Option "Turn Map On (after OK)" angewählt ist.
Dann lässt MIDIOX nur noch die "Pedal getreten"-MIDI-Events durch, was deiner gewünschten Funktion entsprechen sollte.

Bin zwar nicht die Midi-Kompetenz in Person (ganz und gar nicht!), aber könnte nicht auch die Spalte "Timestamp" in Midi-Ox Aufschluss geben? [...]Ich weiss nun nicht, wie genau dieser Wert generiert wird (Midi-Ox , Windows etc.), aber irgendeine Bewandtnis wird dieser Timestamp (nicht zu verwechseln mit einem Midi Time-Code!!) schon haben.

Aus der MIDIOX-Hilfe: " A millisecond timestamp is also provided. This represents the time elapsed since the MIDI device was opened." . Damit ein Windows-System MIDI-Daten empfangen kann, ruft es die midiInStart-Funktion aus der Winmm.dll auf, die den Millisekundenzähler auf 0 setzt. MIDI-Events werden an das empfangende Programm immer mit dem ms-Wert seit Aufruf dieser Funktion weitergeleitet. MIDIOX stellt diese Werte ganz offensichtlich direkt dar.
 
  • Gefällt mir
Reaktionen: 2 Benutzer
Naja, klar könnte man mit einigen Tricks bei meinem Taster den zweiten MIDI-Event rausfiltern, aber MIDI-OX und den PC benutzte ich ja nur zum "Troubleshooting". Mein Gitarrensetup soll ohne Computer oder Mini-Computer ala Raspberry Pi auskommen. Von daher ist die einfachste Lösung wie weiter oben schon genannt: ein Schalter statt Taster in meinem Szenario. Damit funktioniert es dann ja wie gewünscht. Die nachfolgende Diskussion drehte sich ja hauptsächlich um das Verstehen, wie ein "All Access"-Controller oder MidiMate von Rocktron das machen. Das haben wir nun geklärt. Alles gut! ;-)
Aber klar, falls man sowieso einen Rapberry Pi oder sowas auf dem Board haben sollte (darüber hatte ich tatsächlich auch nachgedacht, bevor ich das Roland-MIDI-Pedal mit den Schalter/Taster-Eingängen hatte), dann kann man da alles mögliche mit machen. ;)
 

Ähnliche Themen


Unser weiteres Online-Angebot:
Bassic.de · Deejayforum.de · Sequencer.de · Clavio.de · Guitarworld.de · Recording.de

Musiker-Board Logo
Zurück
Oben