欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

語(yǔ)音點(diǎn)歌方法

文檔序號(hào):2837485閱讀:1648來(lái)源:國(guó)知局

專利名稱::語(yǔ)音點(diǎn)歌方法
技術(shù)領(lǐng)域
:本發(fā)明涉及一種能根據(jù)操作者的語(yǔ)音(歌曲名或歌手名)迸行歌曲點(diǎn)播選擇的語(yǔ)音點(diǎn)歌方法;更具體的,本發(fā)明涉及一種通過(guò)對(duì)操作者的語(yǔ)音輸入與歌庫(kù)中的歌曲名或歌手名作比較來(lái)進(jìn)行歌曲檢索選擇的語(yǔ)音點(diǎn)歌方法。
背景技術(shù)
:傳統(tǒng)的點(diǎn)歌方式包括歌名字?jǐn)?shù)檢索,首字筆畫(huà)檢索,曲種類(lèi)別檢索等,由于歌曲數(shù)目較多(通常是在一萬(wàn)以上),操作者往往需要進(jìn)入多層菜單,瀏覽多個(gè)頁(yè)面才能找到目標(biāo)歌曲,査找歌曲的方式不夠友好而且效率很低。以常用的歌名字?jǐn)?shù)檢索方法為例,要點(diǎn)播"風(fēng)雨無(wú)阻"這首歌,需要操作者先選擇"歌名字?jǐn)?shù)檢索",然后選擇"四字歌",四字歌曲有上百首,而每頁(yè)只能顯示十首到二十首,所以操作者常常還需要進(jìn)行多次翻頁(yè)才能找到目標(biāo)歌曲。根據(jù)實(shí)際數(shù)據(jù)統(tǒng)計(jì),傳統(tǒng)點(diǎn)歌方式下,操作者每點(diǎn)播一首歌曲的平均按鍵次數(shù)是8次,平均耗費(fèi)時(shí)間是12秒。近年來(lái),隨著語(yǔ)音識(shí)別技術(shù)的發(fā)展,不少應(yīng)用領(lǐng)域都在嘗試?yán)谜Z(yǔ)音技術(shù)來(lái)為用戶提供更為便捷的操作方式。但是由于語(yǔ)音識(shí)別本身的準(zhǔn)確率和容錯(cuò)性不夠高,使得要提供真正具有實(shí)用價(jià)值的語(yǔ)音應(yīng)用產(chǎn)品具有很高的技術(shù)難度,也導(dǎo)致很多語(yǔ)音應(yīng)用系統(tǒng)只具有演示作用,而真正在實(shí)際中的使用效果并不理想。本發(fā)明正是針對(duì)目前點(diǎn)歌方式不夠友好和高效的缺點(diǎn),在現(xiàn)有語(yǔ)音識(shí)別技術(shù)之上通過(guò)音節(jié)鏈的表示方法和具有高準(zhǔn)確率和容錯(cuò)性的匹配方法,使得操作者能很方便的通過(guò)語(yǔ)音進(jìn)行點(diǎn)歌操作。根據(jù)實(shí)際數(shù)據(jù)統(tǒng)計(jì),使用本發(fā)明的語(yǔ)音點(diǎn)歌方法,操作者每點(diǎn)播一首歌曲的平均按鍵次數(shù)在4次以下,平均耗費(fèi)時(shí)間是5秒。
發(fā)明內(nèi)容本發(fā)明的目的是為了給操作者提供更為自然便捷高效的點(diǎn)歌方式,在現(xiàn)有語(yǔ)音識(shí)別技術(shù)基礎(chǔ)之上,提供了語(yǔ)音識(shí)別后處理及歌庫(kù)文字預(yù)處理方法,從而將其轉(zhuǎn)換成統(tǒng)一的音節(jié)鏈數(shù)據(jù)結(jié)構(gòu),并針對(duì)此結(jié)構(gòu)提供了具有動(dòng)態(tài)規(guī)劃性質(zhì)的搜索匹配方法,極大的提高了匹配的容錯(cuò)性和檢索效率,從而使整個(gè)語(yǔ)音點(diǎn)歌方法具有很強(qiáng)的實(shí)用性。同時(shí)在搜索匹配中定義音節(jié)相似性時(shí),充分考慮了非標(biāo)準(zhǔn)普通話的情形,處理了各種易混淆的音節(jié),很大程度上增強(qiáng)了本方法的應(yīng)用效果。本方法在PC平臺(tái)上實(shí)現(xiàn),具有相當(dāng)廣的適用范圍。本發(fā)明的特征在于該方法是在PC機(jī)上依次按以下步驟實(shí)現(xiàn)的步驟(l)初始化在該P(yáng)C機(jī)上安裝數(shù)據(jù)初始化模塊,歌曲文字預(yù)處理模塊、錄音設(shè)備控制模塊、語(yǔ)音識(shí)別模塊、識(shí)別結(jié)果后處理模塊、搜索與匹配模塊,其中A.數(shù)據(jù)初始化模塊,預(yù)置有Z最基本的由音節(jié)和音節(jié)鏈組成的數(shù)據(jù)結(jié)構(gòu),其中,一個(gè)音節(jié)包括聲母和韻母,忽略聲調(diào)后,對(duì)應(yīng)于一個(gè)漢字,多個(gè)漢字對(duì)應(yīng)于由多個(gè)音節(jié)組成的一個(gè)音節(jié)鏈;/漢字字庫(kù)文件,含有拼音和漢字的對(duì)應(yīng)關(guān)系;Z包含了聲母相似性度量值表,其中包括的聲母對(duì)有聲母B和P,F(xiàn)和H,D和T,N和L,N禾卩R,G禾QK,X禾卩SH,X禾QS,ZH禾BZ,CH和C以及SH和S,還有所述各對(duì)聲母相似性度量值,Z包含了韻母相似性度量值表,其中韻母對(duì)至少含有A和AI,A和A0,A和AN,E和EI、IA和IANG,還有所述各對(duì)韻母相似性度量值;7包含了差異常量值表,其中包括聲、韻母的最大差異值100,字符和空字的差異值1000,空字和字符的差異值1000;B.歌庫(kù)文字預(yù)處理模塊,含有7歌庫(kù)文件,含有歌曲名和歌手名,歌庫(kù)文件中的歌曲名和表示該歌曲名的語(yǔ)音的音節(jié)鏈的映射表,所述音節(jié)鏈稱為歌曲名目標(biāo)音節(jié)鏈字符串;歌庫(kù)文件中的歌手名和表示該歌手名的語(yǔ)音的音節(jié)鏈的映射表,所述音節(jié)鏈稱為歌手名目標(biāo)音節(jié)鏈字符串;Z該模塊根據(jù)輸入的該歌庫(kù)中歌曲名或歌手名的每個(gè)漢字的文字信息,利用相應(yīng)的映射表,在漢字字庫(kù)中找到每個(gè)漢字對(duì)應(yīng)的音節(jié),在拆分成聲母和韻母兩個(gè)部分后,組成歌曲名或歌手名目標(biāo)音節(jié)鏈字符串輸出;C.錄音設(shè)備控制模塊,其根據(jù)設(shè)定的錄音采樣頻率和位數(shù),控制錄音設(shè)備的啟動(dòng)和停止,并調(diào)節(jié)音量的大?。籇.語(yǔ)音識(shí)別模塊,利用現(xiàn)有語(yǔ)音識(shí)別包文件,根據(jù)從所述聲卡輸入到該語(yǔ)音識(shí)別模塊的歌曲名或歌手名的語(yǔ)音錄音,進(jìn)行語(yǔ)音識(shí)別,輸出識(shí)別后的文字串;E.識(shí)別結(jié)果后處理模塊,調(diào)用所述漢字字庫(kù)文件,把從語(yǔ)音識(shí)別模塊輸入的經(jīng)過(guò)識(shí)別后的文字串轉(zhuǎn)換為用音節(jié)鏈表表示的字符串,構(gòu)成源音節(jié)鏈字符串;F.搜索匹配模塊,根據(jù)從歌庫(kù)文件預(yù)處理模塊輸入的、和所有歌曲名或歌手名對(duì)應(yīng)的目標(biāo)音節(jié)鏈字符串,以及從語(yǔ)音識(shí)別模塊輸入的、與所述從聲卡來(lái)的語(yǔ)音錄音數(shù)據(jù)對(duì)應(yīng)的源音節(jié)鏈字符串,按以下步驟進(jìn)行處理后,輸出與從聲卡輸入的語(yǔ)音錄音數(shù)據(jù)最匹配的歌曲名或歌手名,作為搜索結(jié)果-Z第1步把錄音數(shù)據(jù)對(duì)應(yīng)的音節(jié)鏈字符串與歌庫(kù)中歌曲名或歌手名的目標(biāo)音節(jié)鏈字符串簡(jiǎn)稱為字符串,其中每一個(gè)字符是一個(gè)音節(jié)結(jié)構(gòu);Z第2步按照步驟(1)中設(shè)定的聲母相似性度量值算出錄音數(shù)據(jù)字符串中某個(gè)字符內(nèi)的聲母和其對(duì)應(yīng)的歌曲名或歌手名字符串中的某個(gè)字符內(nèi)的聲母的聲母差異值,計(jì)算公式如下聲母差異=設(shè)定的聲母最大差異值-聲母相似值其中聲母最大差異值=100;Z第3步按照步驟(1)中設(shè)定的韻母相似性度量值算出錄音數(shù)據(jù)字符串中某個(gè)字符內(nèi)的韻母和其對(duì)應(yīng)的歌曲名或歌手名字符串中某個(gè)字符內(nèi)的韻母的韻母差異值,計(jì)算公式如下韻母差異=設(shè)定的韻母最大差異值_韻母相似值其中韻母最大差異值=100;Z第4步把第2步、第3步中錄音數(shù)據(jù)字符串與對(duì)應(yīng)歌曲名或歌手名的字符串中每一個(gè)字符內(nèi)的聲母差異加上韻母差異,得到所有對(duì)應(yīng)字符的差異,計(jì)算公式如下字符差異=聲母差異+韻母差異,第5步在上述單獨(dú)的字符差異計(jì)算基礎(chǔ)之上,按下述步驟采用動(dòng)態(tài)規(guī)劃的方法來(lái)計(jì)算字符串的整體差異a-第5.l步,按第4步的結(jié)果,建立一個(gè)匹配差異矩陣,其中,行表示源序號(hào),源代表錄音數(shù)據(jù)字符串,序號(hào)是指其中每個(gè)字符的序號(hào),列表示目標(biāo)序號(hào),目標(biāo)代表歌曲名或歌手名字符串,序號(hào)是指其中每個(gè)字符的序號(hào),矩陣的元素用[m,n]表示,[m,n]即表示源的前m個(gè)字符組成的字符串與目標(biāo)的前n個(gè)字符組成的字符串之間的整體差異,設(shè)M是源字符串的長(zhǎng)度,N是目標(biāo)字符串的長(zhǎng)度,則m的取值范圍是從O到M,n的取值范圍是從O到N;b.第5.2步,差異值的具體計(jì)算方法是由下列三種情況的結(jié)果取最小得到,其中src為源的第m個(gè)字符,tgt為目標(biāo)的第n個(gè)字符源字符與目標(biāo)字符的差異為VI=字符差異(src,tgt)+[m-l][n-1]源字符與目標(biāo)空字的差異為V2=字符與空字的差異(src,"")+[m-1][n]源空字與目標(biāo)字符的差異為V3=空字與字符的差異("",tgt)+[m][n-1][m,n]的整體差異值即是上述三個(gè)值中的最小值,即=min(Vl,V2,V3}根據(jù)上述公式,可以匹配差異矩陣的左上角開(kāi)始,逐步遞推計(jì)算出所有[m,n]的最小差異值,該矩陣最右下角的差異值即是源字符串和該目標(biāo)字符串的整體差異值;c.第5.3步,從源字符串與所有目標(biāo)字符串的整體差異值中找到其中最小的差異值,則其對(duì)應(yīng)的目標(biāo)字符串即是與錄音數(shù)據(jù)字符串最為匹配的歌曲名或歌手名字符串,將其作為搜索輸出結(jié)果;步驟(2)搜索與匹配模塊從歌庫(kù)文字預(yù)處理模塊獲取歌庫(kù)中歌曲名和歌手名對(duì)應(yīng)的目標(biāo)音節(jié)鏈字符串步驟(3)操作者按下PC機(jī)上的開(kāi)始錄音鍵,向錄音設(shè)備控制模塊發(fā)出控制信號(hào),然后通過(guò)話筒和聲卡設(shè)備輸入歌曲名或歌手名;步驟(4)語(yǔ)音識(shí)別模塊將從聲卡輸入的歌曲名或歌手名的錄音數(shù)據(jù)轉(zhuǎn)換為文字字符串;步驟(5)識(shí)別后處理模塊將步驟(4)輸出的文字字符串轉(zhuǎn)換為源音節(jié)鏈字符串;步驟(6)搜索與匹配模塊通過(guò)將步驟(5)輸出的源音節(jié)鏈字符串與步驟(2)輸出的目標(biāo)音節(jié)鏈字符串進(jìn)行差異值計(jì)算,將差異最小的作為最為匹配的歌曲名或歌手名輸出。本發(fā)明具有以下優(yōu)點(diǎn)1.操作者可以非??旖莘奖愕耐ㄟ^(guò)語(yǔ)音來(lái)完成點(diǎn)歌操作,從而避免了多次進(jìn)行鍵盤(pán)或者鼠標(biāo)的操作。比如操作者希望點(diǎn)播劉德華的歌曲"謝謝你的愛(ài)",如果是使用鍵盤(pán),則通常需要經(jīng)過(guò)如下步驟選擇"通過(guò)歌星點(diǎn)歌"-〉"港臺(tái)歌手"_〉"男歌手"->通過(guò)數(shù)次翻頁(yè)操作找到"劉德華"_〉再通過(guò)多次翻頁(yè)操作找到"謝謝你的愛(ài)";而如果是使用本發(fā)明的系統(tǒng),則操作者只需要選擇"錄音開(kāi)始",然后對(duì)著話筒說(shuō)出"劉德華謝謝你的愛(ài)",即可完成點(diǎn)歌操作;2.對(duì)于標(biāo)準(zhǔn)普通話的操作者,本系統(tǒng)的準(zhǔn)確率在95%以上,因此能完全滿足實(shí)際應(yīng)用的需求;3.對(duì)于非標(biāo)準(zhǔn)普通話的操作者,尤其是來(lái)自北方語(yǔ)系的方言,如河北話,四川話等,也具有90%以上的高準(zhǔn)確率,這一特點(diǎn)更是大大提高了系統(tǒng)的實(shí)際使用效果和應(yīng)用范圍;4.具有較強(qiáng)的容錯(cuò)能力,如果操作者記不清完整的歌曲名,比如把"謝謝你的愛(ài)"記成了"感謝你的愛(ài)"或者"謝謝他的愛(ài)"等,該系統(tǒng)能自動(dòng)進(jìn)行容錯(cuò)匹配,同樣準(zhǔn)確的完成點(diǎn)歌操作。圖l為本發(fā)明的模塊示意圖圖2為本發(fā)明設(shè)計(jì)的搜索匹配算法涉及的字符串差異計(jì)算示意圖圖3為本發(fā)明的程序流程框圖具體實(shí)施例方式請(qǐng)參閱圖1(圖1為語(yǔ)音點(diǎn)歌方法的模塊示意圖)數(shù)據(jù)初始化模塊中定義了最基本的數(shù)據(jù)結(jié)構(gòu),包括音節(jié)和音節(jié)鏈。在漢語(yǔ)中,一般一個(gè)漢字就表示一個(gè)音節(jié)。一個(gè)音節(jié)則包括聲母和韻母(在這里忽略聲調(diào))。多個(gè)漢字則對(duì)應(yīng)于音節(jié)鏈的結(jié)構(gòu)。比如"生日快樂(lè)"對(duì)應(yīng)的音節(jié)鏈即是[("SH","ENG"),("R","I"),("K","UAI"),("L,,,"E")]載入初始化的漢字字庫(kù)文件,部分內(nèi)容如下所示a啊阿呵吖嗄腌錒锏ai愛(ài)矮挨哎礙癌艾唉哀藹隘埃皚呆嗌嬡璦曖捱砹噯锿靄乂乃伲傻凝塏剴剴叆呃阸睚U崖噫噯竭溢墻奇嬪娌嬡螘愛(ài)慢懾鼓敫詠曖欽欸毐、造浼溘烯埦璦皚瞹瞹核磑礙銪薆藹認(rèn)講凝贐矮醯锿鑀閡閡阨阸隍靄靉錫謁騃鰌鰻鵁崖an按安暗岸俺案鞍氨胺廠廣庵揞犴銨桉諳鵪埯黯俊僞匼序咹晻喰垵垾墀婢饗旰峻干晻按坩癱盒盒盒確窨臘姜菴菩莾庵掩詒諳豸f銲遽鉗銨鎖鉗闇陰陰陪霄輋齄預(yù)頦頇醃鮫鎢鵪鶄ang昂骯盎仰卬吊昂抑醃醯骯ao襖凹傲奧熬懊敖翱澳囂拗媼廒驁嗷坳遨聱螯獒鏊鰲鏖岙厫笞噢蹦囂曬澳墩募奧媼婺蚴崈盔慠祅抝擎換拗棺棍拗澆激澆灣熝熝傲瓚呦微磽礅翱翱芙蘞媼襖警識(shí)拗都鎞躍隞驁?chǎng)椪?qǐng)鵃驁鼇初始化模塊中還定義了包含聲母和韻母各自的相似性度量值表,比如:聲母相似對(duì)如下所示<table>tableseeoriginaldocumentpage10</column></row><table>韻母相似對(duì),如下所示:<table>tableseeoriginaldocumentpage11</column></row><table><table>tableseeoriginaldocumentpage12</column></row><table><table>tableseeoriginaldocumentpage13</column></row><table><table>tableseeoriginaldocumentpage14</column></row><table><table>tableseeoriginaldocumentpage15</column></row><table><table>tableseeoriginaldocumentpage16</column></row><table><table>tableseeoriginaldocumentpage17</column></row><table>同時(shí)也定義了一些特殊情況下的差異常量差異常量差異值聲、韻母最大差異100字符與空字的差異1000空字與字符的差異1000然后在歌庫(kù)文字預(yù)處理模塊中,根據(jù)字庫(kù)里拼音與漢字的對(duì)應(yīng)關(guān)系,將歌庫(kù)中的所有歌曲名和歌手名都轉(zhuǎn)換為音節(jié)鏈的表示結(jié)構(gòu)。該音節(jié)鏈將作為后續(xù)搜索匹配算法中的"目標(biāo)音節(jié)鏈字符串"。該模塊的輸入是歌庫(kù)中所有文字信息(歌曲名和歌手名),比如風(fēng)雨無(wú)阻,周華健該模塊的輸出是目標(biāo)音節(jié)鏈字符串,比如「("F","ENG"),('(Y"'"U"),(T,,'U"),("Z,',,'U',)],[("ZH',,'實(shí)),("H","UA"),("J","IAN")]該模塊的處理流程根據(jù)輸入的每個(gè)漢字,利用查表檢索的辦法,在字庫(kù)屮找到漢字對(duì)應(yīng)的音節(jié),然后再把每個(gè)音節(jié)拆分成盧母和韻母兩部分??刂颇K則具體控制錄音設(shè)備的啟動(dòng)和停止,并可以調(diào)節(jié)錄音音量的大小和設(shè)置相應(yīng)的錄音采樣頻率和位數(shù)。根據(jù)對(duì)大量實(shí)驗(yàn)數(shù)據(jù)的分析結(jié)果,本系統(tǒng)使用的采樣頻率為22050,位數(shù)為16。該模塊的輸入是通過(guò)話筒和聲卡設(shè)備輸入的聲音該模塊的輸出是根據(jù)設(shè)置的采樣頻率、位數(shù),采集到的錄音數(shù)據(jù)該模塊的處理流程先設(shè)置好控制參數(shù)錄音音量的大小,采樣頻率和位數(shù);然后由操作者通過(guò)按鍵或鼠標(biāo)點(diǎn)擊啟動(dòng)錄音,則開(kāi)始進(jìn)行錄音,將錄制的數(shù)據(jù)保存為標(biāo)準(zhǔn)wav格式。語(yǔ)音識(shí)別模塊調(diào)用語(yǔ)音識(shí)別包,將輸入的錄音數(shù)據(jù)轉(zhuǎn)換成為識(shí)別后的文字字符串,比如:輸入的錄音是"劉德華謝謝你的愛(ài)",得到的輸出會(huì)是類(lèi)似于"牛的花寫(xiě)寫(xiě)你的愛(ài)"。該模塊的輸入是經(jīng)控制模塊輸出的錄音數(shù)據(jù)該模塊的輸出是識(shí)別的文字結(jié)果(通常是不準(zhǔn)確的文字,并不能直接用于匹配)該模塊的處理流程調(diào)用語(yǔ)音識(shí)別包提供的輸入函數(shù),并將控制模塊輸出的wav格式數(shù)據(jù)作為輸入?yún)?shù);然后再調(diào)用語(yǔ)音識(shí)別包提供的輸出函數(shù),得到對(duì)應(yīng)的識(shí)別文字。識(shí)別后處理模塊同樣通過(guò)字庫(kù)里拼音與漢字的對(duì)應(yīng)關(guān)系,將識(shí)別后的文字串轉(zhuǎn)換為統(tǒng)一的音節(jié)鏈表示結(jié)構(gòu),并將此作為后面搜索匹配算法的"源音節(jié)鏈字符串"該模塊的輸入是經(jīng)語(yǔ)音識(shí)別模塊輸出的識(shí)別文字結(jié)果,如"牛的花寫(xiě)寫(xiě)你的愛(ài)"該模塊的輸出是文字串所對(duì)應(yīng)的源音節(jié)鏈字符串,如[("N","IU"),("D","E"),("H",,,UA")("X"'"IE")'("X","IE"),("N",:I"),("D","E"),(""'"AI")]該模塊的處理流程根據(jù)輸入的每個(gè)漢字,利用査表檢索的辦法,在字庫(kù)中找到漢字對(duì)應(yīng)的音節(jié),然后再把每個(gè)音節(jié)拆分成聲母和韻母兩部分。搜索匹配模塊該模塊通過(guò)對(duì)識(shí)別后處理模塊生成的源音節(jié)鏈數(shù)據(jù)在歌庫(kù)的目標(biāo)音節(jié)鏈數(shù)據(jù)中的匹配椅索,獲取在整體意義上最好的匹配結(jié)果。在匹配檢索中使用了動(dòng)態(tài)規(guī)劃方法,一方面極大的提高了搜索速度,另一方面也增強(qiáng)了匹配的容錯(cuò)性。該模塊的輸入是-1.歌庫(kù)文字預(yù)處理模塊的輸出所有歌曲名和歌手名對(duì)應(yīng)的目標(biāo)音節(jié)鏈字符串;2.識(shí)別后處理模塊的輸出即錄音數(shù)據(jù)對(duì)應(yīng)的源音節(jié)鏈字符串;該模塊的輸出是與源音節(jié)鏈字符串最為匹配的目標(biāo)音節(jié)鏈,即與輸入錄音數(shù)據(jù)最匹配的歌手名或歌曲名。該模塊的處理流程-將錄音數(shù)據(jù)對(duì)應(yīng)的音節(jié)鏈字符串與歌庫(kù)中的目標(biāo)音節(jié)鏈字符串進(jìn)行一一匹配,計(jì)算出差異值,然后選擇最小差異來(lái)作為最優(yōu)匹配結(jié)果。在匹配時(shí),是把音節(jié)鏈看作是字符串,比如[("N","IU"),("D","E"),("H","UA)]就可以看作是一個(gè)長(zhǎng)度為3的音節(jié)鏈字符串,其中的一個(gè)字符其實(shí)是一個(gè)音節(jié)結(jié)構(gòu),比如("N","IU")。比較字符差異就是先分別比較聲母和韻母的各自差異,然后在把聲韻母兩個(gè)差異加起來(lái)作為音節(jié)字符差異。計(jì)算公式為聲母差異=設(shè)定的聲母最大差異值_聲母相似值韻母差異=設(shè)定的韻母最大差異值_韻母相似值字符差異二聲母差異+韻母差異比如比較("N","IU")和("L","IU")的差異,先比較聲母差異=設(shè)定的聲母最大差異值_聲母相似值,根據(jù)査表可得"N"和"L"的相似值為80,所以差異值為100-80=20;同理可得韻母的差異值為O。因此,匯總聲韻母的差異和即是該字符差異20+0=20。在單獨(dú)的音節(jié)字符差異計(jì)算基礎(chǔ)之上,需要計(jì)算整體的音節(jié)鏈字符串差異,這里我們釆用了動(dòng)態(tài)規(guī)劃算法來(lái)計(jì)算最優(yōu)差異。在算法中,將待匹配的兩個(gè)字符串分別稱為"源"和"目標(biāo)",定義一個(gè)二維結(jié)構(gòu)數(shù)組,來(lái)表示源前m個(gè)字符和目標(biāo)前n個(gè)字符的差異,請(qǐng)參閱圖2。圖2中的[2,3]表示源的前2個(gè)字符組成的字符串與目標(biāo)的前3個(gè)字符組成的字符串之間的整體差異值。設(shè)m表示源序號(hào),取值范圍(OM),M是源字符串的長(zhǎng)度;n表示目標(biāo)序號(hào),取值范圍(ON),N是目標(biāo)字符串的長(zhǎng)度。則[m,n]表示源的前m個(gè)字符組成的字符串與目標(biāo)的前n個(gè)字符組成的字符串之間的整體差異值。差異值的具體遞推計(jì)算方法是由下列三種情況的結(jié)果取最優(yōu)得到,其中src為源的第m個(gè)字符,tgt,為目標(biāo)的第n個(gè)字符源字符與目標(biāo)字符的差異為VI=字符差異(src,tgt)+[m-l][n-1]源字符與目標(biāo)空字的差異為V2=字符與空字的差異(src,"")+[m-1][n]源空字與目標(biāo)字符的差異為V3=空字與字符的差異("",tgt)+[m][n—1][m,n]的整體差異值即是上述三個(gè)值中的最小值,即[m,n]=min(Vl,V2,V3}于是,從圖2所示矩陣的左上角開(kāi)始,可以逐步遞推計(jì)算出所有[m,n]的最小差異值,而最終得到的矩陣右下角的[M,N]即是源字符串和該目標(biāo)字符串的整體差異值。用相同方法可以計(jì)算出源字符串和所有目標(biāo)字符串的整體差異值,選擇其中差異值最小的目標(biāo)字符串,作為和源字符串最為匹配的結(jié)果輸出。權(quán)利要求1.語(yǔ)音點(diǎn)歌方法,其特征在于,該方法是在PC機(jī)上依次按以下步驟實(shí)現(xiàn)的步驟(1)初始化在該P(yáng)C機(jī)上安裝數(shù)據(jù)初始化模塊,歌曲文字預(yù)處理模塊、錄音設(shè)備控制模塊、語(yǔ)音識(shí)別模塊、識(shí)別結(jié)果后處理模塊、搜索與匹配模塊,其中A.數(shù)據(jù)初始化模塊,預(yù)置有√最基本的由音節(jié)和音節(jié)鏈組成的數(shù)據(jù)結(jié)構(gòu),其中,一個(gè)音節(jié)包括聲母和韻母,忽略聲調(diào)后,對(duì)應(yīng)于一個(gè)漢字,多個(gè)漢字對(duì)應(yīng)于由多個(gè)音節(jié)組成的一個(gè)音節(jié)鏈;√漢字字庫(kù)文件,含有拼音和漢字的對(duì)應(yīng)關(guān)系;√包含了聲母相似性度量值表,其中包括的聲母對(duì)有聲母B和P,F(xiàn)和H,D和T,N和L,N和R,G和K,X和SH,X和S,ZH和Z,CH和C以及SH和S,還有所述各對(duì)聲母相似性度量值,√包含了韻母相似性度量值表,其中韻母對(duì)至少含有A和AI,A和AO,A和AN,E和EI、IA和IANG,還有所述各對(duì)韻母相似性度量值;√包含了差異常量值表,其中包括聲、韻母的最大差異值100,字符和空字的差異值1000,空字和字符的差異值1000;B.歌庫(kù)文字預(yù)處理模塊,含有√歌庫(kù)文件,含有歌曲名和歌手名,歌庫(kù)文件中的歌曲名和表示該歌曲名的語(yǔ)音的音節(jié)鏈的映射表,所述音節(jié)鏈稱為歌曲名目標(biāo)音節(jié)鏈字符串;歌庫(kù)文件中的歌手名和表示該歌手名的語(yǔ)音的音節(jié)鏈的映射表,所述音節(jié)鏈稱為歌手名目標(biāo)音節(jié)鏈字符串;√該模塊根據(jù)輸入的該歌庫(kù)中歌曲名或歌手名的每個(gè)漢字的文字信息,利用相應(yīng)的映射表,在漢字字庫(kù)中找到每個(gè)漢字對(duì)應(yīng)的音節(jié),在拆分成聲母和韻母兩個(gè)部分后,組成歌曲名或歌手名目標(biāo)音節(jié)鏈字符串輸出;C.錄音設(shè)備控制模塊,其根據(jù)設(shè)定的錄音采樣頻率和位數(shù),控制錄音設(shè)備的啟動(dòng)和停止,并調(diào)節(jié)音量的大??;D.語(yǔ)音識(shí)別模塊,利用現(xiàn)有語(yǔ)音識(shí)別包文件,根據(jù)從所述聲卡輸入到該語(yǔ)音識(shí)別模塊的歌曲名或歌手名的語(yǔ)音錄音,進(jìn)行語(yǔ)音識(shí)別,輸出識(shí)別后的文字串;E.識(shí)別結(jié)果后處理模塊,調(diào)用所述漢字字庫(kù)文件,把從語(yǔ)音識(shí)別模塊輸入的經(jīng)過(guò)識(shí)別后的文字串轉(zhuǎn)換為用音節(jié)鏈表表示的字符串,構(gòu)成源音節(jié)鏈字符串;F.搜索匹配模塊,根據(jù)從歌庫(kù)文件預(yù)處理模塊輸入的、和所有歌曲名或歌手名對(duì)應(yīng)的目標(biāo)音節(jié)鏈字符串,以及從語(yǔ)音識(shí)別模塊輸入的、與所述從聲卡來(lái)的語(yǔ)音錄音數(shù)據(jù)對(duì)應(yīng)的源音節(jié)鏈字符串,按以下步驟進(jìn)行處理后,輸出與從聲卡輸入的語(yǔ)音錄音數(shù)據(jù)最匹配的歌曲名或歌手名,作為搜索結(jié)果√第1步把錄音數(shù)據(jù)對(duì)應(yīng)的音節(jié)鏈字符串與歌庫(kù)中歌曲名或歌手名的目標(biāo)音節(jié)鏈字符串簡(jiǎn)稱為字符串,其中每一個(gè)字符是一個(gè)音節(jié)結(jié)構(gòu);√第2步按照步驟(1)中設(shè)定的聲母相似性度量值算出錄音數(shù)據(jù)字符串中某個(gè)字符內(nèi)的聲母和其對(duì)應(yīng)的歌曲名或歌手名字符串中的某個(gè)字符內(nèi)的聲母的聲母差異值,計(jì)算公式如下聲母差異=設(shè)定的聲母最大差異值-聲母相似值其中聲母最大差異值=100;√第3步按照步驟(1)中設(shè)定的韻母相似性度量值算出錄音數(shù)據(jù)字符串中某個(gè)字符內(nèi)的韻母和其對(duì)應(yīng)的歌曲名或歌手名字符串中某個(gè)字符內(nèi)的韻母的韻母差異值,計(jì)算公式如下韻母差異=設(shè)定的韻母最大差異值-韻母相似值其中韻母最大差異值=100;√第4步把第2步、第3步中錄音數(shù)據(jù)字符串與對(duì)應(yīng)歌曲名或歌手名的字符串中每一個(gè)字符內(nèi)的聲母差異加上韻母差異,得到所有對(duì)應(yīng)字符的差異,計(jì)算公式如下字符差異=聲母差異+韻母差異√第5步在上述單獨(dú)的字符差異計(jì)算基礎(chǔ)之上,按下述步驟采用動(dòng)態(tài)規(guī)劃的方法來(lái)計(jì)算字符串的整體差異a.第5.1步,按第4步的結(jié)果,建立一個(gè)匹配差異矩陣,其中,行表示源序號(hào),源代表錄音數(shù)據(jù)字符串,序號(hào)是指其中每個(gè)字符的序號(hào),列表示目標(biāo)序號(hào),目標(biāo)代表歌曲名或歌手名字符串,序號(hào)是指其中每個(gè)字符的序號(hào),矩陣的元素用[m,n]表示,[m,n]即表示源的前m個(gè)字符組成的字符串與目標(biāo)的前n個(gè)字符組成的字符串之間的整體差異,設(shè)M是源字符串的長(zhǎng)度,N是目標(biāo)字符串的長(zhǎng)度,則m的取值范圍是從0到M,n的取值范圍是從0到N;b.第5.2步,差異值的具體計(jì)算方法是由下列三種情況的結(jié)果取最小得到,其中src為源的第m個(gè)字符,tgt為目標(biāo)的第n個(gè)字符源字符與目標(biāo)字符的差異為V1=字符差異(src,tgt)+[m-1][n-1]源字符與目標(biāo)空字的差異為V2=字符與空字的差異(src,“”)+[m-1][n]源空字與目標(biāo)字符的差異為V3=空字與字符的差異(“”,tgt)+[m][n-1][m,n]的整體差異值即是上述三個(gè)值中的最小值,即[m,n]=min{V1,V2,V3}根據(jù)上述公式,可以匹配差異矩陣的左上角開(kāi)始,逐步遞推計(jì)算出所有[m,n]的最小差異值,該矩陣最右下角的差異值即是源字符串和該目標(biāo)字符串的整體差異值;c.第5.3步,從源字符串與所有目標(biāo)字符串的整體差異值中找到其中最小的差異值,則其對(duì)應(yīng)的目標(biāo)字符串即是與錄音數(shù)據(jù)字符串最為匹配的歌曲名或歌手名字符串,將其作為搜索輸出結(jié)果;步驟(2)搜索與匹配模塊從歌庫(kù)文字預(yù)處理模塊獲取歌庫(kù)中歌曲名和歌手名對(duì)應(yīng)的目標(biāo)音節(jié)鏈字符串步驟(3)操作者按下PC機(jī)上的開(kāi)始錄音鍵,向錄音設(shè)備控制模塊發(fā)出控制信號(hào),然后通過(guò)話筒和聲卡設(shè)備輸入歌曲名或歌手名;步驟(4)語(yǔ)音識(shí)別模塊將從聲卡輸入的歌曲名或歌手名的錄音數(shù)據(jù)轉(zhuǎn)換為文字字符串;步驟(5)識(shí)別后處理模塊將步驟(4)輸出的文字字符串轉(zhuǎn)換為源音節(jié)鏈字符串;步驟(6)搜索與匹配模塊通過(guò)將步驟(5)輸出的源音節(jié)鏈字符串與步驟(2)輸出的目標(biāo)音節(jié)鏈字符串進(jìn)行差異值計(jì)算,將差異最小的作為最為匹配的歌曲名或歌手名輸出。全文摘要語(yǔ)音點(diǎn)歌方法屬于點(diǎn)歌應(yīng)用技術(shù),其特征在于在PC機(jī)上設(shè)定數(shù)據(jù)初始化模塊,含有漢字字庫(kù)文件和聲韻母相似性度量值表;歌庫(kù)文字預(yù)處理模塊,含有歌曲名或歌手名對(duì)應(yīng)的目標(biāo)音節(jié)鏈字符串;語(yǔ)音識(shí)別模塊,把從聲卡輸入的歌曲名或歌手名的語(yǔ)音錄音數(shù)據(jù)轉(zhuǎn)換為相應(yīng)的漢字字符串;識(shí)別結(jié)果后處理模塊,把漢字字符串轉(zhuǎn)換為源音節(jié)鏈字符串;搜索匹配模塊,根據(jù)上述歌曲名或歌手名對(duì)應(yīng)的目標(biāo)音節(jié)鏈字符串以及從識(shí)別結(jié)果后處理模塊得到的源音節(jié)鏈字符串進(jìn)行基于聲母和韻母相似性度量的差異值計(jì)算,并用動(dòng)態(tài)規(guī)劃方法來(lái)計(jì)算整體差異,輸出差異值最小的結(jié)果,它減少了點(diǎn)歌的平均按鍵次數(shù)和平均操作時(shí)間,極大的提高了點(diǎn)歌操作的效率。文檔編號(hào)G10L15/08GK101206859SQ20071017849公開(kāi)日2008年6月25日申請(qǐng)日期2007年11月30日優(yōu)先權(quán)日2007年11月30日發(fā)明者鈸張,張?jiān)苿?智王,鯤童申請(qǐng)人:清華大學(xué);上海銳深計(jì)算機(jī)科技有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
壶关县| 长宁区| 道真| 固原市| 德庆县| 通榆县| 临海市| 罗山县| 龙里县| 乡城县| 青海省| 堆龙德庆县| 南京市| 奉贤区| 永胜县| 佛教| 高邑县| 丰顺县| 资源县| 集安市| 罗城| 河东区| 广东省| 乐安县| 德钦县| 侯马市| 宝坻区| 抚顺市| 泾源县| 卫辉市| 延庆县| 正镶白旗| 上犹县| 三都| 普兰县| 松潘县| 特克斯县| 沂水县| 丰宁| 历史| 梁平县|