DesignSpark Electrical Logolinkedin
Menu Suche
Ask a Question

15 Jul 2019, 15:00

Erweiterte Audioeffekte mit einem BeagleBone Black und Bela, Teil 2: ein Multi-Effekt-Modul für das Red Tin bauen

Gehäusedesign und -aufbau, Verkabelung der Knöpfe und Tasten sowie Anpassung eines Bela-Projekts.

Im ersten Teil dieses Beitrags habe ich das Potenzial des Bela-Cape für den BeagleBone Black (125-2412) untersucht, verschiedene Sketches (Code-Projekte) ausprobiert und ein Gefühl dafür bekommen, was es alles kann. Jetzt war es an der Zeit, es im Red Tin zu verwenden.

Ich fand ein Beispiel für ein Gitarreneffekt-Pedal, das auf dem BeagleBone Black und Bela basiert. So dachte ich, es sei ein guter Ausgangspunkt, um mit meinem DJ-Soundeffekt-System zu starten. Es umfasste eine Reihe von Soundeffekten, die über Drucktasten ausgewählt und deren Parameter anschließend angepasst werden konnten.

Da einige Effekte für die Verwendung mit einer Gitarre entwickelt wurden, waren sie nicht genau das, was ich wollte, aber ich hatte gehofft, dass ich den Bela-Sketch bearbeiten könnte, um bestimmte Effekte zu ersetzen.

Ich wandte mich im Bela-Benutzerforum an den Hersteller des Pedals und er gab mir hilfreiche Tipps. Während meiner jüngsten Abenteuer im Bereich Elektronik bin ich fast immer auf Menschen gestoßen, die sehr großzügig mit ihrer Zeit, ihrem Fachwissen und ihrer Erfahrung waren, wofür ich sehr dankbar bin.

Gehäuse

Ich basierte das Gehäusedesign auf dem zuvor gebauten Soundeffekt-Modul. Ich weiß, dass es gut in meinen Werkzeugkasten passt, doch gleichzeitig wird alles etwas eingeengt sein, da die Kombination aus BeagleBone Black und Bela sehr viel mehr Platz in Anspruch nimmt als die Adafruit Sound FX Prozessorplatine – und sie umfasst 6 Potenziometer und 3 Tasten, die untergebracht werden müssen. Ich würde auch in Zukunft gerne eine LED-Lichtleiste verwenden, die anzeigt, welcher Effekt ausgeführt wird, oder die als Pegelmessgerät dient, daher musste ich Platz dafür lassen.

Ich erstellte einen Prototyp, für den ich eine MDF-Platte für die Basis und ein Stück durchsichtiges Acryl für die Oberseite verwendete. Beide waren lasergeschnitten und die Seiten der Oberseite wurden dann durch Erwärmen und Biegen mit einem Acryl-Bieger geformt.

Die endgültige Version wird natürlich aus rotem Acryl bestehen.

Verkabelung

Ich montierte folgende Teile:

  • 6 x 10-kΩ-Potenziometer (168-140)
  • 3 x Miniatur-Drucktastenschalter mit Tastbetätigung (133-6473)
  • 6 x Knöpfe (467-6689)
  • 6 x 470-Ω-Widerstände (707-7647) (nicht abgebildet)
  • 3 x 3,3-kΩ-Widerstände (125-1162) (nicht abgebildet)
  • 1 x 2,54-mm-Rastermaß, 36-polig, 1 Reihe, rechtwinklige Stiftleiste

Abgebildet sind außerdem eine LED-Anzeige mit 10-Segment-Lichtleiste (246-5689) und einige 470-Ohm-Buswiderstände, die ich in Zukunft integrieren möchte, damit angezeigt wird, welche Effekte aktiv sind.

Ich befolgte den Verkabelungsleitfaden für die Gitarreneffekte, der mir freundlicherweise von „ryjobil“ im Bela-Forum zur Verfügung gestellt wurde. Ich schloss die sechs 10-kΩ-Potenziometer zwischen dem ADC-Referenzpin und der Masse mit Kabeln an, die zu den Analogeingangskanälen 0-5 am Bela führten. Ich schloss einen 470-Ohm-Widerstand zwischen 5 V und dem analogen Referenzpin an, um den zusätzlichen von den 10-kΩ-Potenziometern verbrauchten Strom zu kompensieren.

Das Ganze lötete ich auf eine Vorrichtung und baute es dann in das Gehäuse ein.

Anschließend verkabelte ich die Tastschalter über einen digitalen Eingangspin und über 3,3 V und einen 3,3-kΩ-Pull-Down-Widerstand mit der Masse. Diese konnten dann in die neueste Version des Gehäuses eingebaut werden.

