语音芯片4种播放模式详解:单曲不循环/单曲循环/全部循环/随机播放
报站器到站语音播完一遍又一遍停不下来,按键提示音想让它播完就闭嘴却一直循环,广告机想让十几条音频轮着播、客户听两条就换内容又做不到。这类问题多数不在音频文件本身,在播放模式。很多工程师拿到语音芯片先把精力花在音量和选曲上,播放策略放到最后调,结果项目快交付了才发现芯片默认播完就停,想循环还得发指令。
这篇文章拿 WT2003H 系列MP3芯片把四种播放模式一次讲透,每种模式对应什么指令帧、什么场景用哪种、和索引播放插播怎么配合,全部对照规格书 V2.02 原文,帧格式可以直接抄进代码。
一、先把芯片本体交代清楚
WT2003H 是一款MP3解码语音芯片,内置32位处理器,最高频率120MHz,标准UART串口控制,默认波特率9600。存储上支持片内Flash、片外SPI-Flash、TF卡、U盘四类盘符,外挂Flash最大128Mbit,TF卡和U盘各支持到32G,格式只认FAT和FAT32。解码支持MP3和WAV,采样率8K到44.1K,码率8kbps到320kbps。音频输出内置0.5W D类功放可直推喇叭,也留了DAC输出,16位高精度DAC。工作电压2.6V到5.0V,电源纹波建议控制在5%以内。
封装有三种可选,WT2003H-16S、WT2003H-24SS、WT2003HP8-32N,其中HP8-32N体积4x4mm,塞进小型化外壳里不吃空间。
| 参数项 | 规格 |
| 处理器 | 32位,最高120MHz |
| 控制接口 | UART,默认9600波特率 |
| 存储器 | 片内Flash、片外SPI-Flash、TF卡、U盘 |
| 外挂Flash | 最大128Mbit |
| TF卡、U盘 | 各最大32G,FAT或FAT32格式 |
| 音频格式 | MP3、WAV,采样率8K到44.1K,码率8kbps到320kbps |
| 音量等级 | 0到31级,0为静音 |
| 功放 | 内置0.5W D类,可直推喇叭 |
| 工作电压 | 2.6V到5.0V |
| 封装 | SOP16、TSSOP24、QFN32(4x4mm) |
二、四种模式全靠一条AF指令切换
WT2003H 把四种播放模式做进了同一条指令里,就是指定播放模式指令AF。帧结构五段式,起始码7E、长度、命令码AF、参数、校验码、结束码EF,参数一个字节就分出四种模式。
| 参数值 | 播放模式 | 完整指令帧 |
| 00 | 单曲不循环播放模式(上电默认) | 7E 04 AF 00 B3 EF |
| 01 | 循环播放 | 7E 04 AF 01 B4 EF |
| 02 | 所有曲目循环播放模式 | 7E 04 AF 02 B5 EF |
| 03 | 随机模式 | 7E 04 AF 03 B6 EF |
校验码的算法是长度、命令码、参数三个字节的累加和取低八位。以参数01为例,0x04加0xAF加0x01等于0xB4,所以整帧是 7E 04 AF 01 B4 EF。其余三档同理,00对应B3、02对应B5、03对应B6,照着表抄就行。
芯片返回执行结果,参数01下发后芯片回 7E 04 AF 00 B3 EF,看到返回码00就说明切换成功。
这条指令有三个属性必须记牢,后面踩坑多半栽在这里。
第一条,AF指令无掉电记忆,通电状态下修改有效,掉电重启后恢复默认的单曲不循环。所以如果你的项目要一直跑循环或随机模式,上电初始化流程里要重发一次AF。
第二条,芯片上电默认不播放,初始化完成需要500ms到1s,建议上电等1秒再建立串口通信,避免发码被吞。
第三条,播放模式对内置固定语音无效。出厂前烧进固定语音区域(9F指令索引的那块)的音频不受AF控制,这块区域的语音按工程定制行为走。想受模式控制的音频要放在片内可更换区域、片外Flash、TF卡或U盘里。
三、四种模式逐个拆
### 模式00 单曲不循环,播完就停
上电默认模式。发索引播放指令后播当前这一首,播完自动停,等下一条指令。芯片工作状态用C2指令可以查,播放中返回01,停止返回02,暂停返回03。
这个模式覆盖了大多数提示类场景。按键音、传感器触发的播报、充电桩插枪提示、到站报站,共性都是一次事件配一条语音,播完就该安静。默认就是它,反过来说也是最容易踩的坑,想循环却忘了发AF的项目不在少数。
### 模式01 循环播放,单曲反复
参数01是单曲循环,当前这首播完从头再来,不换曲。适合等待提示音和告警音。设备自检没通过、通信中断等待恢复、加热进行中,这类场景语音内容就一条,要的就是持续提醒直到条件变化。
退出方式两条路,发AB停止指令 7E 03 AB AE EF 直接停,或者发AF切到别的模式。注意AE音量指令带掉电记忆,AF不带,两条指令的记忆行为不一样,别搞混。
### 模式02 所有曲目循环,整个列表轮着播
参数02对所有曲目循环。当前盘符或当前目录下的曲目按顺序轮播,播到最后一首回到第一首。规格书对AC下一曲、AD上一曲的描述也印证了这个闭环,播最后一曲时发AC触发第一曲,播第一曲时发AD触发最后一曲。
商场广告机、门店迎宾器、展馆讲解器是典型用户。十几条产品卖点音频放TF卡,上电发一条AF 02再发一条索引播放,剩下的芯片自己转,MCU不用管。轮播中途想跳过当前这条,发AC下一曲就行,帧是 7E 03 AC AF EF。
### 模式03 随机模式,不按顺序来
参数03随机播放所有曲目。规格书注释里给了个很直观的例子,盘符内有5首音频,先设播放01地址音频,再设随机模式,01播完后芯片会跳到03或其他地址继续,而不是按02、03、04、05的顺序排着播。
随机模式解决的是听觉疲劳。固定循环的广告音客户听两天就背下来了,随机打乱顺序,同样的素材听感完全不同。抽奖机、互动玩具、每日不同提示语的应用也用得上。
四、模式和播放指令怎么配合
AF只管策略,播什么还得靠播放指令。把常用的放一张表里,配模式一起用。
| 指令码 | 功能 | 示例帧 |
| 9D | 指定片内Flash可更换区域索引播放 | 7E 05 9D 00 01 A3 EF |
| 9F | 指定内置固定语音索引播放(不受模式控制) | 7E 05 9F 00 01 A5 EF |
| A0 | 指定片外Flash根目录索引播放 | 7E 05 A0 00 01 A6 EF |
| A2 | 指定TF卡根目录索引播放 | 7E 05 A2 00 01 A8 EF |
| A6 | 指定U盘根目录索引播放 | 7E 05 A6 00 01 AC EF |
| AA | 播放暂停 | 无参数 |
| AB | 停止播放 | 7E 03 AB AE EF |
| AC | 下一曲 | 7E 03 AC AF EF |
| AD | 上一曲 | 7E 03 AD B0 EF |
| AE | 音量控制(0到31级,掉电记忆) | 7E 04 AE 1F D1 EF |
| B1 | 插播 | 见下文 |
| C2 | 查询当前工作状态 | 7E 03 C2 C5 EF |
举两个场景的完整发码序列。指令间隔按规格书要求保持200ms到300ms。
场景一,充电桩插枪提示,默认模式直接用。
| 步骤 | 发送 | 含义 |
| 1 | 7E 05 A0 00 01 A6 EF | 索引播放片外Flash第1首,插枪提示音 |
| 2 | 7E 03 C2 C5 EF | 播完查一次状态,返回02确认已停止 |
场景二,商场广告机随机轮播。
| 步骤 | 发送 | 含义 |
| 1 | 7E 04 AF 03 B6 EF | 切随机模式(每次上电都要重发) |
| 2 | 7E 05 A0 00 01 A6 EF | 从第1首起播,之后芯片随机跳曲 |
| 3 | 7E 03 AC AF EF | 需要跳过当前曲时发 |
插播值得单独说一句。B1指令在当前曲目播放中插入另一条,插播曲播完自动接回原来暂停的那首,适合轮播广告中插入紧急通知。两个约束,只在播放状态下有效,停止状态下发无效;第一次插播没播完时发第二次插播无效,要等第一次播完。另外内置固定语音播放过程中不支持插播。
五、四个容易踩的坑
第一,模式掉电不记忆。AF是易失设置,产品断电重启就回到单曲不循环。所有需要循环、随机行为的设备,初始化序列里AF必须排进去,最好放在音量设置之后、首条播放指令之前。
第二,固定语音区域不受模式控制。出厂烧进9F固定区域的语音按工程定制行为播放,AF对它无效。方案里如果既有固定提示语又有可更换音频,想循环的那部分一定放可更换区域或TF卡U盘。
第三,文件夹播放时上下曲不出文件夹。播放文件夹内音频时,AC下一曲、AD上一曲固定在当前文件夹内循环,不会跑到别的文件夹。多文件夹素材组织时要按这个行为设计目录结构。
第四,返回码排错。芯片每条指令都返回执行结果,00执行成功,01命令出错(校验和算错、指令不在指令集、串口电平异常),02无此文件(索引地址超出盘符内文件数,或盘符是NTFS等非FAT格式),05设备不在线(发了TF卡指令但只挂了Flash)。收到02先查文件数量和盘符格式,收到05先查盘符挂载,比盲目重发快得多。
六、选型速查
| 需求场景 | 推荐模式 | 配合要点 |
| 按键音、事件提示音 | 00单曲不循环(默认) | 无需发AF,播完即停 |
| 故障告警、等待提示 | 01循环播放 | 退出时发AB停止 |
| 广告机、迎宾器轮播 | 02所有曲目循环 | 上电重发AF,AC跳曲 |
| 防听觉疲劳、互动玩具 | 03随机模式 | 上电重发AF |
| 轮播中插紧急通知 | 不切模式 | B1插播,播完自动接回 |
WT2003H的四种播放模式就一条AF指令的事,难的不是指令,是想清楚产品里哪段音频该停、哪段该转、哪段该乱序。把音频按行为分好类,模式选对,MCU端的播放逻辑会简单很多。
【相关推荐】
- WT2003H系列MP3芯片选型指南
- 语音芯片如何用UART指令播放指定音频文件
- WT2003H片内Flash与片外Flash语音方案对比
- 语音芯片插播功能在广告机方案中的应用
参考来源
- WT2003H系列MP3芯片使用说明书V2.02,产品特点、指定播放模式指令AF、插播指令B1、读取当前工作状态C2、发码间隔等注意事项章节
- 语音芯片4种播放模式详解:单曲不循环/单曲循环/全部循环/随机播放
- 恒德新能源:碳化硅重卡电驱动研发难点、痛点和对策
- 从“耗电大户”到“节能标杆”:加油站照明节能改造的实战复盘
- 29.96亿!国产功率半导体企业被收购
- 是德E8257D信号发生器输出异常?这份维修记录供参考
- 创新突破 | 度亘核芯发布四芯980nm单模泵浦,加速迈入AI Multi-Rail C+L新时代
- 神玑 NX9031C 智能驾驶域控平台 EMC 接口防护
- IP2317至为芯支持PD快充的18W单节锂电池降压充电芯片
- 不画板、不折腾,ESP32-P461-S1 带你快速跑通原型
- 从研发到量产可控:智能传感器全流程质控,燕麦科技国产测试方案已就位
- 无缝衔接数模信号 ATEN宏正VC160A VGA转DVI转换器稳定适配多场景显示升级
- 车路云一体化 “杭州样本”|兆越通讯打造城市路侧系统解决方案
- 射频转接头对同轴链路有哪些影响?插入损耗与阻抗匹配详解
- 其利天下受邀参加首届云南省人工智能学术年会
- Linux字符设备驱动案例:用SPI+DMA点亮WS2812,从时序拼凑到驱动八步实现
- 士兰微电子精彩亮相2026秋季亚洲充电展