Inhaltsverzeichnis:

Raspberry Pi Stompbox Synth-Modul - Gunook
Raspberry Pi Stompbox Synth-Modul - Gunook

Video: Raspberry Pi Stompbox Synth-Modul - Gunook

Video: Raspberry Pi Stompbox Synth-Modul - Gunook
Video: How To Build A Raspberry Pi Synth 2024, Juli
Anonim
Raspberry Pi Stompbox Synth-Modul
Raspberry Pi Stompbox Synth-Modul
Raspberry Pi Stompbox Synth-Modul
Raspberry Pi Stompbox Synth-Modul

Das Ziel dieses Projekts ist es, ein Fluidsynth-basiertes Soundmodul in eine Stompbox zu stecken. Der technisch klingende Begriff „Soundmodul“bezeichnet in diesem Fall ein Gerät, das MIDI-Meldungen (also Notenwert, Lautstärke, Pitchbend usw.) aufnimmt und tatsächliche Musikklänge synthetisiert. Kombinieren Sie dies mit einem MIDI-Controller - die Legion, billig und oft sehr cool sind (wie Keytars!) - und Sie haben einen Synthesizer, den Sie endlos modifizieren und optimieren und so gestalten können, dass er Ihrem Spielstil entspricht.

Ein grober Überblick über dieses Projekt ist, dass wir einen kleinen Single-Board-Linux-Computer (in diesem Fall einen Raspberry Pi 3) nehmen, ein Zeichen-LCD, ein paar Drucktasten und eine USB-Soundkarte anschließen (da der Onboard-Sound des Pi nicht sehr gut ist)) und stopfen Sie alles in eine Hammond 1590bb Stompbox (wie sie für Gitarreneffekte verwendet werden) mit einigen externen Anschlüssen für USB-MIDI, Strom und Audioausgänge. Dann konfigurieren wir die interne Software so, dass sie beim Start ein Programm ausführt, das FluidSynth (ein ausgezeichneter, plattformübergreifender, kostenloser Software-Synthesizer) ausführt, das LCD steuert und uns Patches und Einstellungen mit den Drucktasten ändern lässt.

Ich werde nicht Schritt für Schritt ins Detail zu diesem Build gehen (es gibt viele Tutorials für hey-i-made-a-cool-raspberry-pi-case), sondern werde stattdessen versuchen, mich darauf zu konzentrieren, warum ich es gemacht habe verschiedene Wahlen in der Konstruktion und im Design, wie ich ging. Auf diese Weise können Sie hoffentlich Modifikationen für Ihre eigenen Zwecke vornehmen, ohne bei Dingen stecken zu bleiben, die sich später als nicht funktionierend herausstellen.

UPDATE (Mai 2020): Während dieses instructable immer noch ein großartiger Ort ist, um für ein Projekt wie dieses zu beginnen, habe ich sowohl auf der Hardware- als auch auf der Softwareseite viele Verbesserungen vorgenommen. Die neueste Software ist FluidPatcher, verfügbar auf GitHub - im Wiki finden Sie viele Details zum Einrichten des Raspberry Pi. Besuchen Sie meine Seite Geek Funk Labs für kontinuierliche Neuigkeiten und Updates zur SquishBox!

Lieferungen

