iOS Moog model D. DIY Hardware MIDI Controller

Hallo.
Ich möchte hier gerne ein neues Projekt vorstellen und besprechen.

Seit einiger Zeit begeistere ich mich ziemlich für die iOS App des Moog Model D.

Für diese App werde ich einen Hardware Midi Controller bauen.
Die ersten Tests sind vielversprechend. Leider fehlt es an ausreichender Spezifikation, die ich mir im Laufe des Projektes noch erarbeiten werde.

Ich beginne wie immer mit dem Arduino Mega und einer TX Schnittstelle für die Übertragung der Midi Daten. Als Schnittstelle reicht momentan ein Lightning Usb Adapter am miditech midiface 2x2. Das erspart mir noch die Arbeit am Midi Merge, da die App über zwei Midi Eingänge verfügt und Keyboard und Controller Daten sehr gut simultan abgearbeitet werden können. midiface ist sehr genügsam, was den Stromverbrauch angeht und lässt sich direkt am Lightning to USB Adapter betreiben. System ist iOS 12.1

Die Midi Spezifikation der App gibt mir keinen Aufschluss über den Datenaustausch, Baudrate, Controller Werte für Schalter etc.. Hier gilt es einfach über Versuch und Irrtum Erkenntnisse zu erlangen.

Die Baudrate beträgt 31250. Darunter oder darüber erziele ich keine optimalen Ergebnisse.

Über die CCMap Konfiguration lassen sich Controller zuweisen.

Poti Werte lassen sich gut zwischen 0-127 übertragen.

Die Werte der Schalter muss man jedoch errechnen. Bei den ON/Off Schaltern geht das relativ einfach, da hier nur zwischen zwei Zuständen im Bereich 0-127 unterschieden wird.

Bei den 6-Stufigen OSC Schaltern wird es schon ein wenig schwieriger. Hier muss man die Schalterstellungen und deren Werte ermitteln.

Ich denke an die Möglichkeit, komplett analog zu arbeiten und den jeweiligen Widerstandswert zu ermitteln und im Skript in Controller Werte umzuwandeln. Entweder über Widerstände oder regelbare Widerstände, je nach Schalterstellung. Rein nach Gefühl ist das ein stets teilbarer Wert zwischen 0-127.
Dabei sind dann die z.B. 6-fach Schalter für OSC über Widerstände der entsprechenden Werte geschaltet.
Denkbar wären auch regelbare Widerstände, die bei Veränderung der Spezifikation in der App nachjustiert werden können.

Programmiermäßig ist das für mich kein Thema. Durch mein Projekt mit dem blofeld Controller habe ich ausreichend Erfahrung und das Skript lässt sich auch bei der iOS Model D App anwenden.

Vom Design möchte ich mich gerne an das Original anlehnen. Ähnliche Potiknöpfe habe ich gefunden. Mit den ON/Off Schaltern gestaltet sich das ein wenig schwieriger. Ich werde daher runde einfarbige Schalter nehmen. In den Controller integriere ich die Effect, Arpeggio Module.
 

hairmetal_81

Mitglied in Capt. Obvious' Lambada-Testlabor
Schönes Projekt!
Du könntest dich an den Projekten von synth-project.de (Mario Jurisch) orientieren.
Zum Beispiel einer Mischung aus Minimoog- und Animoog-Controller, siehe Bild.



 

Max

||||||||||
Die Midi Spezifikation der App gibt mir keinen Aufschluss über den Datenaustausch, Baudrate, Controller Werte für Schalter etc.. Hier gilt es einfach über Versuch und Irrtum Erkenntnisse zu erlangen.

Die Baudrate beträgt 31250. Darunter oder darüber erziele ich keine optimalen Ergebnisse..
MIDI überträgt immer mit 31250 Baud, das hat nichts mit der App zu tun.

Ich würde dir empfehlen eine MIDI-Library zu benutzen (gibt mehrere für Arduino), dann musst du dich um solche technischen Details gar nicht kümmern und kannst dich voll auf deine Anwendung konzentrieren.
 

oli

