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