跳转到内容

为 I²S 扬声器创建音频片段文件

.. audio_clips_for_i2s:

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

  • 使用 Audacity,将音频转换为 WAV,单声道,16kHz,Unsigned 8bit 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 配置目录中,并在您的设备配置中添加包含,如下所示:

esphome:
includes:
- startup.h

现在您可以使用以下方式定义音频片段:

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

享受吧!

教程由 [NUT] 提供。