|||||||||||
Hallo.
Ich möchte hier gerne ein neues Projekt vorstellen und besprechen.

Seit einiger Zeit begeistere ich mich ziemlich für die iOS App des Moog Model D.

Für diese App werde ich einen Hardware Midi Controller bauen.
Die ersten Tests sind vielversprechend. Leider fehlt es an ausreichender Spezifikation, die ich mir im Laufe des Projektes noch erarbeiten werde.

Ich beginne wie immer mit dem Arduino Mega und einer TX Schnittstelle für die Übertragung der Midi Daten. Als Schnittstelle reicht momentan ein Lightning Usb Adapter am miditech midiface 2x2. Das erspart mir noch die Arbeit am Midi Merge, da die App über zwei Midi Eingänge verfügt und Keyboard und Controller Daten sehr gut simultan abgearbeitet werden können. midiface ist sehr genügsam, was den Stromverbrauch angeht und lässt sich direkt am Lightning to USB Adapter betreiben. System ist iOS 12.1

Die Midi Spezifikation der App gibt mir keinen Aufschluss über den Datenaustausch, Baudrate, Controller Werte für Schalter etc.. Hier gilt es einfach über Versuch und Irrtum Erkenntnisse zu erlangen.

Die Baudrate beträgt 31250. Darunter oder darüber erziele ich keine optimalen Ergebnisse.

Über die CCMap Konfiguration lassen sich Controller zuweisen.

Poti Werte lassen sich gut zwischen 0-127 übertragen.

Die Werte der Schalter muss man jedoch errechnen. Bei den ON/Off Schaltern geht das relativ einfach, da hier nur zwischen zwei Zuständen im Bereich 0-127 unterschieden wird.

Bei den 6-Stufigen OSC Schaltern wird es schon ein wenig schwieriger. Hier muss man die Schalterstellungen und deren Werte ermitteln.

Ich denke an die Möglichkeit, komplett analog zu arbeiten und den jeweiligen Widerstandswert zu ermitteln und im Skript in Controller Werte umzuwandeln. Entweder über Widerstände oder regelbare Widerstände, je nach Schalterstellung. Rein nach Gefühl ist das ein stets teilbarer Wert zwischen 0-127.
Dabei sind dann die z.B. 6-fach Schalter für OSC über Widerstände der entsprechenden Werte geschaltet.
Denkbar wären auch regelbare Widerstände, die bei Veränderung der Spezifikation in der App nachjustiert werden können.

Programmiermäßig ist das für mich kein Thema. Durch mein Projekt mit dem blofeld Controller habe ich ausreichend Erfahrung und das Skript lässt sich auch bei der iOS Model D App anwenden.

Vom Design möchte ich mich gerne an das Original anlehnen. Ähnliche Potiknöpfe habe ich gefunden. Mit den ON/Off Schaltern gestaltet sich das ein wenig schwieriger. Ich werde daher runde einfarbige Schalter nehmen. In den Controller integriere ich die Effect, Arpeggio Module.
Jo, ich finde auch, dass es ein schönes Projekt ist.
Vielleicht ist es ein wenig zu naiv gedacht, aber würde es vielleicht was bringen, die EntwicklerInnen von Moog anzuschreiben und ihnen diese Fragen zu stellen?
 

oli

|||||||||||
Eine Idee zum Gehäuse:
Im Ulimoog Behringer Thread hatte darkstar679 übrigens ein am Minimoog angelehnten Gehäuse gepostet.
https://www.spillerphoto.com/case-for-arturia-keystep-and-behringer-model-d-and-or-eurorack-modules/
Den Torsten Spiller könnte man vielleicht fragen, ob er auch ein am iPad orientierten Gehäuse entwickeln / bauen würde und was das kosten würde.

Hier auch der Link zum Sequencer-Thread - da gibt es noch ein paar Fotos und Anmerkungen auf den folgenden Seiten, falls dich das interessiert:
https://www.sequencer.de/synthesizer/threads/der-ulimoog-behringer-model-d.121248/page-70#post-1642143
 
