Hey! Sie scheinen aus United States zu kommen, möchten Sie auf die Englisch Webseite wechseln?
Switch to Englisch site
Skip to main content

Zusammenbauen des Google Open Nsynth Super

Main16_f4ea28faf0234d826cfdf749a93c5c333824163c.jpg

Ein intelligentes Instrument auf der Basis eines Raspberry Pi, das immer dazu lernt (Machine Learning) und so in der Lage ist, neue, einzigartige Sounds zu erzeugen, in die unterschiedliche Soundkomponenten einfließen.

NSynth (neuronaler Synthesizer) ist ein von Google und anderen Mitwirkenden entwickelter, lernfähiger und intelligenter Algorithmus. Er erlernt auf der Basis eines tiefen neuronalen Netzwerks die Eigenschaften von Sounds, und erschafft dann daraus einen völlig neuen Sound. Dabei geht er über das reine Mischen der Klänge hinaus und erzeugt einen völlig neuen Klang auf der Grundlage der akustischen Eigenschaften der Originaltöne.

Open NSynth Super ist eine experimentelle physische Schnittstelle für NSynth, die auf einem Raspberry Pi, einer individuellen Leiterplatte und einem einfachen lasergeschnittenen Gehäuse basiert. Sie wird mit fixfertigen Betriebssystem-Images geliefert, die vorkonfigurierte Soft- und Firmware enthalten, sowie Sätze von Beispielklängen – das heißt, Sie können direkt mit dem Synthesizer experimentieren, ohne die aufwändige Notwendigkeit, zuerst Audiodateien erstellen zu müssen.

Das Leiterplattendesign, die Mikrocontroller-Firmware, die Software und das Gehäusedesign werden unter Open-Source-Lizenzen veröffentlicht, d. h. jeder kann seinen eigenen Open NSynth Super zusammenbauen.

Funktionsbeschreibung

NSynth_blog_figs_WaveNetAE_diagram_fa61f418a0b8083502526a0637253859b86a9b69.jpg

WaveNet Autoencoder Diagramm. Quelle: magenta.tensorflow.org.


Wie bereits erwähnt, verwendet NSynth tiefe neuronale Netzwerke, um Klänge zu erzeugen. Auf der Webseite wird der Prozess wie folgt beschrieben:

„Mit Hilfe eines Autoencoders werden 16 definierende zeitliche Audiomerkmale aus jedem Eingang extrahiert. Diese Merkmale werden dann linear interpoliert, um neue Einbettungen (mathematische Darstellungen jedes Sounds) zu erstellen. Diese neuen Einbettungen werden dann zu neuen Klängen decodiert, die die akustischen Eigenschaften beider Eingänge aufweisen.“

Weitere Informationen finden Sie auf NSynth: Neurale Audiosynthese.

ons_main_overview_57cc5c3ac8d81b643e0031423e78da68163b999f.jpg

Übersicht Open NSynth. Quelle: https://github.com/googlecreativelab/


Open NSynth Super verwendet den generierten Ton und bietet eine physische Schnittstelle oder ein Gerät mit den folgenden Eigenschaften:

    • MIDI-Eingang als Steckverbindung zu Keyboard, Sequenzer oder Computer usw.
    • Vier Drehencoder zum Zuordnen von Instrumenten zu den Ecken des Geräts
    • OLED-Display für Gerätestatus und Steuerinformationen
    • Feinsteuerungen für:
      • Position legt die Anfangsposition der Welle fest.
      • Aufdrehen stellt die benötigte Zeit für das anfängliche Erreichen des Pegels ein.
      • Dämpfen die für das nachfolgende Ausblenden benötigte Zeit.
      • Halten legt den Pegel während der Hauptsequenz des Sounds fest.
      • Release legt die Zeit fest, in der der Pegel vom Niveau Halten auf Null gedämpft wird.
      • Lautstärke legt die Ausgangslautstärke fest.
    • Touch-Interface, um die Positionen zwischen den Klängen zu erkunden.

Ein Mikrocontroller wird zur Verwaltung der physischen Eingänge verwendet und wird vor der ersten Verwendung programmiert.

Stückliste

Eine vollständige Stückliste wird im GitHub Repository bereitgestellt. Nachfolgend sehen Sie einen Teil dieser Informationen, um Ihnen eine Vorstellung der verwendeten Hauptkomponenten zu vermitteln.

    • 4x Bourns PEC11R-4315F-N0012 Drehencoder
    • 2x Mikrochip AT42QT2120-XU Touch-Controller-ICs  (899-6707)
    • 1x STMicroelectronics STM32F030K6T6, 32-bit ARM Cortex Mikrocontroller  (829-4644)
    • 1x TI PCM5122PW, Audio-Konverter DAC Dual 32 Bit  (814-3732)
    • 1x Adafruit 1,3" OLED-Display

Eine vollständige Liste, einschließlich passiver Bauteile und mechanischer Befestigungen usw. finden Sie im GitHub Repo.

