Obsah:
- Zásoby
- Krok 1: Položenie Breadboardu
- Krok 2: Zapojenie karty SD
- Krok 3: Softvérové knižnice
- Krok 4: Nakreslite údaje MP3 na sériový monitor
Video: Knižnica Arduino pre dekódovanie MP3: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:56
Vzhľadom na zvýšený výskyt rýchlych mikrokontrolérov, ako sú ESP32 a ARM M série, dekódovanie MP3 už nemusí vykonávať špecializovaný hardvér. Dekódovanie je teraz možné vykonávať softvérovo.
Z Earlephilhower je k dispozícii skvelá knižnica, ktorá ukazuje, ako dekódovať najrozmanitejšie zvukové súbory a prehrávať ich na mikrokontroléroch ESP. Inšpirovaný týmto som upravil časť kódu tak, aby vytvoril modulárny spôsob čítania súborov MP3 na mikrokontroléroch.
Dúfam, že táto metóda bude dostatočne všeobecná na použitie na akomkoľvek dostatočne rýchlom mikrokontroléri (nielen na doske ESP32), ale zatiaľ som testoval iba na ESP32.
Zásoby
Ako som už povedal, dúfam, že táto metóda bude fungovať pre akýkoľvek rýchly mikrokontrolér, ale nemusí. Preto na replikáciu mojich výsledkov budete potrebovať:
- Doska ESP32
- Breakout doska SD
- SD karta
- Prepojovacie vodiče
- breadboard
- kábel micro USB (na nahrávanie náčrtu)
- Arduino IDE
Krok 1: Položenie Breadboardu
Umiestnite oddeľovací kábel ESP32 a SD karty na dosku.
Krok 2: Zapojenie karty SD
Pripojenia karty SD (ESP32 SD breakout) sú nasledujúce:
GND GND
3v3 VDD
23 DI (MOSI)
19 DO (MISO)
18 SCLK
5 CS
Upozorňujeme, že tieto pripojenia sa budú líšiť, ak používate iný mikrokontrolér.
Krok 3: Softvérové knižnice
ak nemáte nainštalovaný ESP-IDF, prejdite na ich webovú stránku a nainštalujte si ho.
Potom nainštalujte knižnicu mikrodekodérov. Môžete to urobiť stiahnutím úložiska a umiestnením do priečinka Knižnice Arduino. Knižnica mikrodekodérov v súčasnosti podporuje súbory.wav a.mp3.
Bez ohľadu na formát je s každou triedou spojených niekoľko bežných metód, ktoré sú popísané v nižšie uvedenom kóde. Patrí sem získanie niektorých metadát súborov a ich tlač na sériový monitor.
#include "SD.h" // vstup
#include "mp3.h" // dekodér #include "pcm.h" // kontajner na surové zvukové údaje mp3 MP3; void setup () {Serial.begin (115200); // Nastavenie sériového SD.begin (); // Nastaviť pripojenie SD Súbor súboru = SD.open ("/cc.mp3"); // Otvorte súbor MP3 MP3.begin (súbor); // povedz triede MP3, aký súbor má spracovať MP3.getMetadata (); // získajte metdadáta Serial.print ("Bity na vzorku:"); Serial.println (MP3.bitsPerSample); // tlač bitov na vzorku Serial.print ("Sample Rate:"); Serial.println (MP3. Fs); // a vzorkovacia frekvencia} void loop () {}
Krok 4: Nakreslite údaje MP3 na sériový monitor
Pomocou nižšie uvedeného kódu môžete vykresliť niektoré zvukové údaje na sériový monitor. Bude to veľmi pomalé, ale ukáže vám, ako používať knižnicu MP3. Tiež 16 -násobne prevzorkuje údaje, takže keď sú údaje vykreslené, vyzerá to ako zvukový priebeh. Tento kód je prevzatý z príkladu SPI_MP3_Serial.ino, ktorý sa dodáva s knižnicou mikrodekodérov. Vpred, samozrejme, budete chcieť tieto zvukové údaje nejako prehrať, ale to je téma iného pokynu.
#include "SD.h" // vstup
#include "mp3.h" // dekodér mp3 MP3; // Trieda MP3 pcm audio; // nastavenie neplatných zvukových dát () {Serial.begin (115200); // Nastavenie sériového SD.begin (); // Nastaviť pripojenie SD Súbor súboru = SD.open ("/cc.mp3"); // Otvorte súbor MP3 MP3.begin (súbor); // Odovzdanie súboru do triedy MP3} void loop () {audio = MP3.decode (); // Dekódovanie zvukových údajov do triedy pcm / * v zvuku je 32 vzoriek. Prekladané (16 vľavo a 16 vpravo) *, ale v každom kanáli vykreslíme iba prvý údajový bod. * Toto efektívne downampluje údaje faktorom 16 (len pre * zobrazenie priebehu) */ Serial.print (audio.interleaved [0]); // ľavý kanál Serial.print (""); Serial.println (audio.interleaved [1]); // pravý kanál}
Odporúča:
Nástenný držiak pre iPad ako ovládací panel pre domácu automatizáciu, pomocou magnetu ovládaného servom na aktiváciu obrazovky: 4 kroky (s obrázkami)
Nástenný držiak pre iPad ako ovládací panel domácej automatizácie využívajúci servom riadený magnet na aktiváciu obrazovky: V poslednej dobe som strávil nejaký čas automatizáciou vecí vo svojom dome a okolo neho. Ako svoju domácu automatizačnú aplikáciu používam Domoticz, podrobnosti nájdete na www.domoticz.com. Pri mojom hľadaní aplikácie na palubnej doske, ktorá zobrazuje všetky informácie o Domoticz,
Prevodník textu na reč Arduino pomocou LM386 - Hovoriaci projekt Arduino - Knižnica Talkie Arduino: 5 krokov
Prevodník textu na reč Arduino pomocou LM386 | Hovoriaci projekt Arduino | Knižnica Talkie Arduino: Ahoj, v mnohých projektoch požadujeme, aby arduino hovorilo niečo ako hovoriace hodiny alebo rozprávanie niektorých údajov, takže v tomto návode prevedieme text na reč pomocou Arduina
Knižnica pre BMP280 a BME280: 7 krokov
Knižnica pre BMP280 a BME280: Úvod Nechcel som napísať túto knižnicu. &Quot; stalo sa " ako vedľajší efekt projektu som začal s použitím BMP280. Tento projekt ešte nie je dokončený, ale myslím si, že knižnica je pripravená podeliť sa s ostatnými. Následne som mal ne
WTware pre Raspberry Pi 2 (Pi 3)- Operačný systém pre tenkých klientov: 3 kroky
WTware pre Raspberry Pi 2 (Pi 3) - Operačný systém pre tenkých klientov: Tenký klient od Raspberry Pi - je to sen o lenivom správcovi sieťového systému. Aplikácie Windows na Pi.WTware pre Raspberry Pi je operačný systém tenkých klientov, ktorý vytvára pripojenia na služby Windows Remote Desktop Services. Software pre Raspbe
Rýchla a jednoduchá nabíjačka pre iPod / prenosný konektor DC pre príslušenstvo: 3 kroky
Rýchla a jednoduchá nabíjačka pre iPod / prenosný konektor DC pre príslušenstvo: Jedná sa o jednoduchý dizajn S U P E R, ktorý vám umožní prevádzkovať mnoho rôznych DC doplnkov z jednoduchej batérie