Hier sind die CC Werte für die Schalter

OSCILLATOR BANK

6-Stufige Chickenhead Schalter

Range und Waveform

2´ - 115-127

4´ - 90-114

8´ - 64-89

16´ - 39-63

32´ - 15-38

LO - 0-14


Die Übergänge liegen ungenau zwischen 14-15, 38-39 etc..


Alle ON/Off Schalter 0-63/64-127


EFFECTS

ARP

Rate und Pattern

1/4 - 0-22

1/8 - 23-63

1/16 - 64-105

1/32 - 106-127

Octave

1 - 0-32

2 - 33-96

3 - 97-127
 
Ich frage die Schalter analog ab. Je Schalter reicht mir 1 Signal.
Schalter und Potis frage ich über vier 16 Kanal Multiplexer ab.
Ich könnte auch mehrere On/Off Schalter über Widerstände an ein Signal legen.
Dann käme ich mit drei Multiplexer aus, was die Abfragegeschwindigkeit beschleunigt.

Die Idee mit den regelbaren Widerständen ist zu umständlich.
Ich verlöte die 6-Stufigen Schalter mit 220Ohm, lege diese auf 5V und GND und weise die passenden Werte im Skript zu.

Mein Ziel ist es, mit dem ganzen DIY Projekt um 100 Euro zu bleiben.
 
Zu den Schaltern:

Die Chickenhead Knöpfe haben an der Unterseite an der Zeigerspitze eine Bohrung.
Lässt sich dadurch in irgendeiner Form so eine Art Einraster realisieren?
Vielleicht über gefederte Kugeln? Wozu dient diese Bohrung?

Foto am 08.11.18 um 00.20.jpg
 

Max

||||||||||
Wenn du die Bohrung mit der kleinen Schraube unten meinst: die ist nur dafür da, um den Knopf auf dem Poti zu befestigen..

Wenn du "Einraster" willst (z.B. für die Wellenform-Auswahl), würde ich so einen "Drehschalter" (rotary switch) nehmen:

http://alphapotentiometers.net/html/rotary_sw.html

Damit kannst du Kontakte durchschalten und dann einzeln digital auslesen.
 

oli

|||||||||||
Mein Ziel ist es, mit dem ganzen DIY Projekt um 100 Euro zu bleiben.
Interessant!
Der oben verlinkte selbstgebaute Hardwarecontroller für den Moog Model 15 hat angeblich 350 Euro an Material gekostet.
Aber der hat auch ne Menge Drehregler und wahrscheinlich ist das Panel aus Metall und ist auch bedruckt worden?
 
Ich habs geschafft mit dem 6-fach Schater und fünf 220Ohm Widerständen. Schaltet wunderbar.

Interessant!
Der oben verlinkte selbstgebaute Hardwarecontroller für den Moog Model 15 hat angeblich 350 Euro an Material gekostet.
Aber der hat auch ne Menge Drehregler und wahrscheinlich ist das Panel aus Metall und ist auch bedruckt worden?
Bei diesem Model 15 Projekt kostet die Midi und Keyboard Steuerelektronik an die 200 Euro.

Unter 100 Euro werd ich es jetzt tatsächlich nicht mehr schaffen.
Ich bau mir die Elektronik selbst. Die Multiplexer und der Atmega 6560 liegen unter 30 Euro. Die Potis und Schalter sind nicht sehr hochwertig und liegen bei 25 Euro. Teuer waren jetzt aber die Potiknöpfe, die das Budget um 30 Euro erhöht haben. Ich habe ein Midikeyboard mit defekter Elektronik für 10 Euro ersteigert. Das Midiface ebenfalls für 10 Euro. Die Platte lass ich im Fotoservice drucken, dann noch das Gehäuse. Schätze mal, das ich ca.150 Euro ausgebe.
 
Ran an die Arbeit.
Erster Schritt. Es steht jede Menge Lötarbeit an. Ich verlöte zuerst die 6-fach Stufenschalter. Insgesamt 9 Stück.

Und so sieht der Schalter aus.

