具有语音控制和哼唱检索功能的多媒体播放方法及装置转让专利

申请号 : CN201310298771.9

文献号 : CN103366784B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 赵欢王飞陈佐干文洁

申请人 : 湖南大学

摘要 :

本发明公开了一种具有语音控制和哼唱检索功能的多媒体播放方法及装置,方法步骤如下:用户选择工作模式,采集语音数据并预处理,语音控制模式下,将语音数据与语法规则上传至语音识别服务端进行语音识别,根据识别结果进行播放控制或者资源管理;哼唱检索模式下,将语音数据提取基音序列并转换为音符序列,通过匹配搜索服务端找到与匹配的多媒体资源身份信息,并下载对应的多媒体资源到本地;装置包括人机交互模块、语音输入模块、语音数据处理模块、中央处理器、媒体存储模块、播放解码模块、音频输出模块、网络接口模块、匹配搜索服务端等。本发明具有能够解放用户的双手、用户体验好、使用方便、哼唱检测精确、应用范围广的优点。

权利要求 :

1.一种具有语音控制和哼唱检索功能的多媒体播放方法,其特征在于实施步骤如下:

1)用户选择工作模式,采集语音数据并通过专用语音数据处理芯片进行预处理,当用户选择的工作模式为语音控制模式则跳转执行步骤2),如果用户选择的工作模式为哼唱检索模式则跳转执行步骤3);

2)将预处理后的语音数据与语法规则上传至互联网上的语音识别服务端进行语音识别,根据语音识别服务端返回的识别结果对本地的多媒体资源进行播放控制或者资源管理;

3)将预处理后的语音数据通过专用语音数据处理芯片提取基音序列并转换为音符序列,将所述音符序列发送给互联网上的匹配搜索服务端,通过所述匹配搜索服务端在音符特征数据库中进行匹配搜索找到与音符序列相匹配的多媒体资源身份信息,并根据所述多媒体资源身份信息从互联网下载对应的多媒体资源并存储到本地;

所述步骤3)中提取基音序列并转换为音符序列的详细步骤如下:

3.1.1)根据式(6)计算每一帧语音数据的短时平均幅度差;

式(6)中,D(k)为计算得到的短时平均幅度差;a表示采样率因子;j表示用于计算D(k)函数的所用语音采样点数目的下标,n表示窗的大小;x1表示计算语音信号采样点幅度值和的下限,x2表示计算语音信号采样点幅度值和的上限,x(l)表示一帧语音数据,l表示语音信号采样点的下标,k表示窗内偏移量,k值大小在0到n之间;

3.1.2)根据式(7)计算每一帧语音数据基音周期,并将基音周期转换为基音频率,从而得到语音数据的基音序列;

式(7)中,TP表示基音周期,TPmin表示给定的下限,TPmax表示给定的上限,D(k)为计算得到的短时平均幅度差;k表示一系列计算短时平均幅度差里面满足位于给定下限TPmin、给定上限TPmax之间的采样点序列中短时平均幅度差D(k)最小的采样点位置;

3.1.3)将基音序列根据式(8)转换为音符序列;

p=69+12log2(f/440) (8)

式(8)中,p表示转换得到的音符序列,f表示输入的基音序列。

2.根据权利要求1所述的具有语音控制和哼唱检索功能的多媒体播放方法,其特征在于,所述步骤1)中进行预处理的详细步骤如下:

1.1)对采集得到的语音数据进行分帧;

1.2)对每一帧语音信号进行加汉明窗处理;

1.3)根据式(1)计算每一帧语音信号的短时能量;

式(1)中,En为第n帧的语音信号的短时能量,xn(m)为第n帧中第m个采样点的语音信号;

1.4)根据式(2)计算每一帧语音信号的过零率;

式(2)中,Zn为第n帧的语音信号的过零率,sgn[]为符号函数,sgn[]满足式(3)所示的关系,xn(m)为第n帧中第m个采样点的语音信号,xn(m-1)为第n帧中第m-1个采样点的语音信号,|·|为取绝对值运算符;

式(3)中,x为语音采样点值的大小;

1.5)判断当前帧语音信号往前连续三帧语音信号的短时能量和过零率是否满足式(4)和式(5),如果满足式(4),则判定当前帧语音信号为开始帧;如果满足式(5),则判定当前帧语音信号为结束帧;

式(4)和式(5)中,En为第n帧的语音信号的短时能量,Zn为第n帧的语音信号的过零率, 为预设的短时能量判决门限上限值, 为预设的短时能量判决门限下限值,为预设的过零率判决门限上限值, 为预设的过零率判决门限下限值;

1.6)根据开始帧和结束帧提取有效语音信号,对有效语音信号进行语音增强。

3.根据权利要求2所述的具有语音控制和哼唱检索功能的多媒体播放方法,其特征在于:所述步骤1.5)中预设的过零率判决门限上限值为当前帧语音信号往前连续三帧语音信号的短时能量最大值,预设的过零率判决门限下限值为当前帧语音信号往前连续三帧语音信号的短时能量平均值。

4.根据权利要求3所述的具有语音控制和哼唱检索功能的多媒体播放方法,其特征在于,所述步骤3)中通过匹配搜索服务端在音符特征数据库中进行匹配搜索找到与音符序列相匹配的多媒体资源身份信息的详细步骤如下:

3.2.1)匹配搜索服务端遍历音符特征数据库中的每一个特征序列,将所述音符序列与当前特征序列的每一个音符进行匹配,记录匹配过程中的删除惩罚次数和增加惩罚次数,每找到一个匹配点则根据式(9)计算下一个匹配点直至所有音符匹配完毕,最终得到由所有匹配点构成特征序列匹配路径;

式(9)中,Pnext即为下一个匹配点在当前特征序列中的位置;d(Xi+1,Dj+1)表示Xi+1和Dj+1两个音符之间的音高距离;α1和α2均为常量,α1表示在匹配过程中的删除惩罚因子,α2表示在匹配过程中的添加惩罚因子;Xi表示音符序列中序号为i的音符,待匹配的音符序列表示为X1X2X3X4…Xn,Dj表示特征序列中序号为j的音符,当前特征序列表示为D1D2D3D4…Dm;

3.2.2)匹配搜索服务端根据式(10)计算所述特征序列匹配路径的匹配代价,根据匹配代价对特征序列匹配路径进行排序,并根据排序选择指定数量的特征序列匹配路径;

P=A1*α1+A2*α2 (10)

式(10)中,P为匹配代价,A1表示在匹配过程中的删除惩罚次数,α1表示在匹配过程中的删除惩罚因子,A2表示在匹配过程中的增加惩罚次数,α2表示在匹配过程中的添加惩罚因子;

3.2.3)匹配搜索服务端针对所述指定数量的特征序列匹配路径,采用DTW算法根据式(11)计算出各个特征序列匹配路径与音符序列之间的距离得到代价矩阵,从所述指定数量的特征序列匹配路径中选择距离最小的特征序列匹配路径,并在音符特征数据库中进行匹配搜索找到对应的多媒体资源身份信息;

式(11)中,d(Xi,Dj)表示Xi和Dj两个音符之间的音高距离,α1和α2均为常量,α1表示在匹配过程中的删除惩罚因子,α2表示在匹配过程中的添加惩罚因子。

5.一种具有语音控制和哼唱检索功能的多媒体播放装置,其特征在于包括:

人机交互模块(1),用于接收用户选择包括语音控制模式和哼唱检索模式在内的工作模式;

语音输入模块(2),用于采集语音数据;

语音数据处理模块(3),用于对采集的语音数据进行预处理,以及在哼唱检索模式下进一步根据预处理后的语音数据提取基音序列并转换为音符序列;