Dies ist eine kurze Liste (und Erklärung für) der wichtigeren Komponenten:

  • Raspberry Pi 3 Computer - Jeder Single-Board-Linux-Computer könnte funktionieren, aber der Pi 3 hat genug Rechenleistung, um Fluidsynth ohne Latenz auszuführen, und genügend Speicher, um große Soundfonts zu laden. Der Nachteil ist, dass es einen schlechten Onboard-Sound hat, sodass Sie eine USB-Soundkarte benötigen. Der CHIP ist eine Alternative, die ich erkunde (kleinerer Platzbedarf, besserer Klang, aber weniger Speicher / Prozessor)
  • Hammond 1590BB Gehäuse - Ich schlage vor, eines zu kaufen, das vorpulverbeschichtet ist, wenn Sie Farbe wünschen, es sei denn, Sie möchten Fußtritte bemalen. Ich habe viele Message Boards durchsucht, aber ich glaube, ich habe nicht die Geduld oder die richtige Art von Farbe, denn nach zwei Versuchen sind meine Ergebnisse ziemlich mittelmäßig.
  • USB-Soundkarte - Sie können eine geeignete davon ziemlich günstig finden. Laut diesem schönen Adafruit-Tutorial (einem von vielen) sollten Sie bei einem bleiben, das den CM109-Chipsatz für maximale Kompatibilität verwendet.
  • Zeichen-LCD - es gibt viele verschiedene Orte, um sie zu bekommen, aber die Pinbelegung scheint ziemlich Standard zu sein. Stellen Sie sicher, dass Sie eine Hintergrundbeleuchtung haben, damit Sie Ihre Presets sehen können, wenn Sie in den verrauchten Clubs spielen.
  • Momentane Stompswitches (2) - Etwas schwieriger zu bekommen, aber ich habe Momentan statt Toggle, damit ich mehr Vielseitigkeit habe. Ich kann das Umschalten in der Software simulieren, wenn ich dieses Verhalten möchte, aber auf diese Weise kann ich auch verschiedene Funktionen für kurzes Antippen, langes Drücken usw.
  • Adafruit Perma-Proto Hat für Pi - Dies half mir, das LCD und andere Komponenten an den Expander-Port des Pi anzuschließen, ohne viel zusätzlichen Platz zu beanspruchen. Wenn ich versucht hätte, ein normales Perfboard zu verwenden, hätte es über die Seiten des Pi ragen müssen, damit ich mich mit allen erforderlichen GPIO-Pins verbinden konnte. Auch die doppelseitige Beschichtung und die passenden Befestigungslöcher waren sehr nützlich. In Anbetracht all dessen war es wirklich die billigste Option.
  • USB-Anschlüsse - 1 B-Typ-Buchse für die Stromversorgung und jeweils zwei A-Typ-Stecker und -Buchse, um dünne, flexible Verlängerungskabel für interne Verbindungen herzustellen.
  • 6,3-mm-Audiobuchsen - Ich habe eine Stereo- und eine Monobuchse verwendet. Auf diese Weise kann die Stereobuchse eine Kopfhörer-/Monobuchse sein oder nur das linke Signal übertragen, wenn die andere Buchse angeschlossen ist.

Schritt 1: Interne Elektronik

Interne Elektronik
Interne Elektronik
Interne Elektronik
Interne Elektronik
Interne Elektronik
Interne Elektronik

Wir werden das LCD und die zugehörigen Komponenten und die Drucktasten mit dem Pi Hat verbinden. Außerdem werden wir eine USB-B- und USB-A-Buchse hinzufügen, um Strom bzw. ein MIDI-Gerät anzuschließen. Wir bringen den USB-A-Port mit, weil wir einen der USB-Ports des Pi verwenden müssen, um die Soundkarte anzuschließen, die wir im Gehäuse haben möchten, sodass wir die USB-Ports nicht bündig mit der Seite der Box haben können. Ich habe einen USB-B-Anschluss für die Stromversorgung verwendet, weil ich das Gefühl hatte, dass er mehr Belastung aushalten könnte als der Micro-USB-Stromanschluss des Pi, und ich konnte sowieso keine gute Ausrichtung finden, bei der sich der Stecker neben dem Rand der Box befinden könnte.

Sie müssen ein Messer verwenden, um die Spuren zwischen den Löchern zu schneiden, wo Sie die Stifte für die USB-Buchsen einlöten. Achten Sie nur darauf, keine der internen Leiterbahnen in der Platine zu schneiden, die die anderen Pins verbinden - oder wenn Sie es versehentlich tun (wie ich), verbinden Sie sie mit einem Überbrückungsdraht. Die Vcc- und GND-Pins der USB-B-Buchse gehen jeweils auf 5V und GND am Expander-Port des Pi. Auf diese Weise können Sie Ihre Stompbox mit einem Telefonladegerät (vorausgesetzt, es hat eine ausreichende Stromstärke - 700 mA scheinen für mich zu funktionieren, aber Sie möchten vielleicht mehr, um sicherzustellen, dass der USB-Anschluss genug Saft hat, um Ihren Controller mit Strom zu versorgen) und ein USB A-B-Kabel.

