Resampler Speaker
resampler speaker 平台允许您将音频流的采样率转换并输出到另一个 speaker 组件。
如果音频流不需要重采样,则会自动直接发送到输出扬声器。
此平台仅适用于基于 ESP32 的芯片。
WARNING
音频和语音组件会在设备上消耗大量资源(RAM 和 CPU)。
如果在设备的 配置中包含太多额外的组件,很可能会发生崩溃。特别是,蓝牙/BLE 组件在使用时已知 会导致与语音助手和/或其他音频组件组合使用时出现问题。
# 示例配置条目speaker: - platform: resampler output_speaker: output_speaker_id sample_rate: 48000- output_speaker (必填, ID): 用于输出重采样后音频的 扬声器。
- buffer_duration (可选, 时间): 内部环形缓冲区的持续时间。较大的值可能会减少卡顿但会使用更多内存。默认为
500ms。 - bits_per_sample (可选, 正整数或
passthrough): 重采样后的音频采样位深度。默认为passthrough,即位深度与输入音频匹配。 - sample_rate (可选, 正整数): 要转换到的采样率。必须在
8000和48000之间。默认为输出扬声器的采样率。 - filters (可选, 正整数): 要使用的窗口 sinc 插值滤波器数量。必须在
2和1024之间。默认为16。 - taps (可选, 正整数): 每个窗口 sinc 插值滤波器的抽头数。必须在
16和128之间且能被 4 整除。默认为16。 - task_stack_in_psram (可选, boolean): 在外部内存中运行音频任务。默认为
false。 - Speaker 组件 中的所有其他选项。
重采样是一项处理器密集型操作,应尽可能避免。音频质量受滤波器和抽头数量的影响。增加滤波器数量会增加内存负载。增加抽头数量会增加 CPU 负载。