ESP32 I2S ile Ses Kaydetme
12 Oca 2022
I2S Nedir?
I2S, ses veri aktarımı için geliştirilmiş bir seri protokoldür. Philips tarafından geliştirilen bu protokol, dijital ses verilerini bir mikrodenetleyici, DSP (Digital Signal Processor) veya başka bir dijital ses cihazı ile DAC (Digital-to-Analog Converter) veya ADC (Analog-to-Digital Converter) gibi ses cihazları arasında iletmek için kullanılır.
I2S'nin temel avantajlarından biri, dijital ses sinyallerini eş zamanlı olarak iletebilmesi ve bu sayede yüksek kaliteli ses işleme uygulamalarında kullanılabilmesidir. I2S, özellikle düşük gecikme ve yüksek doğruluk gerektiren uygulamalarda tercih edilir.
ESP32 Üzerinde I2S Kullanarak Ses Kaydı
Mikrofon Seçimi
I2S protokolünü destekleyen bir mikrofon seçmek önemlidir. Genellikle, bu tür mikrofonlar dijital MEMS mikrofonları olarak adlandırılır. Bu mikrofonlar, ses sinyallerini PCM veya PDM formatına dönüştürerek ESP32'ye gönderir. Piyasada INMP441 ve Adafruit PDM mikrofon modülü rahatlıkla bulunabilmektedir. Bu iki mikrofon da benzer kalitede ses sağlar.
Mikrofonları tanıdığımıza göre bağlantı şemasına geçelim. İki mikrofon da benzer bağlantılara sahip.
SCK veye CLK: Mikrofona gelen saat sinyalidir.
SD veya DAT : Mikrofondan mikrokontrolcüye giden veri.
WS (LRCLK): Sağ ve Sol kanal Seçici Pin (Bu sinyal 0 değerindeyken ses sol kanala, 1 değerindeyken sağ kanala kaydedilir.)
SEL veya L/R: Mikrofonun hangi kanala ses vereceğini belirler. Bu pin 0 a (GND) bağlıyken sol kanala, 1'e bağlıyken (VCC) sağ kanala ses gönderilir.
INMP441 için bağlantı şeması
Adafruit PDM Mikrofon için bağlantı şeması
Farklı mikrofon modülleri farklı i2s ayarlarıyla çalışmakta. Bu nedenle aşağıda iki farklı mikrofon için kodu bulabilirsiniz. Bu kod mikrofondan veriyi alıp serial monitör üzerinden göstermeye yaramaktadır. Bu kod sayesinde mikrofonları bağlayıp belirlediğiniz ayarlarda mikrofonun çalışıp çalışmadığını kontrol edebilirsiniz. Sonraki yazılarda sesin wav dosyası olarak kaydedilmesini ele alacağız.