I²S Audio Microphone
i2s_audio 麦克风平台允许你通过 I2S Audio 接收音频。
此平台仅适用于 ESP32 芯片。
WARNING
音频和语音组件在设备上消耗大量资源(RAM、CPU)。
如果设备配置中包含过多额外组件,很可能发生崩溃。 特别是,已知蓝牙/BLE 组件在与语音助手和/或其他音频组件组合使用时会导致问题。
# 示例配置条目microphone: - platform: i2s_audio id: external_mic adc_type: external i2s_din_pin: GPIOXX-
adc_type(必需,enum):
external:使用连接到 I²S 总线的外部 ADC。internal:内部 ADC 不再受支持。请改用外部 I²S 麦克风。
-
channel(可选,enum):麦克风的通道。可选
left、right或stereo。如果为stereo,输出数据将是原来两倍大小,每个右声道样本后跟一个左声道样本。默认为right。 -
sample_rate(可选,positive integer):I2S 采样率。默认为
16000。 -
bits_per_sample(可选,enum):从麦克风接收的真实音频样本的位深度。可选
8bit、16bit、24bit或32bit。默认为32bit。 -
mclk_multiple(可选,enum):MCLK 频率与采样率的倍数。如果使用每样本 24 位,必须能被 3 整除。可选
128、256、384、512。默认为256。 -
use_apll(可选,boolean):I2S 使用 APLL 作为主时钟,启用它可获得准确的时钟。默认为
false。 -
i2s_mode(可选,enum):要使用的 I²S 模式。可选
primary(时钟由主机驱动)或secondary(时钟由连接的设备驱动)。默认为primary。 -
correct_dc_offset(可选,boolean):校正某些麦克风的直流偏移,这些麦克风的音频信号平均幅度不为 0。默认为
false。 -
麦克风 的所有其他选项
外部 ADC
Section titled “外部 ADC”- i2s_din_pin(必需,Pin Schema):用于 I²S
DIN/SDIN(数据输入)信号的 GPIO 引脚,也称为SD/SDATA(串行数据)或ADCDAT(模拟到数字转换器数据)。 - pdm(可选,boolean):如果外部 ADC 使用 PDM(脉冲密度调制)而非 I²S,请将此设置为
true。默认为false。
NOTE
PDM 麦克风仅支持 ESP32 和 ESP32-S3。
M5Stack Atom Echo
Section titled “M5Stack Atom Echo”microphone: - platform: i2s_audio adc_type: external i2s_din_pin: GPIOXX pdm: trueRaspiAudio Muse Luxe
Section titled “RaspiAudio Muse Luxe”microphone: - platform: i2s_audio i2s_din_pin: GPIOXX adc_type: external pdm: falseICS-43434
Section titled “ICS-43434”microphone: - platform: i2s_audio i2s_din_pin: GPIOXX adc_type: external pdm: false sample_rate: 48000 bits_per_sample: 32bit channel: left use_apll: true