Inhoudsopgave:
Video: Audio-effecten voorversterker met VS1053b - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:14
Dit is een volledig functionele voorversterker met audio-effecten die gebruik maakt van de VLSI VS1053b Audio DSP IC. Het heeft een potentiometer om het volume en de vijf effectparameters aan te passen. Het heeft negen vaste effecten en één aanpasbaar effect, waarbij elk effect vijf effectinstellingen heeft, namelijk vertraging, verval-herhaling, modulatiesnelheid en diepte, en de mixverhouding van de verwerkte en directe audio. Het bevat aanpassingen voor bas- en treble-boost, bas- en treble-middenfrequentie, een selectie van zes ingangsversterkingswaarden, een optie voor het opslaan of ophalen van de huidige/opgeslagen parameters naar/van de Arduino Eeprom, en een basis/normaal/geavanceerd/edit menu-optie die het aantal functies bepaalt dat wordt doorlopen. Aanpassingen worden gemaakt met behulp van drie drukknoppen, namelijk een functiekeuzeknop en twee knoppen om waarden voor de geselecteerde functie te verhogen en te verlagen.
Het is nu (november 2020) geport naar Teensy 3.6 en Teensy 4.1. Meer details zijn te vinden op deze Github, evenals twee effectendemonstratievideo's.
Hoewel het een volledig functionerende effectenbox is, is hij nog niet gebouwd voor gebruik in een live-omgeving.
Stap 1: Constructie- en onderdelenlijst
De voorversterker heeft drie drukknoppen - een functieselectieknop en twee knoppen om de geselecteerde functiewaarde te verhogen en te verlagen. Het gebruikt ook een potentiometer als volumeregelaar, of het kan worden gebruikt om waarden in te stellen voor de vijf effectparameters. Deze effectparameters zijn modulatiesnelheid en -diepte (gebruikt in chorus-, phaser- en flanging-effecten), of vertragingstijd en herhaling (gebruikt in echo- en reverbeffecten). De vijfde parameter wordt gebruikt om de verhouding van het directe tot het verwerkte audiopad in te stellen. De functiekeuzeknop bladert door: (1) Effecten selecteren (0 tot 9), (2) Volume selecteren (aangepast met de potentiometer), (3) een basversterking, (4) een hoge tonenversterking, (5) bas en (6) selectie van de middenfrequentie van de hoge tonen (van 20 Hz tot 150 Hz in stappen van 10 Hz en van 1 kHz tot 15 kHz in stappen van 1 kHz), (7) een selectie van ingangsversterking instelbaar van 1/2x tot 1x, tot 5x versterking, (8) opslaan of lezen van parameters naar de ATmega328 eeprom, (9) functie selecteren cyclus detail (van alle 14 cycli tot de 6 cyclus bewerkingsmodus die alleen door de vijf effectparameters bladert), en (10) tot (14), aanpassing van de vijf effectparameters met behulp van de potentiometer.
Het Adafruit VS1053 Breakout-bord wordt aanbevolen, maar het Sparkfun-bord kan ook worden gebruikt, op voorwaarde dat er twee jumperdraden zijn gesoldeerd aan pinnen 1 en 48 van het IC-pakket. Deze worden dan gebruikt als Line In2 en Line In1. Ondanks mijn beste inspanningen kon ik geen Geeetech-bord (rode variant) krijgen om met de effectcode te werken - het is mogelijk dat het een speciale Shenzhen-variant van het VS1053-ontwerp is …
Onderdelen lijst:
ATmega328 Arduino Uno R3 Wemos 64x48 I2C OLED Display of vergelijkbaar Adafruit VS1053b Codec breakout board (of een Sparkfun VS1053 Breakout Board - solderen nodig) 3 x miniatuur drukknoppen 100k potentiometer lineair 2 x Stereo audio-aansluiting voor aansluiting op een versterker en ingang Weerstanden: 5 x 10k, 3 x 470 ohm Condensatoren: 1uf 25v elektrolytische gele en rode LED1 x voetschakelaar
Stap 2: Software
De bijgevoegde Arduino-schets (Effect34.ino), is gebaseerd op de Adafruit VS1053-bibliotheek en de VLSI-effectverwerkingscode wordt geladen als een plug-in in de Arduino-schets.
Meer details over de verwerking van VLSI-effecten kunnen worden verkregen door hun ontwikkelingstool - VSIDE - te installeren, verkrijgbaar via hun website, en vervolgens de map VSIDE\templates\project\VS10X3_Audio_Effects te openen. Ik heb hun Coff2All-tool gebruikt om het uitvoerbare bestand om te zetten in een plug-in van het C-codetype die vervolgens werd gekopieerd naar de Arduino-schets en die wordt geladen voordat de lusfunctie van de schets start.
De software bewaakt drie drukknoppen. De eerste knop doorloopt 9 functies en de 5 effectparameters. Functie 1 biedt 10 effecten zoals een Wet Echo, Phaser, Flanger, Chorus, Reverb en een Dry Echo als effecten 0 tot 6. Effecten 7 en 8 worden op nul gezet - dwz er is geen verwerking van de audio-invoer - dit kan worden gewijzigd in de Arduino-code door waarden te geven voor de vijf effectparameters. De omhoog- en omlaagdrukknoppen worden dan gebruikt om de effectfunctie 0 t/m 9 te selecteren, of ze worden gebruikt om waarden in te stellen voor de andere functies zoals basversterking.
Deze functieknop wordt ook gebruikt om de bass- en treble-boostwaarden te selecteren (als 16 stappen), en de middenfrequentie voor de treble-boost (1 tot 15 kHz in stappen van 1 Khz) en de basversterkingsfrequentie (van 20 Hz tot 150 Hz in stappen van 10 Hz. Het wordt ook gebruikt om een ingangsversterking te selecteren die kan worden aangepast tot 0,5x, 1x, 2x, 3x, 4 of 5x versterking. Er is een optie om de huidige parameters op te slaan (Volume, Bass en Treble Boost, Bass en Treble Frequency en de vijf effectparameters voor het aanpasbare effect), en ook om deze parameters in een later stadium op te halen.
Omdat de functieselectieknop een groot aantal opties doorloopt (15), heeft deze een optie om een basismodus in te stellen waarbij het aantal cycli wordt teruggebracht tot Effects Select (0 tot 9), Volume Select, Bass Boost Select, Treble Boost Selecteer of een normale modus die de 5 effectparameters toevoegt aan die van de basismodus, evenals de standaard volledige modus. Er is ook een bewerkingsmodus die alleen door de vijf effectparameters bladert.
Een potentiometer wordt gebruikt om het volume te regelen en het wordt ook gebruikt om de vijf effectparameters voor effect nummer 9 in te stellen, d.w.z. de effecten kunnen worden aangepast door aan de potentiometer te draaien.
Bovendien zorgt de code die op de VS1053 wordt uitgevoerd voor de installatie van een voetschakelaar die is aangesloten op de VS1053 GPIO3-pin om het momenteel geselecteerde audio-effect in of uit te schakelen. NB: Deze moet galvanisch worden aangesloten op 3,3 volt en niet op 5 volt (zoals gebruikt door de Arduino Uno). Een LED is aan wanneer de effecten worden verwerkt en uit wanneer het een directe audio-doorloop is. Een activiteits-LED wordt gebruikt om belangrijke handelingen, zoals lezen of schrijven van de Eeprom, te bevestigen.
Er is een licht gewijzigde versie van de Adafruit Graphics-bibliotheek gebruikt om te voorzien in de 64x48 pixelresolutie van het OLED-scherm - raadpleeg de links aan het einde voor Mr Mcauser. Een lijst van de vereiste bibliotheken wordt gegeven in de schetscode.
Alle genoemde personen en entiteiten worden gecrediteerd voor hun code en bibliotheken.
Stap 3: Koppelingen
VLSI:
Adafruit:
Github VS1053b:
Github-graphics:
Oled:
Sparkfun:
Aanbevolen:
Digitale klok met netwerktijd met behulp van de ESP8266: 4 stappen (met afbeeldingen)
Digitale netwerkklok met de ESP8266: we leren hoe we een schattige kleine digitale klok kunnen bouwen die communiceert met NTP-servers en de netwerk- of internettijd weergeeft. We gebruiken de WeMos D1 mini om verbinding te maken met een wifi-netwerk, de NTP-tijd te verkrijgen en deze weer te geven op een OLED-module. De video hierboven
DIY slimme weegschaal met wekker (met wifi, ESP8266, Arduino IDE en Adafruit.io): 10 stappen (met afbeeldingen)
DIY Slimme Weegschaal Met Wekker (met Wi-Fi, ESP8266, Arduino IDE en Adafruit.io): In mijn vorige project ontwikkelde ik een slimme weegschaal met Wi-Fi. Het kan het gewicht van de gebruiker meten, het lokaal weergeven en naar de cloud sturen. U kunt hier meer informatie over krijgen op onderstaande link: https://www.instructables.com/id/Wi-Fi-Smart-Scale-wi
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino - Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter - RC Helikopter - RC-vliegtuig met Arduino: 5 stappen (met afbeeldingen)
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino | Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter | RC Helikopter | Rc-vliegtuig met Arduino: een Rc-auto besturen | Quadcopter | Drone | RC vliegtuig | RC-boot, we hebben altijd een ontvanger en zender nodig, stel dat we voor RC QUADCOPTER een 6-kanaals zender en ontvanger nodig hebben en dat type TX en RX is te duur, dus we gaan er een maken op onze
Start uw diavoorstelling met vakantiefoto's met een vleugje magie! 9 stappen (met afbeeldingen)
Lanceer uw diavoorstelling met vakantiefoto's met een vleugje magie!: In de loop der jaren heb ik de gewoonte ontwikkeld om een klein beeldje mee te nemen op reis: ik koop vaak een kleine, lege artoy (zoals die op de foto) en verf het past bij de vlag en het thema van het land dat ik bezoek (in dit geval Sicilië). T
Bedien tot 4 servo's met een smartphone of een ander apparaat met een audio-uitgang: 3 stappen
Bedien tot 4 servo's met behulp van een smartphone of elk apparaat met een audio-uitgang: hier presenteer ik een eenvoudige elektronische montage om maximaal vier servo's te besturen met elk apparaat dat een audiobestand kan lezen