Audio to MIDI Clock Converter

Hallo Zusammen!!

Wollte euch an dieser Stelle kurz mein neustes Projekt vorstellen. Jahrelang habe eine Kombination aus Ableton Live und meinen Hardware Sequencer vermieden da die Synchronisation echt unterirdisch war. Ich war jedoch auch nicht bereit, allzu viel Geld für einen Sync Box auszugeben, da mein Anspruch lediglich ein Modul mit mehreren MIDI Ausgängen ist, welche alle eine tighte Clock ausgeben. Kein weiterer Schnickschnack. Herausgekommen is dieses kleine Modul, welches man für ca. 10€ - 15€ aufbauen kann:

IMG_2468.JPG IMG_2467.JPG IMG_2466.JPG
Die MIDI - Clock wird aus den Daten des Audio In abgeleitet. Hierfür wird in Live eine Spur benötigt welche pro Takt 96 kurze Impulse ausgibt. Das Modul generiert dann die MIDI Clock sowie MIDI Start und MIDI Stop Befehle.
Da Projekt wurde mit auf einem STM32F1 Board umgesetzt. Es lässt sich jedoch sogst wie mit jedem anderen Mikrocontroller realisieren. Falls jemand Interesse hat, stelle ich gerne noch weitere Details ein.
 
Zuletzt bearbeitet:
Ohja das klingt sehr spannend. Ist das dieses Selbstbaukit? Ist noch ne Box drumherum geplant? Würde das theoretisch auch mit weniger Impulsen gehen?
 
Für mich selbst werden ich noch eine Art Gehäuse basteln. Prinzipiell könnte man auch ein richtiges DIY Kit machen. Um die Elektronik würde ich mich kümmern. Jedoch müsste jemand gefunden werden, der ein Gehäuse gestaltet oder sich mit den entsprechenden Möglichkeiten auskennt.

Das Signal kann auch aus weniger Impulsen gebildet werden, in der vorliegenden Version erzeugt das Modul einen MIDI Clock wenn ein Audio Impuls eingeht. Mann kann das jedoch auch umformen, sodass intern eine eigene Clock erzeugt wird und die Impulse nur das Tempo vorgeben.

Das schöne an der aktuellen Version ist jedoch die Erweiterung auf theoretisch endlos viele MIDI Ausgänge.....
 
wow, geiles projekt!
weitere infos willkommen :) - würdest du deinen code teilen?
ich nehme an, es lässt sich easy mit nem stm32f103 (blue pill) benutzen? hab mit den stm32ern bisher leider wenig erfahrung, aber wollte was ähnliches mit nem teensy realisieren.
tudldu!
 
Hallo, da wäre ich auch sehr am Source Code interessiert! Ist das mit stm32duino realisiert? Oder mit mbed? Oder direkt auf ST HAL / Cube?

Ich habe auch schon öfters darüber nachgedacht, so etwas zu basteln, um Hardware-Digital-Recorder mit MIDI-Geräten zu synchronisieren.
 
Ich habe das Eclipse Projekt auf GitHub geladen. Das ist gerade noch recht rudimentär. Der Quellcode ist auch nicht wirklich kommentiert. Aber man kann sich schon mal ein Bild davon machen. Ich hab das ganze auf einem STM32F103C8 Controller umgesetzt. Es ist aber ein leichtes dies an einen anderen Controller anzupassen. Ich habe das Projekt mit HAL - Library entwickelt. Der eigentliche Quellcode lässt sich aber schnell anpassen, sodass das auch mit dem stm32duino / mit ect. funktionieren sollte.
Die Tage folgt dann auch noch ein Schaltplan und eine Stückliste.

 
Hallo, Sinus Frequency, ein wundervolles Projekt und exakt das, was in unserem Setup fehlt. Wir benutzen die DAW nur als Bandmaschine! Weil MIDI Clock aus dem PC keine Lösung ist, machen wir das zur Zeit mit händisch gestartetem Freerun, was (schon wegen der Audio-Latenzen) kaum genauer als 1/8 ist, und nachher in der DAW gerade gezogen werden muss. Das macht natürlich während der Aufnahme wenig Spaß, da man ja immer (!) neben dem Beat liegt.
Wenn Du einen Schaltplan samt Stückliste veröffentlichen könntest, wäre das eine enorme Hilfe. Ich habe zwar wenig Ahnung von Softwareentwicklung und nur ein wenig mit einem Arduino Uno herumexperimentiert, doch mein Modular-Spezi programmiert gerne das eine oder andere Tool... der wird den Souce Code schon verstehen ;-)
Im voraus schon einmal vielen, vielen Dank
barry
 
