Hallo Forum, ich bin mittlerweile ein langer Freund diese Forums habe aber noch nie selber einen Beitrag geschrieben, was sich hiermit jetzt ändert. Im Ramen dessen möchte ich auch einfach mal danke sagen an alle hier Aktiven Nutzer die sich immer wieder die Zeit nehmen sich mit einem Thema auseinander zu setzen zu helfen und auch die ruhe haben neu Anfängern ein Thema zu erklären. Danke dafür. Ich möchte in diesem Beitrag gerne mein Projekt vorstellen und würde mich freuen eure Meinung dazu zu hören und Verbesserungen zu finden. Mir ist bewusst das ich damit folgenden Beitrag teilweise wieder mit aufgreife, denke aber das dieses Projekt verschieden genug für einen eigenen Beitrag ist. Beitrag "Facharbeit: Eigenbau eines MidiControllers" Ich plane und arbeite nun seit einem Gutem Jahr an der Idee von einem eigenen Midi DAW Controller, in meinem fall für Logic Pro X. Im rahmen dessen habe ich bereits viel gelernt was das Thema Mikrocontroller angeht, insbesondere die Arduino reihe da sie für das einfache Testen und gucken was möglich ist nunmal gut geeignet und günstig ist. Nun zu den Details meines Projekts: Wie oben schon gesagt soll es ein Midi Controller zum Steuern von DAWs werden. Insgesamt soll er ähnlich wie ein Mischpult werden mit Channelstrips. Jeder Channelstrip soll in etwa folgende dinge haben(offen für Änderungen): -1xMotor Fader -3xPoti(eventuell auch encoder) -1xTaster mit LED -1xLED(für Clipping o.ä.) Dabei ist meine Idee für jeden Channelstrip einen microcontroller(z.B. Arduino Nano) zu nutzen und dann alle über einen Master Controller an den PC zu verbinden. Somit wäre das ganze system bis zu einem gewissem maß modular, natürlich begrenz durch Latenzen... Was die Verbindung angeht habe ich bereits überlegt und getestet das mit I2C zu realisieren bin aber momentan dabei SPI für meine zwecke genauer zu verstehen da SPI eine wesentlich höhere Übertragungsrate erreichen kann. Der Fader: Den Fader habe ich an und für sich am laufen. Zm testen habe ich momentan folgenden Fader: https://www.alps.com/prod/info/E/HTML/Potentiometer/SlidePotentiometers/RSN1M/RSA0N11M9A0J.html Das auslesen des Faders habe ich problemlos hinbekommen. Das steuern des Motors und das damit verbundene kontrollieren wo der Fader hin soll war dann schon etwas schwerer. Da dieser Fader einen DC Motor hat habe ich zum L298N gegriffen damit ich den Motor vernünftig steuern kann. Nach einigen tests hatte ich das auch am laufen. Für die Steuerung nutze ich einen Wertebereich von 0-255 auch wenn Midi nur 0-127 kann. ich erhoffe mir davon eine genauere und kotrollierte Ansteuerung der Position. Den Motor in die richtige Richtung zu bewegen ist ja einfach aber ihn dann an einer bestimmten stelle zum stoppen zu bringen hat mich auch wieder zeit gekostet und muss auch immer noch verbessert werden. Anmerkung:Den L298N kann man über PWM steuern. Zu beginn habe ich einfach die Distanz zum Zielpunkt berechnet und dann einfach 4 Geschwindigkeitsbereiche bestimmt, bei welchen dann einfach der motor, um so näher er ist langsamer gestellt wird. Das war allerdings sehr ruckelig. Meine Aktuelle Lösung ist die Geschwindigkeit mit folgender Funktion zu bestimmen: -e^((-x)/10)*200+255 Wobei x die Distanz zum Zielpunkt ist. Allerdings werde ich dadran auch noch weiter arbeiten da mit eine Toleranz von +-5 bei einem Wertebereich von 0-255 eigentlich noch zu grob ist. Den Touchsense habe ich übrigens auch am laufen womit sich dann eindeutig sagen lässt ob eine Änderung am fader vom user oder von der daw vorgenommen wird oder werden soll. Aber das muss erstmal waren. Poti und Taster abfragen sowie LEDs ansteuern brauche ich glaube ich nicht weiter zu erklären. Nun zu meiner Aktuellen Baustelle: Verbindung der Mikrocontroller und Kommunikations weise: Wie schon gesagt habe ich bereits mit I2C getestet. Was an sich auch funktioniert. Da ich aber gerne Latenzmäßig etwas mehr Luft nach oben haben würde versuche ich das ganze mit SPI zu machen. Der jetzige Ansatz ist, das alle Slaves/Channelstrips vom Master im loop abgefragt werden. Dabei Kriegt der Master alle Informationen für jeden Slave von der DAW und Speicher diese. Dann schickt er jedem Slave das Komplette Paket zu(8-10 Byte) Was die Taster-LED bzw. Taster State angeht hat der der Controller die Priorität über der DAW. Beim Fader kann durch den Touchsense geprüft werden ob gerade ein user input statt findet, welcher natürlich Priorität hat, oder ob der wert von der DAW auf den Fader geschrieben wird. Dann antwortet der Slave mit einem Gesamten Datenpaket seinen Status inklusive eines bool Werts welcher angibt ob der wert auf den fader geschrieben wurde oder eine Änderung vom user vorgenommen wurde, welche dann in die DAW geschrieben wird. Da ich mich mit SPI noch etwas schwer tue ist der letzte block bis jetzt nur Theorie und es würde mich sehr freuen wenn ich besonders dazu ein paar Meinungen und/oder Verbesserungenvorschläge bekomme. Grundsätzlich freue ich mich aber über jede Meinung und jeden Verbesserungsvorschlag Vielen dank für euer Interesse Jonathan
Jonathan P. schrieb: > Für die Steuerung nutze ich einen Wertebereich von 0-255 auch wenn Midi > nur 0-127 kann. ich erhoffe mir davon eine genauere und kotrollierte > Ansteuerung der Position. Midi kennt neben 7 Bit auch eine 14-Bit-Betriebsart (NRPN), das ist insbesondere dann interessant, wenn man so ein Midi-Gerät zur Steuerung von Nicht-Midi-Anwendungen nutzen möchte. Die Photobearbeitungssoftware Lightroom lässt sich über eine (open-source-) Anwendung namens Midi2LR steuern, und die profitiert von feiner aufgelösten Eingaben. https://github.com/rsjaffe/MIDI2LR/wiki/MIDI-Controller-Setup#controllers-that-send-relative-values-or-have-unusual-ranges Hast Du eine günstige Bezugsquelle für Motorfader?
ja ok das wusste ich noch nicht wobei 14-bit dann zwar mit einem Arduino machbar sind aber halt blöd ist weil man das hoch mappen muss da die ADCs ja nur 10-Bit sind. Planst du sowas für Lightroom zu bauen? Weil ich arbeite zwar auch recht viel mit Lightroom aber habe bis jetzt keine Notwendigkeit oder nutzen für solch einen Controller gesehen. Vielleicht bedingt dadurch das ich Primär unterwegs damit arbeite. Bei Logic oder Cubase wüsste ich leider nicht das die 14 Bit können. Nein ich habe leider keine günstige Bezugsquelle für die Motorfader. Unter 20€/stk komme ich da auch nicht weg. Aber das ist unter anderem der Grund dafür das ich das ganze Modular erweiterbar bauen will. Dann kann ich, wenn ich mal wieder geld habe so 2 Channelstrips dazu packen und aufhören wenn es mir reicht. Einbautechnisch will ich das ganze entweder in nen 19" bauen oder einfach in einen alten Schreibtisch das ganze einlassen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.