CN110047480A - 用于社区医院科室查询的辅助管理机器人头部装置及控制 - Google Patents
用于社区医院科室查询的辅助管理机器人头部装置及控制 Download PDFInfo
- Publication number
- CN110047480A CN110047480A CN201910321974.2A CN201910321974A CN110047480A CN 110047480 A CN110047480 A CN 110047480A CN 201910321974 A CN201910321974 A CN 201910321974A CN 110047480 A CN110047480 A CN 110047480A
- Authority
- CN
- China
- Prior art keywords
- voice
- frame
- energy
- steering engine
- signal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000033001 locomotion Effects 0.000 claims abstract description 34
- 238000001514 detection method Methods 0.000 claims abstract description 30
- 230000001815 facial effect Effects 0.000 claims abstract description 23
- 238000000034 method Methods 0.000 claims abstract description 18
- 238000009432 framing Methods 0.000 claims description 21
- 230000006870 function Effects 0.000 claims description 18
- 238000001228 spectrum Methods 0.000 claims description 17
- 239000003990 capacitor Substances 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 claims description 10
- 238000004891 communication Methods 0.000 claims description 9
- 238000004458 analytical method Methods 0.000 claims description 6
- 238000013528 artificial neural network Methods 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 239000011159 matrix material Substances 0.000 claims description 6
- 230000007246 mechanism Effects 0.000 claims description 6
- 230000002093 peripheral effect Effects 0.000 claims description 6
- 230000000306 recurrent effect Effects 0.000 claims description 6
- 238000000926 separation method Methods 0.000 claims description 6
- 230000001360 synchronised effect Effects 0.000 claims description 6
- 230000008921 facial expression Effects 0.000 claims description 5
- 238000000605 extraction Methods 0.000 claims description 4
- 238000001914 filtration Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000005265 energy consumption Methods 0.000 claims description 3
- 230000014509 gene expression Effects 0.000 claims description 3
- 238000009499 grossing Methods 0.000 claims description 3
- 230000005855 radiation Effects 0.000 claims description 3
- 230000011218 segmentation Effects 0.000 claims description 3
- 230000003595 spectral effect Effects 0.000 claims description 3
- 241000208340 Araliaceae Species 0.000 claims 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 claims 1
- 235000003140 Panax quinquefolius Nutrition 0.000 claims 1
- 239000004568 cement Substances 0.000 claims 1
- 230000009977 dual effect Effects 0.000 claims 1
- 235000008434 ginseng Nutrition 0.000 claims 1
- 238000007689 inspection Methods 0.000 claims 1
- 230000005236 sound signal Effects 0.000 claims 1
- 230000004044 response Effects 0.000 abstract description 5
- 230000009471 action Effects 0.000 abstract description 2
- 238000007781 pre-processing Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 239000004744 fabric Substances 0.000 description 2
- NJPPVKZQTLUDBO-UHFFFAOYSA-N novaluron Chemical compound C1=C(Cl)C(OC(F)(F)C(OC(F)(F)F)F)=CC=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F NJPPVKZQTLUDBO-UHFFFAOYSA-N 0.000 description 2
- 230000001934 delay Effects 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/14—Speech classification or search using statistical models, e.g. Hidden Markov Models [HMMs]
- G10L15/142—Hidden Markov Models [HMMs]
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/16—Speech classification or search using artificial neural networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/06—Transformation of speech into a non-audible representation, e.g. speech visualisation or speech processing for tactile aids
- G10L21/10—Transforming into visible information
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/03—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
- G10L25/24—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being the cepstrum
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/225—Feedback of the input speech
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/06—Transformation of speech into a non-audible representation, e.g. speech visualisation or speech processing for tactile aids
- G10L21/10—Transforming into visible information
- G10L2021/105—Synthesis of the lips movements from speech, e.g. for talking heads
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Probability & Statistics with Applications (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Manipulator (AREA)
Abstract
本发明涉及用于社区医院科室查询的辅助管理机器人头部装置及控制;解决了社区医院由于医务人员流动大,导致缺少专业导诊人员的问题;所述头部装置包括面部装置、颈部装置以及控制系统;所述面部装置包括面部支撑、语音模块、嘴部装置;所述颈部装置包括颈部支撑和颈部动作装置;针对于医院复杂的背景噪声环境所述控制系统采用DSP芯片进行语音处理,其中预处理过程采用了改进的双门限端点检测算法,提高了低信噪比环境下语音识别的准确率,在应答就诊者语音问题的同时,配合舵机控制板控制面部装置和颈部装置动作完成拟人程度较高的仿人对话动作。
Description
技术领域
本发明属于智能服务机器人领域,尤其涉及一种用于社区医院科室查询的辅助管理机器人头部装置及控制。
背景技术
机器人是这几年来高新科技技术的核心,社会在不断进步,人们对生活质量的要求也不断的提高,智能机器人逐渐走入人们的日常生活,目前智能机器人已经应用在迎宾、导游、保洁等多个领域。
本发明应用于社区医院科室查询领域,目前国家在大力发展社区医疗服务体制,让小病能够在家门口就能解决,大大缓解了大医院的就医压力,但是目前社区医院的现状是医务人员流动量大,缺少专业的导诊人员,导致了医院分诊导医环节缺失、就诊环境嘈杂、就诊体验差等问题,由于医院就诊大厅的语音环境较为复杂,有脚步声、小孩哭闹声、挂号窗口的办公声等,突发噪声时有出现,通用的语音识别方法在信噪较低的环境下识别错误率较高,导致语音对答不能正常进行影响医院的正常办公,耽误患者就诊速度,甚至造成严重后果。
发明内容
本发明解决了上述问题,提供一种用于社区医院科室查询的辅助管理机器人头部装置及控制,它采用改进的双门限端点检测算法,提高了低信噪比环境下语音识别的准确率,若识别正确便快速回复就诊者科室查询的位置信息,与此同时配合舵机控制板控制面部装置和颈部装置完成拟人程度较高的人机交互动作,提高了辅助管理机器人的语音识别能力以及人机交互水平。
为了解决上述问题,本发明的第一目的在于提供一种用于社区医院科室查询的辅助管理机器人头部装置,第二目的在于提供一种用于社区医院科室查询的辅助管理机器人头部装置的控制方法。
本发明所采取的第一技术方案是:
一种用于社区医院科室查询的辅助管理机器人头部装置,包括面部装置、颈部装置以及控制系统,所述面部装置设置于颈部装置上方;
所述面部装置包括面部支撑、语音模块、嘴部装置;
所述颈部装置包括颈部支撑和颈部动作装置;
所述控制系统以DSP芯片为主,包括主控板和舵机控制板,主控板与舵机控制板经过串口通信可实现面部装置和颈部装置动作,进而完成拟人程度较高的仿人对话动作。
进一步地,所述面部支撑包括第一面部支撑、第二面部支撑,所述第二面部支撑仿人眼部的位置加工有两个圆形通孔,仿人鼻子的位置加工有一个圆形通孔,且第一面部支撑与第二面部支撑垂直布置;
进一步地,所述语音模块包括驻极体电容传声器、语音采集模块、喇叭;所述驻极体电容传声器设置于所述第二面部支撑仿人鼻子位置的圆形通孔中,所述语音采集模块与主控板均设置于第一面部支撑上端面上固定,所述喇叭设置于第一面部支撑后方边缘并固定;
进一步地,所述嘴部装置包括第一固定架、第一舵机、第一舵盘、第一摆杆、嘴部连接件、嘴部构件,所述第一舵机的输出轴与第一舵盘传动连接,所述第一舵盘与第一摆杆的一端固定连接,用于实现嘴部咬合的动作,所述第一摆杆的另一端与嘴部连接件固定;所述嘴部连接件的前端面与嘴部构件的后端面固接,所述第一舵机通过第一固定架1-3A与第一面部支撑的下端面固接;
进一步地,所述颈部支撑包括头颈支柱、第一颈部支撑、第二颈部支撑;所述头颈支柱用于连接第一面部支撑与第一颈部支撑,所述第一颈部支撑与第二颈部支撑水平布置;
进一步地,所述颈部动作装置包括第二舵机支架、第二舵盘、云台支架、第三舵盘、第二舵机、第三舵机;所述第二舵盘通过第二舵机支架与第一颈部支撑连接,所述第二舵盘的输出轴与第二舵盘传动连接,所述第二舵盘嵌套在所述云台支架上端的传动槽中传递竖直方向机器人俯仰动作所需的动力,第三舵机的下端与云台支架固定,其输出轴穿过所述云台支架下端面与第三舵盘传动连接,所述第三舵盘嵌套在第二颈部支撑上端传动槽中,提供机器人颈部回转所需要的动力;
进一步地,所述控制系统以DSP芯片为主,包括主控板和舵机控制板,主控板与舵机控制板经过串口通信连接,所述主控板中DSP芯片的SCLKX1引脚与语音采集模块的SCLK引脚连接提供12MHz的时钟,所述DSP芯片的BFSX1引脚与语音采集模块的CS引脚连接用于片选,所述DSP芯片的BDX1引脚与语音采集模块的SDIN引脚连接用于控制接口,所述DSP芯片的BCLKX0、BCLKR0同时与语音采集模块的BCLK引脚连接用于同步数据传输的时钟,所述DSP芯片的BFSX0、BFSR0引脚与语音采集模块的LRCIN、LRCOUT引脚连接I2S格式数据输入和输出同步帧信号,DSP芯片的BDX0引脚与语音采集模块的DIN引脚连接,用于输入立体声DAC,DSP芯片的BDR0引脚与语音采集模块的DOUT引脚连接,作为I2S格式数据输出端,语音采集模块的MICIN与驻极体电容传声器连接用于单声道声音提取;语音采集模块的LOUT与喇叭连接用于输出声音;所述主控板中DSP芯片EMIFA外设将CE1外部储存器分给SDRAM,将CE2外部储存器分给FLASH,所述DSP芯片的UART1_RX、UART1_DX引脚分别于舵机控制板的TX、RX引脚连接,所述舵机控制板的S1、S2、S3引脚分别与第一舵机、第二舵机、第三舵机的数字控制端连接,上述三种舵机的由5V电源供电,板载电源由3.3V电源供电。
本发明所采取的第二技术方案是:
基于所述一种用于社区医院科室查询的辅助管理机器人头部装置的控制方法,包括以下步骤:
步骤a、驻极体电容传声器实时采集就诊者声波信息(单声道),经语音采集模块将声波进行AD转换和解码最终输出电信号;
步骤b、经语音采集模块解码后的电信号输入数字信号处理器(DSP芯片)进行数据处理,经过识别网络输出识别的文字信息;
步骤c、将识别到的文字信息与关键词语文本识别列表LD_AsrAddFixed()进行对比,对比成功则输出对应的十六进制数;
步骤d、DSP芯片将实时语音对应的十六进制数通过外设串口通信(UART)输出给型号为LSC-16-V1.1的舵机控制板,控制颈部动作机构、嘴部张合中电机的控制,将识别到的语音信息对应的音频MP3数据写入FIF0寄存器(每次一字节)nMp3Pos++传入语音采集模块,通过所述喇叭输出对答语音;
进一步地,步骤b中所述DSP芯片进行数据处理,具体包括:
步骤b1、数字语音信号的预处理,具体包括预加重、语音信号加窗分帧以及语音增强,其中预加重是对高频部分频谱幅值进行提高,低频部分频谱幅度进行适当抑制,去除口唇辐射的影响,使频谱更加平滑语音更加悦耳,具体采用一阶FIR高通数字滤波器来实现预加重,传递函数为H(z)=1-az-1,0.9<a<1.0,其中a为预加重系数本发明选取a=0.98设n时刻的语音采样值为x(n),经过预加重处理以后结果为y(n)=x(n)-ax(n-1),代码实现:
data,time,framerate,nframes=wavread(filename)[:4]
pre_emphasis=0.98
emphasized_signal=numpy.append(data[0],data[1:]-pre_emphasis*data[:-1])
步骤b2、由于语音信号的短时平稳性需要对语音信号进行加窗分帧,每帧长度为20ms,采样频率为8000Hz,得到每帧大小nw为160samples(nw=160),由于帧移inc与帧长nw的比一般取0到0.5之间,本发明取帧移inc为40samples,在实际应用中通常使用时间轴上位置可变且有一定宽度的窗函数对语音进行分段截取,本发明采用汉明窗winfunc=signal.hamming(nw),计算帧数nf=int(numpy.ceil((1.0*signal_length-nw+inc)/inc)),计算不重叠帧总长度pad_length=int((nf-1)*inc+nw),用零补全原始信号到pad_length,zeros=numpy.zeros((pad_length-signal_length,)),合并成一个数组pad_signal=numpy.concatenate((signal,zeros)),得到帧数组indices=numpy.tile(numpy.arange(0,nw),(nf,1))+numpy.tile(numpy.arange(0,nf*inc,inc),(nw,1)).T,再将语音信号进行分帧frames=pad_signal[indices],最后再将分帧信号加窗Win=numpy.tile(winfunc,(nf,1));
步骤b3、加窗分帧以后的语音信息我们需要截取语音段与非语音段,以减少后期DSP芯片进行语音编码的速率以及移动设备能耗,比起通用的基于能量的端点检测,由于清音部分的短时能量值较小,清音部分的缺失导致语音片段不全、识别不准确,本发明采用改进的双门限端点检测算法,先通过短时能量检测区分静音片段和浊音片段,再通过短时平均过零率检测将清音部分区别于噪声从静音片段提取出来,一般清音部分都在浊音之前,通用的双门限检测算法仅在SNR环境下有较好的结果,但是在医院这种复杂信道条件下识别率大大降低,医院场景下突发性噪声往往会引起短时能量或者短时平均过零率很高,增大后期语音识别的工作量和错误率,本发明采用短时平均过零率能量和短时平均过零率双重检测的方法识别清音段语音,增强了低信噪比环境下语音识别的准确率;
在判断一帧为可靠清音的条件判据由短时平均过零率Z大于过零率阈值ZH,增加一个清音能量阈值的判据,即采用短时能量和短时平均过零率双重检测清音部分,所述平均短时平均过零率检测的公式为:其中s是采样点的值,T为帧长,函数sgn{stst-1<0}在stst-1<0为真时值为1,否则为0,采用分帧加窗以后的语音信息frameData=Frame输入计算短时平均过零率的函数ZCR(),历遍语音信号中所有帧for iinrange(frameNum),其中frameNum表示总帧数,将帧移动一位与原始信号相乘temp=singleFrame[:frameSize-1]*singleFrame[1:frameSize],此时的符号temp=numpy.sign(temp)则短时平均过零率为zcr[i]=numpy.sum(temp<0);
设第n帧语音信号xn(m)的短时能量谱用En表示,则其计算公式为:采用分帧加窗以后的语音信息frameData=Frame输入energy()函数,历遍语音信号中所有帧for i in range(frameNum),其中frameNum表示总帧数,将每一帧的能量值相乘得到短时能量ener[i]=sum(singleframe*singleframe);
首先先用较高的能量阈值MH对语音段进行分段,当短时能量大于能量阈值,energy[i]>MH,收录下此帧A.append(i),此后当短时能量小于能量阈值时再记录此帧A.append(i),其中需要判断此次语音识别的基本时间若是小于500ms(这里将帧数流转为时间流,固49.5帧是500ms)则不记录为语音段,判断为突发噪声,具体实现代码如下:
由此可以得到初步的语音段矩阵A[],在经过较低的能量阈值ML对A[]进行进一步分析,if j%2==1通过帧数的奇偶数将语音开始与结束点分别进行处理,语音段起始帧的能量若大于较低的能量阈值ML,while i<len(energy)and energy[i]>ML,则语音帧数向左(前)移动一帧i=i+1,直到等于或者小于较低的能量阈值ML,即向前扩大语音段,同理语音段结束帧的能量若大于较低的能量阈值ML,while i>0and energy[i]>ML,则向后扩大语音段i=i–1,最后语音段扩展为矩阵B[];
最后将能量检测后得到的语音段B[]通过经过短时平均过零率检测将轻音部分扩展到语音段中for j in range(len(B)),if j%2==1通过帧数的奇偶数将语音开始与结束点分别进行处理,取B[]中的帧数索引i=B[j],在i小于总帧数len(zeroCrossingRate)的前提下,索引点的平均短时过零率大于3倍过零率平均值Zs时,将语音帧向前扩展i=i+1,反之则向后扩展i=i-1,收录在C[]数组中C.append(i);
步骤b4、本发明采用Mel倒谱参数系数(MFCC)特征提取的方法对语音信号进行参数分析,为了获取一组能表征该段语音信号的特征的一组数据;
步骤b5、将MFCC作为语音信号的特征参数,使用隐马尔科夫模型(HMM)进行语音信号参数匹配;
步骤b6、再通过循环神经网络(Recurrent Neural Network,RNN)语言模型,计算每个候选结果的困惑度,将困惑度最小值对应的候选识别结果确定为目标结果,其中RNN语言模型是通过维基百科中文语料库训练得到的,最后将声波识别成文本语句;
进一步地,步骤b4中所述本发明所述Mel倒谱参数系数MFCC的选取具体步骤如下:
步骤b401、将端点检测以后提取的语音片段变为以每一帧为单位的时域上的短时特征,再进行快速傅里叶变换(FFT),将时域上的特征转换为频域上的特征,fft_signal=numpy.fft.fft(Frame.T);
步骤b402、接下来进行频率转换,具体方法是经过Mel滤波组进行滤波,实际为频域中一些简单的三角滤波器,首先,将频率hz转化为梅尔频率,因为人耳分辨声音的大小与频率并非线性正比,所以化为梅尔频率再线性分隔,再将梅尔频率转化为hz频率,并且找到对应的hz位置,再找到对应到fft快速傅里叶变化中的位置,最后建立滤波器的表达式,其中滤波器个数filters_num=20,FFT的大小NFFT默认取512,该滤波器在第一频率和第三频率为0,在第二频率处为1,计算梅尔三角间距滤波器fb=get_filter_Banks(filters_num=20,NFFT=512,samplerate=8000,low_freq=0,high_freq=None),以后计算该段音频信号每一帧的能量谱并进行求和energy=numpy.sum(spec_power,1),对滤波器和能量谱进行点乘feat=numpy.dot(spec_power,fb.T),函数返回feat和energy两个值,将feat进行对数运算feat=numpy.log(feat);
步骤b403、对上述的对数频谱feat进行离散余弦变换(DTC),只取前13个系数,feat=dct(feat,type=2,axis=1,norm='ortho')[:,:cep_num],其中cep_num=13,再将feat经过倒谱提升feat=lifter(feat,cep_lifter),最终得到MFCC;
进一步地,步骤d中所述本发明采用型号为LSC-16-V1.1的舵机控制板控制舵机转动实现脸部表情以及颈部动作,所述舵机控制板UART串口接收到十六进制数,对应完成不同的表情动作以及颈部动作,所述1号引脚输出PWM信号控制第一舵机转动完成所述机器人下巴的张合动作,所述2号引脚输出PWM信号控制第二舵机转动完成所述机器人颈部的回转动作,所述3号引脚输出PWM信号控制第三舵机转动完成所述机器人颈部的俯仰动作。
本发明相对于现有技术具有以下有益效果:
1、本发明提供一种用于社区医院科室查询的辅助管理机器人头部装置及控制,采用了改进的双门限端点检测算法,通用的双门限端点检测算法仅在高SNR环境下有较好结果,而在复杂信道条件下识别效率大大降低,针对医院场景下突发噪声较多,噪声误判的几率很大,本发明针对语音识别的起点,即对清音段检测采取用了短时平均过零率能量和短时平均过零率双重检测的方法,更加准确的实现了语音段的精准识别,增强了低信噪比环境下语音识别的准确率。
2、本发明在语音应答就诊者问题的同时可以实现相应的面部表情动作,以及颈部动作,仿人程度高科技感强,就诊者可以向所述机器人询问医院的所有的科室位置问题,并在关键词列表里面对识别语句的结构做出了多种对应,可以实现多种问法(XX科怎么走/我想去XX科/XX科在几楼)均可迅速识别并输出同一个结果,实现人性化识别且响应速度快。
3、本发明所述机器人头部装置外形机构简洁、头部内机构布置合理、产生噪声小、完成表情动作自然、语音识别准确、机构响应速度快,解决了社区医院由于医务人员流动大,导致缺少专业导诊人员的问题,使就诊者在及时就诊就医的同时,情感上也得到愉悦,有利于疾病的康复。
附图说明
图1是本发明装置主视图;
图2是本发明装置后方结构图;
图3是本发明嘴部装置、颈部装置局部视图;
图4是本发明语音采集模块电路图;
图5是本发明控制系统DSP芯片电路图;
图6是本发明舵机控制板与第一舵机、第二舵机、第三舵机连接的电路图;
图7是本发明控制系统识别匹配识别列表后各科室对应的十六进制表格;
图8是本发明改进的双门限检测算法实现端点检测与通用算法实现端点检测对比图;
图9是本发明总体工作流程图;
图10是本发明改进的双门限端点检测算法示意图。
图中:面部装置1、颈部装置2、控制系统3、面部支撑1-1、语音模块1-2、嘴部装置1-3、颈部支撑2-1、颈部动作装置2-2、主控板3-1、舵机控制板3-2、第一面部支撑1-1A、第二面部支撑1-1B、驻极体电容传声器1-2A、语音采集模块1-2B、喇叭1-2C、第一固定架1-3A、第一舵机1-3B、第一舵盘1-3C、第一摆杆1-3D、嘴部连接件1-3E、嘴部构件1-3F、头颈支柱2-1A、第一颈部支撑2-1B、第二颈部支撑2-1C、第二舵机支架2-2A、第二舵盘2-2B、云台支架2-2C、第三舵盘2-2D、第二舵机2-2E、第三舵机2-2F。
具体实施方式
以下将结合附图对本发明进行详细说明。
具体实施方式一
一种用于社区医院科室查询的辅助管理机器人头部装置,如图1、图2所示,包括面部装置1、颈部装置2以及控制系统3,所述面部装置1设置于颈部装置2上方;
所述面部装置1包括面部支撑1-1、语音模块1-2、嘴部装置1-3;
所述颈部装置2包括颈部支撑2-1和颈部动作装置2-2;
所述控制系统3以DSP芯片为主,包括主控板3-1和舵机控制板3-2,主控板3-1与舵机控制板3-2经过串口通信可实现面部装置1和颈部装置2动作,进而完成拟人程度较高的仿人对话动作。
具体实施方式二
如图1、图2、图3所示,在具体实施方式一的基础上,所述面部支撑1-1包括第一面部支撑1-1A、第二面部支撑1-1B,所述第二面部支撑仿人眼部的位置加工有两个圆形通孔,仿人鼻子的位置加工有一个圆形通孔,且第一面部支撑1-1A与第二面部支撑1-1B垂直布置;所述语音模块1-2包括驻极体电容传声器1-2A、语音采集模块1-2B、喇叭1-2C;所述驻极体电容传声器1-2A设置于所述第二面部支撑1-1B仿人鼻子位置的圆形通孔中,所述语音采集模块1-2B与主控板3-1均设置于第一面部支撑1-1A上端面上固定,所述喇叭1-2C设置于第一面部支撑1-1A后方边缘并固定;
所述嘴部装置1-3包括第一固定架1-3A、第一舵机1-3B、第一舵盘1-3C、第一摆杆1-3D、嘴部连接件1-3E、嘴部构件1-3F,所述第一舵机1-3B的输出轴与第一舵盘1-3C传动连接,所述第一舵盘1-3C与第一摆杆1-3D的一端固定连接,用于实现嘴部咬合的动作,所述第一摆杆1-3D的另一端与嘴部连接件1-3E固定;所述嘴部连接件1-3E的前端面与嘴部构件1-3F的后端面固接,所述第一舵机1-3B通过第一固定架1-3A与第一面部支撑1-1A的下端面固接;
本实施方式中驻极体电容传声器1-2A为现有技术,生产厂家为天士凯数码专营店,型号为DGHSEM1465U。
本实施方式中语音采集模块1-2B为现有技术,生产厂家为酷比斯数码专营店,型号为TLC320AC01。
如图1、图2所示,所述颈部支撑2-1包括头颈支柱2-1A、第一颈部支撑2-1B、第二颈部支撑2-1C;所述头颈支柱2-1A用于连接第一面部支撑1-1A与第一颈部支撑2-1B,所述第一颈部支撑2-1B与第二颈部支撑2-1C水平布置;
所述颈部动作装置2-2包括第二舵机支架2-2A、第二舵盘2-2B、云台支架2-2C、第三舵盘2-2D、第二舵机2-2E、第三舵机2-2F;所述第二舵盘2-2B通过第二舵机支架2-2A与第一颈部支撑2-1B连接,所述第二舵盘2-2B的输出轴与第二舵盘2-2B传动连接,所述第二舵盘2-2B嵌套在所述云台支架2-2C上端的传动槽中传递竖直方向机器人俯仰动作所需的动力,第三舵机2-2F的下端与云台支架2-2C固定,其输出轴穿过所述云台支架2-2C下端面与第三舵盘2-2D传动连接,所述第三舵盘2-2D嵌套在第二颈部支撑2-1C上端传动槽中,提供机器人颈部回转所需要的动力;
本实施方式中第一舵机1-3B为现有技术,生产厂家为荣域华府电子元器件专营店,型号为RDS3115。
本实施方式中第二舵机2-2E为现有技术,生产厂家为荣域华府电子元器件专营店,型号为RDS3115。
本实施方式中第三舵机2-2F为现有技术,生产厂家为荣域华府电子元器件专营店,型号为RDS3115。
如图4、图5、图6所示,所述控制系统3以DSP芯片为主,包括主控板3-1和舵机控制板3-2,主控板3-1与舵机控制板3-2经过串口通信连接,所述主控板中DSP芯片的SCLKX1引脚与语音采集模块1-2B的SCLK引脚连接提供12MHz的时钟,所述DSP芯片的BFSX1引脚与语音采集模块1-2B的CS引脚连接用于片选,所述DSP芯片的BDX1引脚与语音采集模块1-2B的SDIN引脚连接用于控制接口,所述DSP芯片的BCLKX0、BCLKR0同时与语音采集模块1-2B的BCLK引脚连接用于同步数据传输的时钟,所述DSP芯片的BFSX0、BFSR0引脚与语音采集模块1-2B的LRCIN、LRCOUT引脚连接I2S格式数据输入和输出同步帧信号,DSP芯片的BDX0引脚与语音采集模块1-2B的DIN引脚连接,用于输入立体声DAC,DSP芯片的BDR0引脚与语音采集模块1-2B的DOUT引脚连接,作为I2S格式数据输出端,语音采集模块1-2B的MICIN与驻极体电容传声器1-2A连接用于单声道声音提取;语音采集模块1-2B的LOUT与喇叭1-2C连接用于输出声音;所述主控板中DSP芯片EMIFA外设将CE1外部储存器分给SDRAM,将CE2外部储存器分给FLASH,所述DSP芯片的UART1_RX、UART1_DX引脚分别于舵机控制板3-2的TX、RX引脚连接,所述舵机控制板3-2的S1、S2、S3引脚分别与第一舵机1-3B、第二舵机2-2E、第三舵机2-2F的数字控制端连接,上述三种舵机的由5V电源供电,板载电源由3.3V电源供电。
本实施方式中DSP芯片为现有技术,生产厂家为广东佳信微电子专营店,型号为TMS320C6455。
工作过程:
所述驻极体电容传声器1-2A采集就诊者语音声波信息,经语音采集模块1-2B转换成电信号,经过语音采集模块解码以后输入到主控板中,进行语音信号处理,其中具体包括语音信号预加重、加窗、分帧、端点检测(本发明改进的双门限端点检测算法)、特征提取以及解码,最后输出文字,将识别到的文字信息与关键词语文本识别列表LD_AsrAddFixed()进行对比,匹配成功则输出对应的十六进制数,所述DSP芯片将十六进制数转换为字符串通过串口UART输出给舵机控制板3-2,所述舵机控制板3-2板内主控将字符串转换为十六进制数,再执行十六进制数对应的舵机动作,同时DSP芯片将识别到的语音信息对应的应答音频MP3数据传入语音采集模块1-2B通过喇叭1-2C输出应答语音。
具体实施方式三
如图7、图8、图9所示,用于社区医院科室查询的辅助管理机器人头部装置实现的控制方法,包括以下步骤:
步骤a、驻极体电容传声器1-2A实时采集就诊者声波信息(单声道),经语音采集模块1-2B将声波进行AD转换和解码最终输出电信号;
步骤b、经语音采集模块1-2B解码后的电信号输入数字信号处理器(DSP芯片)进行数据处理,经过识别网络输出识别的文字信息;
步骤c、将识别到的文字信息与关键词语文本识别列表LD_AsrAddFixed()进行对比,对比成功则输出对应的十六进制数;
步骤d、DSP芯片将实时语音对应的十六进制数通过外设串口通信(UART)输出给型号为LSC-16-V1.1的舵机控制板3-2,控制颈部动作机构、嘴部张合中电机的控制,将识别到的语音信息对应的音频MP3数据写入FIF0寄存器(每次一字节)nMp3Pos++传入语音采集模块1-2B,通过所述喇叭1-2C输出对答语音;
进一步地,步骤b中所述DSP芯片进行数据处理,具体包括:
步骤b1、数字语音信号的预处理,具体包括预加重、语音信号加窗分帧以及语音增强,其中预加重是对高频部分频谱幅值进行提高,低频部分频谱幅度进行适当抑制,去除口唇辐射的影响,使频谱更加平滑语音更加悦耳,具体采用一阶FIR高通数字滤波器来实现预加重,传递函数为H(z)=1-az-1,0.9<a<1.0,其中a为预加重系数本发明选取a=0.98设n时刻的语音采样值为x(n),经过预加重处理结果用公式描述为:y(n)=x(n)-ax(n-1),代码描述为:emphasized_signal=numpy.append(data[0],data[1:]-pre_emphasis*data[:-1]),其中emphasized_signal表示预处理后的音频数据,data表示采样值,pre_emphasis是预加重系数0.98;
步骤b2、由于语音信号的短时平稳性需要对语音信号进行加窗分帧,每帧长度为20ms,采样频率为8000Hz,得到每帧大小nw为160samples(nw=160),由于帧移inc与帧长nw的比一般取0到0.5之间,本发明取帧移inc为40samples,在实际应用中通常使用时间轴上位置可变且有一定宽度的窗函数对语音进行分段截取,本发明采用汉明窗winfunc=signal.hamming(nw),计算帧数nf=int(numpy.ceil((1.0*signal_length-nw+inc)/inc)),计算不重叠帧总长度pad_length=int((nf-1)*inc+nw),用零补全原始信号到pad_length,zeros=numpy.zeros((pad_length-signal_length,)),合并成一个数组pad_signal=numpy.concatenate((signal,zeros)),得到帧数组indices=numpy.tile(numpy.arange(0,nw),(nf,1))+numpy.tile(numpy.arange(0,nf*inc,inc),(nw,1)).T,再将语音信号进行分帧frames=pad_signal[indices],最后再将分帧信号加窗Win=numpy.tile(winfunc,(nf,1));
步骤b3、加窗分帧以后的语音信息我们需要截取语音段与非语音段,以减少后期DSP芯片进行语音编码的速率以及移动设备能耗,比起通用的基于能量的端点检测,由于清音部分的短时能量值较小,清音部分的缺失导致语音片段不全、识别不准确,本发明采用改进的双门限端点检测算法,先通过短时能量检测区分静音片段和浊音片段,再通过短时平均过零率检测将清音部分区别于噪声从静音片段提取出来,一般清音部分都在浊音之前,通用的双门限检测算法仅在SNR环境下有较好的结果,但是在医院这种复杂信道条件下识别率大大降低,医院场景下突发性噪声往往会引起短时能量或者短时平均过零率很高,增大后期语音识别的工作量和错误率,本发明采用短时平均过零率能量和短时平均过零率双重检测的方法识别清音段语音,增强了低信噪比环境下语音识别的准确率;
在判断一帧为可靠清音的条件判据由短时平均过零率Z大于过零率阈值ZH,增加一个清音能量阈值的判据,即采用短时能量和短时平均过零率双重检测清音部分,所述平均短时平均过零率检测的公式为:其中s是采样点的值,T为帧长,函数sgn{stst-1<0}在stst-1<0为真时值为1,否则为0,采用分帧加窗以后的语音信息frameData=Frame输入计算短时平均过零率的函数ZCR(),历遍语音信号中所有帧for iinrange(frameNum),其中frameNum表示总帧数,将帧移动一位与原始信号相乘temp=singleFrame[:frameSize-1]*singleFrame[1:frameSize],此时的符号temp=numpy.sign(temp)则短时平均过零率为zcr[i]=numpy.sum(temp<0);
设第n帧语音信号xn(m)的短时能量谱用En表示,则其计算公式为:采用分帧加窗以后的语音信息frameData=Frame输入energy()函数,历遍语音信号中所有帧for i in range(frameNum),其中frameNum表示总帧数,将每一帧的能量值相乘得到短时能量ener[i]=sum(singleframe*singleframe);
首先先用较高的能量阈值MH对语音段进行分段,当短时能量大于能量阈值,energy[i]>MH,收录下此帧A.append(i),此后当短时能量小于能量阈值时再记录此帧A.append(i),其中需要判断此次语音识别的基本时间若是小于500ms(这里将帧数流转为时间流,固49.5帧是500ms)则不记录为语音段,判断为突发噪声,具体实现代码如下:
由此可以得到初步的语音段矩阵A[],在经过较低的能量阈值ML对A[]进行进一步分析,if j%2==1通过帧数的奇偶数将语音开始与结束点分别进行处理,语音段起始帧的能量若大于较低的能量阈值ML,while i<len(energy)and energy[i]>ML,则语音帧数向左(前)移动一帧i=i+1,直到等于或者小于较低的能量阈值ML,即向前扩大语音段,同理语音段结束帧的能量若大于较低的能量阈值ML,while i>0and energy[i]>ML,则向后扩大语音段i=i–1,最后语音段扩展为矩阵B[];
最后将能量检测后得到的语音段B[]通过经过短时平均过零率检测将轻音部分扩展到语音段中for j in range(len(B)),if j%2==1通过帧数的奇偶数将语音开始与结束点分别进行处理,取B[]中的帧数索引i=B[j],在i小于总帧数len(zeroCrossingRate)的前提下,索引点的平均短时过零率大于3倍过零率平均值Zs时,将语音帧向前扩展i=i+1,反之则向后扩展i=i-1,收录在C[]数组中C.append(i);
步骤b4、本发明采用Mel倒谱参数系数(MFCC)特征提取的方法对语音信号进行参数分析,为了获取一组能表征该段语音信号的特征的一组数据;
步骤b5、将MFCC作为语音信号的特征参数,使用隐马尔科夫模型(HMM)进行语音信号参数匹配;
步骤b6、再通过循环神经网络(Recurrent Neural Network,RNN)语言模型,计算每个候选结果的困惑度,将困惑度最小值对应的候选识别结果确定为目标结果,其中RNN语言模型是通过维基百科中文语料库训练得到的,最后将声波识别成文本语句;
进一步地,步骤b4中所述本发明所述Mel倒谱参数系数MFCC的选取具体步骤如下:
步骤b401、将端点检测以后提取的语音片段变为以每一帧为单位的时域上的短时特征,再进行快速傅里叶变换(FFT),将时域上的特征转换为频域上的特征,fft_signal=numpy.fft.fft(Frame.T);
步骤b402、接下来进行频率转换,具体方法是经过Mel滤波组进行滤波,实际为频域中一些简单的三角滤波器,首先,将频率hz转化为梅尔频率,因为人耳分辨声音的大小与频率并非线性正比,所以化为梅尔频率再线性分隔,再将梅尔频率转化为hz频率,并且找到对应的hz位置,再找到对应到fft快速傅里叶变化中的位置,最后建立滤波器的表达式,其中滤波器个数filters_num=20,FFT的大小NFFT默认取512,该滤波器在第一频率和第三频率为0,在第二频率处为1,计算梅尔三角间距滤波器fb=get_filter_banks(filters_num=20,NFFT=512,samplerate=8000,low_freq=0,high_freq=None),以后计算该段音频信号每一帧的能量谱并进行求和energy=numpy.sum(spec_power,1),对滤波器和能量谱进行点乘feat=numpy.dot(spec_power,fb.T),函数返回feat和energy两个值,将feat进行对数运算feat=numpy.log(feat);
步骤b403、对上述的对数频谱feat进行离散余弦变换(DTC),只取前13个系数,feat=dct(feat,type=2,axis=1,norm='ortho')[:,:cep_num],其中cep_num=13,再将feat经过倒谱提升feat=lifter(feat,cep_lifter),最终得到MFCC;
进一步地,步骤d中所述本发明采用型号为LSC-16-V1.1的舵机控制板3-2控制舵机转动实现脸部表情以及颈部动作,所述舵机控制板3-2UART串口接收到十六进制数,对应完成不同的表情动作以及颈部动作,所述1号引脚输出PWM信号控制第一舵机转动完成所述机器人下巴的张合动作,所述2号引脚输出PWM信号控制第二舵机转动完成所述机器人颈部的回转动作,所述3号引脚输出PWM信号控制第三舵机转动完成所述机器人颈部的俯仰动作。
Claims (8)
1.用于社区医院科室查询的辅助管理机器人头部装置,其特征在于,包括面部装置(1)、颈部装置(2)以及控制系统(3),所述面部装置(1)设置于颈部装置(2)上方;
所述面部装置(1)包括面部支撑(1-1)、语音模块(1-2)、嘴部装置(1-3);
所述颈部装置(2)包括颈部支撑(2-1)和颈部动作装置(2-2);
所述控制系统(3)以DSP芯片为主,包括主控板(3-1)和舵机控制板(3-2),主控板(3-1)与舵机控制板(3-2)经过串口通信可实现面部装置(1)和颈部装置(2)动作,进而完成拟人程度较高的仿人对话动作。
2.根据权利要求1所述用于社区医院科室查询的辅助管理机器人头部装置,其特征在于,所述面部支撑(1-1)包括第一面部支撑(1-1A)、第二面部支撑(1-1B),所述第二面部支撑仿人眼部的位置加工有两个圆形通孔,仿人鼻子的位置加工有一个圆形通孔,且第一面部支撑(1-1A)与第二面部支撑(1-1B)垂直布置。
3.根据权利要求1所述用于社区医院科室查询的辅助管理机器人头部装置,其特征在于,所述语音模块(1-2)包括驻极体电容传声器(1-2A)、语音采集模块(1-2B)、喇叭(1-2C);所述驻极体电容传声器(1-2A)设置于所述第二面部支撑(1-1B)仿人鼻子位置的圆形通孔中,所述语音采集模块(1-2B)与主控板(3-1)均设置于第一面部支撑(1-1A)上端面上固定,所述喇叭(1-2C)设置于第一面部支撑(1-1A)后方边缘并固定。
4.根据权利要求1所述用于社区医院科室查询的辅助管理机器人头部装置,其特征在于,所述嘴部装置(1-3)包括第一固定架(1-3A)、第一舵机(1-3B)、第一舵盘(1-3C)、第一摆杆(1-3D)、嘴部连接件(1-3E)、嘴部构件(1-3F),所述第一舵机(1-3B)的输出轴与第一舵盘(1-3C)传动连接,所述第一舵盘(1-3C)与第一摆杆(1-3D)的一端固定连接,用于实现嘴部咬合的动作,所述第一摆杆(1-3D)的另一端与嘴部连接件(1-3E)固定;所述嘴部连接件(1-3E)的前端面与嘴部构件(1-3F)的后端面固接,所述第一舵机(1-3B)通过第一固定架(1-3A)与第一面部支撑(1-1A)的下端面固接。
5.根据权利要求1所述用于社区医院科室查询的辅助管理机器人头部装置,其特征在于,所述颈部支撑(2-1)包括头颈支柱(2-1A)、第一颈部支撑(2-1B)、第二颈部支撑(2-1C);所述头颈支柱(2-1A)用于连接第一面部支撑(1-1A)与第一颈部支撑(2-1B),所述第一颈部支撑(2-1B)与第二颈部支撑(2-1C)水平布置。
6.根据权利要求1所述用于社区医院科室查询的辅助管理机器人头部装置,其特征在于,所述颈部动作装置(2-2)包括第二舵机支架(2-2A)、第二舵盘(2-2B)、云台支架(2-2C)、第三舵盘(2-2D)、第二舵机(2-2E)、第三舵机(2-2F);所述第二舵盘(2-2B)通过第二舵机支架(2-2A)与第一颈部支撑(2-1B)连接,所述第二舵盘(2-2B)的输出轴与第二舵盘(2-2B)传动连接,所述第二舵盘(2-2B)嵌套在所述云台支架(2-2C)上端的传动槽中传递竖直方向机器人俯仰动作所需的动力,第三舵机(2-2F)的下端与云台支架(2-2C)固定,其输出轴穿过所述云台支架(2-2C)下端面与第三舵盘(2-2D)传动连接,所述第三舵盘(2-2D)嵌套在第二颈部支撑(2-1C)上端传动槽中,提供机器人颈部回转所需要的动力。
7.根据权利要求1所述用于社区医院科室查询的辅助管理机器人头部装置,其特征在于,所述控制系统(3)以DSP芯片为主,包括主控板(3-1)和舵机控制板(3-2),主控板(3-1)与舵机控制板(3-2)经过串口通信连接,所述主控板中DSP芯片的SCLKX1引脚与语音采集模块(1-2B)的SCLK引脚连接提供12MHz的时钟,所述DSP芯片的BFSX1引脚与语音采集模块(1-2B)的CS引脚连接用于片选,所述DSP芯片的BDX1引脚与语音采集模块(1-2B)的SDIN引脚连接用于控制接口,所述DSP芯片的BCLKX0、BCLKR0同时与语音采集模块(1-2B)的BCLK引脚连接用于同步数据传输的时钟,所述DSP芯片的BFSX0、BFSR0引脚与语音采集模块(1-2B)的LRCIN、LRCOUT引脚连接I²S格式数据输入和输出同步帧信号,DSP芯片的BDX0引脚与语音采集模块(1-2B)的DIN引脚连接,用于输入立体声DAC,DSP芯片的BDR0引脚与语音采集模块(1-2B)的DOUT引脚连接,作为I²S格式数据输出端,语音采集模块(1-2B)的MICIN与驻极体电容传声器(1-2A)连接用于单声道声音提取;语音采集模块(1-2B)的LOUT与喇叭(1-2C)连接用于输出声音;所述主控板中DSP芯片EMIFA外设将CE1外部储存器分给SDRAM,将CE2外部储存器分给FLASH,所述DSP芯片的UART1_RX、UART1_DX引脚分别于舵机控制板(3-2)的TX、RX引脚连接,所述舵机控制板(3-2)的S1、S2、S3引脚分别与第一舵机(1-3B)、第二舵机(2-2E)、第三舵机(2-2F)的数字控制端连接,上述三种舵机的由5V电源供电,板载电源由3.3V电源供电。
8.一种基于权利要求1至7任一所述用于社区医院科室查询的辅助管理机器人头部装置实现的控制方法,其特征在于,包括以下步骤:
步骤a、驻极体电容传声器(1-2A)实时采集就诊者声波信息(单声道),经语音采集模块(1-2B)将声波进行AD转换和解码最终输出电信号;
步骤b、经语音采集模块(1-2B)解码后的电信号输入数字信号处理器(DSP芯片)进行数据处理,经过识别网络输出识别的文字信息;
步骤c、将识别到的文字信息与关键词语文本识别列表LD_AsrAddFixed()进行对比,对比成功则输出对应的十六进制数;
步骤d、DSP芯片将实时语音对应的十六进制数通过外设串口通信(UART)输出给型号为LSC-16-V1.1的舵机控制板(3-2),控制颈部动作机构、嘴部张合中电机的控制,将识别到的语音信息对应的音频MP3数据写入FIF0寄存器(每次一字节)nMp3Pos++传入语音采集模块(1-2B),通过所述喇叭(1-2C)输出对答语音;
进一步地,步骤b中所述DSP芯片进行数据处理,具体包括:
步骤b1、数字语音信号的预处理,具体包括预加重、语音信号加窗分帧以及语音增强,其中预加重是对高频部分频谱幅值进行提高,低频部分频谱幅度进行适当抑制,去除口唇辐射的影响,使频谱更加平滑语音更加悦耳,具体采用一阶FIR高通数字滤波器来实现预加重,传递函数为,,其中为预加重系数本发明选取 =0.98设n时刻的语音采样值为,经过预加重处理结果用公式描述为:,代码描述为:emphasized_signal = numpy.append(data[0], data[1:] - pre_emphasis * data[:-1]),其中emphasized_signal表示预处理后的音频数据,data表示采样值,pre_emphasis是预加重系数0.98;
步骤b2、由于语音信号的短时平稳性需要对语音信号进行加窗分帧,每帧长度为20ms,采样频率为8000Hz,得到每帧大小nw为160 samples(nw = 160),由于帧移inc与帧长nw的比一般取0到0.5之间,本发明取帧移inc为40 samples,在实际应用中通常使用时间轴上位置可变且有一定宽度的窗函数对语音进行分段截取,本发明采用汉明窗winfunc =signal.hamming(nw),计算帧数nf = int(numpy.ceil((1.0 * signal_length - nw +inc) / inc)),计算不重叠帧总长度pad_length = int((nf-1)*inc+nw),用零补全原始信号到pad_length,zeros = numpy.zeros((pad_length-signal_length,)),合并成一个数组pad_signal = numpy.concatenate((signal, zeros)),得到帧数组indices =numpy.tile(numpy.arange(0, nw), (nf, 1)) + numpy.tile(numpy.arange(0, nf*inc,inc), (nw, 1)).T,再将语音信号进行分帧frames = pad_signal[indices],最后再将分帧信号加窗Win = numpy.tile(winfunc, (nf, 1));
步骤b3、加窗分帧以后的语音信息我们需要截取语音段与非语音段,以减少后期DSP芯片进行语音编码的速率以及移动设备能耗,比起通用的基于能量的端点检测,由于清音部分的短时能量值较小,清音部分的缺失导致语音片段不全、识别不准确,本发明采用改进的双门限端点检测算法,先通过短时能量检测区分静音片段和浊音片段,再通过短时平均过零率检测将清音部分区别于噪声从静音片段提取出来,一般清音部分都在浊音之前,通用的双门限检测算法仅在SNR环境下有较好的结果,但是在医院这种复杂信道条件下识别率大大降低,医院场景下突发性噪声往往会引起短时能量或者短时平均过零率很高,增大后期语音识别的工作量和错误率,本发明采用短时平均过零率能量和短时平均过零率双重检测的方法识别清音段语音,增强了低信噪比环境下语音识别的准确率;
在判断一帧为可靠清音的条件判据由短时平均过零率大于过零率阈值,增加一个清音能量阈值的判据,即采用短时能量和短时平均过零率双重检测清音部分,所述平均短时平均过零率检测的公式为:,其中s是采样点的值,T为帧长,函数在为真时值为1,否则为0,采用分帧加窗以后的语音信息frameData=Frame输入计算短时平均过零率的函数ZCR(),历遍语音信号中所有帧 for iin range(frameNum),其中frameNum表示总帧数,将帧移动一位与原始信号相乘 temp =singleFrame[:frameSize-1] * singleFrame[1:frameSize],此时的符号temp =numpy.sign(temp)则短时平均过零率为zcr[i] = numpy.sum(temp<0);
设第n帧语音信号的短时能量谱用表示,则其计算公式为:,采用分帧加窗以后的语音信息frameData=Frame输入energy()函数,历遍语音信号中所有帧for i in range(frameNum),其中frameNum表示总帧数,将每一帧的能量值相乘得到短时能量ener[i] = sum(singleframe * singleframe);
首先先用较高的能量阈值MH对语音段进行分段,当短时能量大于能量阈值,energy[i]> MH,收录下此帧A.append(i),此后当短时能量小于能量阈值时再记录此帧A.append(i),其中需要判断此次语音识别的基本时间若是小于500ms(这里将帧数流转为时间流,固49.5帧是500ms)则不记录为语音段,判断为突发噪声,具体实现代码如下:
if energy[i] > MH and i - 49.5 > A[len(A) - 1]:
A.append(i)
elif energy[i] > MH and i - 49.5 <= A[len(A) - 1]:
A = A[:len(A) - 1]
由此可以得到初步的语音段矩阵A[],在经过较低的能量阈值ML对A[]进行进一步分析,if j % 2 == 1通过帧数的奇偶数将语音开始与结束点分别进行处理,语音段起始帧的能量若大于较低的能量阈值ML,while i < len(energy) and energy[i] > ML ,则语音帧数向左(前)移动一帧i = i + 1,直到等于或者小于较低的能量阈值ML,即向前扩大语音段,同理语音段结束帧的能量若大于较低的能量阈值ML,while i > 0 and energy[i] >ML,则向后扩大语音段i = i – 1,最后语音段扩展为矩阵B[];
最后将能量检测后得到的语音段B[]通过经过短时平均过零率检测将轻音部分扩展到语音段中for j in range(len(B)),if j % 2 == 1通过帧数的奇偶数将语音开始与结束点分别进行处理,取B[]中的帧数索引i = B[j],在i小于总帧数len(zeroCrossingRate)的前提下,索引点的平均短时过零率大于3倍过零率平均值Zs时,将语音帧向前扩展i = i+ 1,反之则向后扩展i = i - 1,收录在C[]数组中C.append(i);
步骤b4、本发明采用Mel倒谱参数系数(MFCC)特征提取的方法对语音信号进行参数分析,为了获取一组能表征该段语音信号的特征的一组数据;
步骤b5、将MFCC作为语音信号的特征参数,使用隐马尔科夫模型(HMM)进行语音信号参数匹配;
步骤b6、再通过循环神经网络(Recurrent Neural Network,RNN)语言模型,计算每个候选结果的困惑度,将困惑度最小值对应的候选识别结果确定为目标结果,其中RNN语言模型是通过维基百科中文语料库训练得到的,最后将声波识别成文本语句;
进一步地,步骤b4中所述本发明所述Mel倒谱参数系数MFCC的选取具体步骤如下:
步骤b401、将端点检测以后提取的语音片段变为以每一帧为单位的时域上的短时特征,再进行快速傅里叶变换(FFT),将时域上的特征转换为频域上的特征,fft_signal =numpy.fft.fft(Frame.T);
步骤b402、接下来进行频率转换,具体方法是经过Mel滤波组进行滤波,实际为频域中一些简单的三角滤波器,首先,将频率hz转化为梅尔频率,因为人耳分辨声音的大小与频率并非线性正比,所以化为梅尔频率再线性分隔,再将梅尔频率转化为hz频率,并且找到对应的hz位置,再找到对应到fft快速傅里叶变化中的位置,最后建立滤波器的表达式,其中滤波器个数filters_num=20,FFT的大小NFFT默认取512,该滤波器在第一频率和第三频率为0,在第二频率处为1,计算梅尔三角间距滤波器fb=get_filter_banks
(filters_num=20,NFFT=512,samplerate=8000,low_freq=0,high_freq=None),以后计算该段音频信号每一帧的能量谱并进行求和 energy=numpy.sum(spec_power,1),对滤波器和能量谱进行点乘feat=numpy.dot(spec_power,fb.T),函数返回feat和energy两个值,将feat进行对数运算feat=numpy.log(feat);
步骤b403、对上述的对数频谱feat进行离散余弦变换(DTC),只取前13个系数,feat=dct(feat,type=2,axis=1,norm='ortho')[:,:cep_num],其中cep_num=13,再将feat经过倒谱提升feat=lifter(feat,cep_lifter),最终得到MFCC;
进一步地,步骤d中所述本发明采用型号为LSC-16-V1.1的舵机控制板(3-2)控制舵机转动实现脸部表情以及颈部动作,所述舵机控制板(3-2)UART串口接收到十六进制数,对应完成不同的表情动作以及颈部动作,所述1号引脚输出PWM信号控制第一舵机转动完成所述机器人下巴的张合动作,所述2号引脚输出PWM信号控制第二舵机转动完成所述机器人颈部的回转动作,所述3号引脚输出PWM信号控制第三舵机转动完成所述机器人颈部的俯仰动作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910321974.2A CN110047480A (zh) | 2019-04-22 | 2019-04-22 | 用于社区医院科室查询的辅助管理机器人头部装置及控制 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910321974.2A CN110047480A (zh) | 2019-04-22 | 2019-04-22 | 用于社区医院科室查询的辅助管理机器人头部装置及控制 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110047480A true CN110047480A (zh) | 2019-07-23 |
Family
ID=67278151
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910321974.2A Pending CN110047480A (zh) | 2019-04-22 | 2019-04-22 | 用于社区医院科室查询的辅助管理机器人头部装置及控制 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110047480A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113160835A (zh) * | 2021-04-23 | 2021-07-23 | 河南牧原智能科技有限公司 | 一种猪只声音提取方法、装置、设备及可读存储介质 |
CN113305867A (zh) * | 2021-05-20 | 2021-08-27 | 上海纳深机器人有限公司 | 支持多种ai编程的机器人控制电路及控制系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004033624A (ja) * | 2002-07-05 | 2004-02-05 | Nti:Kk | ペット型ロボットによる遠隔制御装置 |
CN102184732A (zh) * | 2011-04-28 | 2011-09-14 | 重庆邮电大学 | 基于分形特征的智能轮椅语音识别控制方法及系统 |
CN202677367U (zh) * | 2011-12-30 | 2013-01-16 | 南阳首控光电有限公司 | Dsp语音识别用于激光大屏幕拼接控制系统 |
CN106056207A (zh) * | 2016-05-09 | 2016-10-26 | 武汉科技大学 | 一种基于自然语言的机器人深度交互与推理方法与装置 |
CN106328122A (zh) * | 2016-08-19 | 2017-01-11 | 深圳市唯特视科技有限公司 | 一种利用长短期记忆模型递归神经网络的语音识别方法 |
CN106782550A (zh) * | 2016-11-28 | 2017-05-31 | 黑龙江八农垦大学 | 一种基于dsp芯片的自动语音识别系统 |
CN206961514U (zh) * | 2017-06-13 | 2018-02-02 | 云南天罡北斗信息科技有限公司 | 一种听力言语障碍残疾人的语音逆变器 |
KR20180115602A (ko) * | 2017-04-13 | 2018-10-23 | 인하대학교 산학협력단 | 촬상센서를 포함한 두경부 조음기관의 물리특성과 기반의 발화 의도 측정 및 발화 구현 시스템 |
CN108942973A (zh) * | 2018-09-29 | 2018-12-07 | 哈尔滨理工大学 | 具有温湿度播报功能的科技馆迎宾机器人头颈部装置 |
-
2019
- 2019-04-22 CN CN201910321974.2A patent/CN110047480A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004033624A (ja) * | 2002-07-05 | 2004-02-05 | Nti:Kk | ペット型ロボットによる遠隔制御装置 |
CN102184732A (zh) * | 2011-04-28 | 2011-09-14 | 重庆邮电大学 | 基于分形特征的智能轮椅语音识别控制方法及系统 |
CN202677367U (zh) * | 2011-12-30 | 2013-01-16 | 南阳首控光电有限公司 | Dsp语音识别用于激光大屏幕拼接控制系统 |
CN106056207A (zh) * | 2016-05-09 | 2016-10-26 | 武汉科技大学 | 一种基于自然语言的机器人深度交互与推理方法与装置 |
CN106328122A (zh) * | 2016-08-19 | 2017-01-11 | 深圳市唯特视科技有限公司 | 一种利用长短期记忆模型递归神经网络的语音识别方法 |
CN106782550A (zh) * | 2016-11-28 | 2017-05-31 | 黑龙江八农垦大学 | 一种基于dsp芯片的自动语音识别系统 |
KR20180115602A (ko) * | 2017-04-13 | 2018-10-23 | 인하대학교 산학협력단 | 촬상센서를 포함한 두경부 조음기관의 물리특성과 기반의 발화 의도 측정 및 발화 구현 시스템 |
CN206961514U (zh) * | 2017-06-13 | 2018-02-02 | 云南天罡北斗信息科技有限公司 | 一种听力言语障碍残疾人的语音逆变器 |
CN108942973A (zh) * | 2018-09-29 | 2018-12-07 | 哈尔滨理工大学 | 具有温湿度播报功能的科技馆迎宾机器人头颈部装置 |
Non-Patent Citations (1)
Title |
---|
戴国强等: "《科技大数据》", 31 August 2018, 科学技术文献出版社 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113160835A (zh) * | 2021-04-23 | 2021-07-23 | 河南牧原智能科技有限公司 | 一种猪只声音提取方法、装置、设备及可读存储介质 |
CN113305867A (zh) * | 2021-05-20 | 2021-08-27 | 上海纳深机器人有限公司 | 支持多种ai编程的机器人控制电路及控制系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chapaneri | Spoken digits recognition using weighted MFCC and improved features for dynamic time warping | |
CN102543073B (zh) | 一种沪语语音识别信息处理方法 | |
CN107610715B (zh) | 一种基于多种声音特征的相似度计算方法 | |
Rabiner et al. | A comparative performance study of several pitch detection algorithms | |
WO2019023877A1 (zh) | 特定声音识别方法、设备和存储介质 | |
CN105206271A (zh) | 智能设备的语音唤醒方法及实现所述方法的系统 | |
Shanthi et al. | Review of feature extraction techniques in automatic speech recognition | |
CN109215665A (zh) | 一种基于3d卷积神经网络的声纹识别方法 | |
CN102509547A (zh) | 基于矢量量化的声纹识别方法及系统 | |
WO2014153800A1 (zh) | 语音识别系统 | |
CN108847234B (zh) | 唇语合成方法、装置、电子设备及存储介质 | |
CN108682432B (zh) | 语音情感识别装置 | |
CN109215634A (zh) | 一种多词语音控制通断装置的方法及其系统 | |
CN109452932A (zh) | 一种基于声音的体质辨识方法及设备 | |
CN111798846A (zh) | 语音命令词识别方法、装置、会议终端及会议终端系统 | |
CN105845126A (zh) | 一种英语有声影像资料自动加注英语字幕的方法 | |
CN110047480A (zh) | 用于社区医院科室查询的辅助管理机器人头部装置及控制 | |
CN100521708C (zh) | 移动信息终端的语音识别与语音标签记录和调用方法 | |
CN114283822A (zh) | 一种基于伽马通频率倒谱系数的多对一语音转换方法 | |
CN114550741A (zh) | 一种语义识别的方法和系统 | |
Ghai et al. | A Study on the Effect of Pitch on LPCC and PLPC Features for Children's ASR in Comparison to MFCC. | |
WO2001029822A1 (en) | Method and apparatus for determining pitch synchronous frames | |
CN117935789A (zh) | 语音识别方法及系统、设备、存储介质 | |
Mini et al. | Feature vector selection of fusion of MFCC and SMRT coefficients for SVM classifier based speech recognition system | |
CN113436649B (zh) | 一种语音情感标定辅助方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190723 |