ein kit wäre mega. gehäuse bräucht ich garkeins. im grunde würds schon der gesamte logikpart als kitversion tun (mit dem coding kenn ich mich 0 aus) den rest rundherum organisieren und die löterei sind eh peanuts.
 
Moin, schon ein etwas älterer Thread. Gibt’s hier News? Was ist das für ein IC und wozu ist er gut? DA Wandler?
Das kann man ja super in ein Modul packen und dann entweder vom Modularsystem aus syncen oder eben aus Live. Top. Vielen Dank :)

edit: nice sogar für make :)
 
Zuletzt bearbeitet:
Ja. es gibt hier tatsächlich News ?

Ich war nicht ganz untätig und denke, dass ich demnächst ein Kit anbieten kann. Ich hab in den letzten Wochen eine kleine Leiterplatte entwickelt. Diese werde ich dann demnächst in die Produktion geben und mal ein paar Prototypen bestücken lassen. Es werden dann alle Bauteile bestück, außer den MIDI-, Audio- und Stromversorgungsbuchsen. Werde dann auch noch ein einfaches Gehäuse designen, welches man sich dann irgendwo drucken lassen kann.

Die Software ist aktuell noch sehr rudimentär, erfüllt aber ihren Zweck. Ich hatte bei meinem Prototypen zuletzt ein paar Probleme. ( bis dahin fast ein drei viertel Jahr ohne Probleme ). Denke die Hardware hat durch das ganze experimentieren wahrscheinlich mal einen abgekriegt. Die neue Version ist auch unempfindlicher was ESD Störungen angeht. Vielleicht lag es auch daran.

Nichtsdestotrotz werde ich noch einen zweiten Modus einbauen, welcher das eigehende Signal analysiert und eine eigene (synchronisierte) Clock ausgibt. Das wäre dann unempfindlich gegenüber Störungen aud dem Audioinput.

Zeitlich sollte ich dann Anfang Januar soweit sein.
 
wow, sehr cool.
leider konnte ich keinen entsprechenden mcu mehr finden, höchstens clones mit anderem prozessor. habe keine ahnung wie man das auf nen arduino oder teensy portiert bzw was dann geändert werden muss :sad:
ich frage mal ganz doof. momentan bekommt das teil nen klicktrack so wie z.b. aus cv tools aus live also einfach 24 oder 96 ppq als audio und generiert daraus midiclock. das ist schonmal echt nice. überlege ob das auch für anfänger nachvollziehbar ist, wie die daten erzeugt werden und ob man einfach zusätzlich 16tel pulse a 30ms und max 5v rausschicken kann um dinge im modularsystem zu syncen. will ungern pamelas new workout kaufen, naja wollen schon aber habe das geld nicht dafür. habe bereits ein paar andere lösngen auf arduinobasis getestet die gut sind aber trotzdem weniger stabil als z.b. mein analog 4 der sicherlich nicht schlecht ist aber nicht ideal oder es wurden keine start / stop befehle integriert.
machst Du das mit dem gleichen MCU? Habe den nicht gefunden.
LG
Jens
 
live also einfach 24 oder 96 ppq als audio und generiert daraus midiclock.
genau. In der aktuellen Version ist das auch wirklich ein zu eins umgesetzt. Click kommt, löst Interrupt aus, sendet MIDI Clock. Da sonst nichts weiter auf dem Mikrocontroller läuft, funktioniert dies auch mit minimalster Latenz. Der Versatz durch den Mikronctronller ist hierbei vernachlässigbar. Muss mal die echten Messerte mit dem Logicanalyser erfassen)
16tel pulse a 30ms und max 5v rausschicken