Ich finde, dass Längen von Flachbandkabeln sehr gut funktionieren, um Dinge mit vielen Stiften zu verbinden, ohne zu viel Drahtspaghetti zu haben. Ich tat dies, anstatt männliche Header in das LCD zu löten und dann in den Hut zu löten, weil ich das Gefühl hatte, dass ich etwas Freiheit brauchte, um das LCD zu positionieren, damit ich es gut zentrieren konnte. Das LCD sollte mit einem Potentiometer geliefert werden, mit dem Sie den Kontrast einstellen - stellen Sie sicher, dass Sie dieses an einer Stelle platzieren, an der es nicht vom LCD bedeckt wird, damit Sie ein Loch in die Box bohren können, um es zu erreichen und den Kontrast einmal einzustellen alles ist zusammengebaut.

Konsultieren Sie den Schaltplan für Details darüber, was wo angeschlossen wird. Beachten Sie, dass die Taster an 3.3V angeschlossen sind - nicht 5V! Die GPIO-Pins sind nur für 3,3 V ausgelegt - 5 V beschädigen Ihre CPU. Die USB-A-Buchse wird mit einem weiteren Flachbandkabel verbunden, das Sie dann an einen USB-Stecker löten können, den Sie an einen der USB-Ports des Pi für Ihren MIDI-Controller anschließen. Schneiden Sie überschüssiges Metall vom Stecker ab, damit es weniger herausragt, und verwenden Sie Heißkleber zur Zugentlastung - es muss nicht schön sein, da es in der Box versteckt ist.

Schritt 2: Audioausgangsverkabelung

Audioausgangsverkabelung
Audioausgangsverkabelung
Audioausgangsverkabelung
Audioausgangsverkabelung
Audioausgangsverkabelung
Audioausgangsverkabelung

Egal wie klein eine USB-Soundkarte Sie auch finden, sie oder ihr Stecker werden wahrscheinlich zu weit aus den USB-Anschlüssen des Pi herausragen, als dass alles in die Box passt. Löten Sie also einen weiteren kurzen USB-Stecker aus einem Flachbandkabel, USB-Steckern und Heißkleber zusammen, wie im Bild oben gezeigt. Meine Soundkarte war immer noch ein wenig zu klobig, um mit allem anderen in das Gehäuse zu passen, also riss ich das Plastik ab und wickelte es in etwas Klebeband, um es vor Kurzschlüssen zu bewahren.

Um Audio von der Soundkarte an Ihre 1/4 -Buchsen zu übertragen, schneiden Sie das Ende eines 3,5-mm-Kopfhörer- oder AUX-Kabels ab. Stellen Sie sicher, dass es 3 Anschlüsse hat - Spitze, Ring und Hülse (TRS), im Gegensatz zu 2 oder 4. Die Hülse sollte geschliffen sein, Spitze ist normalerweise der rechte Kanal und Ring (der mittlere Anschluss) ist normalerweise links. Sie könnten einfach Spitze und Ring an zwei Mono (TS - Spitze, Hülse) 6,3 mm Klinkenstecker anschließen und fertig mit ihm, aber Sie können mit ein wenig zusätzlicher Verkabelung etwas mehr Vielseitigkeit erzielen. Suchen Sie eine TS-Buchse mit einem dritten Taster, wie in der Abbildung oben schematisch dargestellt. Das Einstecken eines Steckers unterbricht diesen Kontakt, so dass das linke Signal, wie Sie dem Diagramm hoffentlich entnehmen können, bei eingestecktem Stecker zur TS-Buchse und bei nicht gestecktem Stecker zum Ring der TRS-Buchse geht. Auf diese Weise können Sie Kopfhörer an die Stereobuchse, ein einzelnes Monokabel an die Stereobuchse für ein kombiniertes Rechts/Links (Mono) Signal oder ein Kabel in jede Buchse für getrennte rechte und linke (Stereo) Ausgänge anschließen.

