Kazalo:
- Zaloge
- 1. korak: Polaganje ploščice
- 2. korak: Ožičenje kartice SD
- 3. korak: Knjižnice programske opreme
- 4. korak: na serijski monitor vnesite podatke MP3
Video: Knjižnica Arduino za dekodiranje MP3: 4 koraki
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:03
Zaradi povečane razširjenosti hitrih mikrokrmilnikov, kot sta ESP32 in ARM M serije, dekodiranja MP3 ni potrebno več izvajati s specializirano strojno opremo. Dekodiranje je zdaj mogoče izvesti v programski opremi.
Earlephilhower ponuja veliko knjižnico, ki prikazuje, kako dekodirati najrazličnejše zvočne datoteke in jih predvajati na mikrokontrolerjih ESP. Navdihnjen s tem sem prilagodil nekaj kode za ustvarjanje modularne metode branja datotek MP3 na mikrokrmilnikih.
Upam, da bo ta metoda dovolj splošna za uporabo na katerem koli dovolj hitrem mikrokrmilniku (ne le na plošči ESP32), vendar sem zaenkrat preizkusil le na ESP32.
Zaloge
Kot sem že rekel, upam, da bo ta metoda delovala za kateri koli hitri mikrokrmilnik, vendar morda ne. Zato boste za ponovitev mojih rezultatov potrebovali:
- Plošča ESP32
- Odklopna plošča SD
- sD kartice
- Mostične žice
- deska
- kabel mikro USB (za nalaganje skice)
- Arduino IDE
1. korak: Polaganje ploščice
ESP32 in kartico SD postavite na mizo.
2. korak: Ožičenje kartice SD
Povezave s kartico SD (prekinitev ESP32 SD) so naslednje:
GND GND
3v3 VDD
23 DI (MOSI)
19 DO (MISO)
18 SCLK
5 CS
Upoštevajte, da bodo te povezave drugačne, če uporabljate drug mikrokrmilnik.
3. korak: Knjižnice programske opreme
če nimate nameščenega ESP-IDF, pojdite na njihovo spletno mesto in ga namestite.
Nato namestite knjižnico mikrodekoderjev. To lahko storite tako, da prenesete skladišče in ga postavite v mapo Arduino Libraries. Knjižnica mikrodekoderjev trenutno podpira datoteke.wav in.mp3.
Ne glede na obliko je za vsak razred povezanih nekaj skupnih metod, ki so zajete v spodnji kodi. Ti vključujejo pridobivanje metapodatkov datotek in njihovo tiskanje na serijski monitor.
#include "SD.h" // input
#include "mp3.h" // dekoder #include "pcm.h" // vsebnik surovih avdio podatkov mp3 MP3; void setup () {Serial.begin (115200); // Nastavitev serijske SD.begin (); // Nastavitev povezave SD Datoteka = SD.open ("/cc.mp3"); // Odprite datoteko MP3 MP3.begin (datoteka); // povejte razredu MP3, katero datoteko naj obdela MP3.getMetadata (); // dobimo metdadata Serial.print ("Bits per Sample:"); Serial.println (MP3.bitsPerSample); // tiskanje bitov na vzorec Serial.print ("Sample Rate:"); Serial.println (MP3. Fs); // in vzorčenje} void loop () {}
4. korak: na serijski monitor vnesite podatke MP3
S spodnjo kodo lahko na serijski monitor vnesete nekaj zvočnih podatkov. To bo zelo počasno, vendar vam bo pokazalo, kako uporabljati knjižnico MP3. Podatke tudi zmanjša za faktor 16, tako da so podatki, ko so narisani, podobni zvočni valovni obliki. Ta koda je vzeta iz primera SPI_MP3_Serial.ino, ki je priložen knjižnici mikrodekoderjev. Seveda boste v prihodnje želeli nekako predvajati te zvočne podatke, vendar je to tema drugačnih navodil.
#include "SD.h" // input
#include "mp3.h" // dekoder mp3 MP3; // avdio MP3 razreda pcm; // surovi zvočni podatki void setup () {Serial.begin (115200); // Nastavitev serijske SD.begin (); // Nastavitev povezave SD Datoteka = SD.open ("/cc.mp3"); // Odprite datoteko MP3 MP3.begin (datoteka); // Prenesite datoteko v razred MP3} void loop () {audio = MP3.decode (); // dekodiramo zvočne podatke v razred pcm / * v zvoku je 32 vzorcev (16 levo in 16 desno) *, vendar bomo narisali samo prvo podatkovno točko v vsakem kanalu. * To učinkovito zniža vzorce podatkov za faktor 16 (samo za * ogled valovne oblike) */ Serial.print (audio.interleaved [0]); // levi kanal Serial.print (""); Serial.println (audio.interleaved [1]); // desni kanal}
Priporočena:
Kako narediti MP3 predvajalnik z LCD -jem z modulom mini MP3 predvajalnika Arduino in DFPlayer: 6 korakov
Kako narediti MP3 predvajalnik z LCD -jem z modulom mini MP3 predvajalnika Arduino in DFPlayer: Danes bomo izdelali MP3 predvajalnik z LCD -jem z uporabo modula mini MP3 predvajalnika Arduino in DFPlayer. Projekt lahko bere datoteke MP3 na kartici SD in jih lahko zaustavi in igrajo enako kot naprava pred 10 leti. Prav tako ima prejšnjo pesem in naslednjo pesem zabavno
Arduino pretvornik besedila v govor z uporabo LM386 - Talking Arduino Project - Knjižnica Talkie Arduino: 5 korakov
Arduino pretvornik besedila v govor z uporabo LM386 | Talking Arduino Project | Knjižnica Talkie Arduino: Pozdravljeni fantje, v mnogih projektih zahtevamo, da arduino govori nekaj takega, kot je govorilna ura ali pove nekaj podatkov, zato bomo v teh navodilih pretvorili besedilo v govor z uporabo Arduina
Škatla za dekodiranje sobe za pobeg: 7 korakov (s slikami)
Decoder Box Escape Room: Escape sobe so izjemno zabavne dejavnosti, ki so zelo privlačne in odlične za timsko delo. Ste že kdaj razmišljali o ustvarjanju lastne sobe za pobeg? No, s to dekodirno škatlo ste lahko na dobri poti! Še bolje, če ste razmišljali o uporabi es
Knjižnica za BMP280 in BME280: 7 korakov
Knjižnica za BMP280 in BME280: UvodNisem se odločil za pisanje te knjižnice. &Quot; zgodilo se je " kot stranski učinek projekta, ki sem ga začel, ki uporablja BMP280. Ta projekt še ni končan, vendar mislim, da je knjižnica pripravljena deliti z drugimi. Kasneje sem imel ne
Infrardeča plošča za kodiranje in dekodiranje protokola NEC: 5 korakov
Infrardeči kodirnik in dekoder protokola NEC: Prejema surovo moduliran ali demoduliran NEC IR signal in ga pretvori v bajte, ki se pošljejo prek serijskih vrat. Hitrost serijske hitrosti prenosa je mogoče izbrati med dvema privzetima hitrostma. Privzeti način uporabe oddaja ukazno zaporedje z uokvirjenim bajtom