Prinzipiell lässt sich das Modul problemlos erweitern. Es sind noch etliche GPIO der MCU frei. Diese könnten dafür verwendet verwendet werden. Die Anpssung hierfür wäre sehr einfach und sollte von jedem verstanden werden, der Lust drauf hat. Das Design ist zwar schon fertig. Werde aber nochmal ein paar GPIOs auf einen Header legen, dann kann mal das Problemslos erweitern. Es ist auch noch eine UART als Addon auf Headern, sodass auch deutlich umfangreichere Erweiterungen einbauen kann. zB ein Display oder zusätzliche Bedienelemente.
Die Basis des Projekts ist das STM32 Bluepill Board (gibt es auf ebay für ein paar Euro). Mein Design basiert auf diesem Board und wurde dann erweitert.
 
Generiert denn Dein Modul auch diese Spur? Das wäre ja essentiell. Oder lieferst Du ein Audiofile, das man dann importieren kann?
Im Moment benutze ich ein ein Takt MIDI File welches einen beliebigen Sampler ansteuert. In diesem Sample wird dann ein Rechteckimpuls getriggert, welcher dann ausgegeben wird.

Ich habe schon länger vor mich in Juce mal einzuarbeiten. Dann wird es hierfür auch ein Plugin geben. Wird aber noch ein bisschen dauer. Ich hab gerade einige Baustellen....
 
Zuletzt bearbeitet:
Schönes Projekt! Wenns soweit ist wäre ich auch an einem Kit interessiert.

Grüße ?
 
@Sinus Frequency
Ich weiß nicht, ob du es schon mitbekommen hast, eine extra Hardware ist neurdings nicht mehr wirklich nötig, um dein Ziel zu erreichen.
Im neuen Ableton Live 11 gibt es jetzt eine Tempo Follower Funktion, mit der Live 11 das Tempo und den Sync von einem externen Audio Eingang ableiten kann.
 
Für Leute ohne PC ist diese sehr günstige Sync-Box natürlich nach wie vor sehr interessant. Natürlich gibts die teuren Varianten zu kaufen. Stehe z.B. gerade vor dem praktischen Problem meine 0-Ctrl, Elektron Cycles, 808 und 909 zu syncen. Und das möglichst einfach mit einer Kiste.
 
Im Moment benutze ich ein ein Takt MIDI File welches einen beliebigen Sampler ansteuert. In diesem Sample wird dann ein Rechteckimpuls getriggert, welcher dann ausgegeben wird.

Ich hae schon länger vor mich in Juce mal einzuarbeiten. Dann wird es herfür ein Plugin auch ein Plugin geben. Wird aber noch ein bisschen dauer. Ich hab gerade einige Baustellen....

Hier bekommt man diese Audio Impulse Files von TipTop Audio
 
genau. In der aktuellen Version ist das auch wirklich ein zu eins umgesetzt. Click kommt, löst Interrupt aus, sendet MIDI Clock. Da sonst nichts weiter auf dem Mikrocontroller läuft, funktioniert dies auch mit minimalster Latenz. Der Versatz durch den Mikronctronller ist hierbei vernachlässigbar. Muss mal die echten Messerte mit dem Logicanalyser erfassen)


Prinzipiell lässt sich das Modul problemlos erweitern. Es sind noch etliche GPIO der MCU frei. Diese könnten dafür verwendet verwendet werden. Die Anpssung hierfür wäre sehr einfach und sollte von jedem verstanden werden, der Lust drauf hat. Das Design ist zwar schon fertig. Werde aber nochmal ein paar GPIOs auf einen Header legen, dann kann mal das Problemslos erweitern. Es ist auch noch eine UART als Addon auf Headern, sodass auch deutlich umfangreichere Erweiterungen einbauen kann. zB ein Display oder zusätzliche Bedienelemente.
Die Basis des Projekts ist das STM32 Bluepill Board (gibt es auf ebay für ein paar Euro). Mein Design basiert auf diesem Board und wurde dann erweitert.
Kannst Du den mal verlinken? Finde nur blue pills mit anderem Chip. Bin leider nicht fit genug um zu wissen wie man sowas auf Arduino oder Teensy ändert.
Habe mittlerweile ALM PAM und ziehe hinten die Clock an den Ausgängen aber baue gerade ne tragbare Modulargroovebox und das wäre ideal da sowohl sync mit DAW als auch über einfachen 555 möglich sein müsste. Kenne mich nur bedingt aus aber vermute, dass man den Start Stop Bytes dann einfach ein Gate an / aus an einem anderen GPIO zuweisen kann wenn man din sync haben will und die signale mit nem clock divider entsprechend weiterverwerten könnte. Solltest Du das nicht als kommerzielles Projekt / Produkt planen, könntest Du nen Schaltplan posten um zu wissen was das für ein IC ist bzw wie dieser verschaltet wird? LG Jens
 
