Sisällysluettelo:
- Tarvikkeet
- Vaihe 1: Leipälevyn asettaminen
- Vaihe 2: SD -kortin kytkentä
- Vaihe 3: Ohjelmistokirjastot
- Vaihe 4: Piirrä MP3 -tiedot sarjamonitoriin
Video: Arduinon kirjasto MP3 -dekoodaukseen: 4 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 08:59
Koska nopeat mikro -ohjaimet, kuten ESP32 ja ARM M -sarjan MP3 -dekoodaus, ovat yleistyneet, erikoislaitteiston ei tarvitse enää suorittaa niitä. Dekoodaus voidaan nyt suorittaa ohjelmistolla.
Earlephilhowerilta on saatavana loistava kirjasto, joka näyttää kuinka purkaa monenlaisia äänitiedostoja ja toistaa niitä ESP -mikrokontrollereilla. Tämän innoittamana olen mukauttanut osan koodista luodakseni modulaarisen menetelmän MP3 -tiedostojen lukemiseksi mikrokontrollereilla.
Toivon, että tämä menetelmä on riittävän yleinen käytettäväksi millä tahansa riittävän nopealla mikrokontrollerilla (ei pelkästään ESP32 -kortilla), mutta toistaiseksi olen testannut vain ESP32: lla.
Tarvikkeet
Kuten aiemmin sanoin, toivon, että tämä menetelmä toimii kaikilla nopeilla mikrokontrollereilla, mutta se ei ehkä toimi. Siksi tulosten kopioimiseksi tarvitset:
- ESP32 -levy
- SD -murtokortti
- Sd-kortti
- Hyppyjohdot
- leipälauta
- mikro -USB -kaapeli (luonnoksen lataamiseen)
- Arduino IDE
Vaihe 1: Leipälevyn asettaminen
Aseta ESP32 ja SD -korttilevy leipälevylle.
Vaihe 2: SD -kortin kytkentä
SD -kortin liitännät (ESP32 SD -katkaisu) ovat seuraavat:
GND GND
3v3 VDD
23 DI (MOSI)
19 TEE (MISO)
18 SCLK
5 CS
Huomaa, että nämä liitännät ovat erilaisia, jos käytät toista mikro -ohjainta.
Vaihe 3: Ohjelmistokirjastot
Jos sinulla ei ole ESP-IDF: ää asennettuna, siirry heidän verkkosivustolleen ja asenna se.
Asenna sitten mikrodekooderikirjasto. Voit tehdä tämän lataamalla arkiston ja sijoittamalla sen Arduino Libraries -kansioon. Mikrodekooderikirjasto tukee tällä hetkellä.wav- ja.mp3 -tiedostoja.
Muodosta riippumatta kuhunkin luokkaan liittyy muutama yleinen menetelmä, ja ne käsitellään alla olevassa koodissa. Näitä ovat joidenkin tiedostojen metatietojen hakeminen ja tulostaminen sarjamonitorille.
#include "SD.h" // input
#Sisällytä "mp3.h" // dekooderi #Sisällytä "pcm.h" // raaka äänitiedosto MP3 MP3; void setup () {Serial.begin (115200); // Serial SD: n asennus.begin (); // Asenna SD -yhteys Tiedostotiedosto = SD.open ("/cc.mp3"); // Avaa MP3 -tiedosto MP3.begin (tiedosto); // kerro MP3 -luokalle, mitä tiedostoa käsitellään MP3.getMetadata (); // hae metatiedot Serial.print ("Bits per Sample:"); Serial.println (MP3.bitsPerSample); // tulostusbittiä näytettä kohti Serial.print ("Sample Rate:"); Serial.println (MP3. Fs); // ja näytteenottotaajuus} void loop () {}
Vaihe 4: Piirrä MP3 -tiedot sarjamonitoriin
Alla olevan koodin avulla voit piirtää joitain äänitietoja sarjamonitorille. Tämä on hyvin hidasta, mutta näyttää, kuinka MP3 -kirjastoa käytetään. Se myös alentaa datan kertoimella 16 niin, että kun data piirretään, se näyttää audioaaltomuodolta. Tämä koodi on otettu esimerkistä SPI_MP3_Serial.ino, joka toimitetaan mikrodekooderikirjaston mukana. Tietysti eteenpäin siirryttäessä haluat toistaa tätä äänidataa jotenkin, mutta se on eri ohjeen aihe.
#include "SD.h" // input
#include "mp3.h" // dekooderi mp3 MP3; // MP3 -luokka pcm -ääni; // raa'an äänidatan void setup () {Serial.begin (115200); // Serial SD: n asennus.begin (); // Asenna SD -yhteys Tiedostotiedosto = SD.open ("/cc.mp3"); // Avaa MP3 -tiedosto MP3.begin (tiedosto); // Siirrä tiedosto MP3 -luokkaan} void loop () {audio = MP3.decode (); // Dekoodaa äänitiedot pcm -luokkaan / * äänessä on 32 näytettä. Lomitettu (16 vasenta ja 16 oikeaa) *, mutta aiomme piirtää vain kunkin kanavan ensimmäisen datapisteen. * Tämä alentaa tiedot tehokkaasti 16 kertaa (* vain aaltomuodon katseluun) */ Sarjajälki (audio.interleaved [0]); // vasen kanava Serial.print (""); Serial.println (audio.interleaved [1]); // oikea kanava}
Suositeltava:
Arduinon ohjelmointi toisen Arduinon avulla vieritettävän tekstin näyttämiseksi ilman kirjastoa: 5 vaihetta
Arduinon ohjelmointi toisen Arduinon avulla vieritettävän tekstin näyttämiseksi ilman kirjastoa: Sony Spresense tai Arduino Uno eivät ole niin kalliita eivätkä vaadi paljon virtaa. Jos projektillasi on kuitenkin virtaa, tilaa tai jopa budjettia, voit harkita Arduino Pro Minin käyttöä. Toisin kuin Arduino Pro Micro, Arduino Pro Mi
Arduino -teksti puheeksi -muunnin LM386 -: n avulla Talking Arduino Project - Talkie Arduino -kirjasto: 5 vaihetta
Arduino -teksti puheeksi -muunnin LM386 |: n avulla Talking Arduino Project | Talkie Arduino -kirjasto: Hei kaverit, monissa projekteissa vaadimme arduinoa puhumaan jotain, kuten puhuvaa kelloa tai kertomaan joitain tietoja, joten tämän ohjeen mukaan muutamme tekstin puheeksi Arduinon avulla
Langaton kaukosäädin käyttäen 2,4 GHz: n NRF24L01 -moduulia Arduinon kanssa - Nrf24l01 4 -kanavainen / 6 -kanavainen lähettimen vastaanotin nelikopterille - Rc -helikopteri - Rc -taso Arduinon avulla: 5 vaihetta (kuvilla)
Langaton kaukosäädin käyttäen 2,4 GHz: n NRF24L01 -moduulia Arduinon kanssa | Nrf24l01 4 -kanavainen / 6 -kanavainen lähettimen vastaanotin nelikopterille | Rc -helikopteri | Rc -lentokone Arduinon avulla: Rc -auton käyttö | Nelikopteri | Drone | RC -taso | RC -vene, tarvitsemme aina vastaanottimen ja lähettimen, oletetaan, että RC QUADCOPTER -laitteelle tarvitaan 6 -kanavainen lähetin ja vastaanotin, ja tämäntyyppinen TX ja RX on liian kallista, joten teemme sellaisen
Rakenna oma Arduino -kirjasto: 5 vaihetta
Rakenna oma Arduino -kirjasto: Hei kaikki. Joissakin projekteissa sinun on ehkä luotava oma kirjasto, kun et voi käyttää valmiita kirjastoja. Tai voit luoda oman kirjaston sen omien standardien mukaan. Tänään näytän sinulle, kuinka helposti voit rakentaa oman kirjastosi ja
Kirjasto BMP280 ja BME280: 7 vaihetta
Kirjasto BMP280 ja BME280: Johdanto En päättänyt kirjoittaa tätä kirjastoa. Se " tapahtui " sivuvaikutuksena projektista, jonka aloitin ja joka käyttää BMP280: ta. Projekti ei ole vielä päättynyt, mutta mielestäni kirjasto on valmis jakamaan muiden kanssa. Myöhemmin minulla oli ne