Isi kandungan:
- Bekalan
- Langkah 1: Menyusun Papan Roti
- Langkah 2: Pendawaian Kad SD
- Langkah 3: Perpustakaan Perisian
- Langkah 4: Petak Data MP3 pada Serial Monitor
Video: Perpustakaan Arduino untuk Penyahkodan MP3: 4 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:07
Oleh kerana peningkatan prevalensi mikrokontroler cepat seperti penyahkodan ESP32 dan ARM M siri MP3 tidak lagi diperlukan untuk dilakukan oleh perkakasan pakar. Penyahkodan kini boleh dilakukan dalam perisian.
Terdapat perpustakaan hebat dari earlephilhower yang menunjukkan cara menyahkod pelbagai fail audio dan memainkannya di mikrokontroler ESP. Diilhamkan oleh ini saya menyesuaikan beberapa kod untuk membuat kaedah modular membaca fail MP3 pada mikrokontroler.
Harapan saya adalah kaedah ini cukup generik untuk digunakan pada mikrokontroler yang cukup pantas (bukan hanya papan ESP32) tetapi pada masa ini saya hanya menguji pada ESP32.
Bekalan
Seperti yang saya katakan sebelumnya, saya harap kaedah ini dapat digunakan untuk pengawal mikro yang pantas, tetapi mungkin tidak. Oleh itu, untuk mereplikasi keputusan saya, anda memerlukan:
- Papan ESP32
- Papan pelarian SD
- Kad SD
- Wayar Pelompat
- papan roti
- kabel USB mikro (untuk memuat naik lakaran)
- Arduino IDE
Langkah 1: Menyusun Papan Roti
Letakkan pelindung kad ESP32 dan SD di papan roti.
Langkah 2: Pendawaian Kad SD
Sambungan kad SD (pelarian ESP32 SD) adalah seperti berikut:
GND GND
3v3 VDD
23 DI (MOSI)
19 DO (MISO)
18 SCLK
5 CS
Harap maklum bahawa sambungan ini akan berbeza jika anda menggunakan mikrokontroler yang berbeza.
Langkah 3: Perpustakaan Perisian
jika anda tidak memasang ESP-IDF ke laman web mereka dan memasangnya.
Kemudian pasang pustaka mikrodecoder. Anda boleh melakukannya dengan memuat turun repositori dan meletakkannya di folder Perpustakaan Arduino anda. Perpustakaan microdecoder pada masa ini menyokong fail.wav dan.mp3.
Terlepas dari formatnya, terdapat beberapa kaedah umum yang berkaitan dengan setiap kelas dan ia diliputi dalam kod di bawah. Ini termasuk mendapatkan beberapa metadata fail dan mencetaknya ke monitor bersiri.
masukan # SD.h //
#include "mp3.h" // decoder #include "pcm.h" // bekas data audio mentah mp3 MP3; persediaan tidak sah () {Serial.begin (115200); // Siapkan Serial SD.begin (); // Siapkan sambungan SD Fail fail = SD.open ("/ cc.mp3"); // Buka MP3 Fail MP3.begin (fail); // beritahu kelas MP3 fail apa yang hendak diproses MP3.getMetadata (); // dapatkan metdadata Serial.print ("Bits per Sampel:"); Serial.println (MP3.bitsPerSample); // bit cetak setiap sampel Serial.print ("Kadar Sampel:"); Serial.println (MP3. Fs); // dan kadar sampel} gelung kosong () {}
Langkah 4: Petak Data MP3 pada Serial Monitor
Dengan kod di bawah ini, anda dapat memplot beberapa data audio pada monitor Serial. Ini akan menjadi sangat perlahan tetapi akan menunjukkan kepada anda cara menggunakan perpustakaan MP3. Ini juga mengecilkan data dengan faktor 16 sehingga ketika data diplot terlihat seperti bentuk gelombang audio. Kod ini diambil dari contoh SPI_MP3_Serial.ino yang disertakan dengan pustaka mikrodecoder. Sudah tentu, melangkah ke hadapan anda mahu memainkan data audio ini entah bagaimana tetapi topik yang boleh dipelajari berbeza.
masukan # SD.h //
#include "mp3.h" // penyahkod mp3 MP3; // Audio MP3 kelas pcm; // persediaan audio mentah tidak sah () {Serial.begin (115200); // Siapkan Serial SD.begin (); // Siapkan sambungan SD Fail fail = SD.open ("/ cc.mp3"); // Buka Fail MP3 MP3.begin (fail); // Lulus fail ke kelas MP3} gelung kosong () {audio = MP3.decode (); // Menyahkod data audio ke dalam kelas pcm / * terdapat 32 sampel dalam audio. Disisipkan (16 kiri dan 16 kanan) * tetapi kami hanya akan merancang titik data pertama di setiap saluran. * Ini dengan berkesan merendahkan data dengan faktor 16 (untuk * hanya melihat bentuk gelombang) * / Serial.print (audio.interleaved [0]); // saluran kiri Serial.print (""); Serial.println (audio.interleaved [1]); // saluran kanan}
Disyorkan:
Memprogram Arduino Menggunakan Arduino Lain untuk Memaparkan Teks Menatal Tanpa Perpustakaan: 5 Langkah
Memprogram Arduino Menggunakan Arduino Lain untuk Memaparkan Teks Menggulir Tanpa Perpustakaan: Sony Spresense atau Arduino Uno tidak begitu mahal dan tidak memerlukan banyak tenaga. Walau bagaimanapun, jika projek anda mempunyai had kuasa, ruang, atau anggaran, anda mungkin ingin mempertimbangkan untuk menggunakan Arduino Pro Mini. Tidak seperti Arduino Pro Micro, Arduino Pro Mi
Membuat Perpustakaan Arduino untuk Pemandangan YouTube: 7 Langkah
Membuat Perpustakaan Arduino untuk Penglihatan YouTube: Hai Semua, baru-baru ini saya telah membina perkhidmatan yang disebut YouTube Sight yang dapat mengekstrak data pelanggan dari YouTube Analytics API dan memberi anda jumlah pelanggan yang lebih tepat sejak YouTube mula mengumpulkan hasilnya. Dengan itu, saya telah membina contoh
Rancangan Intensiti Cahaya Menggunakan Perpustakaan Arduino Arduino dan Python's Master: 5 Langkah
Rancangan Intensiti Cahaya Menggunakan Arduino dan Pustaka Arduino Master Python's: Arduino menjadi alat yang ekonomik namun sangat efisien dan berfungsi, memprogramkannya di Embedded C menjadikan proses membuat projek membosankan! Modul Arduino_Master Python mempermudah ini dan membolehkan kita melakukan pengiraan, membuang nilai sampah
Arduino Text to Speech Converter Menggunakan LM386 - Projek Talking Arduino - Perpustakaan Talkie Arduino: 5 Langkah
Arduino Text to Speech Converter Menggunakan LM386 | Projek Talking Arduino | Perpustakaan Talkie Arduino: Hai rakan-rakan, dalam banyak projek, kami memerlukan arduino untuk bercakap seperti jam bercakap atau memberitahu beberapa data supaya arahan ini kami akan menukar teks menjadi ucapan menggunakan Arduino
Perpustakaan untuk BMP280 dan BME280: 7 Langkah
Perpustakaan untuk BMP280 dan BME280: PengenalanSaya tidak merancang untuk menulis perpustakaan ini. Ia " berlaku " sebagai kesan sampingan dari projek yang saya mulakan yang menggunakan BMP280. Projek itu belum selesai, tetapi saya rasa perpustakaan sudah siap untuk dikongsi dengan yang lain. Selepas itu saya mempunyai