nao机器人
位置:首页 >> 新闻中心 >> Nao新闻

Nao新闻

  • NAO机器人DSP实现语音识别

  •   孤立词语音识别一般采用DTW动态时间规整算法。连续语音识别一般采用HMM模型或者HMM与人工神经网络ANN相结合。
      为了能实时控制机器人,首先需要考虑的是能够实现实时地语音识别。而考虑到CHMM的巨大计算量以及成本因素,采用了数据处理能力强大,成本相对较低的定点数字信号处理器,即定点DSP。

      精度问题的产生原因已经由1.4节详细阐述,这里不再赘述。因此必须找出一种可以提高精度,而又不会对实时性造成影响的解决方法。基于以上考虑,本文提出了一种动态指数定标方法。这种方法类似于科学计数法,用2个32 b单元,一个单元表示指数部分EXP,另一个单元表示小数部分Frac。首先将待计算的数据按照指数定标格式归一化,再进行运算。这样当数据进行运算时,仍然是定点进行,从而避开浮点算法,从而使精度可以达到要求。

      对于实时性问题,通常,语音的频率范围大约是300~3 400 Hz左右,因而本实验采样率取8 kHz,16 b量化。考虑识别的实现,必须将语音进行分帧处理。研究表明,大约在10~30 ms内,人的发音模型是相对稳定的,所以本实验中取32 ms为一帧,16 ms为帧移的时间间隔。

      解决实时性问题必须充分利用DSP芯片的片上资源。利用EDMA进行音频数据的搬移,提高CPU利用率。采用PING—PONG缓冲区进行数据的缓存,以保证不丢失数据。CHMM训练的模板放于外部存储器,由于外部存储器较片内存储器的速度更慢,因此开启CACHE。建立DSP/BIOS任务,充分利用BIOS进行任务之间的调度,实时处理新到的语音数据,检测语音的起止点,当有语音数据时再进入下一任务进行特征提取及识别。将识别结果用扬声器播放,并送入到机器人的控制模块。