Für den ACME gibts ja so ein nettes Plugin, welches den Audio-Impuls generiert, nach dem sich die Clock des ACME dann richtet.
Vielleicht kann man das ja auch für dein Modul verwenden. Ist kostenlos, soweit ich weiß.
 
Bei den Bluepills scheinen unbrauchbare Fälschungen im Umlauf zu sein. Das abgebildetet Board sieht genauso aus....


generell scheint es Probleme mit dem IC (STM32F103C8T6) zu geben. Wollte gerade die Platinen bestellen und die MCU kostet jetzt 400% mehr als noch vor ein paar Wochen. Bei Mouser ist er auch nicht mehr lieferbar. Mal schauen ob ich auf einen anderen ausweichen kann. Aktuell kostet die MCU soviel wie alle anderen Bauteile zusammen, das macht so eigentlich keinen Sinn. Werde jetzt nochmal bei ST nachfragen und falls es sich abzeichent, dass es dauerhauft Probleme gibt, kommt eine andere MCU rein....
 
Ja, habe auch geguckt und es scheinen nur ein paar Restbestände im Umlauf zu sein.
Habe derweil die Clock von Pams new workout am Modul über Optokoppler abgegriffen und von dort aus verteilt.
Wäre trotzdem cool, wenn das Projekt nicht stirbt. Glaube das wäre für viele ein wahrer Segen denn ne Multiclock kann sich wohl kaum einer leisten.
Mit 3,5 TRS statt Din und ein paar Stiftleisten auf der Platine könnte man das sicherlich auch ideal in ein Modularsystem integrieren.
Hast Du die Clock mal ausgemessen? Mit 96 ppq ist die ja vermutlich recht genau. Schickst Du "nur" die Impulse oder auch Transport zur Platine oder generierst Du bei jedem stoppen und starten ein entsprechendes Byte in der Midi Clock?
Ich takte Pam auch nicht mehr über CV Tools sondern ein Pulssample in Simpler. Der Vorteil ist, dass sich damit sogar der Offset regeln lässt. Swing habe ich bisher nicht ausprobiert. Bin gespannt wie es hier weiter geht. Kann man hier irgendwo automatische Benachrichtigung anschalten?
 
Die Prototyp Platinen sind jetzt in der Fertigung bzw werden bestückt. Ich werde jetzt erstmal mit einer kleineren MCU arbeiten. Ist aber pinkompatibel und hat lediglich wengier Flash bzw RAM. Sollte für die Zwecke volkommen ausreichen. Wenn der Prototyp soweit funktioniert, werde ich auch die Schaltpläne veröffentlichen. Der Plan ist, dass ich dann immer ein paar Platinen auf Lager habe, falls interesse besteht. Kann die relativ preiswert in kleinen Batches fertigen lassen.
 
Der Prototyp scheint soweit zu funktionieren (bis auf ein paar Kleinigkeiten, welche sich aber mit dem Lötkolben korrigieren ließen)

IMG_642711.JPG

Software habe ich noch ein bisschen angepasst und ist aktuell sehr simpel gehalten. Ich habe für den Prototyp einen STM32F103C4 verwendet. Der hat doch recht wenig Speicher, da muss man sich auf das wesentliche beschränken. Hoffentlich ist die angedachte MCU bald wieder verfügbar. Dann kann man die Funktionalität noch erweitern. Aktuell startet die MIDIClock bei Eintreffen des ersten Audioimpulses und stoppt sobald diese ausbleiben. Nicht mehr, nicht weniger......

 


News

Zurück
Oben