Tartalomjegyzék:
- Kellékek
- 1. lépés: A kenyértábla elhelyezése
- 2. lépés: Az SD -kártya bekötése
- 3. lépés: A szoftverkönyvtárak
- 4. lépés: Ábrázolja az MP3 adatokat a soros monitoron
Videó: Arduino könyvtár MP3 dekódoláshoz: 4 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
A gyors mikrokontrollerek, például az ESP32 és az ARM M sorozatú MP3 dekódolás megnövekedett elterjedtsége miatt már nem kell speciális hardvereknek elvégezniük. A dekódolás most már szoftveresen is elvégezhető.
Az earlephilhower nagyszerű könyvtárat kínál, amely bemutatja, hogyan lehet dekódolni a különféle hangfájlokat és lejátszani őket ESP mikrokontrollereken. Ebből inspirálva a kód egy részét úgy alakítottam ki, hogy létrehozzam egy moduláris módszert az MP3 fájlok mikrokontrollereken történő olvasására.
Remélem, hogy ez a módszer elég általános lesz ahhoz, hogy bármilyen gyors mikrokontrollerre (nem csak egy ESP32 kártyára) lehessen használni, de jelenleg csak ESP32 -en teszteltem.
Kellékek
Ahogy korábban mondtam, remélem, hogy ez a módszer minden gyors mikrokontrollernél működni fog, de lehet, hogy nem. Ezért az eredményeim megismétléséhez szüksége lesz:
- ESP32 kártya
- SD kitörő tábla
- SD kártya
- Jumper vezetékek
- kenyeretábla
- mikro USB kábel (vázlat feltöltéséhez)
- Arduino IDE
1. lépés: A kenyértábla elhelyezése
Helyezze az ESP32 és az SD -kártya levágását a kenyérlapra.
2. lépés: Az SD -kártya bekötése
Az SD -kártya csatlakozásai (ESP32 SD -megszakítás) a következők:
GND GND
3v3 VDD
23 DI (MOSI)
19 DO (MISO)
18 SCLK
5 CS
Kérjük, vegye figyelembe, hogy ezek a kapcsolatok eltérőek lesznek, ha más mikrokontrollert használ.
3. lépés: A szoftverkönyvtárak
Ha nincs telepítve az ESP-IDF, lépjen a webhelyükre, és telepítse azt.
Ezután telepítse a mikrodecoder könyvtárat. Ezt úgy teheti meg, hogy letölti a lerakatot, és az Arduino Libraries mappába helyezi. A mikrodecoder könyvtár jelenleg támogatja a.wav és.mp3 fájlokat.
A formátumtól függetlenül néhány általános módszer kapcsolódik az egyes osztályokhoz, és ezeket az alábbi kód tartalmazza. Ezek közé tartozik a fájlok metaadatainak beszerzése és a soros monitorra történő nyomtatása.
#include "SD.h" // input
#include "mp3.h" // dekódoló #include "pcm.h" // nyers audioadat -tároló mp3 MP3; void setup () {Serial.begin (115200); // Soros SD beállítása.begin (); // SD kapcsolat beállítása Fájlfájl = SD.open ("/cc.mp3"); // MP3 fájl megnyitása MP3.begin (fájl); // mondja meg az MP3 osztálynak, hogy milyen fájlt kell feldolgoznia MP3.getMetadata (); // szerezze be a Serial.print metaadatokat ("Bits per Sample:"); Serial.println (MP3.bitsPerSample); // bitek nyomtatása mintánként Serial.print ("Sample Rate:"); Soros.println (MP3. Fs); // és mintavételi arány} void loop () {}
4. lépés: Ábrázolja az MP3 adatokat a soros monitoron
Az alábbi kóddal néhány audioadatot rajzolhat a soros monitoron. Ez nagyon lassú lesz, de megmutatja, hogyan kell használni az MP3 könyvtárat. Ezenkívül 16 -szorosára csökkenti az adatok mintáját, így az adatok ábrázolásakor hanghullámformának tűnik. Ez a kód az SPI_MP3_Serial.ino példából származik, amely a mikrodecoder könyvtárhoz tartozik. Természetesen, ha tovább szeretne lépni, valahogy le akarja játszani ezeket az audioadatokat, de ez egy másik oktatható téma.
#include "SD.h" // input
#include "mp3.h" // dekódoló mp3 MP3; // MP3 osztály pcm audio; // nyers audio adatok void setup () {Serial.begin (115200); // Soros SD beállítása.begin (); // SD kapcsolat beállítása Fájlfájl = SD.open ("/cc.mp3"); // MP3 fájl megnyitása MP3.begin (fájl); // Fájl átvitele MP3 osztályba} void loop () {audio = MP3.decode (); // Az audio adatok dekódolása pcm osztályba * Ez hatékonyan lecsökkenti az adatok 16 -szorosát (csak * a hullámforma megtekintéséhez) */ Serial.print (audio.interleaved [0]); // bal csatorna Serial.print (""); Serial.println (audio.interleaved [1]); // jobb csatorna}
Ajánlott:
Arduino programozása másik Arduino használatával görgetett szöveg megjelenítéséhez könyvtár nélkül: 5 lépés
Arduino programozása Egy másik Arduino használatával görgethető szöveg megjelenítéséhez könyvtár nélkül: A Sony Spresense vagy az Arduino Uno nem olyan drága, és nem igényel sok energiát. Ha azonban a projektben korlátozottak a teljesítmény, a hely vagy a költségvetés, érdemes megfontolni az Arduino Pro Mini használatát. Az Arduino Pro Micro -tól eltérően az Arduino Pro Mi
Arduino könyvtár készítése a YouTube látványához: 7 lépés
Arduino könyvtár készítése a YouTube látványához: Sziasztok! Nemrégiben létrehoztam egy YouTube Sight nevű szolgáltatást, amely ki tudja vonni a feliratkozók adatait a YouTube Analytics API -ból, és pontosabb előfizetői számokat ad azóta, hogy a YouTube elkezdte összesíteni az eredményeket. Ezzel példát építettem
Arduino szöveg -beszéd konverter az LM386 - használatával Beszélő Arduino projekt - Talkie Arduino könyvtár: 5 lépés
Arduino szöveg -beszéd átalakító az LM386 | használatával Beszélő Arduino projekt | Talkie Arduino Könyvtár: Sziasztok, sok projektben megköveteljük az arduinótól, hogy beszéljen valamit, mint például a beszélő óra, vagy mondjon néhány adatot
Külső könyvtár hozzáadása az Arduino -hoz: 3 lépés
Külső könyvtár hozzáadása az Arduino -hoz: A könyvtár további funkciókat biztosít az elkészített vázlathoz. Ezek a funkciók segíthetnek a vázlatok megkönnyítésében. Sok könyvtár használható. Az Arduino IDE alapértelmezett könyvtára vagy külső könyvtár, amelyet valaki vagy egy közösség hozott létre. Ebben
Arduino hanggenerátor könyvtár vagy soros funkciók nélkül (megszakításokkal): 10 lépés
Arduino hanggenerátor könyvtár vagy soros funkciók nélkül (megszakításokkal): Általában nem ezt tanítom, ezért inkább a fémmegmunkálást részesítem előnyben, de mivel villamosmérnök hallgató vagyok, és részt kell vennem a mikrokontrollereken ( Beágyazott rendszerek tervezése), úgy gondoltam, megtaníthatok egy tanulhatót az egyik p