CH585驱动CH271播放音频

前言:

本文提供CH585通过双路PWM驱动271芯片,进而实现驱动音频。相较单路PWM,优点在于不需要调节RC电路,不会出现爆破音,且外围简单。

操作指令:

①通过ffmpeg命令行工具将wav格式文件转换为sbc格式文件,转换成的文件需手动将.sbc修改为.wav,其次再命令行将sbc文件转换为hex文件。并烧录至芯片。

ffmpeg -i 欢迎音.wav -acodec sbc -ab 64k -ar 16000 -ac 1 欢迎音.sbc
//生成sbc文件后,手动将sbc文件后缀修改为wav
bin2hex.exe --offset=32768 欢迎音1.wav 欢迎音.wav.hex

流程:

上述指令生成的hex,合并代码并烧录到芯片。

image

补充:

  1. bin2hex是一个工具,参考下载:iot-fan_at_cnblogs: iot-fan 在cnblogs 的档案仓库 - Gitee.com
  2. ffmpeg和bin2hex需要添加至环境变量,添加方式自行百度;
  3. 测试代码码率配置64K,采样率16000;

记录:

//下面是一个完整的演示。
ffmpeg -i 欢迎音.wav -acodec sbc -ab 64k -ar 16000 -ac 1 欢迎音.sbc
bin2hex.exe --offset=32768 欢迎音1.wav 欢迎音.wav.hex

ffmpeg -i 报警音.wav -acodec sbc -ab 64k -ar 16000 -ac 1 报警音.sbc
bin2hex.exe --offset=0x14800 报警音1.wav 报警音.wav.hex

ffmpeg -i 请扫描.wav -acodec sbc -ab 64k -ar 16000 -ac 1 请扫描.sbc
bin2hex.exe --offset=0x21000 请扫描1.wav 请扫描.wav.hex

ffmpeg -i A.wav -acodec sbc -ab 64k -ar 16000 -ac 1 A.sbc
bin2hex.exe --offset=0x2D800 A1.wav A.wav.hex

ffmpeg -i B.wav -acodec sbc -ab 64k -ar 16000 -ac 1 B.sbc
bin2hex.exe --offset=0x30000 B1.wav B.wav.hex
ffmpeg -i G.wav -acodec sbc -ab 64k -ar 16000 -ac 1 G.sbc

bin2hex.exe --offset=32768 1G.wav G.hex

python hex_address_allocator.py.txt A.hex B.hex C.hex D.hex E.hex F.hex G.hex	//前面要加上python,因为txt文本里面改了东西

mergehex.exe -m A_addressed.hex B_addressed.hex C_addressed.hex D_addressed.hex E_addressed.hex F_addressed.hex G_addressed.hex  -o TEST合并PythonTest.hex

 

posted @ 2025-10-31 19:13  SweetTea_lllpc  阅读(2)  评论(0)    收藏  举报