Arduino-fähiges Instrument lehrt digitale Signalverarbeitung

Wie Mitch Altman von TV-B-Gone den ArduTouch Music Synthesizer entwickelt hat.

ArduTouch Music Synthesizer

Wie Mitch Altman von TV-B-Gone den ArduTouch Music Synthesizer entwickelt hat.

Dieses Projekt beinhaltet auf einer einzigen Platine eine Touch-Tastatur, einen ATMega328P (der gleiche Prozessor wie im Arduino Uno) und einen Audioverstärker mit einem Lautsprecher. Es verfügt auch über eine Softwarebibliothek, die als Einstiegspunkt in die Welt der digitalen Signalverarbeitung dienen kann.

Die größte Herausforderung bei der Entwicklung des Boards war die begrenzte Anzahl von Input/Output (I/O)-Pins des ATMega328P. Ich benutzte 12 I/O-Pins für die Touch-Tastatur des Synthesizers, um eine vollständige chromatische Musikskala zu erhalten. Das Keyboard ist wie ein altes Stylophon aufgebaut - ein Analog-Synthesizer aus den späten 1960er Jahren. Zwei weitere I/O-Pins werden für die Ausgabe von Stereoton und zwei Pins für die serielle Kommunikation verwendet (der ArduTouch kann mit der Standard-Arduino-Entwicklungsumgebung programmiert werden, obwohl Sie ein FTDI-Kabel benötigen, um ihn an einen Hostcomputer anzuschließen). Die restlichen I/O-Pins reichen gerade noch für zwei Tasten und zwei Potentiometer, die den Synthesizer steuern.

Damit Bauherren sofort nach dem Zusammenlöten ihres Bausatzes hörbare Ergebnisse erzielen können, habe ich einen LM386-Verstärkerchip und Lautsprecher auf das Board gesteckt. (Der Verstärker wird umgangen, wenn man ihn an die Audioausgangsbuchse anschließt.) Digital-Analog-Wandlerchips sind teuer, also habe wurden sie aus dem ATMega328P kommenden Stereo-Audiokanäle mit Pulsweitenmodulation (PWM) kodiert. Ein Tiefpassfilter für jeden Kanal, bestehend aus je einem Widerstand und einem Kondensator, wandelt das PWM-Signal in Audio um.

Erfahrene Designer werden erkennen, dass die ArduTouch-Hardware einfach ist. Es ist die hochentwickelte Audio-Synthese-Softwarebibliothek, mit der der ATMega328P programmiert wird, die den Kern des Projekts bildet.

Es ist eigentlich ziemlich einfach, einen Mikrocontroller zu bekommen, um grundlegende musikalische Töne zu erzeugen. Es genügt, einen Lautsprecher einfach an einen I/O-Pin anzuschließen und ihn ein- und auszuschalten, um eine Rechteckwelle mit unterschiedlichen Frequenzen auszusenden. Aber das Ergebnis ist ein harter Sound, der weit entfernt ist vom Reichtum eines Moog-Synthesizers.

Um einen besseren Klang zu erhalten, musste man sich der digitalen Musiksynthese zuwenden. Es gibt verschiedene Möglichkeiten, dies zu tun, und der ArduTouch besitzt eine Reihe von Techniken, darunter die Verwendung von Wavetables (mit digitalen Audio-Samples, die im Speicher gespeichert sind) und generativen Methoden (Berechnung von Audio on the fly).

Sobald die grundlegende binäre Darstellung eines Sounds erstellt wurde kommt die Phase der dynamischen Manipulationen. Das ist es, was coole Sounds erzeugt. Der ArduTouch kann viele dynamische Funktionen und Effekte digital anwenden, darunter Tremolo, Vibrato, Portamento, Tiefpass- und Hochpassfilter.

Die Bibliothek ist auf Flexibilität ausgelegt, so dass auch unerfahrene Benutzer die Möglichkeit haben, neue Funktionen zu installieren.

Link: cornfieldelectronics.com/cfe/projects.php