Peach Clock – Improving Midi-sync of FL Studio with Volcas

Projektinfo

Midi output when starting FL Studio
Midi output beim Start von FL Studio

Seit bald 10 Jahren nutze ich FL Studio alias Fruity Loops. Und ich hatte immer Probleme externe Drumboxen per Midiclock damit zu synchronisieren. Irgendwie hinkten die immer hinterher. Wenn man sich den Midi-Output von FL Studio ansieht der beim START rausgesendet wird ist die Sache klar. Als erstes wird für alle 16 Kanäle des Midi Busses ein All-Notes-Off Event geschickt. 16*3 = 48 Bytes, für Midi ist das nicht wenig. Erst dann beginnt die Midiclock zu starten und zu tickern. Da Midi bekanntlich seriell funktioniert, müssen die Clockinformationen logischerweise WARTEN bis diese 16 All-Notes-Off messages abgesendet sind. Die externe Drumbox/Volca startet also zu SPÄT. Ich habe noch keine Einstellung in FL Studio gefunden um diese Startmessages abzustellen.

Auf den Streifzügen durchs Web stieß ich auf diverse kommerzielle Anbieter von Lösungen um z.B. Eurorack-Sequencer mit DAWs extrem genau zu synchronisieren. Das Prinzip: die DAW sendet kurze Audio Pulssignale („Knackser“) an ein Gerät welches daraus Timing Informationen gewinnt oder generiert. Die Idee ist also nicht von mir, hat mir aber trotzdem gut gefallen. DAS wollte ich auch mal probieren um die Volcas über Midi Clock endlich synchron zu FL Studio zu bekommen.

Innenleben des Peach Clock
Innenleben des Peach Clock

Innenleben

Einfaches Prinzip: Ein Schmidt-Trigger wird über die 6,3mm Stereobuchse mit 2 Audiosignalen aus der DAW gefüttert. Seine beiden Outputs steuern 2 input-pins des Atiny2313. Geht einer der Pins auf HIGH sendet der tiny2313 über Midi Out die System Realtime Message START und lässt eine LED kurz aufleuchten. Geht der andere HIGH sendet er über Midi Out die System Realtime Message CLOCK, die andere LED leuchtet. Wenn eine (kurze) zeitlang kein clock Signal mehr eingeht, sendet der Controller automatisch ein STOP über Midi Out – damit der angeschlossene Volca nicht ewig weiterläuft. Da vom Schmidttrigger noch ein paar Gates übrig waren, gibt es auch gleich noch einen 2ten Midi-Out.

Leicht überbelichtete erste Platine mit Hilfsbrücken
Leicht überbelichtete erste Platine mit Hilfsbrücken

DAW-Vorbereitung

Nun muss nur noch die DAW vorbereitet werden. Dazu nehme man 2 Tracks, sende sie jeweils auf separaten Audio Outputs. Das Ganze ‚kostet‘ also 2 freie Audio Outputs. Die Outputs werden mit der Peach Clock verbunden. Ein Track spielt für den ganzen Song nur einen einzigen Pulse, direkt beim Start. Der triggert im Peach Clock das Senden des MIDI START Commands. Der andere track enthält ein Sample mit 24 kurzen Pulsen die genau auf einen Takt (oder 48 auf 2 Takte usw. verteilt sind. Man kann sich dieses Sample selber basteln, TipTopAudio stellt solche Files zur Verfügung auf ihrer Page zum Circadian Rhythm Sequencer.

Die erste Platine hatte ich – nach fast 2 Jahren Ätzpause – überbelichtet. Da ich ungern Dinge wegwerfe habe ich sie mit Hilfsbrücken trotzdem zum Leben erweckt.

Peach Clock - finished
Stereoping Peach Clock

Das Ganze Projekt war/ist ein Experiment. Wenn das Interesse am Peach Clock wider erwarten groß genug ist, würde ich ihn ggf. optimieren und im Shop anbieten. Du kannst mir also gerne schreiben was Du davon hälst oder welche Features Dir fehlen. Denkbar wäre z.B. über einen Drehschalter verschiedene Clock-Teiler wählen zu können um den Peach Clock an ein Eurorack zu hängen und so eine Eurorack-Midiclock zu generieren.

Hier gibt es ein Video vom Peach Clock in Aktion: