发明名称 语音点歌方法
摘要 语音点歌方法属于点歌应用技术,其特征在于:在PC机上设定数据初始化模块,含有汉字字库文件和声韵母相似性度量值表;歌库文字预处理模块,含有歌曲名或歌手名对应的目标音节链字符串;语音识别模块,把从声卡输入的歌曲名或歌手名的语音录音数据转换为相应的汉字字符串;识别结果后处理模块,把汉字字符串转换为源音节链字符串;搜索匹配模块,根据上述歌曲名或歌手名对应的目标音节链字符串以及从识别结果后处理模块得到的源音节链字符串进行基于声母和韵母相似性度量的差异值计算,并用动态规划方法来计算整体差异,输出差异值最小的结果,它减少了点歌的平均按键次数和平均操作时间,极大的提高了点歌操作的效率。
申请公布号 CN101206859A 申请公布日期 2008.06.25
申请号 CN200710178493.8 申请日期 2007.11.30
申请人 清华大学;上海锐深计算机科技有限公司 发明人 王智;童鲲;张钹;张云刚
分类号 G10L15/08(2006.01);G10H1/00(2006.01);G10H1/36(2006.01);G06F17/30(2006.01) 主分类号 G10L15/08(2006.01)
代理机构 代理人
主权项 1.语音点歌方法,其特征在于,该方法是在PC机上依次按以下步骤实现的:步骤(1)初始化在该PC机上安装数据初始化模块,歌曲文字预处理模块、录音设备控制模块、语音识别模块、识别结果后处理模块、搜索与匹配模块,其中:A.数据初始化模块,预置有:√最基本的由音节和音节链组成的数据结构,其中,一个音节包括声母和韵母,忽略声调后,对应于一个汉字,多个汉字对应于由多个音节组成的一个音节链;√汉字字库文件,含有拼音和汉字的对应关系;√包含了声母相似性度量值表,其中包括的声母对有:声母B和P,F和H,D和T,N和L,N和R,G和K,X和SH,X和S,ZH和Z,CH和C以及SH和S,还有所述各对声母相似性度量值,√包含了韵母相似性度量值表,其中韵母对至少含有:A和AI,A和AO,A和AN,E和EI、IA和IANG,还有所述各对韵母相似性度量值;√包含了差异常量值表,其中包括:声、韵母的最大差异值:100,字符和空字的差异值:1000,空字和字符的差异值:1000;B.歌库文字预处理模块,含有:√歌库文件,含有歌曲名和歌手名,歌库文件中的歌曲名和表示该歌曲名的语音的音节链的映射表,所述音节链称为歌曲名目标音节链字符串;歌库文件中的歌手名和表示该歌手名的语音的音节链的映射表,所述音节链称为歌手名目标音节链字符串;√该模块根据输入的该歌库中歌曲名或歌手名的每个汉字的文字信息,利用相应的映射表,在汉字字库中找到每个汉字对应的音节,在拆分成声母和韵母两个部分后,组成歌曲名或歌手名目标音节链字符串输出;C.录音设备控制模块,其根据设定的录音采样频率和位数,控制录音设备的启动和停止,并调节音量的大小;D.语音识别模块,利用现有语音识别包文件,根据从所述声卡输入到该语音识别模块的歌曲名或歌手名的语音录音,进行语音识别,输出识别后的文字串;E.识别结果后处理模块,调用所述汉字字库文件,把从语音识别模块输入的经过识别后的文字串转换为用音节链表表示的字符串,构成源音节链字符串;F.搜索匹配模块,根据从歌库文件预处理模块输入的、和所有歌曲名或歌手名对应的目标音节链字符串,以及从语音识别模块输入的、与所述从声卡来的语音录音数据对应的源音节链字符串,按以下步骤进行处理后,输出与从声卡输入的语音录音数据最匹配的歌曲名或歌手名,作为搜索结果:√第1步:把录音数据对应的音节链字符串与歌库中歌曲名或歌手名的目标音节链字符串简称为字符串,其中每一个字符是一个音节结构;√第2步:按照步骤(1)中设定的声母相似性度量值算出录音数据字符串中某个字符内的声母和其对应的歌曲名或歌手名字符串中的某个字符内的声母的声母差异值,计算公式如下:声母差异=设定的声母最大差异值-声母相似值其中声母最大差异值=100;√第3步:按照步骤(1)中设定的韵母相似性度量值算出录音数据字符串中某个字符内的韵母和其对应的歌曲名或歌手名字符串中某个字符内的韵母的韵母差异值,计算公式如下:韵母差异=设定的韵母最大差异值-韵母相似值其中韵母最大差异值=100;√第4步:把第2步、第3步中录音数据字符串与对应歌曲名或歌手名的字符串中每一个字符内的声母差异加上韵母差异,得到所有对应字符的差异,计算公式如下:字符差异=声母差异+韵母差异√第5步:在上述单独的字符差异计算基础之上,按下述步骤采用动态规划的方法来计算字符串的整体差异:a.第5.1步,按第4步的结果,建立一个匹配差异矩阵,其中,行表示源序号,源代表录音数据字符串,序号是指其中每个字符的序号,列表示目标序号,目标代表歌曲名或歌手名字符串,序号是指其中每个字符的序号,矩阵的元素用[m,n]表示,[m,n]即表示源的前m个字符组成的字符串与目标的前n个字符组成的字符串之间的整体差异,设M是源字符串的长度,N是目标字符串的长度,则m的取值范围是从0到M,n的取值范围是从0到N;b.第5.2步,差异值的具体计算方法是由下列三种情况的结果取最小得到,其中src为源的第m个字符,tgt为目标的第n个字符:源字符与目标字符的差异为:V1=字符差异(src,tgt)+[m-1][n-1]源字符与目标空字的差异为:V2=字符与空字的差异(src,“”)+[m-1][n]源空字与目标字符的差异为:V3=空字与字符的差异(“”,tgt)+[m][n-1][m,n]的整体差异值即是上述三个值中的最小值,即[m,n]=min{V1,V2,V3}根据上述公式,可以匹配差异矩阵的左上角开始,逐步递推计算出所有[m,n]的最小差异值,该矩阵最右下角的差异值即是:源字符串和该目标字符串的整体差异值;c.第5.3步,从源字符串与所有目标字符串的整体差异值中找到其中最小的差异值,则其对应的目标字符串即是与录音数据字符串最为匹配的歌曲名或歌手名字符串,将其作为搜索输出结果;步骤(2)搜索与匹配模块从歌库文字预处理模块获取歌库中歌曲名和歌手名对应的目标音节链字符串:步骤(3)操作者按下PC机上的开始录音键,向录音设备控制模块发出控制信号,然后通过话筒和声卡设备输入歌曲名或歌手名;步骤(4)语音识别模块将从声卡输入的歌曲名或歌手名的录音数据转换为文字字符串;步骤(5)识别后处理模块将步骤(4)输出的文字字符串转换为源音节链字符串;步骤(6)搜索与匹配模块通过将步骤(5)输出的源音节链字符串与步骤(2)输出的目标音节链字符串进行差异值计算,将差异最小的作为最为匹配的歌曲名或歌手名输出。
地址 100084北京市100084信箱82分箱清华大学专利办公室
您可能感兴趣的专利