Inhaltsverzeichnis:

Audioeffekt-Vorverstärker mit VS1053b - Gunook
Audioeffekt-Vorverstärker mit VS1053b - Gunook
Anonim
Audioeffekt-Vorverstärker mit VS1053b
Audioeffekt-Vorverstärker mit VS1053b
Audioeffekt-Vorverstärker mit VS1053b
Audioeffekt-Vorverstärker mit VS1053b
Audioeffekt-Vorverstärker mit VS1053b
Audioeffekt-Vorverstärker mit VS1053b

Dies ist ein voll funktionsfähiger Audioeffekt-Vorverstärker mit dem VLSI VS1053b Audio DSP IC. Es verfügt über ein Potentiometer zum Einstellen der Lautstärke und der fünf Effektparameter. Es hat neun feste Effekte und einen anpassbaren Effekt, wobei jeder Effekt fünf Effekteinstellungen hat, nämlich Verzögerung, Decay-Repeat, Modulationsgeschwindigkeit und -tiefe sowie das Mischungsverhältnis des bearbeiteten und des direkten Audios. Es umfasst Anpassungen für Bass- und Höhenanhebung, Bass- und Höhenmittenfrequenz, eine Auswahl von sechs Eingangsverstärkungswerten, eine Option zum Speichern oder Abrufen der aktuellen/gespeicherten Parameter auf/vom Arduino Eeprom und eine Basis/Normal/Erweitert/Bearbeiten Menüoption, die die Anzahl der Funktionen bestimmt, die durchlaufen werden. Die Einstellungen werden mit drei Drucktasten vorgenommen, nämlich einer Funktionsauswahltaste und zwei Tasten zum Erhöhen und Verringern der Werte für die ausgewählte Funktion.

Es wurde jetzt (November 2020) auf Teensy 3.6 und Teensy 4.1 portiert. Weitere Details finden Sie auf diesem Github sowie zwei Effekt-Demonstrationsvideos.

Obwohl es sich um eine voll funktionsfähige Effektbox handelt, wurde sie noch nicht für den Einsatz in einer Live-Umgebung gebaut.

Schritt 1: Konstruktion und Teileliste

Konstruktion und Teileliste
Konstruktion und Teileliste

Der Vorverstärker verfügt über drei Drucktasten - eine Funktionsauswahltaste und zwei Tasten zum Erhöhen und Verringern des ausgewählten Funktionswertes. Es verwendet auch ein Potentiometer als Lautstärkeregler oder kann zum Einstellen von Werten für die fünf Effektparameter verwendet werden. Diese Effektparameter sind Modulationsgeschwindigkeit und -tiefe (verwendet in Chorus-, Phaser- und Flanging-Effekten) oder Verzögerungszeit und Wiederholung (verwendet in Echo- und Halleffekten). Der fünfte Parameter wird verwendet, um das Verhältnis des direkten zum bearbeiteten Audiopfad einzustellen. Die Funktionsauswahltaste schaltet durch: (1) Effektauswahl (0 bis 9), (2) Lautstärkeauswahl (eingestellt mit dem Potentiometer), (3) eine Bassverstärkungseinstellung, (4) eine Höhenverstärkungseinstellung, (5) Bass und (6) Auswahl der Höhenmittenfrequenz (von 20 Hz bis 150 Hz in 10 Hz-Schritten und von 1 kHz bis 15 kHz in 1 kHz-Schritten), (7) eine Eingangsverstärkungsauswahl einstellbar von 1/2x bis 1x, bis zu 5x Verstärkung, (8) Speichern oder Lesen von Parametern im ATmega328 eeprom, (9) Funktionsauswahlzyklusdetails (von allen 14 Zyklen bis zum 6-Zyklen-Bearbeitungsmodus, der nur die fünf Effektparameter durchläuft) und (10) bis (14), Einstellung der fünf Effektparameter mit dem Potentiometer.

Das Adafruit VS1053 Breakout-Board wird empfohlen, aber das Sparkfun-Board kann auch verwendet werden, vorausgesetzt, zwei Jumperdrähte sind an Pin 1 und 48 des IC-Gehäuses angelötet. Diese werden dann als Line In2 und Line In1 verwendet. Trotz aller Bemühungen konnte ich kein Geeetech-Board (rote Variante) dazu bringen, mit dem Effektcode zu arbeiten - es ist möglich, dass es sich um eine spezielle Shenzhen-Variante des VS1053-Designs handelt…

Liste der Einzelteile:

