CN101206859A - 语音点歌方法 - Google Patents
语音点歌方法 Download PDFInfo
- Publication number
- CN101206859A CN101206859A CNA2007101784938A CN200710178493A CN101206859A CN 101206859 A CN101206859 A CN 101206859A CN A2007101784938 A CNA2007101784938 A CN A2007101784938A CN 200710178493 A CN200710178493 A CN 200710178493A CN 101206859 A CN101206859 A CN 101206859A
- Authority
- CN
- China
- Prior art keywords
- character
- syllable
- difference
- song
- character string
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 23
- 238000012805 post-processing Methods 0.000 claims abstract description 11
- 150000001875 compounds Chemical class 0.000 claims description 43
- 238000005259 measurement Methods 0.000 claims description 13
- 239000011159 matrix material Substances 0.000 claims description 10
- 230000013011 mating Effects 0.000 claims description 8
- 238000013507 mapping Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 3
- 239000000203 mixture Substances 0.000 claims description 3
- 238000009434 installation Methods 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 abstract description 6
- 238000007781 pre-processing Methods 0.000 abstract 1
- 230000008878 coupling Effects 0.000 description 7
- 238000010168 coupling process Methods 0.000 description 7
- 238000005859 coupling reaction Methods 0.000 description 7
- 241001672694 Citrus reticulata Species 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- XEEYBQQBJWHFJM-UHFFFAOYSA-N Iron Chemical compound [Fe] XEEYBQQBJWHFJM-UHFFFAOYSA-N 0.000 description 2
- 230000007306 turnover Effects 0.000 description 2
- QGZKDVFQNNGYKY-UHFFFAOYSA-O Ammonium Chemical compound [NH4+] QGZKDVFQNNGYKY-UHFFFAOYSA-O 0.000 description 1
- 235000010894 Artemisia argyi Nutrition 0.000 description 1
- 241000040710 Chela Species 0.000 description 1
- 206010011224 Cough Diseases 0.000 description 1
- 241001269238 Data Species 0.000 description 1
- 108091035710 E-box Proteins 0.000 description 1
- 229910052690 Einsteinium Inorganic materials 0.000 description 1
- 244000166124 Eucalyptus globulus Species 0.000 description 1
- 241000276419 Lophius americanus Species 0.000 description 1
- 206010028980 Neoplasm Diseases 0.000 description 1
- 241000286209 Phasianidae Species 0.000 description 1
- 241000270666 Testudines Species 0.000 description 1
- 229910052767 actinium Inorganic materials 0.000 description 1
- QQINRWTZWGJFDB-UHFFFAOYSA-N actinium atom Chemical compound [Ac] QQINRWTZWGJFDB-UHFFFAOYSA-N 0.000 description 1
- 229910021529 ammonia Inorganic materials 0.000 description 1
- QGZKDVFQNNGYKY-UHFFFAOYSA-N ammonia Natural products N QGZKDVFQNNGYKY-UHFFFAOYSA-N 0.000 description 1
- -1 ammonia amine Chemical class 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 244000030166 artemisia Species 0.000 description 1
- 229910052789 astatine Inorganic materials 0.000 description 1
- RYXHOMYVWAEKHL-UHFFFAOYSA-N astatine atom Chemical compound [At] RYXHOMYVWAEKHL-UHFFFAOYSA-N 0.000 description 1
- 201000011510 cancer Diseases 0.000 description 1
- 210000000080 chela (arthropods) Anatomy 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000428 dust Substances 0.000 description 1
- CKBRQZNRCSJHFT-UHFFFAOYSA-N einsteinium atom Chemical compound [Es] CKBRQZNRCSJHFT-UHFFFAOYSA-N 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 229910052742 iron Inorganic materials 0.000 description 1
- 239000010977 jade Substances 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000029058 respiratory gaseous exchange Effects 0.000 description 1
- 239000002689 soil Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
语音点歌方法属于点歌应用技术,其特征在于:在PC机上设定数据初始化模块,含有汉字字库文件和声韵母相似性度量值表;歌库文字预处理模块,含有歌曲名或歌手名对应的目标音节链字符串;语音识别模块,把从声卡输入的歌曲名或歌手名的语音录音数据转换为相应的汉字字符串;识别结果后处理模块,把汉字字符串转换为源音节链字符串;搜索匹配模块,根据上述歌曲名或歌手名对应的目标音节链字符串以及从识别结果后处理模块得到的源音节链字符串进行基于声母和韵母相似性度量的差异值计算,并用动态规划方法来计算整体差异,输出差异值最小的结果,它减少了点歌的平均按键次数和平均操作时间,极大的提高了点歌操作的效率。
Description
技术领域
本发明涉及一种能根据操作者的语音(歌曲名或歌手名)进行歌曲点播选择的语音点歌方法;更具体的,本发明涉及一种通过对操作者的语音输入与歌库中的歌曲名或歌手名作比较来进行歌曲检索选择的语音点歌方法。
背景技术
传统的点歌方式包括:歌名字数检索,首字笔画检索,曲种类别检索等,由于歌曲数目较多(通常是在一万以上),操作者往往需要进入多层菜单,浏览多个页面才能找到目标歌曲,查找歌曲的方式不够友好而且效率很低。以常用的歌名字数检索方法为例,要点播“风雨无阻”这首歌,需要操作者先选择“歌名字数检索”,然后选择“四字歌”,四字歌曲有上百首,而每页只能显示十首到二十首,所以操作者常常还需要进行多次翻页才能找到目标歌曲。根据实际数据统计,传统点歌方式下,操作者每点播一首歌曲的平均按键次数是8次,平均耗费时间是12秒。
近年来,随着语音识别技术的发展,不少应用领域都在尝试利用语音技术来为用户提供更为便捷的操作方式。但是由于语音识别本身的准确率和容错性不够高,使得要提供真正具有实用价值的语音应用产品具有很高的技术难度,也导致很多语音应用系统只具有演示作用,而真正在实际中的使用效果并不理想。
本发明正是针对目前点歌方式不够友好和高效的缺点,在现有语音识别技术之上通过音节链的表示方法和具有高准确率和容错性的匹配方法,使得操作者能很方便的通过语音进行点歌操作。根据实际数据统计,使用本发明的语音点歌方法,操作者每点播一首歌曲的平均按键次数在4次以下,平均耗费时间是5秒。
发明内容
本发明的目的是为了给操作者提供更为自然便捷高效的点歌方式,在现有语音识别技术基础之上,提供了语音识别后处理及歌库文字预处理方法,从而将其转换成统一的音节链数据结构,并针对此结构提供了具有动态规划性质的搜索匹配方法,极大的提高了匹配的容错性和检索效率,从而使整个语音点歌方法具有很强的实用性。同时在搜索匹配中定义音节相似性时,充分考虑了非标准普通话的情形,处理了各种易混淆的音节,很大程度上增强了本方法的应用效果。本方法在PC平台上实现,具有相当广的适用范围。
本发明的特征在于:
该方法是在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)输出的目标音节链字符串进行差异值计算,将差异最小的作为最为匹配的歌曲名或歌手名输出。
本发明具有以下优点:
1.操作者可以非常快捷方便的通过语音来完成点歌操作,从而避免了多次进行键盘或者鼠标的操作。比如:操作者希望点播刘德华的歌曲“谢谢你的爱”,如果是使用键盘,则通常需要经过如下步骤:选择“通过歌星点歌”->“港台歌手”->“男歌手”->通过数次翻页操作找到“刘德华”->再通过多次翻页操作找到“谢谢你的爱”;而如果是使用本发明的系统,则操作者只需要选择“录音开始”,然后对着话筒说出“刘德华谢谢你的爱”,即可完成点歌操作;
2.对于标准普通话的操作者,本系统的准确率在95%以上,因此能完全满足实际应用的需求;
3.对于非标准普通话的操作者,尤其是来自北方语系的方言,如河北话,四川话等,也具有90%以上的高准确率,这一特点更是大大提高了系统的实际使用效果和应用范围;
4.具有较强的容错能力,如果操作者记不清完整的歌曲名,比如把“谢谢你的爱”记成了“感谢你的爱”或者“谢谢他的爱”等,该系统能自动进行容错匹配,同样准确的完成点歌操作。
附图说明
图1为本发明的模块示意图
图2为本发明设计的搜索匹配算法涉及的字符串差异计算示意图
图3为本发明的程序流程框图
具体实施方式
请参阅图1(图1为语音点歌方法的模块示意图)
数据初始化模块中定义了最基本的数据结构,包括音节和音节链。在汉语中,一般一个汉字就表示一个音节。一个音节则包括声母和韵母(在这里忽略声调)。多个汉字则对应于音节链的结构。比如:“生日快乐“对应的音节链即是:[(”SH”,”ENG”),(“R”,“I”),(“K”,“UAI”),(“L”,“E”)]
载入初始化的汉字字库文件,部分内容如下所示:
a啊阿呵吖嗄腌锕錒
ai爱矮挨哎碍癌艾唉哀蔼隘埃皑呆嗌嫒瑷暧捱砹嗳锿霭乂乃伌僾儗凒剀剴叆呃呝啀嘊噫噯堨塧壒奇娭娾嬡嵦愛懓懝敱敳昹曖欬欸毐溰溾濭烠焥璦皚皧瞹硋磑礙絠薆藹諰譪譺賹躷醷鎄鑀閡阂阨阸隑靄靉餲馤騃鯦鱫鴱崖
an按安暗岸俺案鞍氨胺厂广庵揞犴铵桉谙鹌埯黯侒儑匼厈咹唵啽垵垾堓婩媕屽峖干晻洝玵痷盒盦盫碪罯腤荌菴萻葊蓭裺誝諳豻貋遃鉗銨錌钳闇陰隂隌雸鞌韽頇頞顸馣鮟鴳鵪鶕
ang昂肮盎仰卬岇昻柳醃醠骯
ao袄凹傲奥熬懊敖翱澳嚣拗媪廒骜嗷坳遨聱螯獒鏊鳌鏖岙厫嗸噢嚻囂垇墺墽奡奧媼嫯岰嶅嶴慠扷抝摮擙柪梎棍泑浇滶澆澚熝爊獓璈眑磝磽礉翺翺芺蔜塭襖謷謸軪郩鏕镺隞驁鰲鴁鴢鷔鼇
……
初始化模块中还定义了包含声母和韵母各自的相似性度量值表,比如:
声母相似对如下所示:
声母1 | 声母2 | 相似值 |
B | P | 30 |
F | H | 70 |
D | T | 30 |
N | L | 80 |
N | R | 50 |
G | K | 30 |
X | SH | 30 |
X | S | 30 |
ZH | Z | 80 |
CH | C | 80 |
SH | S | 80 |
韵母相似对,如下所示:
韵母1 | 韵母2 | 相似值 |
A | AI | 50 |
A | AO | 50 |
A | AN | 50 |
A | ANG | 50 |
A | IA | 50 |
A | IAO | 50 |
A | IANG | 50 |
A | UA | 50 |
A | UAI | 50 |
A | UAN | 50 |
A | UANG | 50 |
O | OU | 50 |
O | ONG | 50 |
O | IO | 50 |
O | IONG | 50 |
O | UO | 50 |
E | EI | 75 |
E | EN | 50 |
E | ENG | 50 |
E | UENG | 50 |
E | ER | 50 |
AI | AO | 50 |
AI | AN | 50 |
AI | ANG | 50 |
AI | IA | 50 |
AI | IAO | 50 |
AI | IANG | 50 |
AI | UA | 50 |
AI | UAI | 50 |
AI | UAN | 50 |
AI | UANG | 50 |
EI | EN | 50 |
EI | ENG | 50 |
EI | UENG | 50 |
EI | ER | 50 |
AO | AN | 50 |
AO | ANG | 50 |
AO | IA | 50 |
AO | IAO | 50 |
AO | IANG | 50 |
AO | UA | 50 |
AO | UAI | 50 |
AO | UAN | 50 |
AO | UANG | 50 |
OU | ONG | 50 |
OU | IO | 50 |
OU | IONG | 50 |
OU | UO | 50 |
AN | ANG | 50 |
AN | IA | 50 |
AN | IAO | 50 |
AN | IANG | 50 |
AN | UA | 50 |
AN | UAI | 50 |
AN | UAN | 50 |
AN | UANG | 50 |
EN | ENG | 50 |
EN | UENG | 50 |
EN | ER | 50 |
ANG | IA | 50 |
ANG | IAO | 50 |
ANG | IANG | 50 |
ANG | UA | 50 |
ANG | UAI | 50 |
ANG | UAN | 50 |
ANG | UANG | 50 |
ENG | UENG | 50 |
ENG | ER | 50 |
ONG | IO | 50 |
ONG | IONG | 50 |
ONG | UO | 50 |
I | IA | 50 |
I | IO | 50 |
I | IE | 50 |
I | IAO | 50 |
I | IU | 50 |
I | IAN | 50 |
I | IN | 50 |
I | IANG | 50 |
I | ING | 50 |
I | IONG | 50 |
IA | IO | 50 |
IA | IE | 50 |
IA | IAO | 75 |
IA | IU | 50 |
IA | IAN | 50 |
IA | IN | 50 |
IA | IANG | 75 |
IA | ING | 50 |
IA | IONG | 50 |
IA | UA | 50 |
IA | UAI | 50 |
IA | UAN | 50 |
IA | UANG | 50 |
IO | IE | 50 |
IO | IAO | 50 |
IO | IU | 50 |
IO | IAN | 50 |
IO | IN | 50 |
IO | IANG | 50 |
IO | ING | 50 |
IO | IONG | 75 |
IO | UO | 50 |
IE | IAO | 50 |
IE | IU | 50 |
IE | IAN | 50 |
IE | IN | 50 |
IE | IANG | 50 |
IE | ING | 50 |
IE | IONG | 50 |
IE | VE | 50 |
IAO | IU | 50 |
IAO | IAN | 50 |
IAO | IN | 50 |
IAO | IANG | 75 |
IAO | ING | 50 |
IAO | IONG | 50 |
IAO | UA | 50 |
IAO | UAI | 50 |
IAO | UAN | 50 |
IAO | UANG | 50 |
IU | IAN | 50 |
IU | IN | 50 |
IU | IANG | 50 |
IU | ING | 50 |
IU | IONG | 50 |
IAN | IN | 50 |
IAN | IANG | 50 |
IAN | ING | 50 |
IAN | IONG | 50 |
IAN | VAN | 50 |
IN | IANG | 50 |
IN | ING | 50 |
IN | IONG | 50 |
IANG | ING | 50 |
IANG | IONG | 50 |
IANG | UA | 50 |
IANG | UAI | 50 |
IANG | UAN | 50 |
IANG | UANG | 50 |
ING | IONG | 50 |
IONG | UO | 50 |
U | UA | 50 |
U | UO | 50 |
U | UAI | 50 |
U | UI | 50 |
U | UAN | 50 |
U | UN | 50 |
U | UANG | 50 |
U | UENG | 50 |
UA | UO | 50 |
UA | UAI | 75 |
UA | UI | 50 |
UA | UAN | 75 |
UA | UN | 50 |
UA | UANG | 75 |
UA | UENG | 50 |
UO | UAI | 50 |
UO | UI | 50 |
UO | UAN | 50 |
UO | UN | 50 |
UO | UANG | 50 |
UO | UENG | 50 |
UAI | UI | 50 |
UAI | UAN | 75 |
UAI | UN | 50 |
UAI | UANG | 75 |
UAI | UENG | 50 |
UI | UAN | 50 |
UI | UN | 50 |
UI | UANG | 50 |
UI | UENG | 50 |
UAN | UN | 50 |
UAN | UANG | 75 |
UAN | UENG | 50 |
UN | UANG | 50 |
UN | UENG | 50 |
UANG | UENG | 50 |
UENG | ER | 50 |
V | VE | 50 |
V | VAN | 50 |
V | VN | 50 |
V | ER | 50 |
VE | VAN | 50 |
VE | VN | 50 |
VE | ER | 50 |
VAN | VN | 50 |
VAN | ER | 50 |
VN | ER | 50 |
同时也定义了一些特殊情况下的差异常量
差异常量 | 差异值 |
声、韵母最大差异 | 100 |
字符与空字的差异 | 1000 |
空字与字符的差异 | 1000 |
然后在歌库文字预处理模块中,根据字库里拼音与汉字的对应关系,将歌库中的所有歌曲名和歌手名都转换为音节链的表示结构。该音节链将作为后续搜索匹配算法中的“目标音节链字符串”。
该模块的输入是:歌库中所有文字信息(歌曲名和歌手名),比如:风雨无阻,周华健
该模块的输出是:目标音节链字符串,比如:[(”F”,”ENG”),(“Y”,”U”),(“W”,”U”),(“Z”,”U”)], [(“ZH”,“OU”), (“H”,”UA”),(“J”,”IAN”)]
该模块的处理流程:根据输入的每个汉字,利用查表检索的办法,在字库中找到汉字对应的音节,然后再把每个音节拆分成声母和韵母两部分。
控制模块则具体控制录音设备的启动和停止,并可以调节录音音量的大小和设置相应的录音采样频率和位数。根据对大量实验数据的分析结果,本系统使用的采样频率为22050,位数为16。
该模块的输入是:通过话筒和声卡设备输入的声音
该模块的输出是:根据设置的采样频率、位数,采集到的录音数据
该模块的处理流程:先设置好控制参数:录音音量的大小,采样频率和位数;然后由操作者通过按键或鼠标点击启动录音,则开始进行录音,将录制的数据保存为标准wav格式。
语音识别模块调用语音识别包,将输入的录音数据转换成为识别后的文字字符串,比如:输入的录音是“刘德华谢谢你的爱”,得到的输出会是类似于“牛的花 写写你的爱”。
该模块的输入是:经控制模块输出的录音数据
该模块的输出是:识别的文字结果(通常是不准确的文字,并不能直接用于匹配)
该模块的处理流程:调用语音识别包提供的输入函数,并将控制模块输出的wav格式数据作为输入参数;然后再调用语音识别包提供的输出函数,得到对应的识别文字。
识别后处理模块同样通过字库里拼音与汉字的对应关系,将识别后的文字串转换为统一的音节链表示结构,并将此作为后面搜索匹配算法的“源音节链字符串”
该模块的输入是:经语音识别模块输出的识别文字结果,如:“牛的花 写写你的爱”
该模块的输出是:文字串所对应的源音节链字符串,如:[(“N”,”IU”),(“D”,”E”),(“H”,”UA”) (“X”,”IE”), (“X”,”IE”),(“N”, “I”),(“D”,”E”),(“”,“AI”)]
该模块的处理流程:根据输入的每个汉字,利用查表检索的办法,在字库中找到汉字对应的音节,然后再把每个音节拆分成声母和韵母两部分。
搜索匹配模块:
该模块通过对识别后处理模块生成的源音节链数据在歌库的目标音节链数据中的匹配检索,获取在整体意义上最好的匹配结果。在匹配检索中使用了动态规划方法,一方面极大的提高了搜索速度,另一方面也增强了匹配的容错性。
该模块的输入是:
1.歌库文字预处理模块的输出:所有歌曲名和歌手名对应的目标音节链字符串;
2.识别后处理模块的输出:即录音数据对应的源音节链字符串;
该模块的输出是:
与源音节链字符串最为匹配的目标音节链,即与输入录音数据最匹配的歌手名或歌曲名。
该模块的处理流程:
将录音数据对应的音节链字符串与歌库中的目标音节链字符串进行一一匹配,计算出差异值,然后选择最小差异来作为最优匹配结果。在匹配时,是把音节链看作是字符串,比如:[(“N”,“IU”),(“D”,”E”),(“H”,“UA)]就可以看作是一个长度为3的音节链字符串,其中的一个字符其实是一个音节结构,比如(“N”,”IU”)。比较字符差异就是先分别比较声母和韵母的各自差异,然后在把声韵母两个差异加起来作为音节字符差异。计算公式为:
声母差异=设定的声母最大差异值-声母相似值
韵母差异=设定的韵母最大差异值-韵母相似值
字符差异=声母差异+韵母差异
比如:比较(“N”,“IU”)和(“L”,”IU”)的差异,先比较声母差异=设定的声母最大差异值-声母相似值,根据查表可得“N”和”L”的相似值为80,所以差异值为:100-80=20;同理可得韵母的差异值为0。因此,汇总声韵母的差异和即是该字符差异:20+0=20。
在单独的音节字符差异计算基础之上,需要计算整体的音节链字符串差异,这里我们采用了动态规划算法来计算最优差异。在算法中,将待匹配的两个字符串分别称为“源”和“目标”,定义一个二维结构数组,来表示源前m个字符和目标前n个字符的差异,请参阅图2。
图2中的[2,3]表示源的前2个字符组成的字符串与目标的前3个字符组成的字符串之间的整体差异值。设:m表示源序号,取值范围(0~M),M是源字符串的长度;n表示目标序号,取值范围(0~N),N是目标字符串的长度。则[m,n]表示源的前m个字符组成的字符串与目标的前n个字符组成的字符串之间的整体差异值。差异值的具体递推计算方法:是由下列三种情况的结果取最优得到,其中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}
于是,从图2所示矩阵的左上角开始,可以逐步递推计算出所有[m,n]的最小差异值,而最终得到的矩阵右下角的[M,N]即是源字符串和该目标字符串的整体差异值。
用相同方法可以计算出源字符串和所有目标字符串的整体差异值,选择其中差异值最小的目标字符串,作为和源字符串最为匹配的结果输出。
Claims (1)
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)输出的目标音节链字符串进行差异值计算,将差异最小的作为最为匹配的歌曲名或歌手名输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007101784938A CN100470633C (zh) | 2007-11-30 | 2007-11-30 | 语音点歌方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007101784938A CN100470633C (zh) | 2007-11-30 | 2007-11-30 | 语音点歌方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101206859A true CN101206859A (zh) | 2008-06-25 |
CN100470633C CN100470633C (zh) | 2009-03-18 |
Family
ID=39566998
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007101784938A Expired - Fee Related CN100470633C (zh) | 2007-11-30 | 2007-11-30 | 语音点歌方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100470633C (zh) |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102236686A (zh) * | 2010-05-07 | 2011-11-09 | 盛乐信息技术(上海)有限公司 | 语音分段式歌曲检索方法 |
CN102667773A (zh) * | 2009-12-04 | 2012-09-12 | 索尼公司 | 搜索设备、搜索方法及程序 |
CN102693094A (zh) * | 2012-06-12 | 2012-09-26 | 上海量明科技发展有限公司 | 即时通信中调整字符的方法、客户端及系统 |
WO2013178002A1 (zh) * | 2012-05-29 | 2013-12-05 | 中国移动通信集团公司 | 一种语音识别匹配的方法和设备,以及计算机程序和存储介质 |
CN103440865A (zh) * | 2013-08-06 | 2013-12-11 | 普强信息技术(北京)有限公司 | 语音识别的后处理方法 |
CN103631802A (zh) * | 2012-08-24 | 2014-03-12 | 腾讯科技(深圳)有限公司 | 歌曲信息检索方法、装置及相应的服务器 |
CN103928024A (zh) * | 2013-01-14 | 2014-07-16 | 联想(北京)有限公司 | 一种语音查询方法及电子设备 |
CN104238991A (zh) * | 2013-06-21 | 2014-12-24 | 腾讯科技(深圳)有限公司 | 语音输入匹配方法及装置 |
CN104485107A (zh) * | 2014-12-08 | 2015-04-01 | 畅捷通信息技术股份有限公司 | 名称的语音识别方法、语音识别系统和语音识别设备 |
CN104573099A (zh) * | 2015-01-29 | 2015-04-29 | 百度在线网络技术(北京)有限公司 | 题目的搜索方法及装置 |
CN104750454A (zh) * | 2015-03-24 | 2015-07-01 | 广东欧珀移动通信有限公司 | 一种控制音箱的方法及装置 |
CN106297799A (zh) * | 2016-08-09 | 2017-01-04 | 乐视控股(北京)有限公司 | 语音识别处理方法及装置 |
CN106548777A (zh) * | 2016-11-25 | 2017-03-29 | 北京光年无限科技有限公司 | 一种用于智能机器人的数据处理方法及装置 |
CN107092606A (zh) * | 2016-02-18 | 2017-08-25 | 腾讯科技(深圳)有限公司 | 一种搜索方法、装置及服务器 |
CN107221323A (zh) * | 2017-06-05 | 2017-09-29 | 北京智能管家科技有限公司 | 语音点歌方法、终端及存储介质 |
CN107239547A (zh) * | 2017-06-05 | 2017-10-10 | 北京智能管家科技有限公司 | 用于语音点歌的语音纠错方法、终端及存储介质 |
CN107247768A (zh) * | 2017-06-05 | 2017-10-13 | 北京智能管家科技有限公司 | 语音点歌方法、装置、终端及存储介质 |
CN107247769A (zh) * | 2017-06-05 | 2017-10-13 | 北京智能管家科技有限公司 | 语音点歌方法、装置、终端及存储介质 |
CN107273359A (zh) * | 2017-06-20 | 2017-10-20 | 北京四海心通科技有限公司 | 一种文本相似度确定方法 |
WO2018233168A1 (zh) * | 2017-06-19 | 2018-12-27 | 张君莉 | 点唱装置 |
CN111383620A (zh) * | 2018-12-29 | 2020-07-07 | 广州市百果园信息技术有限公司 | 一种音频的修正方法、装置、设备及存储介质 |
WO2020215554A1 (zh) * | 2019-04-26 | 2020-10-29 | 平安科技(深圳)有限公司 | 语音识别方法、装置、设备及计算机可读存储介质 |
CN112532697A (zh) * | 2020-11-16 | 2021-03-19 | 广州大学 | 一种基于文本编码的资源下载方法、系统、装置及介质 |
-
2007
- 2007-11-30 CN CNB2007101784938A patent/CN100470633C/zh not_active Expired - Fee Related
Cited By (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102667773B (zh) * | 2009-12-04 | 2015-02-04 | 索尼公司 | 搜索设备、搜索方法及程序 |
CN102667773A (zh) * | 2009-12-04 | 2012-09-12 | 索尼公司 | 搜索设备、搜索方法及程序 |
US9817889B2 (en) | 2009-12-04 | 2017-11-14 | Sony Corporation | Speech-based pronunciation symbol searching device, method and program using correction distance |
CN102236686A (zh) * | 2010-05-07 | 2011-11-09 | 盛乐信息技术(上海)有限公司 | 语音分段式歌曲检索方法 |
WO2013178002A1 (zh) * | 2012-05-29 | 2013-12-05 | 中国移动通信集团公司 | 一种语音识别匹配的方法和设备,以及计算机程序和存储介质 |
CN103456297A (zh) * | 2012-05-29 | 2013-12-18 | 中国移动通信集团公司 | 一种语音识别匹配的方法和设备 |
CN103456297B (zh) * | 2012-05-29 | 2015-10-07 | 中国移动通信集团公司 | 一种语音识别匹配的方法和设备 |
CN102693094A (zh) * | 2012-06-12 | 2012-09-26 | 上海量明科技发展有限公司 | 即时通信中调整字符的方法、客户端及系统 |
US9704485B2 (en) | 2012-08-24 | 2017-07-11 | Tencent Technology (Shenzhen) Company Limited | Multimedia information retrieval method and electronic device |
CN103631802B (zh) * | 2012-08-24 | 2015-05-20 | 腾讯科技(深圳)有限公司 | 歌曲信息检索方法、装置及相应的服务器 |
CN103631802A (zh) * | 2012-08-24 | 2014-03-12 | 腾讯科技(深圳)有限公司 | 歌曲信息检索方法、装置及相应的服务器 |
CN103928024B (zh) * | 2013-01-14 | 2017-11-28 | 联想(北京)有限公司 | 一种语音查询方法及电子设备 |
CN103928024A (zh) * | 2013-01-14 | 2014-07-16 | 联想(北京)有限公司 | 一种语音查询方法及电子设备 |
CN104238991B (zh) * | 2013-06-21 | 2018-05-25 | 腾讯科技(深圳)有限公司 | 语音输入匹配方法及装置 |
CN104238991A (zh) * | 2013-06-21 | 2014-12-24 | 腾讯科技(深圳)有限公司 | 语音输入匹配方法及装置 |
CN103440865B (zh) * | 2013-08-06 | 2016-03-30 | 普强信息技术(北京)有限公司 | 语音识别的后处理方法 |
CN103440865A (zh) * | 2013-08-06 | 2013-12-11 | 普强信息技术(北京)有限公司 | 语音识别的后处理方法 |
CN104485107A (zh) * | 2014-12-08 | 2015-04-01 | 畅捷通信息技术股份有限公司 | 名称的语音识别方法、语音识别系统和语音识别设备 |
CN104485107B (zh) * | 2014-12-08 | 2018-06-22 | 畅捷通信息技术股份有限公司 | 名称的语音识别方法、语音识别系统和语音识别设备 |
CN104573099B (zh) * | 2015-01-29 | 2018-05-22 | 作业帮教育科技(北京)有限公司 | 题目的搜索方法及装置 |
CN104573099A (zh) * | 2015-01-29 | 2015-04-29 | 百度在线网络技术(北京)有限公司 | 题目的搜索方法及装置 |
CN104750454A (zh) * | 2015-03-24 | 2015-07-01 | 广东欧珀移动通信有限公司 | 一种控制音箱的方法及装置 |
CN107092606B (zh) * | 2016-02-18 | 2022-04-12 | 腾讯科技(深圳)有限公司 | 一种搜索方法、装置及服务器 |
CN107092606A (zh) * | 2016-02-18 | 2017-08-25 | 腾讯科技(深圳)有限公司 | 一种搜索方法、装置及服务器 |
CN106297799A (zh) * | 2016-08-09 | 2017-01-04 | 乐视控股(北京)有限公司 | 语音识别处理方法及装置 |
CN106548777A (zh) * | 2016-11-25 | 2017-03-29 | 北京光年无限科技有限公司 | 一种用于智能机器人的数据处理方法及装置 |
CN106548777B (zh) * | 2016-11-25 | 2020-11-10 | 北京光年无限科技有限公司 | 一种用于智能机器人的数据处理方法及装置 |
CN107247769A (zh) * | 2017-06-05 | 2017-10-13 | 北京智能管家科技有限公司 | 语音点歌方法、装置、终端及存储介质 |
CN107247768A (zh) * | 2017-06-05 | 2017-10-13 | 北京智能管家科技有限公司 | 语音点歌方法、装置、终端及存储介质 |
CN107221323B (zh) * | 2017-06-05 | 2019-05-28 | 北京儒博科技有限公司 | 语音点歌方法、终端及存储介质 |
CN107239547B (zh) * | 2017-06-05 | 2019-05-28 | 北京儒博科技有限公司 | 用于语音点歌的语音纠错方法、终端及存储介质 |
CN107239547A (zh) * | 2017-06-05 | 2017-10-10 | 北京智能管家科技有限公司 | 用于语音点歌的语音纠错方法、终端及存储介质 |
CN107221323A (zh) * | 2017-06-05 | 2017-09-29 | 北京智能管家科技有限公司 | 语音点歌方法、终端及存储介质 |
WO2018233168A1 (zh) * | 2017-06-19 | 2018-12-27 | 张君莉 | 点唱装置 |
CN107273359A (zh) * | 2017-06-20 | 2017-10-20 | 北京四海心通科技有限公司 | 一种文本相似度确定方法 |
CN111383620A (zh) * | 2018-12-29 | 2020-07-07 | 广州市百果园信息技术有限公司 | 一种音频的修正方法、装置、设备及存储介质 |
CN111383620B (zh) * | 2018-12-29 | 2022-10-11 | 广州市百果园信息技术有限公司 | 一种音频的修正方法、装置、设备及存储介质 |
WO2020215554A1 (zh) * | 2019-04-26 | 2020-10-29 | 平安科技(深圳)有限公司 | 语音识别方法、装置、设备及计算机可读存储介质 |
CN112532697A (zh) * | 2020-11-16 | 2021-03-19 | 广州大学 | 一种基于文本编码的资源下载方法、系统、装置及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN100470633C (zh) | 2009-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100470633C (zh) | 语音点歌方法 | |
CN109887484B (zh) | 一种基于对偶学习的语音识别与语音合成方法及装置 | |
CN109074353B (zh) | 用于信息检索的方法、装置和系统 | |
CN108170859A (zh) | 语音查询的方法、装置、存储介质及终端设备 | |
US7739110B2 (en) | Multimedia data management by speech recognizer annotation | |
CN110136689B (zh) | 基于迁移学习的歌声合成方法、装置及存储介质 | |
CN1645478A (zh) | 用于音调语言的分段音调建模 | |
CN109508441B (zh) | 通过自然语言实现数据统计分析的方法、装置及电子设备 | |
US20090192991A1 (en) | Network information searching method by speech recognition and system for the same | |
CN104090864B (zh) | 一种情感词典建立与情感计算方法 | |
CN111192601A (zh) | 音乐标注方法、装置、电子设备及介质 | |
Kiela | MMFeat: A toolkit for extracting multi-modal features | |
CN111126084B (zh) | 数据处理方法、装置、电子设备和存储介质 | |
JP5897718B2 (ja) | 音声検索装置、計算機読み取り可能な記憶媒体、及び音声検索方法 | |
CN114937465A (zh) | 一种基于自监督学习的语音情感识别方法和计算机设备 | |
CN114528944A (zh) | 一种医疗文本编码方法、装置、设备及可读存储介质 | |
CN101667099B (zh) | 一种连笔键盘文字输入的方法和设备 | |
CN102375834B (zh) | 音频文件检索方法、系统和音频文件类型识别方法、系统 | |
CN113658582B (zh) | 一种音视协同的唇语识别方法及系统 | |
Weychan et al. | Implementation aspects of speaker recognition using Python language and Raspberry Pi platform | |
CN101937450A (zh) | 将单词集转换成相应的粒子集的方法 | |
JP2015079101A (ja) | ハッシュ関数生成方法、ハッシュ値生成方法、ハッシュ関数生成装置、ハッシュ値生成装置、ハッシュ関数生成プログラム及びハッシュ値生成プログラム | |
CN112395414B (zh) | 文本分类方法和分类模型的训练方法、装置、介质和设备 | |
Rao et al. | Chord recognition based on temporal correlation support vector machine | |
Kuang et al. | Research on end-to-end animal behavior speech classification based on Wav2Vec2. 0 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090318 Termination date: 20091230 |