Ich habe die Massepins der Buchsen mit denen des Kabels verbunden, das von der Soundkarte kommt, damit alles in der Box die gleiche Masse hat und ich das unangenehme Summen von Masseschleifen vermeide. Je nachdem, woran Sie angeschlossen sind, kann dies jedoch den gegenteiligen Effekt haben - Sie sollten also einen Schalter einbauen, mit dem Sie die Masse an den 1/4"-Buchsen entweder anschließen oder "anheben" können.

Schritt 3: Vorbereiten des Gehäuses

Vorbereiten des Gehäuses
Vorbereiten des Gehäuses
Vorbereiten des Gehäuses
Vorbereiten des Gehäuses
Vorbereiten des Gehäuses
Vorbereiten des Gehäuses

Dieser Schritt umfasst das Schneiden von Löchern in der Box für den Bildschirm, die Tasten, die Anschlüsse usw. und das Epoxidieren von Abstandshaltern im Gehäuse, um den Pi-Hut zu montieren.

Beginnen Sie damit, alle Komponenten im Gehäuse zu platzieren, um sicherzustellen, dass alles passt und richtig ausgerichtet ist. Dann messen und markieren Sie sorgfältig, wo Sie Löcher machen werden. Beim Schneiden von runden Löchern empfehle ich, mit einem kleinen Bit zu beginnen und bis zur gewünschten Größe zu arbeiten - es ist einfacher, das Loch zu zentrieren und es ist weniger wahrscheinlich, dass sich Ihr Bohrer verklemmt. Rechteckige Löcher können geschnitten werden, indem ein Loch in gegenüberliegende Ecken der vorgesehenen Öffnung gebohrt und dann mit einer Stichsäge an den anderen beiden Ecken geschnitten wird. Diese Aluminiumdicke schneidet mit einer Stichsäge eigentlich gut, solange Sie sanft vorgehen. Eine quadratische Feile ist sehr hilfreich, um Ecken von Öffnungen zu quadrieren. Machen Sie die Öffnungen für die USB-Stecker etwas großzügiger, falls Sie dicke Kabel haben.

Ein zweistufiges Epoxid (wie der Gorilla Glue im Bild) eignet sich gut, um die Abstandshalter für den Hut am Metallgehäuse zu befestigen. Kratzen Sie die Oberfläche des Gehäuses und die Unterseite der Abstandshalter etwas mit Stahlwolle oder einem Schraubendreher auf, damit das Epoxid einen besseren Halt bekommt. Ich empfehle, Ihre Abstandshalter an der Pi-Hut zu befestigen, bevor Sie sie festkleben, damit Sie wissen, dass sie richtig positioniert sind - hier gibt es nicht viel Spielraum. Ich habe nur drei Abstandshalter verwendet, weil mein LCD dem vierten im Weg war. Mischen Sie die beiden Komponenten des Epoxids, kleben Sie einige auf die Abstandshalter und klemmen Sie sie fest. Vermeiden Sie ein Wackeln oder Neupositionieren der Teile nach mehr als 10-15 Sekunden, da sonst die Verklebung brüchig wird. Geben Sie ihm 24 Stunden Zeit für die Einrichtung, damit Sie weiterarbeiten können. Es dauert ein paar Tage, bis es vollständig ausgehärtet ist, also beanspruche die Bindung nicht unnötig.

