Anzeige (gesponsorter Beitrag)
geschrieben von Alex Wong, Digilent
Die Möglichkeit, Datenerfassung, FPGAs, Prüfgeräte und Sensoren zu kombinieren, bietet Ingenieuren neue Ansätze zur Entwicklung von Lösungen für eine Vielzahl von Anwendungen. Eine dieser Applikationen ist ein kabelloser MIDI-Controller.
Abbildung 1: MIDI-Controller sind ein fester Bestandteil der modernen elektronischen Musik, und die Erstellung eines eigenen Controllers kann sehr aufwendig sein. Abbildung mit freundlicher Genehmi-gung von Digilent.
Dieser Artikel stellt ein innovatives Beispiel für den Bau eines solchen Controllers vor, und beschreibt detailliert die erforderliche Hard- und Software und bietet Links zu weiteren Details der Schaltung und der Implementierung.
MIDI-Controller
Wie viele von Ihnen vielleicht wissen, ist ein MIDI-Controller ein Gerät zur Erzeugung elektronischer Musik. MIDI-Controller von der Stange sind aufgrund ihrer Leistungsfähigkeit und des damit verbundenen Aufwands in der Regel recht teuer.
Der Bau eines eigenen, anpassbaren MIDI-Controllers kann jedoch eine lohnenswerte Alternative sein und genauso leistungsstarke Funktionen bieten. Ein innovativer Entwicklungsansatz für einen selbstdefinierten, kabellosen MIDI-Controller kombiniert ein Test- und Messgerät mit einem PC, physischen Bedienungselementen und einigen passiven elektronischen Komponenten.
MIDI und DAW
MIDI bezieht sich auf einen technischen Standard mit Vorgaben zur Unterstützung der elektronischen Musikproduktion. MIDI-Controller senden Befehle an Geräte (einschließlich Instrumente) oder an eine spezialisierte Software. BandLab (kostenlos) und Serato etwa sind häufig verwendete Softwarepakete für DAWs (Digital Audio Workstations). Die vom MIDI-Controller gesendeten Befehle enthalten die Daten, die von der DAW benötigt werden, um einen Sound zu erzeugen oder einen Effekt anzuwenden.
Eines der Probleme bei der Verwendung von MIDI-Controllern mit DAW ist die Art der benötigten Gerätestecker – und die meisten Laptops verfügen nicht über einen MIDI-Anschluss. Für ein Projekt wie dieses kann zwar ein MIDI-Anschluss in die Prototypplatine integriert werden. Viel effizienter ist es jedoch, MIDI-Befehle drahtlos über Wi-Fi oder über Ethernet zu senden. Dazu notwendig ist das Netzwerkprotokoll RTP-MIDI (Real-time Transfer Protocol) zu einem Empfänger. Die DAW-Software empfängt die MIDI-Befehle und erzeugt dann das gewünschte Audiosignal.
Maßgeschneiderter MIDI-Controller
Im hier vorgestellten Ansatz erhält ein Test- und Messgerät (beispielsweise ein tragbares Mixed-Signal-Oszilloskop) Daten von Hardware-Benutzerschnittstellenelementen (z. B. Taster, Schieberegler, Schalter, piezoelektrische Pads) auf einer mit einem FPGA-Entwicklungsboard verbundenen Platine. Anschließend werden die Daten in MIDI-Befehle umgewandelt, die über RTP-MIDI an ein Instrument oder System mit installierter DAW übertragen werden. Sobald das Instrument oder System die Daten empfangen hat, setzt die DAW-Software diese Befehle um und erzeugt den gewünschten Ton.
Was diesen Ansatz zur Erstellung eines MIDI-Controllers von anderen unterscheidet, ist (1) die Verwendung eines Test- und Messinstruments zur Verarbeitung der Steuerdaten und (2) die Vermeidung von Problemen bei der Auswahl eines MIDI-Anschlusses durch den Einsatz von RTP-MIDI.
Warum einen individuellen MIDI-Controller bauen?
Beim Entwurf oder der Entwicklung eines kundenspezifischen MIDI-Controllers müssen mehrere Faktoren gegeneinander abgewogen werden. Die Kosten, der Zeitaufwand für den Prototyp und den Zusammenbau sowie die Anpassbarkeit an Kundenwünsche sind drei traditionelle Aspekte, die alle Ingenieure schon früh im Lebenszyklus eines Projekts berücksichtigen sollten. Folgt man dem in diesem Artikel beschriebenen Aufbau, kostet dieser spezielle MIDI-Controller wahrscheinlich über 1.000 Dollar (circa 920 Euro). Dies entspricht in etwa dem Preis der in Tonstudios verwendeten Geräte. Viele andere MIDI-Controller sind im Internet für 200 Dollar (circa 185 Euro) oder weniger erhältlich und werden montiert geliefert. Welche Vorteile gegenüber anderen Geräten besitzt also dieser Controller?
Beim Schreiben von kundenspezifischer Software haben Entwickler die vollständige Kontrolle über den MIDI-Controller, was beim Kauf eines fertigen Gerätes im Internet einfach nicht möglich ist. Außerdem bietet ein maßgeschneidertes Produkt eine große Flexibilität: Ein Arty S7 kann zum Beispiel so umkonfiguriert werden, dass es etwas völlig anderes macht, und das Oszilloskop Analog Discovery Pro ADP3250 kann eine breite Palette von Systemen analysieren. Es ist sowohl ein Spannungsmesser und Datenlogger, als auch ein Netzwerk-, Protokoll-, Impedanz-, Spektrum- und Logikanalysator. Das hochauflösende ADP3250-Digitaloszilloskop ist zudem eine Stromversorgung und ein Signal- und Patterngenerator.
Ein weiteres unschätzbares Ergebnis der Arbeit an diesem Produkt ist ein besseres Verständnis der MIDI-Technologie und der MIDI-Controller-Systeme im Allgemeinen. Robustere, anpassbare Ökosysteme sind nur dann möglich, wenn die Entwickler die Besonderheiten der verschiedenen Untersysteme kennen. Die Erstellung eines benutzerdefinierten MIDI-Controllers ist für viele Ingenieure ein erster Schritt, um sich von Konzepten von der Stange zu trennen und das Innenleben dieses Untersystems wirklich zu verstehen. Dieses Wissen lässt sich leicht weiterverwenden und auf andere, komplexere und noch stärker individualisierte Projekte übertragen.
Bau eines MIDI-Controllers
Zunächst benötigen Sie die folgende Hardware:
• ein tragbares hochauflösendes Mixed-Signal-Oszilloskop,
• ein FPGA-Entwicklungsboard für das Prototyping,
• Hardwarebedienelemente (wie Tasten, Schalter, Schieberegler, LEDs),
• passive elektronische Komponenten.
Der zur Diskussion stehende Entwurf unterstützt drei Steuersignale über die Hardwarekomponenten der Benutzerschnittstellen. Diese Steuerungen sind für
• sich langsam ändernde analoge Signale,
• sich schnell ändernde analoge Signale,
• digitale Signale.
Für jede Steuerungsart gibt es Komponenten für die Benutzerschnittstelle sowie die zugehörigen Schaltkreise. Abbildung 2 stellt einen Teil der Treiberschaltung für dieses MIDI-Steuergerät dar.
Abbildung 2: Es sind zwar viele Treiberschaltungen erforderlich, diese sind jedoch nicht übermäßig komplex. Abbildung mit freundlicher Genehmigung von Digilent.
Die spezifischen Elemente der Hardwarebenutzeroberfläche sind:
• Potenziometer und Schieberegler für die Einstellung von sich langsam ändernden Signalen,
• druckempfindliche Pads für die Anpassung der sich schnell ändernden Signale,
• Schalter, Tasten und Drehgeber zur Einstellung digitaler Signale. Die Antwort auf die Frage, warum Hardware-Schnittstellenkomponenten wie Schalter, Tasten und Schieberegler verwendet werden, ist einfach: Viele Benutzer von MIDI-Controllern fühlen sich mit der physischen Interaktion und dem damit verbundenen taktilen Feedback wohler als bei der Bedienung mit einer Maus oder einem Touchscreen. Außerdem ist dies praktikabler, da einige Hersteller qualitativ hochwertige Hardware zu sehr wettbewerbsfähigen Preisen liefern können. Wie eine solche Lösung aussehen kann, veranschaulicht Abbildung 3.
Abbildung 3: Hardwarekomponenten und Schaltkreise sind auf einer kundenspezifischen Leiterplatte angeordnet. Abbildung mit freundlicher Genehmigung von Digilent.
Der für einen MIDI-Controller notwendige Filterblock enthält Tief-, Band- und Hochpassfilter sowie einen Analog-PWM-Wandler für den Lautstärkeregler, die Filter und die inkrementellen Drehgeber zur Einstellung der Anstiegs-, Modulations- und Abklingzeit der Soundeffekte. Der Steuerblock umfasst auch piezoelektrische Drum-Pads.
Für dieses Projekt sind zudem verschiedene Softwarepakete erforderlich, beispielsweise ein Netzwerk-MIDI-Treiber, eine DAW, eine Terminalemulation, ein Programmeditor sowie SPICE zur Simulation und zum Schaltungsentwurf.
Schlussfolgerung: Die Digilent-Lösung
Im Artikel „Building a MIDI Controller with Analog Discovery Pro (ADP3450/3250)“ finden Sie alle Details zu diesem Projekt, inklusive der Softwarekonfiguration und der empfohlenen Board-Designs. Diese Entwicklung kann mit Digilent-Produkten umgesetzt werden, angefangen beim tragbaren hochauflösenden Mixed-Signal-Oszilloskop Analog Discovery Pro (ADP3450/ADP3250). Und eines der besten Entwicklungsboards für diese Anwendung ist das Arty A7 oder das neue Arty-S7-FPGA-Entwicklungsboard (Abbildung 4).
Abbildung 4: Das ARTY S7 ist ein Entwicklungsboard für die Entwicklung einer Reihe von Produkten. Abbildung mit freundlicher Genehmigung von Digilent.
Alle Hardware-Benutzerschnittstellenelemente sind in der Pmod-Serie zu finden, einschließlich des Pmod OD1 für das Open-Drain-MOSFET-Treibermodul und das Pmod SSD für die Siebensegmentanzeigen.
Weiterhin stellt Digilent auch Software zur Verfügung, die zur Konfiguration und Programmierung des Systems benötigt wird, oder informiert über kostenlose oder kostengünstige Quellen. Das FPGA-Entwicklungsboard verwendet zum Beispiel RaveloxMIDI, Python 3, das WaveForms SDK und die Adept Utilities.
Außerdem gibt es unterschiedliche FPGA-Boards, USB-basierte Test- und Messgeräte sowie Datenerfassungs- und Datenprotokollierungsinstrumente. Dazu gehören ihre beliebtesten Entwicklungsplatinen mit FPGAs, die Zybo-Z7- und Arty-A7-Boards, und ihre zuverlässigen, präzisen hochauflösenden Oszilloskope Analog Discovery Pro ADP3450 und ADP3250 sowie das ADP5250. Besuchen Sie digilent.com für Digilents vollständiges Programm von Entwicklungskarten, PC-basierten Testgeräten und DAQ-Tools.
Details und Software zum Projekt
https://digilent.com/reference/test-and-measurement/analog-discovery-pro-3x50/midi