工程师选 MP3 语音芯片,问得最多的一句是我这个产品该用哪颗。真把项目做下去会发现,型号是最后一步,前面还有一件事得先定下来,这台设备的语音由谁负责替换。出厂前就定稿的,装在现场让维护人员自己改的,挂在网上远程下发的,三种活法对应三套差别很大的选型。
WT2003H 这个系列在行业里铺得广,从充电桩到宠物喂食器都能见到,原因也在这里。同一颗芯片,配上不同的存储组合、不同的通信工程,能变成完全不同的方案。下面把这十二条产品线拆开讲,每条说清楚为什么这么选,以及真正会卡住人的地方。
一、先定换音路径
三条路,越往后对现场越友好,对研发的要求也越高。
出厂前烧录。 上位机合成 bin 文件,配脱机下载器在产线上烧。这条路最便宜也最快,适合语音内容定稿、批量贴片的产品。代价是改一句话都得重新走一遍流程,已经装到现场的设备只能返厂。
模拟 U 盘。 芯片挂一颗 SPI Flash 或者一张 TF 卡,USB 接口引到板边,插上电脑直接出盘符,音频文件拖进去就行。这条路适合设备类和按键类产品,一台电脑就能完成替换,不用装任何工具。它要求芯片型号支持 PC 模式,另外得在画板时就把 USB 口预留出来。
MCU 远程更新。 主控通过串口把音频文件或者 bin 写进芯片。这条路是给联网设备准备的,无线网关、户外提示器、智能充电桩、共享单车这类产品走的就是它,运营方在后台点一下,现场不用去人。
三条路里有个地方特别容易搞混。出厂烧录用上位机合成的 bin 文件,里面是程序加语音两部分;MCU 远程更新那种 bin 只装语音,不含程序。名字都叫 bin,能不能互相替换,得看手上这份是哪一种。
二、存储阶梯,从 300 秒到 16300 秒
容量是最先要算的账。同一个芯片,采样率一变,能装的时长差好几倍。以下是语音工程在标准情况下的对照。
内置存储的芯片分三档。
| 芯片型号 | 封装 | 内置容量 | 8K 采样 | 12K 采样 | 16K 采样 | 32K 采样 | 外挂 Flash |
| WT2003H4 | SOP16 / TSSOP24 | 4Mbit(512Kbyte) | 300 秒 | 200 秒 | 150 秒 | 75 秒 | 可选,不挂也能单独工作 |
| WT2003HP8 | QFN32 | 8Mbit(1024Kbyte) | 800 秒 | 规格书未列 | 400 秒 | 200 秒 | 可选,不挂也能单独工作 |
| WT2003H0 | SOP16 / TSSOP24 | 无,内部只存几 KB 固件 | 必须外挂 Flash 才能工作 | 必须外挂 | |||
外挂 Flash 是长度上不封顶的那条路。同一颗 Flash,8K 采样能撑住的时长比 32K 长四倍。
| 外挂 Flash | 8K 采样 | 16K 采样 | 32K 采样 |
| WT25Q80B-8S | 800 秒 | 400 秒 | 200 秒 |
| WT25Q16B-8S | 1800 秒 | 900 秒 | 450 秒 |
| WT25Q32B-8S | 4000 秒 | 2000 秒 | 1000 秒 |
| WT25Q64B-8S | 8100 秒 | 4050 秒 | 2025 秒 |
| WT25Q128B-8S | 16300 秒 | 8150 秒 | 4075 秒 |
采样率怎么定,答疑集给的建议很直接。芯片支持 8K 到 44.1K,码率 8 到 320Kbps,位深 16bit,一般建议采样率设 44.1K、码率不超过 128Kbps。人的耳朵对超过 44.1K 的采样分不出区别,码率倒是实打实占容量。
M 系列模块的存储另算一套,按外形和换音方式分。
| 模块 | 存储组合 | 内置容量 | 换音方式 | 控制模式 |
| WT2003HM01 | SPI-Flash + U 盘 | 32Mbit | 模拟 U 盘 | UART |
| WT2003HM02 | TF 卡 + U 盘 | 无 | 模拟 U 盘,也可拔卡插读卡器 | UART |
| WT2003HM03 | SPI-Flash + TF 卡 + U 盘 | 100 秒或 350 秒 | 模拟 U 盘,也可换卡 | UART |
| WT2003HM04 | QFN32 芯片 + Flash | 900 秒 | 出厂烧录 | UART、一线、二线、按键 |
| WT2003HM05 | QFN32 芯片封 8 脚 | 900 秒 | 出厂烧录 | UART、一线、二线、按键 |
| WT2003M02 | SPI-Flash + U 盘 | 32Mbit | 模拟 U 盘 | UART |
两条要留意的差异。
HM04 和 HM05 是模块里唯二支持按键控制的,四种控制方式都齐,一线和二线模式下音量分 8 级,UART 模式下分 32 级。
WT2003M02 的默认输出方式和其他几款模块相反。它上电默认走 DAC 输出,要用 PWM 得发指令切;其余模块上电默认 SPK 输出,要 DAC 才发指令切。板子如果是从旧 WT2003S 系列模块沿用过来的,换上这颗之前先把输出方式这一档确认清楚,别按默认 SPK 去接功放。
三、通信方式怎么选
四种控制方式各有各的位置,而且不能混用。一颗芯片烧的是哪种工程,就只能按那种方式发码,混着发不会响应。
UART 是功能最全的,读写指令都支持,能查状态、能插播、能设音量,波特率默认 9600,MCU 更新音频系列的工程一般用 115200。一线串口省管脚,一根线搞定控制,适合家电面板这种 IO 紧张的板子。二线串口多发一根时钟线,抗干扰比一线好一些,适合线束较长或者电磁环境差的产品。按键控制不需要 MCU,触发方式在工程里配,脉冲可重复触发、电平保持可循环、上一曲不循环这类一共 15 种,玩具和简单小家电用得最多。
各有各的上限。连码播放一线和二线最多 10 组,UART 最多 20 组,定制工程能到 100 组,但要牺牲一部分指令能力。音频地址的起点也不一样,一线和二线从 00 开始,建议 0 地址留一段静音;UART 从 01 开始。
上电时序是这几个方案共同的坑。语音芯片系列上电初始化在 300ms 左右,其中 100ms 是正常启动,另外 200ms 是等升级握手用的。PC 模式要挂载盘符,初始化要 500ms 到 1 秒,这段时间发码不响应。指令之间还要留间隔,答疑集给的是 100 到 200ms,HM 系列模块说明书给的是 200 到 300ms,按宽的那档留最保险。
低功耗这一档也值得单独记。深度休眠在 3uA 以内,原地休眠在 30uA 以内。一线和二线工程上电 5 秒内不播放就自动进深度休眠,下次发码前得先发 0xFE 唤醒,等 100ms 再发正文。UART 靠 RXD 脚下降沿唤醒,连发 0x00 0x00 就行,唤醒后不会自己再睡,要睡还得单独发指令。
四、充电桩
户外设备,环境噪声大,播报要盖得住。语音内容从插枪引导、启动确认、充电中提醒、结算金额到故障告警,全套下来不短,外挂一颗 WT25Q16B 就够,8K 采样能放 1800 秒,留足余量。
功率上,芯片内置的 0.5W D 类功放推小喇叭在室内够用,装到马路边就偏弱。这类产品的做法是走 DAC 输出接外置功放,DACL 和 DACR 两个脚直接推 AB 类或者 D 类功放。以 HM02 模块资料里的模拟 DAC 特性表为例,信噪比 95dB、动态范围 92dB、总谐波失真加噪声 -65dB,接功放推大喇叭时底噪听不出来。DAC 切换指令要放在最开始发,等 200ms 再发播放指令。
告警这一路建议用 B1 插播。用户正听着充电进度,突然来了故障,B1 把当前这句暂停,插完告警再接着往下播,MCU 不用记断点。要留意的是插播期间发第二条没用,得等第一条播完。
还有个产线痛点值得提前想。充电桩量大的时候,用模拟 U 盘逐台插电脑拷音频很费时间。答疑集里给了个办法,选一颗已经格式化好的 Flash,把音频拷进去后用工具把整片读成 bin,量产时直接把这个 bin 提前烧进每一颗 Flash,省掉重复格式化和装驱动的步骤。模拟 U 盘的拷贝速率大概 32KByte 每秒,一颗 32Mbit 的芯片拷满要约 2 分 10 秒,按这个数算产线工时比较靠谱。
五、自动售货机
售货机的点位经常换货,促销话术跟季节走,支付方式每两年又加一种,提示音要是改一次就返厂,运营方干脆不改了。这条线用 TF 卡版本最顺,卡拔出来插读卡器,或者把模块的 USB 口接到电脑,卡会挂成盘符,拷完插回去。
语音按货道分文件夹,A4 指令指定文件夹内的索引播放,文件夹名固定 5 个字符,只有文件夹名走 ASCII 码值,其余数据是十六进制。饮料一个文件夹、零食一个文件夹,换季只动一个目录,别的索引不受影响,文件夹内的索引号从 1 重新算。
换卡这件事本身只有一步,容易翻车的是排序。芯片的索引按文件存进卡里的先后顺序排,不按文件名。卡里躺着 001.mp3 到 007.mp3 看着整齐,复制时系统不保证按这个顺序写进去。稳妥的两种复制方法,一种是右键第一个音频文件后 Ctrl+A 全选再拷贝,过程中鼠标不能点中任何一个待发文件;另一种是排好顺序后全选,右键落在第一个文件上,选发送到目标盘符。
换完音做一轮自检。C5 查根目录总数,C6 查指定文件夹内总数,C9 查当前播放曲目地址,CA 查外设挂载状态。CA 还有个额外用途,TF 卡和 U 盘插入或拔出时模块会主动上报,卡被人拔走,MCU 立刻知道。
六、共享设备
共享单车、共享充电宝这类产品的语音有两个特点。换音要能远程做,设备铺到几个城市之后没人愿意去现场;功耗要压得住,很多设备靠电池或者太阳能板撑着。
换音走 MCU 更新音频系列。联网之后由主控通过 UART 把音频写进去,不占人。功耗上,UART 深度休眠 3uA 以内,唤醒靠 RXD 脚下降沿,主控连发两个 0x00 就能把芯片叫起来,不需要额外拉一根唤醒线。
这类设备还有个隐蔽的坑。用外挂 Flash 方案时,休眠功耗和 Flash 本身有关,选型阶段要把这颗 Flash 的待机电流一起算进去,不能只看芯片的 3uA。
七、智能门锁
门锁的语音不长,指纹通过、密码错误、请重试、电量不足,加起来几十秒,WT2003H4 内置的 4Mbit 够用,8K 采样能放 300 秒,采样设到 16K 也有 150 秒。选它的另一个理由是封装,SOP16 只有 8.65 乘 6 毫米,门锁主板本来就挤。
门锁对功耗敏感,休眠电流直接影响干电池能用几个月。用内置容量、不挂 Flash 的单芯片方案在这条线上有优势。
喇叭这一路有个现成的用法。芯片的 BUSY 脚平时是低电平,播放时拉高,正好拿去控制功放的使能脚,播的时候开功放,播完关掉,省下待机电流。用之前先确认一下工程里 BUSY 的极性,有些定制工程的设置是反的。
八、智能家电
电饭煲、咖啡机、净水器这类产品,控制面板上有一排按键,语音要跟着按键走。用 HM04 或者 HM05 的按键控制模式最省事,不需要另外挂 MCU,任意按键能在工程里配成脉冲可重复触发、电平保持可循环、播放暂停、音量加减等 15 种触发方式。
一线的板子用一线串口,音量 8 级可调,够用。带屏的机型如果用 UART,音量能到 32 级,还能查当前音量。
家电常见的一个问题是提示音要跟操作实时对上,迟一点用户就觉得没反应。这里有个能拿来算时序的数。以音频源文件 44.1K、128Kbps、16bit、3.23 秒的 MP3 为例,从发码到 BUSY 拉高是 100ms,到真正出声是 150ms,中间那 50ms 差值来自 MP3 文件本身带的头尾静音,规格书里写明 MP3 音频前后一般有 100ms 左右静音。换成 WAV 文件,发码到 BUSY 拉高只要 44ms,出声 45ms。对响应要求高的产品,把关键提示音换成 WAV 格式,能省下近 100ms。
九、安防与迎宾
人体感应提示器、门铃、迎宾器这一类,探测方式有红外、超声波、光感应几种,共同点是触发信号简单,不需要复杂协议。一线或者二线串口就够,成本也低。
迎宾器这类产品是间歇工作的,一天里大部分时间没人来。一线和二线工程上电 5 秒内不播放会自动进深度休眠,休眠状态收到触发信号要先把芯片唤醒,发 0xFE 等 100ms,再发播放指令。如果直接把播放指令当成第一条发出去,第一条会被当成唤醒指令吃掉,声音不出来。这个现象在调试阶段很常见,容易被当成模块坏了。
设备装在门口或者大堂,环境噪声不小,单喇叭盖不住的时候考虑外接功放。这里有个硬约束,芯片的 PWM 脚只能直推 8 欧 0.5W 的喇叭,想并联两个 8 欧喇叭或者换一个 4 欧喇叭来提音量,负载电流会抽得太大,触发闩锁效应,芯片要断电才能恢复。要两个喇叭就外接功放,一个功放对应一个喇叭。
十、医疗健康设备
血压计、体脂秤、康复设备这条线的语音特点是短句多、组合多。收缩压、舒张压、心率都是变量,固定音频覆盖不了,常见的做法是把数字和单位做成独立音频段,由 MCU 用连码指令拼起来播。UART 的连码上限是 20 组,做血压播报这类组合够用。
功耗和体积同样重要。体脂秤、血压计多用电池,内置容量的单芯片方案比外挂 Flash 省电也省地方。静音场景(比如夜间测量)可以靠 AE 指令把音量降下来,这条指令有掉电记忆,设一次就记住了。
有一条边界要说明白。唯创知音的说明书里写明,产品未获明确书面许可,不得作为生命支持设备或航空设备的关键元件使用。血压计、体脂秤这类健康监测产品没问题,涉及生命支持的场合要走专门的流程。
十一、工业自动化设备
工业现场的两个硬条件,噪声大和电磁环境差。
噪声大就得靠功率,内置 0.5W 功放多数不够,走 DAC 输出接外置功放是标准做法。DAC 输出是正弦波,可以直接推 AB 类或者 D 类功放,和 PWM 输出那个方波不一样,接功放时别选错类型。
电磁环境差,通信方式要往上选一档。一线串口只有一根信号线,在变频器、伺服电机旁边容易受干扰,工业设备建议走二线或者 UART。串口是 3.3V TTL 电平,如果主控的 IO 是 5V,中间要加电平转换,或者反接一个二极管,负极靠近 MCU 那一端,防止电平倒灌把芯片的工作电压顶起来。答疑集里提过这个现象,倒灌会让芯片功耗异常,时间长了会坏。
故障告警走 B1 插播,操作引导走正常播放,两条线分开,逻辑清楚。
十二、电梯与楼宇对讲
这类设备要放的语音最长。楼层播报从 1 层报到 30 多层,加上开门提示、关门提示、超载告警、消防迫降,一套下来轻松上百句。外挂 Flash 在这里是必须的,WT25Q128B 在 8K 采样下能放 16300 秒,四十多个小时,楼层再多也装得下。
楼层播报对响应时间有要求,电梯门开了语音得跟上。前面提过的那组数在这里有用,WAV 格式从发码到出声 45ms,MP3 要 150ms,楼层这类短句建议用 WAV。
设备装在井道或者楼道,线束长,电磁环境不干净,通信走二线或者 UART 更稳。
十三、公共广播与广告机
自助银行语音提示器、语音广告机、自动播放的导览设备都归这一类。特点是按时间循环播,没人操作。
循环播放用 AF 指令设置,02 是所有曲目循环。这里有个细节值得记住,播放模式设成所有曲目循环之后,再用 A4 指定某个文件夹里的一曲播放,播放会在那个文件夹内部循环,不会跑到别的文件夹去。做分区广播或者分区域的背景音乐,用这一条就能实现。
容量上这类设备走外挂 Flash,WT25Q32B 给 4000 秒,WT25Q64B 给 8100 秒,按内容量选。
机器常年开着,电源要稳。电源纹波控制在 5% 以内,峰值不能超过 5.5V,长时间在这个值以上工作容易烧芯片。户外或者高压场景降压到 5V 供电时,加一颗 5V 单向 TVS 管,结电容选 10PF 左右,触发电压小于 7V,IPP 电流大于 25A。
十四、儿童玩具与教育产品
玩具这条线的关键词是录音。单芯片 WT2003H4 就能录,8K 采样下能放 77 秒,标准录音工程默认 24K 采样,这时能录 26 秒。录完直接播,不需要外挂存储。
要留意的是录音不能循环播放。这和固定地址的音频不一样,两者存放的区域不同,播录音需要重新调接口解码,标准品没做循环指令。想循环就得靠 MCU 检测 BUSY,播完再发一次。这个限制在玩具方案评估阶段就要确认,不然做完了才发现功能对不上。
多段录音也能做,标准工程是单段,多段需要和原厂沟通改程序。一线和二线工程里,单段录音发 F5,播放发 F6;多段改成 F5 加地址号,比如录第 2 段发 F5 02,播第 2 段发 F6 02。
想做变声玩具的话,这个系列另有两个扩展版本,A024 是变频变调,A23 是内外混音,两者都按控制方式分了工程。A024 分 UART 和一线两套,A23 分 UART 和一线两线两套,A23 的一线版把两线一起覆盖了。
十五、宠物喂食器
宠物喂食器的语音通常是主人自己录一段,按一下录,再按一下放。单芯片按键录音是最合适的方案,成本低,电路简单。
这条线最常见的售后问题是录音底噪大。PCB 布局是主因,答疑集里给过一组对比板。芯片 VCC 和 GND 之间的走线回路不能远;电源线不要从芯片底部穿过去,实测干扰很大,上电录音时有明显的咔声;MIC 输入信号的隔直电容不要大于 1uF,容值过大芯片会工作不正常。
功耗也有个容易忽略的点。单芯片深度休眠能做到 5uA 以内,但如果 MIC 电路用了芯片的 VOUT 脚供电,休眠功耗会升到 30uA 到 450uA。喂食器多数是插电的,影响不大,但如果做电池版本,这个数要先算进去,需要压在 5uA 以内的话得改成用别的脚给 MIC 供偏置。
十六、三张速查表
换音路径怎么选。
| 换音需求 | 走哪条路 | 需要什么 |
| 出厂定稿,批量生产 | 上位机合成 bin 加脱机下载器 | 预留烧录口当测试点 |
| 现场维护,设备类按键类 | 模拟 U 盘(PC 模式) | 芯片加 Flash 或 TF 卡,板边留 USB |
| 联网设备,后台下发 | MCU 远程更新 | 只含语音的 bin,UART 通信 |
| 产线快速复制 | 读整片 Flash 成 bin,量产时预烧 | 一颗已格式化的 Flash |
存储档位怎么选。
| 需要的时长 | 8K 采样 | 选型 |
| 5 分钟以内 | 300 秒 | WT2003H4 内置 |
| 13 分钟以内 | 800 秒 | WT2003HP8 内置,或外挂 WT25Q80B |
| 半小时以内 | 1800 秒 | 外挂 WT25Q16B |
| 1 小时以上 | 4000 秒以上 | 外挂 WT25Q32B 到 WT25Q128B |
| 换音要拔卡 | 按卡容量 | WT2003HM02 |
通信方式怎么选。
| 场景 | 通信方式 | 说明 |
| 功能最全,要查状态 | UART | 9600 或 115200,连码 20 组,音量 32 级 |
| IO 紧张,简单播报 | 一线串口 | 连码 10 组,音量 8 级,需唤醒 |
| 线束长,干扰大 | 二线串口 | 抗干扰优于一线,需唤醒 |
| 没有 MCU,纯按键 | 按键控制 | 15 种触发方式,HM04 和 HM05 支持 |
十七、这套方案不管什么
两种需求要提前分流,不然选到一半会发现做不了。
金额、余额、积分、体重这类变量播报,音频文件的数量是组合爆炸的,固定音频存不下。这类走 TTS 语音合成,把文本实时转成声音。
用户提问式的语音交互,比如问机器为什么提前停了、这笔钱怎么算的,走的是带联网能力的方案,得先理解语义再组织回答,放音频做不到这件事。
这两块和固定播报是互补的。分清楚哪一段是固定话术、哪一段是变量、哪一段要交互,把固定那部分用 WT2003H 做扎实,后面的升级路径留着,MCU 侧的串口控制框架不用重写。
245
