Daftar Isi:
- Perlengkapan
- Langkah 1: Meletakkan Papan Tempat memotong roti
- Langkah 2: Menghubungkan Kartu SD
- Langkah 3: Perpustakaan Perangkat Lunak
- Langkah 4: Plot Data MP3 di Serial Monitor
Video: Perpustakaan Arduino untuk Decoding MP3: 4 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:54
Karena meningkatnya prevalensi mikrokontroler cepat seperti ESP32 dan decoding MP3 seri ARM M tidak lagi diperlukan oleh perangkat keras khusus. Decoding sekarang dapat dilakukan dalam perangkat lunak.
Ada perpustakaan hebat yang tersedia dari earlephilhower yang menunjukkan cara mendekode berbagai macam file audio dan memutarnya di mikrokontroler ESP. Terinspirasi oleh ini saya mengadaptasi beberapa kode untuk membuat metode modular membaca file MP3 pada mikrokontroler.
Harapan saya adalah bahwa metode ini akan cukup umum untuk digunakan pada mikrokontroler yang cukup cepat (bukan hanya papan ESP32) tetapi sampai sekarang saya hanya menguji pada ESP32.
Perlengkapan
Seperti yang saya katakan sebelumnya, saya berharap metode ini akan bekerja untuk semua mikrokontroler cepat, tetapi mungkin tidak. Oleh karena itu untuk mereplikasi hasil saya, Anda perlu:
- Papan ESP32
- Papan pelarian SD
- kartu SD
- Kabel Jumper
- papan tempat memotong roti
- kabel micro USB (untuk mengunggah sketsa)
- Arduino IDE
Langkah 1: Meletakkan Papan Tempat memotong roti
Tempatkan pelarian ESP32 dan kartu SD di papan tempat memotong roti.
Langkah 2: Menghubungkan Kartu SD
Koneksi kartu SD (ESP32 SD breakout) adalah sebagai berikut:
GND GND
3v3 VDD
23 DI (MOSI)
19 LAKUKAN (MISO)
18 SCLK
5 CS
Harap dicatat bahwa koneksi ini akan berbeda jika Anda menggunakan mikrokontroler yang berbeda.
Langkah 3: Perpustakaan Perangkat Lunak
jika Anda belum menginstal ESP-IDF, kunjungi situs web mereka dan instal.
Kemudian instal perpustakaan mikrodekoder. Anda dapat melakukan ini dengan mengunduh repositori dan menempatkannya di folder Perpustakaan Arduino Anda. Pustaka microdecoder saat ini mendukung file.wav dan.mp3.
Terlepas dari formatnya, ada beberapa metode umum yang terkait dengan setiap kelas dan mereka tercakup dalam kode di bawah ini. Ini termasuk mendapatkan beberapa metadata file dan mencetaknya ke monitor serial.
#sertakan "SD.h" // masukan
#include "mp3.h" // decoder #include "pcm.h" // wadah data audio mentah mp3 MP3; void setup() { Serial.begin(115200); // Setup Serial SD.begin(); // Siapkan koneksi SD File file = SD.open("/cc.mp3"); // Buka File MP3 MP3.begin(file); // beri tahu kelas MP3 file apa yang akan diproses MP3.getMetadata(); // dapatkan metdadata Serial.print("Bit per Sampel: "); Serial.println(MP3.bitsPerSample); // print bit per sample Serial.print("Sample Rate: "); Serial.println(MP3. Fs); // dan laju sampel } void loop() { }
Langkah 4: Plot Data MP3 di Serial Monitor
Dengan kode di bawah ini Anda dapat memplot beberapa data audio pada monitor Serial. Ini akan sangat lambat tetapi akan menunjukkan kepada Anda bagaimana menggunakan perpustakaan MP3. Itu juga menurunkan sampel data dengan faktor 16 sehingga ketika data diplot itu terlihat seperti bentuk gelombang audio. Kode ini diambil dari contoh SPI_MP3_Serial.ino yang disertakan dengan library microdecoder. Tentu saja, ke depan Anda akan ingin memutar data audio ini, tetapi itulah topik instruksi yang berbeda.
#sertakan "SD.h" // masukan
#sertakan "mp3.h" // dekoder mp3 MP3; // audio pcm kelas mp3; // data audio mentah void setup() { Serial.begin(115200); // Setup Serial SD.begin(); // Siapkan koneksi SD File file = SD.open("/cc.mp3"); // Buka File MP3 MP3.begin(file); // Kirim file ke kelas MP3 } void loop() { audio = MP3.decode(); // Decode data audio ke kelas pcm /* ada 32 sampel di audio.interleaved (16 kiri dan 16 kanan) * tetapi kita hanya akan memplot titik data pertama di setiap saluran. * Ini secara efektif menurunkan 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 }
Direkomendasikan:
Memprogram Arduino Menggunakan Arduino Lain untuk Menampilkan Teks Bergulir Tanpa Perpustakaan: 5 Langkah
Memprogram Arduino Menggunakan Arduino Lain untuk Menampilkan Teks Bergulir Tanpa Perpustakaan: Sony Spresense atau Arduino Uno tidak terlalu mahal dan tidak memerlukan banyak daya. Namun, jika proyek Anda memiliki keterbatasan daya, ruang, atau bahkan anggaran, Anda mungkin ingin mempertimbangkan untuk menggunakan Arduino Pro Mini. Tidak seperti Arduino Pro Micro, Arduino Pro Mi
Membuat Perpustakaan Arduino untuk Penglihatan YouTube: 7 Langkah
Membuat Perpustakaan Arduino untuk YouTube Sight: Hai Semuanya, saya baru saja membangun layanan bernama YouTube Sight yang dapat mengekstrak data pelanggan dari YouTube Analytics API dan memberi Anda jumlah pelanggan yang lebih akurat sejak YouTube mulai mengumpulkan hasilnya. Dengan itu, saya telah membuat sebuah contoh
Plot Intensitas Cahaya Menggunakan Arduino dan Perpustakaan Master Arduino Python: 5 Langkah
Plot Intensitas Cahaya Menggunakan Arduino dan Perpustakaan Master Arduino Python: Arduino menjadi alat yang ekonomis namun sangat efisien dan fungsional, memprogramnya dalam Embedded C membuat proses pembuatan proyek menjadi membosankan! Modul Arduino_Master dari Python menyederhanakan ini dan memungkinkan kita melakukan perhitungan, menghapus nilai sampah
Arduino Text to Speech Converter Menggunakan LM386 - Berbicara Proyek Arduino - Perpustakaan Arduino Talkie: 5 Langkah
Arduino Text to Speech Converter Menggunakan LM386 | Berbicara Proyek Arduino | Perpustakaan Arduino Talkie: Hai teman-teman, dalam banyak proyek kami membutuhkan arduino untuk berbicara seperti jam bicara atau memberi tahu beberapa data sehingga instruksi ini kami akan mengubah teks menjadi ucapan menggunakan Arduino
Perpustakaan untuk BMP280 dan BME280: 7 Langkah
Pustaka untuk BMP280 dan BME280: PendahuluanSaya tidak berniat menulis pustaka ini. Itu "terjadi" sebagai efek samping dari proyek yang saya mulai yang menggunakan BMP280. Proyek itu belum selesai, tapi saya pikir perpustakaan sudah siap untuk berbagi dengan orang lain. Selanjutnya saya punya