ATmega328 Arduino Uno R3 Wemos 64x48 I2C OLED Display oder ähnliches Adafruit VS1053b Codec Breakout Board (oder ein Sparkfun VS1053 Breakout Board - Löten erforderlich) 3 x Miniaturtaster 100k Potentiometer linear 2 x Stereo Audiobuchse zum Anschluss an einen Verstärker und Eingangswiderstände: 5 x 10k, 3 x 470 Ohm Kondensatoren: 1uf 25v elektrolytischGelbe und rote LED1 x Fußschalter

Schritt 2: Software

Die angehängte Arduino-Skizze (Effect34.ino) basiert auf der Adafruit VS1053-Bibliothek, und der VLSI-Effektverarbeitungscode wird als Plugin in die Arduino-Skizze geladen.

Weitere Details zur VLSI-Effektverarbeitung erhalten Sie, indem Sie ihr Entwicklungstool - VSIDE - installieren, das von ihrer Website erhältlich ist, und dann den Ordner VSIDE\templates\project\VS10X3_Audio_Effects öffnen. Ich habe ihr Coff2All-Tool verwendet, um die ausführbare Datei in ein C-Code-Plugin zu konvertieren, das dann in die Arduino-Skizze kopiert wurde und geladen wird, bevor die Schleifenfunktion der Skizze beginnt.

Die Software überwacht drei Taster. Die erste Taste schaltet durch 9 Funktionen und die 5 Effektparameter. Funktion 1 bietet als Effekte 0 bis 6 10 Effekte wie ein Wet Echo, Phaser, Flanger, Chorus, Reverb und ein Dry Echo den Arduino-Code, indem Sie Werte für die fünf Effektparameter angeben. Mit den Up- und Down-Tastern wird dann die Effektfunktion 0 bis 9 angewählt oder die Werte für die anderen Funktionen wie zB Bass-Boost eingestellt.

Diese Funktionstaste wird auch verwendet, um die Bass- und Höhenanhebungswerte (in 16 Schritten) und die Mittenfrequenz für die Höhenanhebung (1 bis 15 kHz in 1-kHz-Schritten) und die Bassanhebungsfrequenz (von 20 Hz bis 150 Hz) auszuwählen in 10-Hz-Schritten. Es wird auch verwendet, um eine Eingangsverstärkung auszuwählen, die auf 0,5x, 1x, 2x, 3x, 4 oder 5x Verstärkung eingestellt werden kann. Es besteht die Möglichkeit, die aktuellen Parameter (Volume, Bass und Treble Boost) zu speichern, Bass- und Höhenfrequenz sowie die fünf Effektparameter für den anpassbaren Effekt) und auch um diese Parameter zu einem späteren Zeitpunkt abzurufen.

Da die Funktionsauswahltaste eine Vielzahl von Optionen durchläuft (15), kann ein Basismodus eingestellt werden, bei dem die Anzahl der Zyklen auf Effects Select (0 bis 9), Volume Select, Bass Boost Select, Treble Boost reduziert wird Wählen Sie einen normalen Modus, der die 5 Effektparameter zu dem des Basismodus sowie dem Standard-Vollmodus hinzufügt. Es gibt auch einen Bearbeitungsmodus, der nur die fünf Effektparameter durchläuft.

Über ein Potentiometer wird die Lautstärke geregelt und auch die fünf Effektparameter für Effektnummer 9 eingestellt, d.h. die Effekte können durch Drehen des Potentiometers eingestellt werden.

Darüber hinaus ermöglicht der auf dem VS1053 ausgeführte Code die Installation eines Fußschalters, der an den GPIO3-Pin des VS1053 angeschlossen ist, um den aktuell ausgewählten Audioeffekt zu aktivieren oder zu deaktivieren. Hinweis: Dieser muss galvanisch mit 3,3 Volt und nicht mit 5 Volt (wie vom Arduino Uno verwendet) verbunden sein. Eine LED leuchtet, wenn die Effekte verarbeitet werden, und aus, wenn es sich um einen direkten Audio-Loop handelt. Eine Aktivitäts-LED wird verwendet, um wichtige Vorgänge wie das Lesen oder Schreiben vom Eeprom zu bestätigen.

Für die 64x48 Pixel Auflösung des OLED-Displays wurde eine leicht modifizierte Version der Adafruit Graphics Library verwendet - siehe die Links am Ende für Herrn Mcauser. Eine Liste der benötigten Bibliotheken ist im Sketch-Code enthalten.

Alle genannten Personen und Entitäten werden für ihren Code und ihre Bibliotheken gutgeschrieben.

Schritt 3: Links

VLSI:

Adafruit:

Github VS1053b:

Github-Grafik:

Oled:

Sparkfun:

Empfohlen: