Sadržaj:
- Supplies
- Korak 1: Postavljanje tlocrta
- Korak 2: Ožičenje SD kartice
- Korak 3: Biblioteke softvera
- Korak 4: Iscrtajte MP3 podatke na serijskom monitoru
Video: Arduino biblioteka za dekodiranje MP3 -a: 4 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:04
Zbog povećane prevalencije brzih mikrokontrolera, poput ESP32 i ARM M serije MP3 dekodiranje više nije potrebno obavljati specijalizirani hardver. Dekodiranje se sada može izvršiti u softveru.
Od Earlephilhower -a je dostupna velika biblioteka koja pokazuje kako dekodirati veliki broj audio datoteka i reproducirati ih na ESP mikrokontrolerima. Nadahnut ovim, prilagodio sam dio koda za stvaranje modularne metode čitanja MP3 datoteka na mikrokontrolerima.
Nadam se da će ova metoda biti dovoljno generička za upotrebu na bilo kojem dovoljno brzom mikrokontroleru (ne samo na ESP32 ploči), ali do sada sam testirao samo na ESP32.
Supplies
Kao što sam već rekao, nadam se da će ova metoda funkcionirati za bilo koji brzi mikrokontroler, ali možda neće. Stoga će za ponavljanje mojih rezultata biti potrebno:
- ESP32 ploča
- SD razvodna ploča
- sd kartica
- Džemper žice
- matična ploča
- mikro USB kabel (za postavljanje skice)
- Arduino IDE
Korak 1: Postavljanje tlocrta
Postavite prekidač ESP32 i SD kartice na matičnu ploču.
Korak 2: Ožičenje SD kartice
Veze SD kartice (ESP32 SD prekid) su sljedeće:
GND GND
3v3 VDD
23 DI (MOSI)
19 DO (MISO)
18 SCLK
5 CS
Imajte na umu da će se ove veze razlikovati ako koristite drugi mikrokontroler.
Korak 3: Biblioteke softvera
ako nemate instaliran ESP-IDF, prijeđite na njihovu web stranicu i instalirajte ga.
Zatim instalirajte biblioteku mikrodekodera. To možete učiniti preuzimanjem spremišta i stavljanjem u mapu Arduino biblioteke. Biblioteka mikrodekodera trenutno podržava.wav i.mp3 datoteke.
Bez obzira na format, postoji nekoliko uobičajenih metoda povezanih sa svakom klasom i one su obuhvaćene donjim kodom. Ovo uključuje preuzimanje nekih metapodataka o datotekama i njihovo štampanje na serijskom monitoru.
#include "SD.h" // ulaz
#include "mp3.h" // dekoder #include "pcm.h" // spremnik sirovih audio podataka mp3 MP3; void setup () {Serial.begin (115200); // Postavljanje serijskog SD.begin (); // Postavljanje SD veze Datoteka datoteka = SD.open ("/cc.mp3"); // Otvorite MP3 datoteku MP3.begin (datoteka); // recimo MP3 klasi koju datoteku treba obraditi MP3.getMetadata (); // dobivamo metdadata Serial.print ("Bitovi po uzorku:"); Serial.println (MP3.bitsPerSample); // ispisuje bitove po uzorku Serial.print ("Sample Rate:"); Serial.println (MP3. Fs); // i brzina uzorkovanja} void loop () {}
Korak 4: Iscrtajte MP3 podatke na serijskom monitoru
Pomoću donjeg koda možete iscrtati neke audio podatke na serijskom monitoru. Ovo će biti vrlo sporo, ali će vam pokazati kako se koristi MP3 biblioteka. Također smanjuje uzorke podataka za faktor 16 tako da kada se podaci iscrtaju izgledaju kao audio valni oblik. Ovaj kôd je preuzet iz primjera SPI_MP3_Serial.ino koji dolazi s bibliotekom mikrodekodera. Naravno, ako krenete naprijed, htjet ćete nekako reproducirati ove audio podatke, ali to je tema za druga uputstva.
#include "SD.h" // ulaz
#include "mp3.h" // dekoder mp3 MP3; // MP3 klasa pcm audio; // neobrađeni audio podaci void setup () {Serial.begin (115200); // Postavljanje serijskog SD.begin (); // Postavljanje SD veze Datoteka datoteka = SD.open ("/cc.mp3"); // Otvorite MP3 datoteku MP3.begin (datoteka); // Proslijedi datoteku u MP3 klasu} void loop () {audio = MP3.decode (); // Dekodiranje audio podataka u pcm klasu / * Postoje 32 uzorka u audio.prepletenom (16 lijevo i 16 desno) *, ali mi ćemo iscrtati samo prvu točku podataka na svakom kanalu. * Ovo efikasno smanjuje podatke u faktoru 16 (samo za * gledanje talasnog oblika) */ Serial.print (audio.međusobno isprepleteno [0]); // lijevi kanal Serial.print (""); Serial.println (audio.interleaved [1]); // desni kanal}
Preporučuje se:
Kako napraviti MP3 player s LCD -om pomoću modula mini MP3 playera Arduino i DFPlayer: 6 koraka
Kako napraviti MP3 player s LCD -om pomoću modula Arduino i DFPlayer Mini MP3 Player: Danas ćemo napraviti MP3 player s LCD -om koristeći Arduino i DFPlayer mini modul MP3 playera. Projekt može čitati MP3 datoteke na SD kartici, a može i pauzirati i igrati isto kao i uređaj prije 10 godina. Takođe ima prethodnu pjesmu i sljedeću pjesmu zabavno
Dodavanje novih biblioteka u KICAD: 6 koraka
Dodavanje novih biblioteka u KICAD: KiCad je besplatni programski paket za automatizaciju elektroničkog dizajna (EDA). Olakšava dizajn shema za elektronička kola i njihovu konverziju u PCB dizajn. Sadrži integrirano okruženje za shematsko snimanje i izgled PCB -a za
Arduino pretvarač teksta u govor pomoću LM386 - Razgovarajući Arduino projekat - Biblioteka Talkie Arduino: 5 koraka
Arduino pretvarač teksta u govor pomoću LM386 | Talking Arduino Project | Biblioteka Talkie Arduino: Zdravo momci, u mnogim projektima od nas je potrebno da govori nešto poput sata za razgovor ili govori neke podatke pa ćemo u ovim uputama pretvoriti tekst u govor pomoću Arduina
Okvir za dekodiranje sobe za bijeg: 7 koraka (sa slikama)
Okvir za dekodiranje sobe za bijeg: sobe za bijeg su izuzetno zabavne aktivnosti koje su vrlo zanimljive i odlične za timski rad. Jeste li ikada razmišljali o stvaranju vlastite sobe za bijeg? Pa s ovom kutijom dekodera možete biti na dobrom putu! Još bolje da ste razmišljali o upotrebi es
Biblioteka za BMP280 i BME280: 7 koraka
Biblioteka za BMP280 i BME280: UvodNisam krenuo u pisanje ove biblioteke. To se " dogodilo " kao nuspojava započetog projekta koji koristi BMP280. Taj projekt još nije završen, ali mislim da je biblioteka spremna za dijeljenje s drugima. Nakon toga sam dobio ne