基于ARM处理器的非特定人语音识别系统设计
2.2 声强检测单元设计
在进行语音识别时需要判断是某一台从设备操作人员的口令,为此设计声强检测单元电路,该电路仅需能够判断出相对声强的大小,无需检测声级,对检测精度要求较低。
电容式MIC声音传感器将外部声音信号转换成电信号,经NE5532放大电路进行放大,将输入的微弱音频信号转换为具有一定幅值的电压信号,该电压信号经AC/DC有效值转换电路进行装换后进行再次放大,最终由Arduino mega2560控制器的A/D进行采样。图5给出了声强检测单元的电路原理图,其中D1 端接Arduinomega2560控制器的A/D,INT1端接Arduino mega2560控制器的外部中断1.当外界声音信号大于预设的阈值时,三极管导通INT1端由高电平变为低电平产生外部中断,控制器响应中断并进行 A/D 采样,采样数据经均值滤波后保存,待测控计算机查询时上传该声强数据。
2.3 语音合成单元设计
TTS(Text To Speech)文本转语音技术是人机智能对话发展的趋势。基于TTS技术的语音系统无需事先录音就能够随时根据查询条件查出并合成语音进行播报,从而大大减少了系统维护的工作量。利用此技术,通过MCU或者PC机就能控制语音芯片发音[4]。
本文采用SYN6658中文语音合成芯片进行语音合成。SYN6658 通过UART 接口或SPI接口通信方式,接收待合成的文本数据,实现文本到语音(或TTS语音)的转换[6]。控制器和SYN6658 语音合成芯片之间通过UART接口连接,控制器通过串口通信向SYN6658语音合成芯片发送控制命令和文本,SYN6658语音合成芯片把接收到的文本合成为语音信号输出,输出的信号经LM386 功率放大器进行放大后连接到喇叭进行播放。如图6所示。