Sofern Sie kein anderes Hobby aus dem Bemalen von Stompboxen machen möchten, empfehle ich, das Aluminium blank zu lassen (eigentlich kein schlechtes Aussehen) oder ein vorlackiertes Gehäuse zu kaufen. Farbe möchte sich nicht mit Metall verbinden. Wenn Sie es ausprobieren möchten, schleifen Sie überall, wo die Farbe haften soll, verwenden Sie zuerst eine gute Karosseriegrundierung, tragen Sie mehrere Schichten der gewünschten Farbe auf und lassen Sie sie dann so lange wie möglich trocknen. Im Ernst - die Wahnsinnigen in den Foren schlagen Dinge vor, wie zum Beispiel, es drei Monate in der direkten Sonne zu lassen oder eine Woche lang in einem Toaster auf niedriger Stufe zu stehen. Nachdem ich die zerknitterten, abblätternden Reste meiner ersten Lackierung abgeschliffen habe, bekommt mein zweiter Versuch immer noch Chips und Rillen von Dingen wie Stiften in meiner Gigbag, und das Finish kann mit einem Fingernagel verbeult werden. Ich entschied mich, nachzugeben und entschied mich für den Punk-Stil, wobei ich White-Out-Marker für die Beschriftung verwendete.

Schritt 4: Software-Setup

Software-Setup
Software-Setup
Software-Setup
Software-Setup

Bevor Sie alles in die Stompbox stopfen und festschrauben, müssen Sie die Software auf dem Raspberry Pi einrichten. Ich schlage vor, mit einer Neuinstallation des Raspbian-Betriebssystems zu beginnen, also besorgen Sie sich eine aktuelle Kopie von der Raspberry Pi Foundation-Site und befolgen Sie die dortigen Anweisungen, um es auf eine SD-Karte abzubilden. Schnappen Sie sich eine Tastatur und einen Bildschirm oder verwenden Sie ein Konsolenkabel, um sich zum ersten Mal bei Ihrem Pi anzumelden und zu einer Befehlszeile zu gelangen. Um sicherzustellen, dass Sie über die neuesten Software- und Firmware-Updates verfügen, geben Sie

sudo apt-get update && sudo apt-get upgrade

sudo rpi-update

Als nächstes möchten Sie sicherstellen, dass Sie WLAN verwenden können, um eine SSH-Verbindung zum Pi herzustellen und Änderungen vorzunehmen, sobald es im Gehäuse zugeknöpft ist. Schalten Sie zuerst den ssh-Server ein, indem Sie eingeben

sudo raspi-config

und gehe zu "Schnittstellenoptionen" und aktiviere den SSH-Server. Fügen Sie nun dem pi ein drahtloses Netzwerk hinzu, indem Sie die Datei wpa_supplicant.conf bearbeiten:

sudo vi /etc/wpa_supplicant/wpa_supplicant.conf

und füge am Ende die folgenden Zeilen hinzu:

Netzwerk={

ssid="Ihr-Netzwerk" psk="Ihr-Passwort" }

Ersetzen Sie Ihr-Netzwerk und Ihr-Passwort oben durch Werte für das Netzwerk, mit dem sich der Pi standardmäßig verbinden soll - höchstwahrscheinlich Ihr WLAN-Router zu Hause oder vielleicht der Hotspot auf Ihrem Telefon oder ein Laptop, der im Zugriffspunktmodus läuft. Eine andere Alternative für die Verbindung mit Ihrem Pi besteht darin, ihn als WLAN-Zugangspunkt einzurichten, sodass Sie sich einfach mit ihm verbinden können, egal wo Sie sich befinden. Die Schnittstelle, die ich unten geschrieben habe, ermöglicht es Ihnen auch, ein anderes Bluetooth-Gerät mit dem Pi zu koppeln, wonach Sie sich über Seriell-über-Bluetooth damit verbinden können.

Um FluidSynth zu installieren, geben Sie

sudo apt-get install fluidsynth