中央处理器(4),用于在语音控制模式下将预处理后的语音数据与语法规则上传至互联网上的语音识别服务端(10)进行语音识别,根据语音识别服务端(10)返回的识别结果对本地的多媒体资源进行播放控制或者资源管理,以及在哼唱检索模式下将所述音符序列发送给互联网上的匹配搜索服务端(9),通过所述匹配搜索服务端(9)在音符特征数据库中进行匹配搜索找到与音符序列相匹配的多媒体资源身份信息,并根据所述多媒体资源身份信息从互联网下载对应的多媒体资源并存储到媒体存储模块;

媒体存储模块(5),用于存储本地的多媒体资源;

播放解码模块(6),用于对播放控制的多媒体资源进行解码;

音频输出模块(7),用于将多媒体资源解码后得到的音频输出;

网络接口模块(8),用于为中央处理器提供互联网访问语音识别服务端和匹配搜索服务端的功能;

匹配搜索服务端(9),用于在音符特征数据库中进行匹配搜索找到与音符序列相匹配的多媒体资源身份信息并返回给中央处理器(4);

所述语音数据处理模块(3)的输入端与语音输入模块(2)相连,所述中央处理器(4)分别与人机交互模块(1)、语音数据处理模块(3)、媒体存储模块(5)相连,所述中央处理器(4)通过网络接口模块(8)与互联网的语音识别服务端(10)和匹配搜索服务端(9)相连,所述中央处理器(4)的输出端通过播放解码模块(6)与音频输出模块(7)相连;

所述语音数据处理模块(3)包括用于对采集的语音数据进行预处理的预处理模块(31)和用于提取基音序列并转换为音符序列的哼唱数据处理模块(32),所述哼唱数据处理模块(32)包括:短时平均幅度差计算子模块(321),用于根据式(6)计算每一帧语音数据的短时平均幅度差;

式(6)中,D(k)为计算得到的短时平均幅度差;a表示采样率因子;j表示用于计算D(k)函数的所用语音采样点数目的下标,n表示窗的大小;x1表示计算语音信号采样点幅度值和的下限,x2表示计算语音信号采样点幅度值和的上限,x(l)表示一帧语音数据,l表示语音信号采样点的下标,k表示窗内偏移量,k值大小在0到n之间;

基音序列提取子模块(322),用于根据式(7)计算每一帧语音数据基音周期,并将基音周期转换为基音频率,从而得到语音数据的基音序列;

式(7)中,TP表示基音周期,TPmin表示给定的下限,TPmax表示给定的上限,D(k)为计算得到的短时平均幅度差;k表示一系列计算短时平均幅度差里面满足位于给定下限TPmin、给定上限TPmax之间的采样点序列中短时平均幅度差D(k)最小的采样点位置;

音符序列转换子模块(323),用于将基音序列根据式(8)转换为音符序列;

p=69+12log2(f/440) (8)

式(8)中,p表示转换得到的音符序列,f表示输入的基音序列;

所述短时平均幅度差计算子模块(321)、基音序列提取子模块(322)、音符序列转换子模块(323)之间依次相连,所述短时平均幅度差计算子模块(321)的输入端与语音增强子模块(316)相连,所述音符序列转换子模块(323)的输出端与中央处理器(4)相连。

6.根据权利要求5所述的具有语音控制和哼唱检索功能的多媒体播放装置,其特征在于,所述预处理模块(31)包括:分帧子模块(311),用于对采集得到的语音数据进行分帧;

加窗子模块(312),用于对每一帧语音信号进行加汉明窗处理;

短时能量计算子模块(313),用于根据式(1)计算每一帧语音信号的短时能量;

式(1)中,En为第n帧的语音信号的短时能量,xn(m)为第n帧中第m个采样点的语音信号;

过零率计算子模块(314),用于根据式(2)计算每一帧语音信号的过零率;

式(2)中,Zn为第n帧的语音信号的过零率,sgn[]为符号函数,sgn[]满足式(3)所示的关系,xn(m)为第n帧中第m个采样点的语音信号,xn(m-1)为第n帧中第m-1个采样点的语音信号,|·|为取绝对值运算符;

式(3)中,x为语音采样点值的大小;

端点判断子模块(315),用于判断当前帧语音信号往前连续三帧语音信号的短时能量和过零率是否满足式(4)和式(5),如果满足式(4),则判定当前帧语音信号为开始帧;如果满足式(5),则判定当前帧语音信号为结束帧;

式(4)和式(5)中,En为第n帧的语音信号的短时能量,Zn为第n帧的语音信号的过零率, 为预设的短时能量判决门限上限值, 为预设的短时能量判决门限下限值,为预设的过零率判决门限上限值, 为预设的过零率判决门限下限值;

语音增强子模块(316),用于根据开始帧和结束帧提取有效语音信号,对有效语音信号进行语音增强;

所述语音输入模块(2)的输出端与分帧子模块(311)相连,分帧子模块(311)、加窗子模块(312)依次相连,所述端点判断子模块(315)的输入端分别通过短时能量计算子模块(313)、过零率计算子模块(314)与加窗子模块(312)相连,所述端点判断子模块(315)的输出端与语音增强子模块(316)相连,所述语音增强子模块(316)的输出端分别与哼唱数据处理模块(32)和中央处理器(4)相连。

7.根据权利要求6所述的具有语音控制和哼唱检索功能的多媒体播放装置,其特征在于:所述端点判断子模块(315)中预设的过零率判决门限上限值为当前帧语音信号往前连续三帧语音信号的短时能量最大值,预设的过零率判决门限下限值为当前帧语音信号往前连续三帧语音信号的短时能量平均值。

8.根据权利要求7所述的具有语音控制和哼唱检索功能的多媒体播放装置,其特征在于,所述匹配搜索服务端(9)包括:广度搜索子模块(91),用于遍历音符特征数据库中的每一个特征序列,将所述音符序列与当前特征序列的每一个音符进行匹配,记录匹配过程中的删除惩罚次数和增加惩罚次数,每找到一个匹配点则根据式(9)计算下一个匹配点直至所有音符匹配完毕,最终得到由所有匹配点构成特征序列匹配路径;根据式(10)计算所述特征序列匹配路径的匹配代价,根据匹配代价对特征序列匹配路径进行排序,并根据排序选择指定数量的特征序列匹配路径;

式(9)中,Pnext即为下一个匹配点在当前特征序列中的位置;d(Xi+1,Dj+1)表示Xi+1和Dj+1两个音符之间的音高距离;α1和α2均为常量,α1表示在匹配过程中的删除惩罚因子,α2表示在匹配过程中的添加惩罚因子;Xi表示音符序列中序号为i的音符,待匹配的音符序列表示为X1X2X3X4…Xn,Dj表示特征序列中序号为j的音符,当前特征序列表示为D1D2D3D4…Dm;

P=A1*α1+A2*α2 (10)

式(10)中,P为匹配代价,A1表示在匹配过程中的删除惩罚次数,α1表示在匹配过程中的删除惩罚因子,A2表示在匹配过程中的增加惩罚次数,α2表示在匹配过程中的添加惩罚因子;

精细匹配子模块(92),用于针对所述指定数量的特征序列匹配路径,采用DTW算法根据式(11)计算出各个特征序列匹配路径与音符序列之间的距离得到代价矩阵,从所述指定数量的特征序列匹配路径中选择距离最小的特征序列匹配路径,并在音符特征数据库中进行匹配搜索找到对应的多媒体资源身份信息;

式(11)中,d(Xi,Dj)表示Xi和Dj两个音符之间的音高距离,α1和α2均为常量,α1表示在匹配过程中的删除惩罚因子,α2表示在匹配过程中的添加惩罚因子;所述广度搜索子模块(91)的输出端与精细匹配子模块(92)相连。

说明书 :

具有语音控制和哼唱检索功能的多媒体播放方法及装置

技术领域

