Obsah:
- Zásoby
- Krok 1: Rozložení Breadboardu
- Krok 2: Zapojení karty SD
- Krok 3: Softwarové knihovny
- Krok 4: Vykreslení dat MP3 na sériový monitor
Video: Knihovna Arduino pro dekódování MP3: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:19
Vzhledem ke zvýšené prevalenci rychlých mikrokontrolérů, jako jsou ESP32 a ARM řady M, již dekódování MP3 nemusí provádět specializovaný hardware. Dekódování lze nyní provádět softwarově.
Z Earlephilhower je k dispozici skvělá knihovna, která ukazuje, jak dekódovat širokou škálu zvukových souborů a přehrávat je na mikrokontrolérech ESP. Inspirován tímto jsem upravil část kódu k vytvoření modulární metody čtení souborů MP3 na mikrokontrolérech.
Doufám, že tato metoda bude dostatečně obecná pro použití na jakémkoli dostatečně rychlém mikrokontroléru (nejen na desce ESP32), ale zatím jsem testoval pouze na ESP32.
Zásoby
Jak jsem již řekl, doufám, že tato metoda bude fungovat pro jakýkoli rychlý mikrokontrolér, ale nemusí. K replikaci mých výsledků tedy budete potřebovat:
- Deska ESP32
- Breakout deska SD
- SD karta
- Propojovací dráty
- prkénko
- kabel micro USB (pro nahrávání skici)
- Arduino IDE
Krok 1: Rozložení Breadboardu
Umístěte ESP32 a SD kartu na prkénko.
Krok 2: Zapojení karty SD
Připojení karty SD (ESP32 SD breakout) je následující:
GND GND
3v3 VDD
23 DI (MOSI)
19 DO (MISO)
18 SCLK
5 CS
Upozorňujeme, že tato připojení se budou lišit, pokud používáte jiný mikrokontrolér.
Krok 3: Softwarové knihovny
pokud nemáte nainstalovaný ESP-IDF, přejděte na jejich web a nainstalujte jej.
Poté nainstalujte knihovnu mikrodekodérů. To lze provést stažením úložiště a umístěním do složky Knihovny Arduino. Knihovna mikrodekodérů aktuálně podporuje soubory.wav a.mp3.
Bez ohledu na formát je ke každé třídě přidruženo několik běžných metod, které jsou popsány v níže uvedeném kódu. Mezi ně patří získání některých metadat souborů a jejich tisk na sériový monitor.
#include "SD.h" // vstup
#include "mp3.h" // dekodér #include "pcm.h" // kontejner surových zvukových dat mp3 MP3; neplatné nastavení () {Serial.begin (115200); // Nastavení Serial SD.begin (); // Nastavit připojení SD Soubor souboru = SD.open ("/cc.mp3"); // Otevřete soubor MP3 MP3.begin (soubor); // řekněte třídě MP3, jaký soubor má zpracovat MP3.getMetadata (); // získejte metadata Serial.print ("Bity na vzorek:"); Serial.println (MP3.bitsPerSample); // tisk bitů na vzorek Serial.print ("Sample Rate:"); Serial.println (MP3. Fs); // a vzorkovací frekvence} void loop () {}
Krok 4: Vykreslení dat MP3 na sériový monitor
Pomocí níže uvedeného kódu můžete vykreslit některá zvuková data na sériovém monitoru. To bude velmi pomalé, ale ukáže vám, jak používat knihovnu MP3. Rovněž převzorkuje data o faktor 16, takže když jsou data vykreslena, vypadá jako zvukový průběh. Tento kód je převzat z příkladu SPI_MP3_Serial.ino, který je dodáván s knihovnou mikrodekodérů. Samozřejmě, při pohybu vpřed budete chtít tato zvuková data nějak přehrát, ale to je téma jiné instrukce.
#include "SD.h" // vstup
#include "mp3.h" // dekodér mp3 MP3; // Třída MP3 pcm audio; // nastavení neplatných zvukových dat () {Serial.begin (115200); // Nastavení Serial SD.begin (); // Nastavit připojení SD Soubor souboru = SD.open ("/cc.mp3"); // Otevřete soubor MP3 MP3.begin (soubor); // Předání souboru třídě MP3} void loop () {audio = MP3.decode (); // Dekódování zvukových dat do třídy pcm / * ve zvuku je 32 vzorků. Prokládaný (16 vlevo a 16 vpravo) *, ale v každém kanálu budeme vykreslovat pouze první datový bod. * Toto efektivně downampluje data o faktor 16 (pouze pro * prohlížení průběhu) */ Serial.print (audio.interleaved [0]); // levý kanál Serial.print (""); Serial.println (audio.interleaved [1]); // pravý kanál}
Doporučuje:
Prototypové brýle pro noční vidění pro airsoft/paintball: 4 kroky
Prototypové brýle pro noční vidění pro Airsoft/Paintball: Krátká poznámka k brýlím pro noční vidění Pravé brýle pro noční vidění (gen 1, gen2 a gen 3) obvykle fungují zesílením okolního světla, nicméně brýle pro noční vidění, které zde vyrobíme, fungují na jiném principu. Budeme používat kameru Pi NoIR, která
Deska plošných spojů pro robota pro sledování linek - Arnab Kumar Das: 4 kroky
Návrh desky plošných spojů pro robota pro sledování linek - Arnab Kumar Das: Tento projekt předpokládá, že jsme již provedli výběr komponent. Aby systém správně fungoval, je důležité porozumět tomu, co každá součást vyžaduje, pokud jde o výkon, napětí, proud, prostor, chlazení atd. Je také důležité porozumět
Převodník textu na řeč Arduino pomocí LM386 - Mluvící projekt Arduino - Knihovna Talkie Arduino: 5 kroků
Převodník textu na řeč Arduino pomocí LM386 | Mluvící projekt Arduino | Knihovna Talkie Arduino: Ahoj kluci, v mnoha projektech požadujeme, aby arduino mluvilo něco jako mluvící hodiny nebo sdělování některých dat, takže v tomto návodu převádíme text na řeč pomocí Arduina
Knihovna pro BMP280 a BME280: 7 kroků
Knihovna pro BMP280 a BME280: Úvod Neplánoval jsem napsat tuto knihovnu. &Quot; stalo se " jako vedlejší efekt projektu, který jsem zahájil a který používá BMP280. Tento projekt ještě není dokončen, ale myslím si, že knihovna je připravena sdílet je s ostatními. Následně jsem měl ne
BOLSITA PARA MP3 Y PARLANTES / MALÁ TAŠKA PRO PŘEHRÁVAČ A REPRODUKTORY MP3: 5 kroků
BOLSITA PARA MP3 Y PARLANTES / LITTLE BAG FOR MP3 PLAYER AND SPEAKERS: Soy nuevo en esto de los instructables, pero este este bolsito era lo que queria hacer para escuchar musica en la ducha o para colgarlo al frente de la bicicleta. Podívejte se na naše video na www.mercenario.org. Pera