半米内识别率 90%以上
可以通过语音指令控制输出
可以通过单片机串口控制播放指定语音
三种输出模式:串口输出、IO 输出、喇叭播放
PWM 输出可直接推动 0.5W/8Ω 或 1W/8Ω 扬声器
具有差分放大电路,安静环境下语音识别距离可达到 2-3 米
外挂 SPI Flash,增加存储容量
可以存储多组词条,但是同一时刻只能出现一组词条
非特定人语音识别
语音可支持 32 种语言,目前中文识别度较好
MX9016B语音识别模块是一款小巧语音识别模块,安静环境下语音识别距离可达到 2-3 米;外挂 SPI Flash,增加存储容量;主要功能如下:
识别功能:可识别预设的语音词条,同时通过串口,IO 输出以及识别结果。
播放功能:通过单片机指令播放指定的语音,同时通过 BUSY 脚标志是否正在播放语音。
玩具类:智能机器人、智能故事机、智能玩具车机等
家电类:智能茶壶、智能电饭锅、智能音箱、智能插排、智能晾衣架,智能空气净化器等
理疗类:眼部按摩仪、按摩椅、头部按摩仪、足浴按摩器
语音导航类:医院、商场等地方内指路器
结构组成:MX9016B-24QS 语音识别芯片外挂SPI-flash;可搭配麦克风、喇叭、单片机等外设一起使用。不过,在虚线框中的串口和 IO 都是用于检测 MX9016B是否能正确识别,所以在连接 MCU(客户的)时可连接其 IO 口或串口,二选一即可。
芯片管脚图,引脚按照上图排列顺序
引脚 | 引脚标号 | 功能描述 |
1 | PWMP | 数字PWM输出(+),跟PWMP组合使用可直接驱动扬声器 |
2 | VPS | PWM电源输出脚 |
3 | VIO | PortA IO 电源输入脚 |
4 | SPI_SO | SPI_SO脚 |
5 | SPI_SI | SPI_SI脚 |
6 | SPI_SCLK | SPI_SI脚 |
7 | SPI_CS | SPI_CS脚 |
8 | RESTINB | 复位脚(烧录时需用到) |
9 | PC4 | MIC麦克风口 |
10 | PC3 | MIC麦克风口 |
11 | PC2 | MIC麦克风口 |
12 | AVSS | 模拟地 |
13 | BUSY | BUSY输出脚 |
14 | OUTD | IO口/32K的晶体输出脚 |
15 | V33O | 内部LDO3.3V/1.8V 电压输出 |
16 | VCC | 电源输入脚 |
17 | VSS | 数字地 |
18 | TX | 串口发送脚 |
19 | RX | 串口接收脚 |
20 | OUTC | IO口/AD口 |
21 | OUTB | 烧录引脚,闲置时可当IO口使用 |
22 | OUTA | 烧录引脚,闲置时可当IO口使用 |
23 | PWMN | 数字PWM输出(-),跟PWMP组合使用可直接驱动扬声器 |
24 | VPD | PWM 电源输入脚 |
Symbol | Parameter | Min | Max | Type | Uint |
VCC | 工作电压 | 1.8 | 5.5 | 3.3 | V |
Iop | 无负载电流 | -- | -- | 7 | mA |
Ta | 工作温度 | -20 | 75 | -- | ℃ |
Io | 输出电流 | -16 | 16 | -- | mA |
1)RXD/TXD 标准串口通信、波特率 9600,配置见下图
2)13脚为播放状态 BUSY 指示,播放时为 H,不播放时为 L
3)MIC 麦克风正极输入端,可接常用的麦克风型号
4)PWMP/PWMN pwm 输出、可直接驱动 0.5W/8Ω 或 1W/8Ω 扬声器
串口指令格式采用:起始码+参数+反码,设置如下表。
起始码 | 参数 | 反码 |
AA/BB | 见下文 | 见下文 |
注:①参数+反码 = FF,例如 TX 输出的指令 “AA 01 FE” ,起始码为 AA ,参数为 01 ,反码为 FE,01+FE=FF,其他数据依此类推
②TX 输出指令起始码为 AA(见表 4),RX 输入指令起始码为 BB(见表5)
MX9016B语音识别模块可以实现固定词汇,非特定人的语音识别。
固定词汇并非指词条永远无法改变,而是用户不可以自行更改,但开发者可以根据需求更换词条,之后将词条存储到 MX9016B-24QS 语音芯片里或是外挂的 SPI Flash 里,待识别时将会拿输入的语音与存储起来的词条语音作对比,若是两者相似度达到标准就认为是输入的语音与存储中的词条一致,即识别成功。
存储词条的地方有两处:语音芯片的内部、SPI Flash;两者本身的容量不同,所能存储的词条数量自然也不同。下面进行四字词条(即是每个词条四个字)的存储容量的对比
存储位置 | 存储词条数量 |
MX9016B-24S 语音芯片 | 12 条 |
SPI Flash | 根据 Flash 自身容量决定 |
虽说 MX9016B-24QS 语音芯片内部可以存储 12 条左右的词条,但是存储的数量越多,运算的速率越低,识别的效果也会相对的差一点。
词条的存储方式主要有两种:
①一组存储
在词条的数量较少,并且都是同一类型,如都是表示颜色的词条,那可以选择放在同一组中,不用进行切换,更省时间。
②分组存储
若是词条的数量多,并且分类不一样,那可以选择分组存储,例如现在有三组不同类型的词条,分别是故事类,古诗类以及音乐类
故事类 | 古诗类 | 音乐类 |
拔苗助长 | 望天门山 | 爱我中华 |
后羿射日 | 游山西村 | 光辉岁月 |
亡羊补牢 | 使至塞上 | 好久不见 |
守株待兔 | 过零丁洋 | 心如刀割 |
将词条分组存储,待需要进行古诗类词条时,则需先进入古诗类词组,那么我们需要一个入口。
词条的识别过程实际就是波形的识别。实际上,声音会产生波形,可见如下声音波形图。无论是人声,还是风扇的声音,都有波形,但是不同的人说同一句话,声音的波形都会有一点点的差别,就算是同一个人说同一句话,声音的波形也会有差别,因为音调,语速等等都可能发生细小的变化,从而影响声音波形。
因此,在设计的过程中,会设置一个门槛,若输入语音的波形与存储好的词条波形相似度高于这个门槛,则识别成功。而这个门槛的高低可以改动的(用户无法更改),门槛调高了,即相似度要更高,会更难识别,识别率降低;若门槛调低了,更容易识别,识别率增加,但是这也带来了一个问题-----误识别。
在吵杂的环境中,多种声音的波形叠加在一起,刚好与存储中的某一个词条的波形相似度超过门槛值,那么就会认为是存储中的词条,从而语音识别成功,这就引起了误识别,若设置的门槛越低,误识别率就越高。
所以说,识别率和误识别率是一致的,识别率升高,误识别率也会升高,这就需要根据场合,根据需求来设计识别率。当然,减低误识别率是有办法的,如在不需要识别的时候,让模块处于休眠状态,既可以省电,又可以降低误识别率。
识别率,除了与识别的门槛有关,还与词条的长短等有关,其关系见表 6。
词条与识别效果表
词条 | 识别效果 |
开 | 太短了,不好识别 |
开灯 | 识别效果一般 |
关灯 | 与其他词条相似,识别效果一般 |
小智,开灯 | 长度适中、相似度低,识别效果佳 |
我困了,请关灯 | 长度适中、相似度低,识别效果佳 |
因此,在更换词条时,应考虑词条的长度,各个词条间的相识度,尽量做到长度适中、相似度低。
由于页面限制,完整内容请点击文章右上下载按钮下载文件查看……
联系人:卢先生
手 机:18925103846
邮 箱:Lur@yxin18.com
公 司:广州悦欣电子科技有限公司
地 址:广州市花都区商业大道334号