[0001] 本发明涉及多媒体设备领域,具体涉及一种具有语音控制和哼唱检索功能的多媒体播放装置。

背景技术

[0002] 现有技术的音乐播放装置所具备的仅仅是对音频文件手动的播放、暂停、上一曲等等常规的操控,对于数字音频的资源搜索也仅仅是通过用户输入歌曲名、歌唱者等等限制条件来完成。这一些限制条件使得用户在使用播放器时,并不能解放出自己的双手,同时对于自己不确定名称的歌曲无法搜索到歌曲资源,这些都极大的降低了用户的体验度。
[0003] 语音哼唱检索是一种基于哼唱输入的数字音乐检索,它往往应用于用户不明确的所需的数字音频的内容时,通过哼唱一段属于所查找的数字音频的旋律,然后通过提取出哼唱的内容的旋律特征,从而搜索出用户想要的数字音频资源。现如今,数字化音频媒体呈现爆炸性增长的态势,妄图通过用户提供的数字音频的名称、歌唱者、或者完整的歌词去搜索用户想要的音频资源已经越来越不能满足用户的要求。由于歌曲资源信息量越来越庞大,用户难以记清歌曲资源的名字或者歌唱者。但是用户一般能哼唱一段自己想查找的歌曲的一段旋律,用用户最能提供的歌曲检索条件:歌曲的一段旋律来检索歌曲使得语音哼唱检索技术有着巨大的应用优势。语音控制技术是一种基于语音控制指令输入,识别出语音指令,最终通过识别出的控制指令完成系统控制的实用技术,其显著特点就是采用了人类交互方式中最为原始最为自然的语音作为媒介,具备交互便捷、实用自然的特点。多媒体设备的多样化,使得用户能够通过像平板、手机等嵌入式设备收听以及获取数字音频资源。嵌入式操作系统从走向人们视野以来,以其杰出的功能、低功耗、可扩展等显著优势在嵌入式设备中得到了广泛的应用,已经取得了巨大的成功,其代表Android平台凭借其友好的界面,开源的优势以及多种级别的编程方式包括JNI(Java Native Interface)方式,克服Java无法直接造访操作体系底层的劣势,结合C/C++语言的优势提升所开发软件系统的性能,但是现有技术的语音哼唱检索的检索精确度较低。现有技术中所采用的语音哼唱检索算法中,基音检测环节作为影响哼唱检索精度的重要因素之一,往往采用的是经典的AMDF(平均幅度差函数),其计算所需差值项随着采样点位移的增加不断减少,从而造成了AMDF的峰值幅度不断下降,引起了基音检测的误判,成为哼唱检索效果的提升瓶颈。

发明内容

