历史上的今天
今天是:2024年10月15日(星期二)
2020年10月15日 | 基于ARM的非特定人语音识别系统电路设计
2020-10-15 来源:elecfans
非特定人语音识别技术研究的最终目的是让计算机等设备能够“听懂”人类语音,提取出语音中所包含的特定信息,成为人机通信和交互最便捷的手段。由于语音信号本身具有不确定性、动态性和连续性,这就为准确量化和处理该信号带来非常大的困难,每个人的语音要建立不同的语音样本也为识别的普及带来瓶颈约束。目前的语音识别是先建立特征库然后将待识别的信号经处理与特征库比对得到相似结果判定输出。从本质上属于基于统计模式的基本理论,分语言模型训练、识别分析两个大阶段构成和实现。
系统设计的整体结构
系统以STM32F103C8T6 微控制器为控制核心,搭配微控制器最小核心电路、LD3320语音识别电路、SD卡电路、电源电路、用户按键输入电路、串口数据输出电路、状态指示电路等综合组成。该系统体积小巧,可以作为嵌入式组件单元融入用户电路或者板卡中,上电后STM32F108C8T6内部程序进行程序初始化、SD 卡文件系统初始化、LD3320初始化、随后等待识别音频接收,识别完成后输出响应信息或者解码音频,系统整体结构如图2所示,最终实现积木式功能组件的全部功能。
微控制核心电路
系统采用ARM Cortex M3内核ST公司的32位高性能单片机STM32F103C8T6 为控制核心,该芯片可以达到72 MHz的工作频率,内置高速存储器(64 KB的闪存和20 KB的SRAM),拥有丰富的I/O口资源和链接到两条APB 总线的外设。包括了12 b 的ADC、通用16 b 的定时器、还包括I2C、SPI、USART、USB、CAN等总线或串行通信接口,片内资源和扩展接口都十分丰富,该微控制核心是专门设计于满足高稳定性、低功耗、实时性、高性价比的嵌入式产品应用。该内核芯片可以满足非特定人语音识别的功能要求,利用相关电路构成STM32F103C8T6 的最小系统,在硬件PCB 中还集成了功能引针输出接口、SD卡接口、USB下载调试电路,用户按键、电源电路等,核心系统电路图如图3所示,配合其他外围扩展达到功能要求。

非特定人语音识别电路
本系统中选用IC Route公司生产的LD3320非特定人语音识别芯片,该芯片是非特定人语音识别的专用芯片,内部已经集成了语音识别处理器和一些信号调制电路,拥有高性能的A/D转换器、D/A转换器、麦克风音频信号输入接口、音频解码输出接口等,用户只需要用软件编辑好待识别的关键词列表,LD3320最大可以支持 50 条关键词句,把这些列别以字符的形式传送到芯片中,就可以对待识别的语音信号进行近似度分析,识别后输出结果。

LD3320 整体工作电路如图4 所示,总体上可以把电路图分为8个部分,分别是LD3320基础外围电路、电源电路、外部晶体振荡器电路、麦克风信号处理电路、去耦合滤波电路、解码音频去直流成分电路、功能引针输出电路、状态信号指示电路。语音识别单元对于电源供电电路的要求较高,电路中注重对供电纯净度的要求,由系统中的LDO芯片 LM1117-3.3 V为语音识别系统供电,加上电感、电容为供电进行滤波,RSTB为LD3320复位引脚,连接到主控制器进行复位控制。LD3320支持并行数据通信和串行数据通信,在本系统设计中考虑对主控I/O 资源的占用问题,故而选用串行通信方式对LD3320 进行数据传送和控制,LD3320 的MD 引脚通过上拉电阻钳位为高电平。SPI总线的SDI、SDO、SDCK和SCS引脚连接到主控芯片对应引脚。INTB为中断信号引脚,遇到识别结果输出或者是内部音频文件解码完成等状态,该引脚会对应输出电平状态通知主控。MBS引脚作为麦克风偏置电压输入,连接了RC电路,保证产生一个浮动电压供给麦克风信号。
普及语音识别技术是当前研究和发展的新趋势,特别是对于非特定人的语音识别是语音信号领域处理的热点和难点,利用了STM32F103C8T6与 LD3320结合,配合各种外围电路完成了非特定人语音识别的嵌入式平台,在平台中通过硬件构建,在不更改主控制芯片程序的前提下,用户可以通过更改 SD 卡内配置文件的方法随意设定识别关键语句,经过不同发音人和环境的实测,该系统在嘈杂环境中的识别准确率可达81%,在安静环境中的识别准确率可达90% 以上,可以方便的嵌入用户系统或者板卡中,积木式搭建灵活实用,因而具有广泛的市场需求和应用前景。
史海拾趣
|
请各位高手指教,下面的电路能不能成立,不能成立的原因是什么? 电路是我自己画的,个人分析如下,有不对的地方希望大家指正:谢谢~ 1》通电,12V经R1到Q1的C极,经R2加至Q1的B极,Q1饱和导通,C极等于0 此时Q2,Q3,Q4的B极全部为0 Q2为PNP管,此时是导通状态,但对电路没影响 2》按S1, ...… 查看全部问答> |
|
请大家帮个忙!我在DXP 里画的原理图拷到WORD格式,不过原理图的外面的匡没法去掉,我就需要复制原理图,不要外面的匡和右下脚的匡,有什么办法只能把原理图复制过去呢! 谢谢你们了!… 查看全部问答> |
|
我想在eboot中加入USB中断的方式下载功能。现在遇到这么一个问题,中断触发时,响应中断,进入中断处理函数,然后退出中断。等下一个中断到来时,就无法响应中断了。中断处理函数退出时,已经开了中断。也就是说,只响应一次中断,请问,这是什么原 ...… 查看全部问答> |
|
wince下的驱动程序的编写是不是都可以用流驱动来做,, 我知道像键盘.显示.电源都是本机驱动... 想问一下打印机驱动可以用流驱动来做不??怎样实现与具体的硬件相连呢?… 查看全部问答> |
|
F2812 的C编译器好像不分char和int都用一个16位来存储?? F2812 的C编译器好像不分char和int都用一个16位来存储??这岂不是很浪费? 比如 const unsigned char gImage_background[1000] = {。。。。} 我把.econst 分配在长度为0x200word(1024byte)的内存里,被告知: [Linking...] \\" ...… 查看全部问答> |
|
将149的××cc与DVcc接到电源的正极,××ss接到负极,然后使用ADC12测试。程序如下; #include <msp430x14x.h> void main(void) { volatile unsigned int i; WDTCTL = WDTPW+WDTHOLD; ADC12CTL0 = ADC12ON+SH ...… 查看全部问答> |