Die an diesen Schritt angehängten Dateien bieten eine Schnittstelle zwischen den Stompbox-Steuerelementen und FluidSynth und sollten in das Verzeichnis /home/pi kopiert werden. Hier ist eine kurze Erklärung, was jede Datei macht:

  • squishbox.py - Ein Python-Skript, das eine Instanz von FluidSynth startet und mit ihr kommuniziert, Eingaben von den Stompbox-Tasten liest und Informationen auf das LCD schreibt
  • config_squishbox.yaml – Eine Konfigurationsdatei im (meist) menschenlesbaren YAML-Format, die Einstellungen und Patch-Informationen für das Squishbox-Programm speichert
  • fluidsynth.py - Ein Python-Wrapper, der Bindungen an die C-Funktionen in der FluidSynth-Bibliothek bereitstellt, mit vielen zusätzlichen Bindungen, die von mir hinzugefügt wurden, um auf mehr Funktionen von FluidSynth zuzugreifen
  • ModWaves.sf2 - Ein sehr kleiner Soundfont, den ich bereitgestellt habe, um die Verwendung und Leistung von Modulatoren im Soundfont-Format zu demonstrieren

Ein Python-Skript, das den FluidSynth-Prozess einrichtet und alle Tasten-/LCD-Zeugs verarbeitet, funktioniert recht gut - MIDI-Nachrichten gehen direkt an FluidSynth und das Skript interagiert nur dann damit, wenn es erforderlich ist.

Das Python-Skript benötigt einige Python-Bibliotheken, die nicht standardmäßig installiert sind. Sie können sie mit dem praktischen Pip-Tool direkt aus dem Python-Paketindex installieren:

sudo pip install RPLCD pyyaml

Schließlich möchten Sie, dass der Pi das Python-Skript beim Booten ausführt. Bearbeiten Sie dazu die Datei rc.local:

sudo vi /etc/rc.local

Fügen Sie die folgende Zeile kurz vor der letzten 'exit 0'-Zeile in die Datei ein:

python /home/pi/squishbox.py &

Schritt 5: Endmontage

Endmontage
Endmontage
Endmontage
Endmontage
Endmontage
Endmontage

Bevor Sie alle Teile in die Schachtel legen, ist es eine sehr gute Idee, alles anzuschließen und sicherzustellen, dass die Software funktioniert, wie in den obigen Bildern gezeigt. Die Bilder 3-6 zeigen alle Einzelteile und nach und nach, wie sie in meine Box passen. Das LCD wird tatsächlich von den Drähten gehalten, die dagegen drücken, aber Sie können etwas Heißkleber verwenden oder weitere Befestigungsschrauben hinzufügen, wenn Ihnen das nicht gefällt. Das orangefarbene Klebeband auf dem Deckel der Schachtel soll verhindern, dass der Pi gegen das Metall kurzgeschlossen wird.

Möglicherweise müssen Sie experimentieren und neu konfigurieren, damit die Dinge passen. Anschmiegsam ist gut – je weniger Teile in der Box herumwackeln, desto besser. Hitze scheint kein Problem zu sein, und ich hatte keine Probleme damit, dass das WLAN-Signal durch das Gehäuse blockiert wurde. Nicht abgebildet sind einige klebende Gummifüße (die Sie im Baumarkt finden) auf der Unterseite der Box, damit sie nicht herumrutscht, wenn Sie eine Stomp-Session haben.

Achten Sie auf unvorhergesehenes Stoßen/Quetschen/Verbiegen, wenn Dinge zusammengeschraubt werden. Zu prüfen ist, ob beim Einstecken der Kabel genügend Platz für die 1/4 -Klinkenbuchsen ist - die Spitzen ragen etwas weiter heraus als die Klinkenkontakte. Außerdem habe ich den Pi in meinem Build etwas zu nah am Rand montiert der Schachtel und die Lippe am Deckel drückte auf das Ende der SD-Karte und schnappte sie - ich musste eine Kerbe in die Lippe feilen, damit dies nicht passierte.

Schritt 6: Verwendung

Image
Image
Verwendungszweck
Verwendungszweck
Verwendungszweck
Verwendungszweck