[0004] 本发明要解决的技术问题是提供一种能够解放用户的双手、用户体验好、使用方便、哼唱检测精确、应用范围广的具有语音控制和哼唱检索功能的多媒体播放方法及装置。
[0005] 为了解决上述技术问题,本发明采用的技术方案为:
[0006] 一种具有语音控制和哼唱检索功能的多媒体播放方法,其实施步骤如下:
[0007] 1)用户选择工作模式,采集语音数据并通过专用语音数据处理芯片进行预处理,当用户选择的工作模式为语音控制模式则跳转执行步骤2),如果用户选择的工作模式为哼唱检索模式则跳转执行步骤3);
[0008] 2)将预处理后的语音数据与语法规则上传至互联网上的语音识别服务端进行语音识别,根据语音识别服务端返回的识别结果对本地的多媒体资源进行播放控制或者资源管理;
[0009] 3)将预处理后的语音数据通过专用语音数据处理芯片提取基音序列并转换为音符序列,将所述音符序列发送给互联网上的匹配搜索服务端,通过所述匹配搜索服务端在音符特征数据库中进行匹配搜索找到与音符序列相匹配的多媒体资源身份信息,并根据所述多媒体资源身份信息从互联网下载对应的多媒体资源并存储到本地;
[0010] 所述步骤3)中提取基音序列并转换为音符序列的详细步骤如下:
[0011] 3.1.1)根据式(6)计算每一帧语音数据的短时平均幅度差;
[0012]
[0013] 式(6)中,D(k)为计算得到的短时平均幅度差;a表示采样率因子;j表示用于计算D(k)函数的所用语音采样点数目的下标,n表示窗的大小;x1表示计算语音信号采样点幅度值和的下限,x2表示计算语音信号采样点幅度值和的上限,x(l)表示一帧语音数据,l表示语音信号采样点的下标,k表示窗内偏移量,k值大小在0到n之间;
[0014] 3.1.2)根据式(7)计算每一帧语音数据基音周期,并将基音周期转换为基音频率,从而得到语音数据的基音序列;
[0015]
[0016] 式(7)中,TP表示基音周期,TPmin表示给定的下限,TPmax表示给定的上限,D(k)为计算得到的短时平均幅度差;k表示一系列计算短时平均幅度差里面满足位于给定下限TPmin、给定上限TPmax之间的采样点序列中短时平均幅度差D(k)最小的采样点位置;
[0017] 3.1.3)将基音序列根据式(8)转换为音符序列;
[0018] p=69+12log2(f/440) (8)
[0019] 式(8)中,p表示转换得到的音符序列,f表示输入的基音序列。
[0020] 作为本发明具有语音控制和哼唱检索功能的多媒体播放方法的进一步改进:
[0021] 所述步骤1)中进行预处理的详细步骤如下:
[0022] 1.1)对采集得到的语音数据进行分帧;
[0023] 1.2)对每一帧语音信号进行加汉明窗处理;
[0024] 1.3)根据式(1)计算每一帧语音信号的短时能量;
[0025]
[0026] 式(1)中,En为第n帧的语音信号的短时能量,xn(m)为第n帧中第m个采样点的语音信号;
[0027] 1.4)根据式(2)计算每一帧语音信号的过零率;
[0028]
[0029] 式(2)中,Zn为第n帧的语音信号的过零率,sgn[]为符号函数,sgn[]满足式(3)所示的关系,xn(m)为第n帧中第m个采样点的语音信号,xn(m-1)为第n帧中第m-1个采样点的语音信号,|·|为取绝对值运算符;
[0030]
[0031] 式(3)中,x为语音采样点值的大小;
[0032] 1.5)判断当前帧语音信号往前连续三帧语音信号的短时能量和过零率是否满足式(4)和式(5),如果满足式(4),则判定当前帧语音信号为开始帧;如果满足式(5),则判定当前帧语音信号为结束帧;
[0033] 且
[0034] 且
[0035] 式(4)和式(5)中,En为第n帧的语音信号的短时能量,Zn为第n帧的语音信号的过零率, 为预设的短时能量判决门限上限值, 为预设的短时能量判决门限下限值,为预设的过零率判决门限上限值, 为预设的过零率判决门限下限值;
[0036] 1.6)根据开始帧和结束帧提取有效语音信号,对有效语音信号进行语音增强。
[0037] 所述步骤1.5)中预设的过零率判决门限上限值为当前帧语音信号往前连续三帧语音信号的短时能量最大值,预设的过零率判决门限下限值为当前帧语音信号往前连续三帧语音信号的短时能量平均值。
[0038] 所述步骤3)中通过匹配搜索服务端在音符特征数据库中进行匹配搜索找到与音符序列相匹配的多媒体资源身份信息的详细步骤如下:
[0039] 3.2.1)匹配搜索服务端遍历音符特征数据库中的每一个特征序列,将所述音符序列与当前特征序列的每一个音符进行匹配,记录匹配过程中的删除惩罚次数和增加惩罚次数,每找到一个匹配点则根据式(9)计算下一个匹配点直至所有音符匹配完毕,最终得到由所有匹配点构成特征序列匹配路径;
[0040]
[0041] 式(9)中,Pnext即为下一个匹配点在当前特征序列中的位置;d(Xi+1,Dj+1)表示Xi+1和Dj+1两个音符之间的音高距离;α1和α2均为常量,α1表示在匹配过程中的删除惩罚因子,α2表示在匹配过程中的添加惩罚因子;Xi表示音符序列中序号为i的音符,待匹配的音符序列表示为X1X2X3X4…Xn,Dj表示特征序列中序号为j的音符,当前特征序列表示为D1D2D3D4…Dm;
[0042] 3.2.2)匹配搜索服务端根据式(10)计算所述特征序列匹配路径的匹配代价,根据匹配代价对特征序列匹配路径进行排序,并根据排序选择指定数量的特征序列匹配路径;
[0043] P=A1*α1+A2*α2 (10)
[0044] 式(10)中,P为匹配代价,A1表示在匹配过程中的删除惩罚次数,α1表示在匹配过程中的删除惩罚因子,A2表示在匹配过程中的增加惩罚次数,α2表示在匹配过程中的添加惩罚因子;
[0045] 3.2.3)匹配搜索服务端针对所述指定数量的特征序列匹配路径,采用DTW算法根据式(11)计算出各个特征序列匹配路径与音符序列之间的距离得到代价矩阵,从所述指定数量的特征序列匹配路径中选择距离最小的特征序列匹配路径,并在音符特征数据库中进行匹配搜索找到对应的多媒体资源身份信息;
[0046]
[0047] 式(11)中,d(Xi,Dj)表示Xi和Dj两个音符之间的音高距离,α1和α2均为常量,α1表示在匹配过程中的删除惩罚因子,α2表示在匹配过程中的添加惩罚因子。
[0048] 本发明还提供一种具有语音控制和哼唱检索功能的多媒体播放装置,包括:
[0049] 人机交互模块,用于接收用户选择包括语音控制模式和哼唱检索模式在内的工作模式;
[0050] 语音输入模块,用于采集语音数据;
[0051] 语音数据处理模块,用于对采集的语音数据进行预处理,以及在哼唱检索模式下进一步根据预处理后的语音数据提取基音序列并转换为音符序列;
[0052] 中央处理器,用于在语音控制模式下将预处理后的语音数据与语法规则上传至互联网上的语音识别服务端进行语音识别,根据语音识别服务端返回的识别结果对本地的多媒体资源进行播放控制或者资源管理,以及在哼唱检索模式下将所述音符序列发送给互联网上的匹配搜索服务端,通过所述匹配搜索服务端在音符特征数据库中进行匹配搜索找到与音符序列相匹配的多媒体资源身份信息,并根据所述多媒体资源身份信息从互联网下载对应的多媒体资源并存储到媒体存储模块;
[0053] 媒体存储模块,用于存储本地的多媒体资源;
[0054] 播放解码模块,用于对播放控制的多媒体资源进行解码;
[0055] 音频输出模块,用于将多媒体资源解码后得到的音频输出;
[0056] 网络接口模块,用于为中央处理器提供互联网访问语音识别服务端和匹配搜索服务端的功能;
[0057] 匹配搜索服务端,用于在音符特征数据库中进行匹配搜索找到与音符序列相匹配的多媒体资源身份信息并返回给中央处理器;
[0058] 所述语音数据处理模块的输入端与语音输入模块相连,所述中央处理器分别与人机交互模块、语音数据处理模块、媒体存储模块相连,所述中央处理器通过网络接口模块与互联网的语音识别服务端和匹配搜索服务端相连,所述中央处理器的输出端通过播放解码模块与音频输出模块相连;
[0059] 所述语音数据处理模块包括用于对采集的语音数据进行预处理的预处理模块和用于提取基音序列并转换为音符序列的哼唱数据处理模块,所述哼唱数据处理模块包括:
[0060] 短时平均幅度差计算子模块,用于根据式(6)计算每一帧语音数据的短时平均幅度差;
[0061]
[0062] 式(6)中,D(k)为计算得到的短时平均幅度差;a表示采样率因子;j表示用于计算D(k)函数的所用语音采样点数目的下标,n表示窗的大小;x1表示计算语音信号采样点幅度值和的下限,x2表示计算语音信号采样点幅度值和的上限,x(l)表示一帧语音数据,l表示语音信号采样点的下标,k表示窗内偏移量,k值大小在0到n之间;
[0063] 基音序列提取子模块,用于根据式(7)计算每一帧语音数据基音周期,并将基音周期转换为基音频率,从而得到语音数据的基音序列;
[0064]
[0065] 式(7)中,TP表示基音周期,TPmin表示给定的下限,TPmax表示给定的上限,D(k)为计算得到的短时平均幅度差;k表示一系列计算短时平均幅度差里面满足位于给定下限TPmin、给定上限TPmax之间的采样点序列中短时平均幅度差D(k)最小的采样点位置;
[0066] 音符序列转换子模块,用于将基音序列根据式(8)转换为音符序列;
[0067] p=69+12log2(f/440) (8)
[0068] 式(8)中,p表示转换得到的音符序列,f表示输入的基音序列;
[0069] 所述短时平均幅度差计算子模块、基音序列提取子模块、音符序列转换子模块之间依次相连,所述短时平均幅度差计算子模块的输入端与语音增强子模块相连,所述音符序列转换子模块的输出端与中央处理器相连。
[0070] 作为本发明具有语音控制和哼唱检索功能的多媒体播放装置的进一步改进:
[0071] 所述预处理模块包括:
[0072] 分帧子模块,用于对采集得到的语音数据进行分帧;
[0073] 加窗子模块,用于对每一帧语音信号进行加汉明窗处理;
[0074] 短时能量计算子模块,用于根据式(1)计算每一帧语音信号的短时能量;
[0075]
[0076] 式(1)中,En为第n帧的语音信号的短时能量,xn(m)为第n帧中第m个采样点的语音信号;
[0077] 过零率计算子模块,用于根据式(2)计算每一帧语音信号的过零率;
[0078]
[0079] 式(2)中,Zn为第n帧的语音信号的过零率,sgn[]为符号函数,sgn[]满足式(3)所示的关系,xn(m)为第n帧中第m个采样点的语音信号,xn(m-1)为第n帧中第m-1个采样点的语音信号,|·|为取绝对值运算符;
[0080]
[0081] 式(3)中,x为语音采样点值的大小;
[0082] 端点判断子模块,用于判断当前帧语音信号往前连续三帧语音信号的短时能量和过零率是否满足式(4)和式(5),如果满足式(4),则判定当前帧语音信号为开始帧;如果满足式(5),则判定当前帧语音信号为结束帧;
[0083] 且
[0084] 且
[0085] 式(4)和式(5)中,En为第n帧的语音信号的短时能量,Zn为第n帧的语音信号的过零率, 为预设的短时能量判决门限上限值, 为预设的短时能量判决门限下限值,为预设的过零率判决门限上限值, 为预设的过零率判决门限下限值;
[0086] 语音增强子模块,用于根据开始帧和结束帧提取有效语音信号,对有效语音信号进行语音增强;
[0087] 所述语音输入模块的输出端与分帧子模块相连,所述分帧子模块、加窗子模块依次相连,所述端点判断子模块的输入端分别通过短时能量计算子模块、过零率计算子模块与加窗子模块相连,所述端点判断子模块的输出端与语音增强子模块相连,所述语音增强子模块的输出端分别与哼唱数据处理模块和中央处理器相连。
[0088] 所述端点判断子模块中预设的过零率判决门限上限值为当前帧语音信号往前连续三帧语音信号的短时能量最大值,预设的过零率判决门限下限值为当前帧语音信号往前连续三帧语音信号的短时能量平均值。
[0089] 所述匹配搜索服务端包括:
[0090] 广度搜索子模块,用于遍历音符特征数据库中的每一个特征序列,将所述音符序列与当前特征序列的每一个音符进行匹配,记录匹配过程中的删除惩罚次数和增加惩罚次数,每找到一个匹配点则根据式(9)计算下一个匹配点直至所有音符匹配完毕,最终得到由所有匹配点构成特征序列匹配路径;根据式(10)计算所述特征序列匹配路径的匹配代价,根据匹配代价对特征序列匹配路径进行排序,并根据排序选择指定数量的特征序列匹配路径;
[0091]
[0092] 式(9)中,Pnext即为下一个匹配点在当前特征序列中的位置;d(Xi+1,Dj+1)表示Xi+1和Dj+1两个音符之间的音高距离;α1和α2均为常量,α1表示在匹配过程中的删除惩罚因子,α2表示在匹配过程中的添加惩罚因子;Xi表示音符序列中序号为i的音符,待匹配的音符序列表示为X1X2X3X4…Xn,Dj表示特征序列中序号为j的音符,当前特征序列表示为D1D2D3D4…Dm;
[0093] P=A1*α1+A2*α2 (10)
[0094] 式(10)中,P为匹配代价,A1表示在匹配过程中的删除惩罚次数,α1表示在匹配过程中的删除惩罚因子,A2表示在匹配过程中的增加惩罚次数,α2表示在匹配过程中的添加惩罚因子;
[0095] 精细匹配子模块,用于针对所述指定数量的特征序列匹配路径,采用DTW算法根据式(11)计算出各个特征序列匹配路径与音符序列之间的距离得到代价矩阵,从所述指定数量的特征序列匹配路径中选择距离最小的特征序列匹配路径,并在音符特征数据库中进行匹配搜索找到对应的多媒体资源身份信息;
[0096]
[0097] 式(11)中,d(Xi,Dj)表示Xi和Dj两个音符之间的音高距离,α1和α2均为常量,α1表示在匹配过程中的删除惩罚因子,α2表示在匹配过程中的添加惩罚因子;所述广度搜索子模块的输出端与精细匹配子模块相连。
[0098] 本发明具有语音控制和哼唱检索功能的多媒体播放方法具有下述优点:
[0099] 1、本发明在语音控制模式下,用户可以通过输入语音指令的方式对本地存储的多媒体文件进行播放控制或者资源管理,在哼唱检索模式下,用户可以通过哼唱来检索出哼唱的歌曲内容完成歌曲资源的搜索,能够解决车载、手工操作等场合中双手不便控制的多媒体(音频和视频)播放控制需求的技术问题,同时满足了对于通过提供一段歌曲旋律的情况下音频资源获取的需求,除了常规的通过手动方式控制播放系统运行之外,本发明增加了语音输入控制、语音哼唱检索用户所需语音资源的功能,不仅满足现有播放装置应用场合,另外对于用户不方便使用手动操作的场合具备良好的性能提升,能够解放用户的双手,同时满足了用户通过哼唱旋律这种最容易提供的搜索条件方式获取音频资源的需求,提升了用户的体验度,具有能够解放用户双手、安装可靠、方便快捷、功能新颖,操作便捷的优点。
[0100] 2、本发明将预处理后的语音数据与语法规则上传至互联网上的语音识别服务端进行语音识别,根据语音识别服务端返回的识别结果对本地的多媒体资源进行播放控制或者资源管理,通过开放的语音识别接口调用,同时开放用户设置识别语法,能高效、精确地完成识别用户控制指令的任务。
[0101] 3、本发明通过专用语音数据处理芯片进行预处理,且在哼唱检索模式下将预处理后的语音数据通过专用语音数据处理芯片提取基音序列并转换为音符序列,因此对于预处理和提取基音序列并转换为音符序列等大数据量的运算通过专用语音数据处理芯片来实现,能够提高对语音数据处理的速度和效率,降低用户等待返回信息的时间,从而能够提高系统的实时性。
[0102] 本发明具有语音控制和哼唱检索功能的多媒体播放装置作为本发明具有语音控制和哼唱检索功能的多媒体播放方法对应的装置,因此也具有与本发明具有语音控制和哼唱检索功能的多媒体播放方法相同的技术效果,在此不再赘述。