Das Repo enthält auch Gerber-Dateien, die Sie an Ihren bevorzugten Leiterplattenhersteller senden können.

Montage

Bare_65a57d09c3b48daf111c7b8d49c81e9a92fa871a.jpg

Die meisten Komponenten sind SMD und obschon das Anschlussraster nur 0,5 mm beträgt, können diese Teile mit Vorsicht von Hand gelötet werden. Dennoch ist es durchaus empfehlenswert, auch ein Stereomikroskop und eine Heißluftstation zur Hand zu haben. Selbstverständlich sollten Sie auch ausreichend Fluss und Entlötlitzen bereitstehen haben!

Legend_a00b286d135b88c1bd45e7a1a5f3d6a3c78dbad3.jpg

Auf die Leiterplatte ist eine praktische Tabelle mit den Komponentenbezeichnungen aufgedruckt.

Resistors_fa0346fd3f7d41e8c674fdc8ebee5fc175fd162a.jpg

Es ist in der Regel sinnvoll, zunächst mit den kleinsten Teilen zu beginnen und sich dann zu den größeren vorzuarbeiten, sodass die Widerstände zuerst eingebaut werden.

Capacitors_88b131cb77aa1fad757c7e5d91469c5645b7634a.jpg

Als nächstes die Kondensatoren.

ICs_bb5cb7d4ab4f0c0673d543c3f669c8919b2f710a.jpg

Dann die ICs.

Microscope_93d9a0b097c2f438fefd7a196b0da377b58a0e31.jpg

Hier kann ein Stereomikroskop besonders hilfreich sein, insbesondere wenn es zu Kurzschlüsse kommt.

HotAir_fe8505b8ce353dbc690ac85a8e89816011774dd6.jpg

Leider habe ich zu viel Lot auf die Stifte des DAC bekommen, und nach der Anwendung von reichlich Fluss und dem Frontalangriff mit der Entlötlitze gab es Kurzschlüsse hinter den Knicken der Stifte. Da wurde die Heißluftstation  (124-4133) nötig und nach dem Aufheizen schmolz das Lötzinn und lief ab.

Wenn Sie noch nie eine Heißluftstation verwendet haben, empfehle ich Ihnen, den Blogbeitrag von Karl Woodward zu besuchen:Wählen Sie Ihr nächstes Lötwerkzeug.

Display_ffaa2546463d47bd0fbf935daeaf381cfe06abb3.jpg

Das Display wird unter einer Aussparung in der Leiterplatte befestigt, indem oben Stifte durch beide Platten geführt werden und Lot zwei Ösen an der Unterseite der Display-Platine ausfüllt.

Pots2_feaed244aa7d907262e5eac04781f0d8cdb06a64.jpg

Die Potenziometer werden als Nächstes eingebaut.

Encoder_59a09cd554352c612897eeab75fc98ef90302693.jpg

Dann die Drehencoder an jeder Ecke.

MostlyAssembled_104f23e3a33ec70183ec74db82826a6b4685bed4.jpg

Oben sehen wir die größtenteils montierte Platine. Es müssen nur einige wenige zusätzliche Steckverbinder angebracht werden.

Kapton_9d1f5d6ffd7de215d639bae0f77fbc4157cf4c5a.jpg

Beachten Sie, dass zwischen den Stiften an durchkontaktierten Teilen und dem Raspberry Pi-Steckverbindergehäuse aus Metall nicht viel Abstand vorhanden ist. Deshalb wurde bei ersteren ein Stück Kapton-Band angebracht, um auf der sicheren Seite zu sein.

PiFitted_8462ac93d2436d8829b44430f91670c2919b46e6.jpg

Dies ist mit dem darüber montierten Pi etwas klarer ersichtlich.

Als nächstes wurde das Gehäuse aus rotem Acryl geschnitten und eine SD-Karte wurde geschrieben. Beim ersten Start wurden eine Tastatur und ein Monitor angeschlossen, damit wir den Mikrocontrollers programmieren konnten. Das war ziemlich einfach und dauerte nicht lange.

Bitte beachten Sie, dass die hier beschriebenen Schritte nicht als Ersatz für die offiziellen Anleitungen im GitHub Repo vorgesehen sind. Wenn Sie Ihren eigenen Open NSynth Super bauen möchten, folgen Sie bitte den dortigen Anweisungen.

Test

Zum Testen haben wir eine MIDI-Datei aus dem Internet heruntergeladen und dann über einen Linux-Laptop und eine USB/MIDI-Schnittstelle mit dem Befehl „aplaymidi“ wiedergegeben. Und tatsächlich, der NSynth Super wurde aktiviert, wir konnten jeder Ecke Instrumente zuordnen und dann über das Wunder des maschinellen Lernens interpolieren, um neue und bis dato – zumindest für uns – unbekannte Instrumente, wie z. B. die „Flarimba“ zu kreieren.

Andrew Back

Open source (hardware and software!) advocate, Treasurer and Director of the Free and Open Source Silicon Foundation, organiser of Wuthering Bytes technology festival and founder of the Open Source Hardware User Group.