Ich verwendete die rechtwinkligen Stiftleisten (251-8654) , die auf die entsprechende Länge geschnitten wurden, um alles mit den analogen und digitalen Eingängen des Bela zu verbinden – die rechten Winkel sparen Platz im Gehäuse.

Ich fügte ein 7. Potenziometer hinzu, bevor ich merkte, dass es für das Bypass-Volumen für den WahWah-Effekt diente, den ich nicht verwenden wollte. Obwohl es auf einigen Bildern zu sehen ist, ist es nicht angeschlossen, es kann aber in Zukunft nützlich für aktualisierte Codes/Projekte sein.

Dann führte ich einen Schnell-Test durch, um zu sehen, wie es funktionierte, und ich konnte sehen, dass die Schalter und Potenziometer wie erwartet gemäß der Anzeige in der Bela IDE-Konsole funktionierten.

Das Skript ändern

An dieser Stelle möchte ich darauf hinweisen, dass meine Programmierkenntnisse aus Halbwissen über HTML 5 und Arduino bestehen. Es folgt also ein echter Anfänger-Versuch, den Original-Sketch umzugestalten.

Da es sich um ein Bela-Projekt für ein Gitarrenpedal handelt, werde ich den einen oder anderen Effekt nicht verwenden. Die verschiedenen Effekte werden über mehrere Tastenbetätigungen durchblättert, daher wollte ich diejenigen entfernen, die mich nicht interessieren, und die übrigen neu anordnen.

Da ich den Wahwah-Effekt nicht verwenden wollte, begann ich mit der Auskommentierung:

#include "inductorwah.h"

Die Bela-IDE führt im Konsolenabschnitt eine sehr hilfreiche Aktualisierung durch und zeigt alle Stellen an, an denen der Sketch jetzt durch mein Herumexperimentieren beschädigt wurde. Das bedeutete, dass ich den Sketch systematisch durcharbeiten und die irrelevanten Zeilen auskommentieren konnte. Da die „render.cpp“-Hauptdatei über 2.000 Zeilen lang ist und auf zahlreiche andere Sketches verweist, war die Echtzeit-Aktualisierung des Syntaxfehlers ein Glücksfall.

Zudem nahm ich den Sustainer heraus, was mir eine schöne Auswahl von 10 Effekten bot.

Dieser Prozess hatte zudem den zusätzlichen Vorteil, dass er mir ein Bild davon zu vermitteln begann, wie das Projekt funktionierte –, welche Bits voneinander abhängig waren und wie sie zusammenpassten.

Das fertige Werk

Nachdem die Verkabelung abgeschlossen und die Teile in das Gehäuse eingebaut waren und ich den Haupt-Sketch etwas abgeändert hatte, testete ich es mit echtem Sound. Ich fand eine Schleife von Gitarren-Hintergrundmusik, die ich als Quelle nutzte, und begann, durch die Effekte zu blättern, was wie folgt funktioniert:

  • Digitaleingang 0: blättert durch die FX-Liste und aktiviert sie zur Steuerung. (CONTROL_EFFECT_SWITCH)
  • Digitaleingang 1: schaltet den Ein/Bypass-Status des aktiven Effekts um. (EFFECT_BYPASS_SWITCH)
  • Digitaleingang 2: blättert durch die Steuerseiten des Effekts, was die Potenziometer verschiedenen Parametersätzen zuordnet. (CONTROL_CONTEXT_SWITCH)

Ich habe mich noch nicht festgelegt, welche Tasten ich für welchen Eingang verwenden möchte, aber es ist sehr einfach, sie durch Versetzen der Stifte am Bela-Stiftsockel zu wechseln.

Mit einer Reihe von 10 Effekten und der Möglichkeit, diese zu überlagern, werden die Permutationen zunächst etwas verwirrend, aber das Video gibt einen Vorgeschmack darauf, was möglich ist.

Zukünftige Entwicklungen

Ich könnte eine Version des Gehäuses ohne den redundanten 7. Stellknopf erstellen (und mit der richtigen Beschriftung des Eingangs und Ausgangs!). Wie oben erwähnt, werde ich auch eine Art LED-Anzeige einbauen, um zu sehen, welcher Effekt ausgeführt wird. Ich sollte hoffentlich in der Lage sein, verschiedene Effekte zu integrieren, da ich im Hinblick auf die Programmierung jetzt eine bessere Vorstellung davon habe, wie alles funktioniert.

I currently look after production at AB Open. I have a background in the arts, environmental conservation and IT support. In my spare time I do a bit of DJing and I like making things.

15 Jul 2019, 15:00

Kommentare