附图说明

[0103] 图1为本发明实施例方法的实施流程示意图。
[0104] 图2为本发明实施例装置的框架结构示意图。
[0105] 图3为本发明实施例装置中人机交互模块的电路原理示意图。
[0106] 图4为本发明实施例装置中语音输入模块、播放解码模块和音频输出模块的电路原理示意图。
[0107] 图5为本发明实施例装置中网络接口模块的电路原理示意图。
[0108] 图6为本发明实施例装置中语音数据处理模块的框架结构示意图。
[0109] 图7为本发明实施例装置中匹配搜索服务端的框架结构示意图。
[0110] 图8为本发明实施例装置中语音控制模式的工作原理示意图。
[0111] 图9为本发明实施例装置中哼唱检索模式的工作原理示意图。
[0112] 图例说明:1、人机交互模块;2、语音输入模块;3、语音数据处理模块;31、预处理模块;311、分帧子模块;312、加窗子模块;313、短时能量计算子模块;314、过零率计算子模块;315、端点判断子模块;316、语音增强子模块;32、哼唱数据处理模块;321、短时平均幅度差计算子模块;322、基音序列提取子模块;323、音符序列转换子模块;4、中央处理器;5、媒体存储模块;6、播放解码模块;7、音频输出模块;8、网络接口模块;9、匹配搜索服务端;91、广度搜索子模块;92、精细匹配子模块;10、语音识别服务端。

具体实施方式