Schaltet alle 6 Stufen in den Bereichen Range und Waveform.


95EC1E44-EC1A-416F-8A6C-8CE062812319.jpeg
 

microbug

*****
Du wertest das also analog aus statt digital? Kann kann man auch machen, spart Portleitungen, darfst nur die Werte nicht auf den Punkt, sondern als Bereiche auswerten, Stichwort Bauteiltoleranzen. Oder Metallfilm-Widerstände mit 1% Toleranz statt der üblichen mit 5% nehmen.
 
microbug: Ja. Ich habe es noch nicht ausgerechnet, grob sind es 3x 16 Ports weniger durch analoge Abfrage. Digital mit Matrix scheue ich.

Die Widerstände sind mit 1% Toleranz. Die model D App bietet zusätzlich Spielraum. Die Werte der Schalter liegen glücklicherweise in diesen Bereichen. Abweichungen ließen sich mit geringem Aufwand korrigieren.
 
Schönes Projekt!
Du könntest dich an den Projekten von synth-project.de (Mario Jurisch) orientieren.
Zum Beispiel einer Mischung aus Minimoog- und Animoog-Controller, siehe Bild.




Danke. Die Arbeiten von Synth-project.de haben mir immer schon sehr gut gefallen und waren auch Motivation mal selbst was zu basteln. Die Materialien und die Verarbeitung sind einfach Spitze. An diese Qualität werde ich mit meinen bescheidenen Mitteln und Kenntnissen natürlich nicht herankommen.

Mein Projekt ist ja eher auch für DIY im Rahmen bis 150.- Euro.
Die Idee, einer Anlehnung an diese Modelle finde ich trotzdem sehr gut.

Der Prototyp, so habe ich mich heute entschieden ist zuerst einmal der reine Controller in einem Holzgehäuse mit den Schnittstellen zum Masterkeyboard und iPad.
 

Max

||||||||||
Digital mit Matrix scheue ich.
Wenn man mehr digitale Ports braucht, sind auch "IO Expander" ganz nützlich, z.B. Microchip MCP23x17. Kostet ca. 1 € das Stück und hab ich schon oft ohne Probleme über SPI benutzt.

EDIT: gerade nochmal nachgeschaut, die SPI-Variante heißt MCP23S17, über I2C dann MCP23017
 
Zuletzt bearbeitet:

microbug

*****
Wenn man mehr digitale Ports braucht, sind auch "IO Expander" ganz nützlich, z.B. Microchip MCP2307. Kostet ca. 1 € das Stück und hab ich schon oft ohne Probleme über SPI benutzt.
Dürfte auch zuverlässiger funktionieren als das Geüssel mit den Widerständen, mal ab vom Lötaufwand und der Bereichsabfrage.
Analoge Abfragen sollte man eigentlich nur dort nutzen, wo unbedingt notwendig.
 
Update:
Das Design ist soweit im Prototyp fertig. Ausfräsen, bohren, Schalter und Potis einbauen, verlöten und die Software schreiben. Ich freu mich und kann es kaum erwarten.

CBC3E012-D0D9-469F-8744-32105A4D530C.jpeg
 

stuartm

musicus otiosus
Tolle Projekt :supi:
Kannst du ein wenig mehr zur Herstellung der Frontplatte erzählen? Die sieht nämlich verdammt gut aus!
 
Danke. Die Frontplatte ist ein JPG auf Dibond Druck von einem online Fotoservice.
Beschriftung und Skalen habe ich mit easysdraw am Macbook erstellt.
Das Bohren und Fräsen ist mir mangels gutem Werkzeug schwer gefallen und ich habe auf der Platte einige Kratzer hinterlassen. Beim nächsten Projekt muss ich das unbedingt vermeiden.
 
Stuartm, ja kenne ich aus einigen Berichten und die Qualität ist gewiss hervorragend.

Mein ursprüngliches Ziel war, unter 100.- Euro zu bleiben. Ich bin jetzt mit allem bei 160.- Euro.
In Sachen Materialbearbeitung muss ich mich einfach noch schlauer machen.
 


News

Oben