跳转到内容

创建用于 I²S 扬声器的音频剪辑文件

.. audio_clips_for_i2s:

可以创建音频片段以包含在你的构建中,用于 I²S 扬声器。无需媒体播放器组件!

  • 使用 Audacity,将音频转换为 WAV、单声道、16kHz、无符号 8 位 PCM
Audacity 导出对话框
  • 再次转换,这次使用 SOX。
Terminal window
sox startup.wav --bits 8 --encoding signed-integer --endian little startup_again.raw
  • 现在使用 xxd 将其转换为十六进制字符串,生成 C++ 文件。
Terminal window
xxd -i startup_again.raw startup.c
  • 生成的文件需要修改起始行: 在编辑器中打开并将 unsigned char startup_again_raw[] = {…[SNIP]…} 改为 std::vector<unsigned char> startup_raw = {…[SNIP]…}。

现在你可以将文件重命名为 startup.h,放入 esphome 配置目录,然后在设备配置中通过 include 引入,如下所示:

esphome:
includes:
- startup.h

现在你可以使用以下方式定义音频剪辑:

- speaker.play:
id: speaker
data: !lambda return startup_raw;

尽情享受吧!

教程由 [NUT] 提供。