[0113] 如图1所示,本实施例具有语音控制和哼唱检索功能的多媒体播放方法的实施步骤如下:
[0114] 1)用户选择工作模式,采集语音数据并通过专用语音数据处理芯片进行预处理,当用户选择的工作模式为语音控制模式则跳转执行步骤2),如果用户选择的工作模式为哼唱检索模式则跳转执行步骤3);
[0115] 2)将预处理后的语音数据与语法规则上传至互联网上的语音识别服务端进行语音识别,根据语音识别服务端返回的识别结果对本地的多媒体资源进行播放控制或者资源管理;
[0116] 3)将预处理后的语音数据通过专用语音数据处理芯片提取基音序列并转换为音符序列,将音符序列发送给互联网上的匹配搜索服务端,通过匹配搜索服务端在音符特征数据库中进行匹配搜索找到与音符序列相匹配的多媒体资源身份信息,并根据多媒体资源身份信息从互联网下载对应的多媒体资源并存储到本地。
[0117] 本实施例能够实现根据用户选择客户端的工作模式来启动语音控制模式或者哼唱检索模式。在语音控制模式下,用户可以通过输入语音指令的方式对对本地存储的多媒体文件进行播放控制或者资源管理,在哼唱检索模式下,用户可以通过哼唱来检索出哼唱的歌曲内容完成歌曲资源的搜索,能够解决车载、手工操作等场合中双手不便控制的多媒体(音频和视频)播放控制需求的技术问题,同时满足了对于通过提供一段歌曲旋律的情况下音频资源获取的需求,除了常规的通过手动方式控制播放系统运行之外,本实施例增加了语音输入控制、语音哼唱检索用户所需语音资源的功能,不仅满足现有播放装置应用场合,另外对于用户不方便使用手动操作的场合具备良好的性能提升,能够解放用户的双手,同时满足了用户通过哼唱旋律这种最容易提供的搜索条件方式获取音频资源的需求,提升了用户的体验度,具有能够解放用户双手、安装可靠、方便快捷、功能新颖,操作便捷的优点。
[0118] 本实施例中采集语音数据时,采样参数为:采样率44.1KHz、双通道、16比特量化特征。
[0119] 本实施例中,步骤1)中进行预处理的详细步骤如下:
[0120] 1.1)对采集得到的语音数据进行分帧,本实施例中分帧是具体是以256个采样点分成一帧,帧移大小为128。
[0121] 1.2)对每一帧语音信号进行加汉明窗处理。
[0122] 1.3)根据式(1)计算每一帧语音信号的短时能量;
[0123]
[0124] 式(1)中,En为第n帧的语音信号的短时能量,xn(m)为第n帧的第m个采样点的语音信号。
[0125] 1.4)根据式(2)计算每一帧语音信号的过零率;
[0126]
[0127] 式(2)中,Zn为第n帧的语音信号的过零率,sgn[]为符号函数,sgn[]满足式(3)所示的关系,xn(m)为第n帧的第m个采样点的语音信号,xn(m-1)为第n帧中第m-1个采样点的语音信号,|·|为取绝对值运算符;
[0128]
[0129] 式(3)中,x为语音采样点值的大小。
[0130] 1.5)判断当前帧语音信号往前连续三帧语音信号的短时能量和过零率是否满足式(4)和式(5),如果满足式(4),则判定当前帧语音信号为开始帧;如果满足式(5),则判定当前帧语音信号为结束帧;
[0131] 且
[0132] 且
[0133] 式(4)和式(5)中,En为第n帧的语音信号的短时能量,Zn为第n帧的语音信号的过零率, 为预设的短时能量判决门限上限值, 为预设的短时能量判决门限下限值,为预设的过零率判决门限上限值, 为预设的过零率判决门限下限值。本实施例中,步骤1.5)中预设的过零率判决门限上限值为当前帧语音信号往前连续三帧语音信号的短时能量最大值,预设的过零率判决门限下限值为当前帧语音信号往前连续三帧语音信号的短时能量平均值,过零率判决门限上限值取值为100,过零率判决门限下限值取值为70。
[0134] 1.6)根据开始帧和结束帧提取有效语音信号,对有效语音信号进行语音增强。本实施例中,具体是采用谱减法对有效语音信号进行语音增强。
[0135] 通过前述的步骤1.1)~步骤1.6),本实施例对语音数据的预处理包括语音加窗、双门限(短时能量判决门限和过零率判决门限)的语音端点检测和针对旋律特点的语音增强,来实现对语音数据的预处理,从而能够提高语音数据在后期进行识别的精确度。本实施例中针对旋律特点的语音增强具体采用的是经典的谱减法进行的语音增强,所用的噪声是固定的为音乐噪声谱。
[0136] 本实施例中,步骤3)中提取基音序列并转换为音符序列的详细步骤如下:
[0137] 3.1.1)根据式(6)计算每一帧语音数据的短时平均幅度差。
[0138]
[0139] 式(6)中,D(k)为计算得到的短时平均幅度差;a表示采样率因子;j表示用于计算D(k)函数的所用语音采样点数目的下标,n表示窗的大小;x1表示计算语音信号采样点幅度值和的下限,x2表示计算语音信号采样点幅度值和的上限,x(l)表示一帧语音数据,l表示语音信号采样点的下标,k表示窗内偏移量,k值大小在0到n之间。
[0140] 3.1.2)根据式(7)计算每一帧语音数据基音周期,并将基音周期转换为基音频率,从而得到语音数据的基音序列。
[0141]
[0142] 式(7)中,TP表示基音周期,TPmin表示给定的下限,TPmax表示给定的上限,D(k)为计算得到的短时平均幅度差;k表示一系列计算短时平均幅度差里面满足位于给定下限TPmin、给定上限TPmax之间的采样点序列中短时平均幅度差D(k)最小的采样点位置。式(7)所表明的是,在一系列D(k)值里面,给定上下限分别为TPmin和TPmax,算出一系列D(k)里面满足位于上下限之间的序列中最小的D(k)的位置k,那么接下来就可以根据采样点起始点到k采样点的时间周期作为基音周期。
[0143] 3.1.3)将基音序列根据式(8)转换为音符序列。
[0144] p=69+12log2(f/440) (8)
[0145] 式(8)中,p表示转换得到的音符序列,f表示输入的基音序列。
[0146] 提取基音序列在整个哼唱检索系统里面是非常重要的一个环节,直接关系着后续的音符提取以及旋律特征提取。现有技术对于提取基音序列的基音检测部分一般采用经典的短时平均幅度差函数(AMDF)来完成,其计算方法如式(6-1)所示。
[0147]
[0148] 式(6-1)中,x(j)表明的是一个长度为n的语音帧,而k代表的是一个偏移量,值的大小在0到n之间,针对不同的偏移量可以计算k偏移量的情况下的短时平均幅度差D(k)。本实施例为了提高基音检测环节的准确性和鲁棒性,本实施例根据式(6)改进的基音检测函数MAMDF(修正的平均幅度差函数)计算每一帧语音数据的短时平均幅度差,并使用步骤3.1.2)~3.1.3)来完成基音序列的提取。对于准确性而言,相对于AMDF,本实施例式(6)的MAMDF计算短时平均幅度差时采用的是固定的长度计算范围,克服了峰值幅度差值项减少导致的漏判现象,提升了准确性;对于鲁棒性,由于本实施例通过式(6)以成组的方式求平均幅度差,相对现有技术的仅仅直接采用两个采样点计算出幅度差而言能够提升浊音信号的周期特征,由于在计算过程中增强了浊音信号的周期特征,这样可以明显减少语音信号剧烈波动对基音检测带来的影响,在低信噪比环境中也能够大大减少噪声对基音检测引起的误差,起到很好的检测结果。
[0149] 表1:本实施例(MAMDF)在不同信噪比环境下与现有技术(AMDF)的识别错误率对比分析表,其中语音包含干净语音和不同信噪比环境下的带噪语音(GPE%)。
[0150]使用方法 干净语音 10dB 5dB 0dB -5dB -10dB
AMDF 7.07 10.97 15.02 22.87 35.61 52.4
MAMDF 5.58 7.62 9.53 13.14 20.88 34.47
[0151] 参见表1可知,本实施例的识别错误率相对现有技术(AMDF)有了明显的降低。针对现有技术的基音检测部分存在检测效果不佳、存在漏点的现象,本实施例式(6)的MAMDF计算短时平均幅度差时公式采用的是固定的长度计算范围,能够克服峰值幅度差值项减少导致的漏判现象。
[0152] 本实施例中,步骤3)中通过匹配搜索服务端在音符特征数据库中进行匹配搜索找到与音符序列相匹配的多媒体资源身份信息的详细步骤如下:
[0153] 3.2.1)匹配搜索服务端遍历音符特征数据库中的每一个特征序列,将音符序列与当前特征序列的每一个音符进行匹配,记录匹配过程中的删除惩罚次数和增加惩罚次数,每找到一个匹配点则根据式(9)计算下一个匹配点直至所有音符匹配完毕,最终得到由所有匹配点构成特征序列匹配路径。
[0154]
[0155] 式(9)中,Pnext即为下一个匹配点在当前特征序列中的位置;d(Xi+1,Dj+1)表示Xi+1和Dj+1两个音符之间的音高距离;α1和α2均为常量,α1表示在匹配过程中的删除惩罚因子,α2表示在匹配过程中的添加惩罚因子;Xi表示音符序列中序号为i的音符,待匹配的音符序列表示为X1X2X3X4…Xn,Dj表示特征序列中序号为j的音符,当前特征序列表示为D1D2D3D4…Dm,本实施例中有m>n。
[0156] 3.2.2)根据式(10)计算特征序列匹配路径的匹配代价,根据匹配代价对特征序列匹配路径进行排序,并根据排序选择指定数量的特征序列匹配路径。
[0157] P=A1*α1+A2*α2 (10)
[0158] 式(10)中,P为匹配代价,A1表示在匹配过程中的删除惩罚次数,α1表示在匹配过程中的删除惩罚因子,A2表示在匹配过程中的增加惩罚次数,α2表示在匹配过程中的添加惩罚因子。比如X与D之间共计匹配了50个点,其中删除惩罚了10次,添加惩罚了20次,那么就可以算出匹配代价为10*α1+20*α2,然后将所有的广搜代价进行排序,将数据库中代价较小的一部分返回,本实施例中指定数量取值为音符特征数据库中特征序列总量N的一半。
[0159] 3.2.3)针对指定数量的特征序列匹配路径,采用DTW算法根据式(11)计算出各个特征序列匹配路径与音符序列之间的距离得到代价矩阵D0..n,0..n;从指定数量的特征序列匹配路径中选择距离最小 的特征序列匹配路径,并在音符特征数据库中进行匹配搜索找到对应的多媒体资源身份信息。
[0160]
[0161] 式(11)中,d(Xi,Dj)表示Xi和Dj两个音符之间的音高距离,α1和α2均为常量,α1表示在匹配过程中的删除惩罚因子,α2表示在匹配过程中的添加惩罚因子。
[0162] 传统的DTW算法的复杂度始终都是O(N2),而本实施中通过上述步骤3.2.1)~3.2.2)的广度搜索过程结合步骤3.2.3)的精细匹配过程,通过广度搜索、精细匹配两个搜索匹配过程,仅仅在精搜部分采用的O(N2)的全匹配,算法复杂度得到降低,能够极大地提高匹配的效率,缩短匹配的响应时间,能够实现较高识别率并且计算开销较小。
[0163] 如图2所示,本发明具有语音控制和哼唱检索功能的多媒体播放装置包括:
[0164] 人机交互模块1,用于接收用户选择包括语音控制模式和哼唱检索模式在内的工作模式;
[0165] 语音输入模块2,用于采集语音数据;
[0166] 语音数据处理模块3,用于对采集的语音数据进行预处理,以及在哼唱检索模式下进一步根据预处理后的语音数据提取基音序列并转换为音符序列;
[0167] 中央处理器4,用于在语音控制模式下将预处理后的语音数据与语法规则上传至互联网上的语音识别服务端10进行语音识别,根据语音识别服务端10返回的识别结果对本地的多媒体资源进行播放控制或者资源管理,以及在哼唱检索模式下将音符序列发送给互联网上的匹配搜索服务端9,通过匹配搜索服务端9在音符特征数据库中进行匹配搜索找到与音符序列相匹配的多媒体资源身份信息,并根据多媒体资源身份信息从互联网下载对应的多媒体资源并存储到媒体存储模块;
[0168] 媒体存储模块5,用于存储本地的多媒体资源;
[0169] 播放解码模块6,用于对播放控制的多媒体资源进行解码;
[0170] 音频输出模块7,用于将多媒体资源解码后得到的音频输出;
[0171] 网络接口模块8,用于为中央处理器提供互联网访问语音识别服务端和匹配搜索服务端的功能;
[0172] 匹配搜索服务端9,用于在音符特征数据库中进行匹配搜索找到与音符序列相匹配的多媒体资源身份信息并返回给中央处理器4;
[0173] 语音数据处理模块3的输入端与语音输入模块2相连,中央处理器4分别与人机交互模块1、语音数据处理模块3、媒体存储模块5相连,中央处理器4通过网络接口模块8与互联网的语音识别服务端10和匹配搜索服务端9相连,中央处理器4的输出端通过播放解码模块6与音频输出模块7相连。
[0174] 人机交互模块1用于系统界面显示和操作的控制,本实施例的人机交互模块1采用4线电阻触摸屏实现,4线电阻触摸屏的控制器采用TI公司的ADS7843触摸屏解码芯片,具有功耗低,触摸敏感度高的特点。语音输入模块2、播放解码模块6和音频输出模块7采用ALC5621芯片以及辅助电路实现,ALC5621芯片以及辅助电路内置了语音输入、播放解码和音频输出功能,从而能够通过一块芯片及其外围电路实现语音输入模块2、播放解码模块6和音频输出模块7三个部件的功能,实现简单方便,而且使得电路结构更加紧凑。语音数据处理模块3采用TI公司的型号为F28335的DSP芯片实现,本实施例利用DSP芯片多媒体运算能力强的优点,能够极大地提升整个系统的语音数据处理速度。中央处理器4是系统实施核心单元,本实施例的中央处理器4采用ARM Cortex-A8架构具体型号为SAMSUNG S5PV210的ARM微处理器芯片,并且中央处理器4中移植了Android2.0嵌入式操作系统。媒体存储模块5具体基于芯片K4T1G084QE-HCF7实现。网络接口模块8用于系统与外界的数据通讯,可选方式有3G、GPRS、WIFI,本实施例中采用芯片型号为REALTEK 8188UM3WIFI的WIFI网络接口模块。匹配搜索服务端9为接入互联网的服务器,内置有音符特征数据库。
[0175] 如图3所示,ADS7843触摸屏解码芯片的CS、DCLK、DIN、BUSY、PENRQ、IN3、IN4引脚分别外接中央处理器4,ADS7843触摸屏解码芯片的X+、Y+、X-、Y-引脚分别连接4线电阻触摸屏的XM、XP、YM、YP引脚,然后作为4线电阻触摸屏的输出。
[0176] ALC5621芯片的四个外接引脚连接电路如图4所示,其中ALC5621芯片的与外接中央处理器4相连的外围接口中MIC_1N、MIC_1P、MIC_2N、MIC_2P引脚分别连接两路MIC_P、MIC_M,外围接口中的EAR1_ON、EAR1_OP分别连接麦克风(MICROPHONE)REC的EAR_M、EAR_P信号引脚,外围接口中的MIC_BIAS引脚连接麦克风(MICROPHONE)MIC的MICBIA信号引脚,外围接口中的LINE_ON、LINE_OP引脚连接ALC5621芯片所连接的MIC_P,MIC_M信号引脚。
[0177] 如图2和图5所示,网络接口模块8基于REALTEK 8188 UM3WIFI芯片实现,网络接口模块8的SDCH_D1、SDCH_D0、USBDN、USBDP等引脚分别外接中央处理器4。
[0178] 如图6所示,语音数据处理模块3包括用于对采集的语音数据进行预处理的预处理模块31和用于提取基音序列并转换为音符序列的哼唱数据处理模块32,预处理模块31包括:
[0179] 分帧子模块311,用于对语音输入模块2采集得到的语音数据进行分帧。
[0180] 加窗子模块312,用于对每一帧语音信号进行加汉明窗处理。
[0181] 短时能量计算子模块313,用于根据式(1)计算每一帧语音信号的短时能量。
[0182]
[0183] 式(1)中,En为第n帧的语音信号的短时能量,xn(m)为第n帧中第m个采样点的语音信号。
[0184] 过零率计算子模块314,用于根据式(2)计算每一帧语音信号的过零率。
[0185]
[0186] 式(2)中,Zn为第n帧的语音信号的过零率,sgn[]为符号函数,sgn[]满足式(3)所示的关系,xn(m)为第n帧中第m个采样点的语音信号,xn(m-1)为第n帧中第m-1个采样点的语音信号,|·|为取绝对值运算符。
[0187]
[0188] 式(3)中,x为语音采样点值的大小。
[0189] 端点判断子模块315,用于判断当前帧语音信号往前连续三帧语音信号的短时能量和过零率是否满足式(4)和式(5),如果满足式(4),则判定当前帧语音信号为开始帧;如果满足式(5),则判定当前帧语音信号为结束帧。
[0190] 且
[0191] 且
[0192] 式(4)和式(5)中,En为第n帧的语音信号的短时能量,Zn为第n帧的语音信号的过零率, 为预设的短时能量判决门限上限值, 为预设的短时能量判决门限下限值, 为预设的过零率判决门限上限值, 为预设的过零率判决门限下限值;本实施例中,端点判断子模块315中预设的过零率判决门限上限值为当前帧语音信号往前连续三帧语音信号的短时能量最大值,预设的过零率判决门限下限值为当前帧语音信号往前连续三帧语音信号的短时能量平均值,过零率判决门限上限值取值为100,过零率判决门限下限值取值为70。
[0193] 语音增强子模块316,用于根据开始帧和结束帧提取有效语音信号,对有效语音信号进行语音增强。
[0194] 其中,语音输入模块2的输出端与分帧子模块311相连,分帧子模块311、加窗子模块312依次相连,端点判断子模块315的输入端分别通过短时能量计算子模块313、过零率计算子模块314与加窗子模块312相连,端点判断子模块315的输出端与语音增强子模块316相连,语音增强子模块316的输出端分别与哼唱数据处理模块32和中央处理器4相连。
[0195] 如图6所示,本实施例中哼唱数据处理模块32包括:
[0196] 短时平均幅度差计算子模块321,用于根据式(6)计算每一帧语音数据的短时平均幅度差。
[0197]
[0198] 式(6)中,D(k)为计算得到的短时平均幅度差;a表示采样率因子;j表示用于计算D(k)函数的所用语音采样点数目的下标,n表示窗的大小;x1表示计算语音信号采样点幅度值和的下限,x2表示计算语音信号采样点幅度值和的上限,x(l)表示一帧语音数据,l表示语音信号采样点的下标,k表示窗内偏移量,k值大小在0到n之间。
[0199] 基音序列提取子模块322,用于根据式(7)计算每一帧语音数据基音周期,并将基音周期转换为基音频率,从而得到语音数据的基音序列。
[0200]
[0201] 式(7)中,TP表示基音周期,TPmin表示给定的下限,TPmax表示给定的上限,D(k)为计算得到的短时平均幅度差;k表示一系列计算短时平均幅度差里面满足位于给定下限TPmin、给定上限TPmax之间的采样点序列中短时平均幅度差D(k)最小的采样点位置。
[0202] 音符序列转换子模块323,用于将基音序列根据式(8)转换为音符序列。
[0203] p=69+12log2(f/440) (8)
[0204] 式(8)中,p表示转换得到的音符序列,f表示输入的基音序列。
[0205] 短时平均幅度差计算子模块321、基音序列提取子模块322、音符序列转换子模块323之间依次相连,短时平均幅度差计算子模块321的输入端与语音增强子模块316相连,音符序列转换子模块323的输出端与中央处理器4相连。
[0206] 如图7所示,匹配搜索服务端9包括广度搜索子模块91和精细匹配子模块92。
[0207] 广度搜索子模块91用于遍历音符特征数据库中的每一个特征序列,将待匹配的音符序列与当前特征序列的每一个音符进行匹配,每得到一个匹配点,则根据式(9)计算下一个匹配点直至所有音符匹配完毕,记录匹配过程中的删除惩罚次数和增加惩罚次数,最终所有匹配点构成特征序列匹配路径,根据式(10)计算特征序列匹配路径的匹配代价,根据匹配代价对特征序列匹配路径进行排序,并根据排序选择指定数量的特征序列匹配路径。
[0208]
[0209] 式(9)中,Pnext即为下一个匹配点在当前特征序列中的位置;d(Xi+1,Dj+1)表示Xi+1和Dj+1两个音符之间的音高距离;α1和α2均为常量,α1表示在匹配过程中的删除惩罚因子,α2表示在匹配过程中的添加惩罚因子;Xi表示音符序列中序号为i的音符,待匹配的音符序列表示为X1X2X3X4…Xn,Dj表示特征序列中序号为j的音符,当前特征序列表示为D1D2D3D4…Dm。
[0210] P=A1*α1+A2*α2 (10)
[0211] 式(10)中,P为匹配代价,A1表示在匹配过程中的删除惩罚次数,α1表示在匹配过程中的删除惩罚因子,A2表示在匹配过程中的增加惩罚次数,α2表示在匹配过程中的添加惩罚因子。
[0212] 精细匹配子模块92用于针对指定数量的特征序列匹配路径,采用DTW算法根据式(11)计算出各个特征序列匹配路径与音符序列之间的距离得到代价矩阵,从指定数量的特征序列匹配路径中选择距离最小的特征序列匹配路径,并在音符特征数据库中进行匹配搜索找到对应的多媒体资源身份信息。
[0213]
[0214] 式(11)中,d(Xi,Dj)表示Xi和Dj两个音符之间的音高距离,α1和α2均为常量,α1表示在匹配过程中的删除惩罚因子,α2表示在匹配过程中的添加惩罚因子;广度搜索子模块91的输出端与精细匹配子模块92相连。
[0215] 本实施例的语音识别服务端10采用科大讯飞提供的语音识别接口,此外也可以根据需要采用Google提供的语音识别接口或者其他语音识别接口等。
[0216] 本实施例在工作时,图2中人机交互模块1能够实现用户通过触摸屏UI上面按钮的方式进行常规控制,本实施例中的常规触屏控制包括有:语音播放、语音暂停、快进控制、快退控制、下一首控制、上一首控制;资源管理功能:添加、删除、排序;播放模式选择功能,包括:随机播放、顺序播放、单曲循环等:语音控制开启选择功能按钮、哼唱搜索功能开启选择按钮;此外,人机交互模块1还能够用于选择语音控制模式和哼唱检索模式。
[0217] 如图1、图2和图8所示,在语音控制模式下,用户预先在中央处理器4中设置好语法规则和监听服务线程,如果用户通过语音输入模块2录制语音则创建语音控制请求,语音输入模块2采样语音数据后通过总线将语音数据传输至语音数据处理模块3,在语音数据处理模块3中完成语音信号的预处理,然后语音数据处理模块3根据中央处理器4发送的工作模式指令判断是否进行哼唱检索特征提取运算,在语音控制模式下,语音数据处理模块3不进行哼唱检索特征提取运算而直接将经过预处理的音频数据传输至中央处理器4,中央处理器4将预处理后的语音数据和语法规则一起通过网络上传给语音识别服务端
10,同时语音控制请求监听资源返回消息,根据语音识别服务端10返回的识别结果执行对应的指令,指令包括播放、暂停、快进控制、快退控制、下一首控制、上一首控制、文件添加、文件删除、文件排序、随机播放、顺序播放、单曲循环等,从而对本地存储的多媒体文件进行播放控制或者资源管理,能够适用于用户不方便用手动方式控制播放器的场合,比如车载等。
[0218] 如图1、图2和图9所示,在哼唱检索模式下,如果用户通过语音输入模块2录制语音,语音输入模块2采样语音数据后通过总线将语音数据传输至语音数据处理模块3,在语音数据处理模块3中完成语音信号的预处理,然后语音数据处理模块3根据中央处理器4发送的工作模式指令判断是否进行哼唱检索特征提取运算,在哼唱检索模式下语音数据处理模块3进行哼唱检索特征提取运算从预处理后的语音数据中提取基音序列,然后将基音序列转换为音符序列并发送给中央处理器4,中央处理器4则将音符序列发送给互联网上的匹配搜索服务端9并监听资源返回消息;匹配搜索服务端9在音符特征数据库中使用预设的匹配算法进行匹配搜索找到匹配的多媒体资源身份信息并返回给中央处理器4,中央处理器4根据多媒体资源身份信息从互联网下载对应的多媒体资源并存储到本地的媒体存储模块5中,从而能够满足用户在不知道歌曲名称、歌唱者等等信息时,仅仅通过哼唱一段歌曲中的旋律,实现资源的查找与获取,能较大的提高用户的体验度。
[0219] 以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。