Das Soundmodul, das ich in diesen Schritten beschrieben habe und auf dem die oben bereitgestellte Software ausgeführt wird, ist sofort einsatzbereit und erweiterbar, aber viele Modifikationen/Variationen sind möglich. Ich werde hier nur kurz die Oberfläche beschreiben - ich plane, sie kontinuierlich in einem Github-Repository zu aktualisieren, wo ich hoffentlich auch ein aktualisiertes Wiki vorhalten werde. Schließlich werde ich besprechen, wie Sie die Einstellungen optimieren, neue Sounds hinzufügen und Ihre eigenen Änderungen vornehmen können.

Stecken Sie zunächst einen USB-MIDI-Controller in die USB-A-Buchse der Box, ein 5V-Netzteil in die USB-B-Buchse und schließen Sie Kopfhörer oder einen Verstärker an. Nach einer Weile zeigt das LCD die Meldung „squishbox v xx.x“an. Sobald eine Patch-Nummer und ein Name angezeigt werden, sollten Sie in der Lage sein, Noten zu spielen. Kurzes Antippen einer der Tasten ändert den Patch, das Halten einer der Tasten für ein paar Sekunden bringt Sie in ein Einstellungsmenü und das Halten einer der Tasten für ungefähr fünf Sekunden gibt Ihnen die Möglichkeit, das Programm neu zu starten, den Pi neu zu starten oder den Pi herunterzufahren (Hinweis: Der Pi unterbricht die Stromzufuhr zu seinen GPIO-Pins nicht, wenn er anhält, sodass sich das LCD nie ausschaltet. Warten Sie einfach etwa 30 Sekunden, bevor Sie den Stecker ziehen).

Die Optionen des Einstellungsmenüs sind:

  • Patch aktualisieren – speichert alle Änderungen, die Sie am aktuellen Patch vorgenommen haben, in einer Datei
  • Save New Patch - speichert den aktuellen Patch und alle Änderungen als neuen Patch
  • Wählen Sie Bank - die Konfigurationsdatei kann mehrere Patch-Sets enthalten, so können Sie zwischen ihnen wechseln
  • Set Gain - Stellt die Gesamtausgabelautstärke ein (die "Gain"-Option von Fluidsynth), zu hoch führt zu einer verzerrten Ausgabe
  • Chorus/Reverb - Ändern Sie die Hall- und Chorus-Einstellungen des aktuellen Sets
  • MIDI Connect - versuchen Sie, ein neues MIDI-Gerät anzuschließen, wenn Sie es während des Programms austauschen
  • Bluetooth-Pairing - versetzen Sie den Pi in den Discovery-Modus, damit Sie ein anderes Bluetooth-Gerät damit koppeln können
  • Wifi-Status - Melden Sie die aktuelle IP-Adresse des Pi, damit Sie per SSH darauf zugreifen können

Die Datei config_squishbox.yaml enthält Informationen, die jedes Patch beschreiben, sowie Dinge wie MIDI-Routing, Effektparameter usw. Sie ist im YAML-Format geschrieben, das eine sprachübergreifende Methode zur Darstellung von Daten ist, die Computer parsen können, aber auch menschlich ist -lesbar. Es kann ziemlich komplex werden, aber hier verwende ich es nur, um eine Struktur von verschachtelten Python-Wörterbüchern (assoziative Arrays/Hashes in anderen Sprachen) und Sequenzen (Listen/Arrays) darzustellen. Ich habe viele Kommentare in die Beispielkonfigurationsdatei eingefügt und versucht, sie so zu strukturieren, dass man nach und nach sehen kann, was jede Funktion tut. Schauen Sie rein und experimentieren Sie, wenn Sie neugierig sind, und stellen Sie gerne Fragen in den Kommentaren. Sie können viel tun, um die Sounds und Funktionen des Moduls zu ändern, indem Sie einfach diese Datei bearbeiten. Sie können sich aus der Ferne anmelden und bearbeiten oder eine modifizierte Konfigurationsdatei per FTP auf den Pi übertragen und dann über die Benutzeroberfläche oder durch Eingabe von. neu starten

