İçindekiler:
- Gereçler
- Adım 1: Breadboard'u Yerleştirme
- Adım 2: SD Kartı Kablolama
- 3. Adım: Yazılım Kitaplıkları
- Adım 4: MP3 Verilerini Seri Monitörde Çizin
Video: MP3 Kod Çözme için Arduino Kütüphanesi: 4 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
ESP32 ve ARM M serisi MP3 kod çözme gibi hızlı mikro denetleyicilerin artan yaygınlığı nedeniyle artık uzman donanım tarafından yapılması gerekmez. Kod çözme artık yazılımda yapılabilir.
Earlephilhower'da çok çeşitli ses dosyalarının kodunun nasıl çözüleceğini ve ESP mikro denetleyicilerinde nasıl oynatılacağını gösteren harika bir kitaplık var. Bundan esinlenerek, mikrodenetleyicilerde MP3 dosyalarını okumak için modüler bir yöntem oluşturmak için kodun bir kısmını uyarladım.
Umudum, bu yöntemin yeterince hızlı herhangi bir mikrodenetleyicide (sadece bir ESP32 kartı değil) kullanım için yeterince genel olacağıdır, ancak şu anda yalnızca bir ESP32 üzerinde test ettim.
Gereçler
Daha önce de söylediğim gibi, umarım bu yöntem herhangi bir hızlı mikrodenetleyici için işe yarar, ancak olmayabilir. Bu nedenle, sonuçlarımı çoğaltmak için ihtiyacınız olacak:
- Bir ESP32 kartı
- SD koparma panosu
- hafıza kartı
- Jumper Telleri
- ekmek tahtası
- mikro USB kablosu (kroki yüklemek için)
- Arduino IDE'si
Adım 1: Breadboard'u Yerleştirme
ESP32 ve SD kart çıkışını devre tahtasına yerleştirin.
Adım 2: SD Kartı Kablolama
SD kart bağlantıları (ESP32 SD koparma) aşağıdaki gibidir:
GND GND
3v3 VDD
23 DI (MOSI)
19 DO (MISO)
18 SCLK
5 CS
Farklı bir mikrodenetleyici kullanıyorsanız bu bağlantıların farklı olacağını lütfen unutmayın.
3. Adım: Yazılım Kitaplıkları
ESP-IDF kurulu değilse, web sitelerine gidin ve kurun.
Ardından mikro kod çözücü kitaplığını kurun. Bunu, depoyu indirerek ve Arduino Kitaplıkları klasörünüze yerleştirerek yapabilirsiniz. Mikrodekoder kitaplığı şu anda.wav ve.mp3 dosyalarını desteklemektedir.
Biçimden bağımsız olarak, her sınıfla ilişkili birkaç ortak yöntem vardır ve bunlar aşağıdaki kodda ele alınmıştır. Bunlar, bazı dosya meta verilerinin alınmasını ve seri monitöre yazdırılmasını içerir.
#include "SD.h" // giriş
#include "mp3.h" // kod çözücü #include "pcm.h" // ham ses veri kabı mp3 MP3; geçersiz kurulum() { Serial.begin(115200); // Seri SD'yi Kur.begin(); // SD bağlantısını kur Dosya dosyası = SD.open("/cc.mp3"); // Bir MP3 Dosyası Açın MP3.begin(dosya); // MP3 sınıfına MP3.getMetadata(); // metadata'yı al Serial.print("Numune Başına Bit: "); Serial.println(MP3.bitsPerSample); // örnek başına bit yazdırın Serial.print("Örnek Hızı: "); Serial.println(MP3. Fs); // ve örnekleme oranı } void loop() { }
Adım 4: MP3 Verilerini Seri Monitörde Çizin
Aşağıdaki kod ile Seri monitörde bazı ses verilerini çizebilirsiniz. Bu çok yavaş olacak ama size MP3 kitaplığını nasıl kullanacağınızı gösterecek. Ayrıca, verileri 16 faktörü ile altörnekler, böylece veriler çizildiğinde bir ses dalga formu gibi görünür. Bu kod, mikrodekoder kitaplığıyla birlikte gelen SPI_MP3_Serial.ino örneğinden alınmıştır. Tabii ki, ilerlemek için bu ses verilerini bir şekilde çalmak isteyeceksiniz, ancak bu farklı bir talimatın konusu.
#include "SD.h" // giriş
#include "mp3.h" // kod çözücü mp3 MP3; // MP3 Sınıfı pcm ses; // ham ses verileri geçersiz kurulum() { Serial.begin(115200); // Seri SD'yi Kur.begin(); // SD bağlantısını kur Dosya dosyası = SD.open("/cc.mp3"); // Bir MP3 Dosyası Açın MP3.begin(dosya); // Dosyayı MP3 sınıfına iletin } void loop() { audio = MP3.decode(); // Ses verisini pcm sınıfına deşifre edin /* audio.interleaved içinde 32 örnek var (16 sol ve 16 sağ) * ama biz her kanalda sadece ilk veri noktasını çizeceğiz. * Bu, verileri etkili bir şekilde 16 faktörü ile düşürür (* yalnızca dalga biçimini görüntülemek için) */ Serial.print(audio.interleaved[0]); // sol kanal Serial.print(" "); Serial.println(audio.interleaved[1]); // sağ kanal }
Önerilen:
Doğruluk Tablolarını Çözme: 10 Adım
Doğruluk Tablolarını Çözme: Doğruluk tablosu, bir sorunun tüm sonuçlarını görselleştirmenin bir yoludur. Bu talimat seti, ayrık matematiğe yeni başlayan kişiler için yapılmıştır. Bugün bu yönergelere özel örnek bir problemle pratik yapacağız. sen
LM386 Kullanarak Arduino Metinden Konuşmaya Dönüştürücü - Konuşan Arduino Projesi - Talkie Arduino Kütüphanesi: 5 Adım
LM386 Kullanarak Arduino Metinden Konuşmaya Dönüştürücü | Konuşan Arduino Projesi | Talkie Arduino Kütüphanesi: Merhaba arkadaşlar, birçok projede arduino'nun konuşma saati gibi bir şey konuşmasını veya bazı verileri söylemesini istiyoruz, bu nedenle bu talimatlarda Arduino kullanarak metni konuşmaya dönüştüreceğiz
Labirent Çözme Robotu (Boe-bot): 5 Adım
Labirent Çözen Robot (Boe-bot): Bu nasıl yapılır, basit malzemeler ve bir robot kullanarak kendi labirent çözme robotunuzu nasıl tasarlayacağınızı ve yapacağınızı gösterecektir. Bu aynı zamanda kodlamayı da içerecektir, bu nedenle bir bilgisayara da ihtiyaç vardır
Python Güvenlik Şifreleme/Şifre Çözme Yazılımı: 3 Adım
Python Güvenlik Şifreleme/Şifre Çözme Yazılımı: Bu Eğitilebilir Kitapta size bazı basit Python ile endüstri standardı AES kullanarak dosyalarınızı nasıl güvende tutabileceğinizi göstereceğim. Gereksinimler: - Python 3.7- PyAesCrypt kitaplığı - hashlib kitaplığı Bu kitaplıklara sahip değilseniz, tarafından kolayca kurulabilir
BricKuber Projesi – Raspberry Pi Rubiks Küp Çözme Robotu: 5 Adım (Resimlerle)
BricKuber Projesi – Raspberry Pi Rubik Küp Çözme Robotu: BricKuber, bir Rubik küpünü yaklaşık 2 dakikadan daha kısa sürede çözebilir. Raspberry Pi ile küp çözen robot. Gitmek yerine