Wie der Autor von TV-B-Gone den ArduTouch-Musiksynthesizer hergestellt hat

Arduino-kompatibles Trainingsinstrument für die digitale Signalverarbeitung




Ein Artikel von Mitch Altman, dem Erfinder, der die Universalfernbedienung zum Ausschalten von TV-B-Gone-Fernsehern erfunden hat, und Organisator von Hacker-Konferenzen

Als Kind fühlte ich mich zur Musik hingezogen und war beeindruckt von den Klängen des Moog-Synthesizers aus dem Album Switched-On Bach von 1968. Ich musste lernen, wie man solche Geräusche macht! So begann die Ausbildung und Herstellung von lebenslangen Synthesizern parallel zu meinem Einstieg in die Technologiebranche , wo ich schließlich TV-B-Gone entwickelte , ein Gerät, mit dem Sie fast alle ferngesteuerten Fernseher ausschalten können. Seit ich TV-B-Gone populär geworden bin, habe ich viele Kits für lustige Outdoor-Geräte hergestellt, die ich auf DIY-Konferenzen auf der ganzen Welt präsentiere. Auf ihnen lernen Anfänger zu löten, machen sich auf den Weg in die Welt der Elektronik und Mikrocontroller. Ich erinnerte mich an meine Jugend und wollte ihnen ein Set zur Verfügung stellen, das einfach zu montieren und zu verwenden ist, aber gleichzeitig ein vollwertiger Musiksynthesizer ist.

So entstand ArduTouch im Wert von 30 US-Dollar. Dieses Projekt umfasst eine Karte, eine Touch-Tastatur, ATMega328P (denselben Prozessor, der auch in Arduino Uno verwendet wird) und einen Audioverstärker mit Lautsprecher. Es verfügt auch über eine Softwarebibliothek, die als Einstiegspunkt in die Welt der digitalen Signalverarbeitung dienen kann.

Die größte Schwierigkeit bei der Entwicklung des Boards war die begrenzte Anzahl von E / A-Pins auf ATMega328P. Ich habe 12 Pins für die Tastatur verwendet, um die gesamte chromatische Musikskala als Ganzes zu realisieren. Die Tastatur ähnelt dem Stylophon - einem meiner bevorzugten analogen Synthesizer der späten 1960er Jahre - und verwendet einen kapazitiven Sensor zur Erkennung. Zwei weitere Pins werden für die Stereo-Tonausgabe und die anderen beiden für die serielle Datenübertragung verwendet (ArduTouch kann mit Standard-Entwicklungstools für Arduino programmiert werden, obwohl für die Verbindung mit einem Computer ein FTDI-Kabel erforderlich ist). Die restlichen Kontakte reichten gerade für zwei Tasten und zwei Potentiometer, die den Synthesizer steuern.

Damit eine Person nach dem Löten sofort hörbare Ergebnisse erzielen kann, habe ich den LM386-Verstärkerchip und den Lautsprecher auf die Platine gelegt (der Verstärker umgeht beim Anschließen einer Audiobuchse). DAC-Chips sind teuer, daher habe ich die Stereo-Audiokanäle des ATMega328P mithilfe der Pulsweitenmodulation codiert. Tiefpassfilter für jeden Kanal, bestehend aus einem Widerstand und einem Kondensator, wandeln PWM in Audio um.

Erfahrene Elektronikingenieure werden verstehen, dass die ArduTouch-Schaltung einfach ist. Grundlage des Projekts ist eine hochentwickelte Audiosynthese-Softwarebibliothek, mit der ATMega328P programmiert wird.

Es ist ziemlich einfach, den Mikrocontroller dazu zu bringen, die einfachsten Noten auszugeben. Schließen Sie einfach den Lautsprecher an die Kontakte an und schalten Sie abwechselnd ein und aus, um eine Rechteckwelle mit verschiedenen Frequenzen zu senden (diese Technologie wurde von Alan Turing selbst im Manchester Mark II- Computer verwendet). Das Ergebnis ist jedoch ein scharfer Klang, weit entfernt von der reichen Palette des Moog-Synthesizers.

Um den Klang zu verbessern, musste ich mich digitalen Synthesizern zuwenden. Sie beschäftigen sich mit der Erstellung binärer Darstellungen von Audiowellen, ihrer Verzerrung und der Umwandlung dieser Zahlen in analoge Signale. Dies kann auf viele verschiedene Arten geschehen, und ich freue mich, dass ArduTouch viele verschiedene Techniken unterstützt, einschließlich der Verwendung von Wellentabellen (unter Verwendung von im Speicher gespeicherten Samples) und der Erzeugung von Sounds (Audio im laufenden Betrieb zählen).

Nachdem wir die grundlegenden binären Darstellungen des Klangs erstellt haben, wenden wir uns der kritischen Phase seiner „Verzerrung“ zu. Wenn Sie nicht mit dem Sound spielen, stellt sich heraus, dass er normalerweise dünn und steril ist. Nach dynamischer Manipulation werden kühle Sounds erhalten. ArduTouch kann viele digitale dynamische Funktionen und Effekte anwenden, darunter Tremolo, Vibrato, Portamento sowie Nieder- und Hochfrequenzfilter.




ArduTouch verwendet relativ wenige Komponenten


Auch Anfänger können es sammeln

Und obwohl konzeptionell alles oben Genannte nicht schwer zu lernen und zu verstehen ist, ist die Programmierung selbst ziemlich kompliziert. Die ArduTouch-Bibliothek, die ich zusammen mit meinem Freund Bill Alessi erstellt habe, führt alle Berechnungen auf niedriger Ebene durch - und wir haben zwei Jahre gebraucht, um sie zu erstellen.

Die Bibliothek ist flexibel gestaltet und ermöglicht es auch unerfahrenen Benutzern, neue Synthesizer zu erstellen, die unterschiedliche Sounds erzeugen. Der Thick-Synthesizer, der vier Sägezahnwellen kombiniert, wird mit dem Kit geliefert. Andere Synthesizer können separat heruntergeladen werden . Erfahrene Benutzer können lernen, wie man Synthesizer von Grund auf neu erstellt, indem sie Funktionen auf hoher Ebene aufrufen. Ich hoffe, dass Leute, denen das Projekt gefällt, neue Synthesizer erstellen und ihren Code mit mir teilen, damit ich ihn mit anderen teilen kann.

Aber selbst wenn der Standard-Synthesizer verwendet wird, ist der Klang für einen solchen Mikrocontroller mit geringem Stromverbrauch (der eine Abtastfrequenz von nur 15 kHz unterstützt) und kostengünstige Geräte unerwartet gut. Sie können viele Demos auf meinem YouTube-Kanal anhören.

Um das Projekt in Zukunft weiterzuentwickeln, werde ich die ArduTouch-Bibliothek für Arduino weiter verbessern und zusätzliche vorgefertigte Synthesizer auslegen. Ich arbeite auch daran, eine leistungsstärkere Version von ArduTouch zu erstellen, die für Performances geeignet ist. Es wird kein Kit mehr sein, aber es wird weiterhin mit Arduino kompatibel sein. Es wird einen 32-Bit-Mikrocontroller mit vielen E / A-Pins, einen DAC, eine Reihe von Speichern (die MIDI ermöglichen), einen kleinen LCD-Bildschirm, mehrere Tasten und Potentiometer sowie LED-Anzeigen haben - und natürlich einen verbesserten Klang.

Source: https://habr.com/ru/post/de433212/


All Articles