sudo python /home/pi/squishbox.py &

auf der Kommandozeile. Das Skript ist so geschrieben, dass es beim Starten andere laufende Instanzen von sich selbst beendet, damit keine Konflikte auftreten. Das Skript gibt bei der Ausführung einige Warnungen auf der Befehlszeile aus, während es nach MIDI-Geräten sucht und an verschiedenen Orten nach Ihren Soundfonts sucht. Es ist nicht kaputt, das ist nur faule Programmierung meinerseits - ich könnte sie fangen, aber ich behaupte, sie sind diagnostisch.

Wenn Sie FluidSynth installieren, erhalten Sie auch den ziemlich guten kostenlosen Soundfont FluidR3_GM.sf2. Das GM steht für General MIDI, was bedeutet, dass es "alle" Instrumente enthält, die gemeinsam vereinbarten Preset- und Banknummern zugewiesen sind, damit MIDI-Spieler, die Dateien mit diesem Soundfont abspielen, in der Lage sind, ungefähr den richtigen Klang für Klavier, Trompete zu finden, Dudelsack, etc. Wenn Sie mehr/andere Sounds wünschen, finden Sie viele kostenlose Soundfonts im Internet. Am wichtigsten ist, dass die Soundfont-Spezifikation weit verbreitet ist, tatsächlich ziemlich leistungsstark ist und es einen wunderbaren Open-Source-Editor für Soundfonts namens Polyphone gibt. Damit können Sie Ihre eigenen Soundfonts aus rohen WAV-Dateien erstellen und Modulatoren zu Ihren 'Fonts hinzufügen. Mit Modulatoren können Sie viele Elemente der Synthese (z. B. ADSR-Hüllkurve, Modulations-Hüllkurve, LFO usw.) in Echtzeit steuern. Die Datei ModWaves.sf2, die ich oben eingefügt habe, bietet ein Beispiel für die Verwendung von Modulatoren, mit denen Sie die Filterresonanz und die Cutoff-Frequenz einer Controller-MIDI-Nachricht zuordnen können (die über eine Taste/einen Schieberegler auf Ihrem Controller gesendet werden kann). Hier liegt so viel Potenzial – geh spielen!

Ich hoffe, dass dieses Tutorial viele Ideen anregt und anderen einen guten Rahmen bietet, um ihre eigenen einzigartigen Synthesizer-Kreationen zu erstellen, sowie die kontinuierliche Verfügbarkeit und Entwicklung guter Soundfonts, der Soundfont-Spezifikation und großartiger kostenloser Software wie FluidSynth und Polyphone zu unterstützen. Der Build, den ich hier skizziert habe, ist weder die beste noch die einzige Möglichkeit, so etwas zusammenzustellen. Auf der Hardware-Seite könnten mögliche Modifikationen eine größere Box mit mehr Tasten, Legacy (5-Pin) MIDI-Ein-/Ausgang und/oder Audio-Eingänge sein. Das Python-Skript kann geändert werden (Entschuldigung für meine spärlichen Kommentare), um andere Verhaltensweisen bereitzustellen, die möglicherweise besser zu Ihnen passen und aus. Man könnte auch zusätzliche Software hinzufügen, um digitale Audioeffekte bereitzustellen. Ich denke auch, dass es besser funktionieren würde, den Pi wie oben beschrieben im WLAN-AP-Modus laufen zu lassen, und dann könnte er sogar eine benutzerfreundliche Weboberfläche zum Bearbeiten der Konfigurationsdatei bereitstellen. Bitte zögern Sie nicht, Ihre eigenen Ideen/Fragen/Diskussionen in den Kommentar-Feed zu posten.

Ich möchte den Machern von FluidSynth und Polyphone riesige, riesige Requisiten für die Bereitstellung kostenloser Open-Source-Software geben, mit der wir alle großartige Musik machen können. Ich liebe es, dieses Ding zu benutzen, und du hast es möglich gemacht!

Empfohlen: