本發(fā)明涉及音頻處理技術(shù)領(lǐng)域,尤其是一種音色轉(zhuǎn)換方法及計(jì)算設(shè)備。
背景技術(shù):
在現(xiàn)有電影或電視劇的配音中,演員需要根據(jù)電影或電視劇的劇本臺詞進(jìn)行語音錄入,這種情形下,若是電影或電視劇稍有改動就需要演員再重新錄制配音,而演員一般排期緊、價(jià)位高,這對制片方或者演員來說都是非常不劃算的。
現(xiàn)有的語音合成技術(shù),大部分都只能合成某個(gè)固定人的聲音;另有一些語音合成技術(shù)可以合成需要的說話人聲音,但是計(jì)算量非常大,運(yùn)行時(shí)間長,無法用于實(shí)際。
而在實(shí)際生活中,人們常常會對一些諸如男女音色轉(zhuǎn)換的應(yīng)用表現(xiàn)出很大的興趣。因此,需要一種能夠?qū)⒂脩舻恼Z音轉(zhuǎn)換成具有另一種音色的語音的方法。
現(xiàn)有的音色轉(zhuǎn)換方法,主要分為基于高斯混合模型的音色轉(zhuǎn)換方法和基于音素拼接的音色轉(zhuǎn)換方法。前者主要的缺點(diǎn)是存在過擬合或欠擬合的毛病,表現(xiàn)為音質(zhì)單薄、音色與目標(biāo)音色有較大差距;而后者雖然可以使轉(zhuǎn)換后的語音更加符合目標(biāo)音色,但拼接上存在銜接不流暢的情況。
故而,需要一種音色轉(zhuǎn)換方法,能夠使得轉(zhuǎn)換后的語音逼近目標(biāo)說話人自己說的話。
技術(shù)實(shí)現(xiàn)要素:
為此,本發(fā)明提供了一種音色轉(zhuǎn)換方法及計(jì)算設(shè)備,以力圖解決或者至少緩解上面存在的至少一個(gè)問題。
根據(jù)本發(fā)明的一個(gè)方面,提供了一種音色轉(zhuǎn)換方法,該方法適于根據(jù)待處理語音的音素從預(yù)置的源-目標(biāo)音素特征單元對中搜索到匹配的語音進(jìn)行轉(zhuǎn)換,該方法包括步驟:提取待處理語音中每一幀語音的特征;計(jì)算待處理語音中每一幀語音所屬的音素,將同一音素內(nèi)的連續(xù)幀作為一個(gè)音素集;按照順序?qū)⒁粋€(gè)音素集分成一個(gè)或多個(gè)第一幀長的音素單元,其中相鄰音素單元之間相互重疊第二幀長;根據(jù)每幀語音的特征拼接得到對應(yīng)音素單元的特征;對于每個(gè)音素單元,根據(jù)其音素和特征從源-目標(biāo)音素特征單元對中選取出代價(jià)最小的目標(biāo)音素特征單元,作為最優(yōu)音素特征單元;以及對多個(gè)音素單元對應(yīng)的多個(gè)最優(yōu)音素特征單元進(jìn)行時(shí)域拼接處理,得到音色轉(zhuǎn)換后的語音。
可選地,在根據(jù)本發(fā)明的音色轉(zhuǎn)換方法中,還包括建立源語音庫和目標(biāo)語音庫的步驟,其中,所述源語音庫和目標(biāo)語音庫是平行語料庫;在建立源語音庫和目標(biāo)語音庫的步驟之后,還包括步驟:根據(jù)源語音庫和目標(biāo)語音庫中對應(yīng)語句的特征生成源-目標(biāo)音素特征單元對,其中,一個(gè)源-目標(biāo)音素特征單元對中包含一個(gè)源音素特征單元和與其對應(yīng)的一個(gè)目標(biāo)音素特征單元。
可選地,在根據(jù)本發(fā)明的音色轉(zhuǎn)換方法中,根據(jù)源語音庫和目標(biāo)語音庫中的對應(yīng)語句的特征生成源-目標(biāo)音素特征單元對的步驟包括:對源語音庫和目標(biāo)語音庫中的對應(yīng)語句分別進(jìn)行分幀處理,得到每個(gè)語句的源語音序列和目標(biāo)語音序列;分別提取源語音序列和目標(biāo)語音序列中每幀語音的特征;根據(jù)所提取的特征對源語音序列和目標(biāo)語音序列進(jìn)行動態(tài)時(shí)間規(guī)整處理,得到一一對應(yīng)的源-目標(biāo)特征幀對;計(jì)算目標(biāo)語音序列中每一幀語音所屬的音素;將同一音素內(nèi)連續(xù)幀的目標(biāo)特征幀所屬的源-目標(biāo)特征幀對作為一個(gè)源-目標(biāo)音素集;以及按照順序?qū)⒁粋€(gè)源-目標(biāo)音素集分成一個(gè)或多個(gè)第一幀長的源-目標(biāo)音素特征單元對,其中相鄰源-目標(biāo)音素特征單元對之間相互重疊第二幀長。
可選地,在根據(jù)本發(fā)明的音色轉(zhuǎn)換方法中,分別提取源語音序列和目標(biāo)語音序列中每幀語音的特征的步驟包括:分別提取源語音序列和目標(biāo)語音序列中每幀語音的梅爾倒譜系數(shù);提取待處理語音的特征的步驟包括:提取待處理語音的梅爾倒譜系數(shù)。
可選地,在根據(jù)本發(fā)明的音色轉(zhuǎn)換方法中,根據(jù)音素單元的音素和特征從源-目標(biāo)音素特征單元對中選取出代價(jià)最小的目標(biāo)音素特征單元的步驟包括:對于每個(gè)音素單元,選取與其具有相同音素的目標(biāo)音素特征單元所屬的源-目標(biāo)音素特征單元對,作為候選音素單元特征對;從候選音素單元特征對中選出與該音素單元相似的第一數(shù)目個(gè)源-目標(biāo)音素特征單元對;以及從第一數(shù)目個(gè)源-目標(biāo)音素特征單元對中選取代價(jià)最小的目標(biāo)音素特征單元。
可選地,在根據(jù)本發(fā)明的音色轉(zhuǎn)換方法中,從候選音素單元特征對中選出與該音素單元相似的第一數(shù)目個(gè)源-目標(biāo)音素特征單元對的步驟包括:計(jì)算候選音素單元特征對中源音素特征單元的特征與該音素單元的特征的距離值;以及按照距離值從小到大的順序選取第一數(shù)目個(gè)源音素特征單元所屬的源-目標(biāo)音素特征單元對。
可選地,在根據(jù)本發(fā)明的音色轉(zhuǎn)換方法中,從第一數(shù)目個(gè)源-目標(biāo)音素特征單元對中選取代價(jià)最小的目標(biāo)音素特征單元的步驟包括:對于第一數(shù)目個(gè)源-目標(biāo)音素特征單元對中的每個(gè)目標(biāo)音素特征單元,計(jì)算該目標(biāo)音素特征單元的特征與該音素單元的特征的距離值,作為第一代價(jià);計(jì)算該目標(biāo)音素特征單元的特征與相鄰的下一個(gè)目標(biāo)音素特征單元的特征的距離值,作為第二代價(jià);以及根據(jù)維特比搜索算法從第一代價(jià)與第二代價(jià)之和中選取中代價(jià)最小的目標(biāo)音素特征單元。
可選地,在根據(jù)本發(fā)明的音色轉(zhuǎn)換方法中,對多個(gè)音素單元對應(yīng)的多個(gè)最優(yōu)音素特征單元進(jìn)行時(shí)域拼接處理的步驟包括:根據(jù)每個(gè)最優(yōu)音素單元的特征值生成對應(yīng)的時(shí)域音素單元;對每個(gè)時(shí)域音素單元進(jìn)行平滑處理;以及按照順序?qū)⒍鄠€(gè)時(shí)域音素單元拼接,其中相鄰時(shí)域音素單元之間相互重疊第三幀長。
可選地,在根據(jù)本發(fā)明的音色轉(zhuǎn)換方法中,對每個(gè)時(shí)域音素單元進(jìn)行平滑處理的步驟包括:采用三角窗函數(shù)對每個(gè)時(shí)域音素單元進(jìn)行平滑處理。
可選地,在根據(jù)本發(fā)明的音色轉(zhuǎn)換方法中,第三幀長由第一幀長和第二幀長得出。
根據(jù)本發(fā)明的又一方面,提供了一種計(jì)算設(shè)備,包括:一個(gè)或多個(gè)處理器;和存儲器;一個(gè)或多個(gè)程序,其中所述一個(gè)或多個(gè)程序存儲在所述存儲器中并被配置為由所述一個(gè)或多個(gè)處理器執(zhí)行,所述一個(gè)或多個(gè)程序包括用于執(zhí)行如上所述方法中的任一方法的指令。
根據(jù)本發(fā)明的又一方面,提供了一種存儲一個(gè)或多個(gè)程序的計(jì)算機(jī)可讀存儲介質(zhì),所述一個(gè)或多個(gè)程序包括指令,所述指令當(dāng)計(jì)算設(shè)備執(zhí)行時(shí),使得計(jì)算設(shè)備執(zhí)行如上所述的方法中的任一方法。
根據(jù)本發(fā)明的音色轉(zhuǎn)換方案,可以直接利用目標(biāo)說話人的原始材料,最大程度的保留了目標(biāo)說話人的音色信息,使得音色轉(zhuǎn)換后的語音逼近目標(biāo)說話人自己說的話。
附圖說明
為了實(shí)現(xiàn)上述以及相關(guān)目的,本文結(jié)合下面的描述和附圖來描述某些說明性方面,這些方面指示了可以實(shí)踐本文所公開的原理的各種方式,并且所有方面及其等效方面旨在落入所要求保護(hù)的主題的范圍內(nèi)。通過結(jié)合附圖閱讀下面的詳細(xì)描述,本公開的上述以及其它目的、特征和優(yōu)勢將變得更加明顯。遍及本公開,相同的附圖標(biāo)記通常指代相同的部件或元素。
圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的計(jì)算設(shè)備100的構(gòu)造示意圖;
圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的音色轉(zhuǎn)換方法200的流程圖;
圖3示出了根據(jù)本發(fā)明實(shí)施例的音素集、音素單元和幀之間的關(guān)系圖;
圖4示出了根據(jù)本發(fā)明實(shí)施例的生成源-目標(biāo)音素特征單元對的流程圖;以及
圖5示出了根據(jù)本發(fā)明實(shí)施例的獲取最優(yōu)候選單元的示意圖。
具體實(shí)施方式
下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
圖1是示例計(jì)算設(shè)備100的框圖。在基本的配置102中,計(jì)算設(shè)備100典型地包括系統(tǒng)存儲器106和一個(gè)或者多個(gè)處理器104。存儲器總線108可以用于在處理器104和系統(tǒng)存儲器106之間的通信。
取決于期望的配置,處理器104可以是任何類型的處理,包括但不限于:微處理器(μp)、微控制器(μc)、數(shù)字信息處理器(dsp)或者它們的任何組合。處理器104可以包括諸如一級高速緩存110和二級高速緩存112之類的一個(gè)或者多個(gè)級別的高速緩存、處理器核心114和寄存器116。示例的處理器核心114可以包括運(yùn)算邏輯單元(alu)、浮點(diǎn)數(shù)單元(fpu)、數(shù)字信號處理核心(dsp核心)或者它們的任何組合。示例的存儲器控制器118可以與處理器104一起使用,或者在一些實(shí)現(xiàn)中,存儲器控制器118可以是處理器104的一個(gè)內(nèi)部部分。
取決于期望的配置,系統(tǒng)存儲器106可以是任意類型的存儲器,包括但不限于:易失性存儲器(諸如ram)、非易失性存儲器(諸如rom、閃存等)或者它們的任何組合。系統(tǒng)存儲器106可以包括操作系統(tǒng)120、一個(gè)或者多個(gè)應(yīng)用122以及程序數(shù)據(jù)124。在一些實(shí)施方式中,應(yīng)用122可以布置為在操作系統(tǒng)上利用程序數(shù)據(jù)124進(jìn)行操作。在一些實(shí)施例中,計(jì)算設(shè)備100被配置為執(zhí)行音色轉(zhuǎn)換方法200,該方法200能夠根據(jù)待處理語音的音素從預(yù)置的源-目標(biāo)音素特征單元對中搜索到匹配的語音進(jìn)行轉(zhuǎn)換,程序數(shù)據(jù)124中包含了用于執(zhí)行該方法200的指令。
計(jì)算設(shè)備100還可以包括有助于從各種接口設(shè)備(例如,輸出設(shè)備142、外設(shè)接口144和通信設(shè)備146)到基本配置102經(jīng)由總線/接口控制器130的通信的接口總線140。示例的輸出設(shè)備142包括圖形處理單元148和音頻處理單元150。它們可以被配置為有助于經(jīng)由一個(gè)或者多個(gè)a/v端口152與諸如顯示器或者揚(yáng)聲器之類的各種外部設(shè)備進(jìn)行通信。示例外設(shè)接口144可以包括串行接口控制器154和并行接口控制器156,它們可以被配置為有助于經(jīng)由一個(gè)或者多個(gè)i/o端口158和諸如輸入設(shè)備(例如,鍵盤、鼠標(biāo)、筆、語音輸入設(shè)備、觸摸輸入設(shè)備)或者其他外設(shè)(例如打印機(jī)、掃描儀等)之類的外部設(shè)備進(jìn)行通信。示例的通信設(shè)備146可以包括網(wǎng)絡(luò)控制器160,其可以被布置為便于經(jīng)由一個(gè)或者多個(gè)通信端口164與一個(gè)或者多個(gè)其他計(jì)算設(shè)備162通過網(wǎng)絡(luò)通信鏈路的通信。在本方案中,可以通過諸如語音輸入設(shè)備實(shí)時(shí)獲取待處理的語音數(shù)據(jù),也可以通過通信設(shè)備146獲取待處理的語音數(shù)據(jù)。
網(wǎng)絡(luò)通信鏈路可以是通信介質(zhì)的一個(gè)示例。通信介質(zhì)通??梢泽w現(xiàn)為在諸如載波或者其他傳輸機(jī)制之類的調(diào)制數(shù)據(jù)信號中的計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊,并且可以包括任何信息遞送介質(zhì)?!罢{(diào)制數(shù)據(jù)信號”可以這樣的信號,它的數(shù)據(jù)集中的一個(gè)或者多個(gè)或者它的改變可以在信號中編碼信息的方式進(jìn)行。作為非限制性的示例,通信介質(zhì)可以包括諸如有線網(wǎng)絡(luò)或者專線網(wǎng)絡(luò)之類的有線介質(zhì),以及諸如聲音、射頻(rf)、微波、紅外(ir)或者其它無線介質(zhì)在內(nèi)的各種無線介質(zhì)。這里使用的術(shù)語計(jì)算機(jī)可讀介質(zhì)可以包括存儲介質(zhì)和通信介質(zhì)二者。在一些實(shí)施例中,計(jì)算機(jī)可讀介質(zhì)中存儲一個(gè)或多個(gè)程序,這一個(gè)或多個(gè)程序中包括執(zhí)行某些方法的指令,如根據(jù)本發(fā)明的實(shí)施例,計(jì)算設(shè)備100通過所述指令來執(zhí)行音色轉(zhuǎn)換方法200。
計(jì)算設(shè)備100可以實(shí)現(xiàn)為小尺寸便攜(或者移動)電子設(shè)備的一部分,這些電子設(shè)備可以是諸如蜂窩電話、個(gè)人數(shù)字助理(pda)、個(gè)人媒體播放器設(shè)備、無線網(wǎng)絡(luò)瀏覽設(shè)備、個(gè)人頭戴設(shè)備、應(yīng)用專用設(shè)備、或者可以包括上面任何功能的混合設(shè)備。計(jì)算設(shè)備100還可以實(shí)現(xiàn)為包括桌面計(jì)算機(jī)和筆記本計(jì)算機(jī)配置的個(gè)人計(jì)算機(jī)。
圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的音色轉(zhuǎn)換方法200的流程圖。方法200適于根據(jù)待處理語音的音素從預(yù)置的源-目標(biāo)音素特征單元對中搜索到匹配的語音進(jìn)行轉(zhuǎn)換。如圖2所示,該方法始于步驟s210,提取待處理語音中每一幀語音的特征。
具體地,步驟s210包括:對待處理的語音數(shù)據(jù)s,以frame_len為幀長,先對其進(jìn)行分幀處理,得到待處理語音幀序列s={s1,s2,s3,…,sp}。一般地,frame_len取10ms的語音樣本點(diǎn)數(shù)。
可選地,對待處理語音進(jìn)行靜音段檢測,例如,取待處理語音中前面多幀(無聲段)語音的平均能量作為靜音段的參考能量,若后面幀的能量不大于該參考能量,就認(rèn)為是靜音幀。以下對待處理語音幀序列的處理都是基于有聲段的語音,即去除了靜音幀。關(guān)于靜音檢測和能量計(jì)算都是本領(lǐng)域常規(guī)做法,此處不再解釋。任何靜音檢測手段都可以與本方案的實(shí)施例相結(jié)合,以達(dá)到音色轉(zhuǎn)換的目的。
對待處理語音幀序列中每一幀語音,提取其梅爾倒譜系數(shù),即mfcc特征。由于mfcc是語音識別領(lǐng)域中的一種常見特征,并且在許多語音識別系統(tǒng)中廣泛使用,是本領(lǐng)域技術(shù)人員所公知的,因此將不再對其細(xì)節(jié)進(jìn)行描述。
隨后在步驟s220中,計(jì)算待處理語音中每一幀語音所屬的音素,將同一音素內(nèi)的連續(xù)幀作為一個(gè)音素集。
音素是根據(jù)語音的自然屬性劃分出來的最小語音單位。從聲學(xué)性質(zhì)來看,音素是從音質(zhì)角度劃分出來的最小語音單位。從生理性質(zhì)來看,一個(gè)發(fā)音動作即形成一個(gè)音素。如〔ma〕包含〔m〕〔a〕兩個(gè)發(fā)音動作,是兩個(gè)音素。一般認(rèn)為,相同發(fā)音動作發(fā)出的音就是同一音素,不同發(fā)音動作發(fā)出的音就是不同音素。如〔ma-mi〕中,兩個(gè)〔m〕發(fā)音動作相同,是相同音素,〔a〕〔i〕發(fā)音動作不同,是不同音素。
這樣的話,語音中的每一個(gè)字都可以劃為一個(gè)或多個(gè)音素,如國際英語音標(biāo)中的音素有48個(gè),如/p/,/t/,/k/,/f/,/t∫/,/s/等。計(jì)算待處理語音幀序列s中每一幀對應(yīng)的音素,將同一個(gè)音素內(nèi)的連續(xù)幀作為一個(gè)音素集,這樣,待處理語音幀序列就可以劃分為多個(gè)音素集。
隨后在步驟s230中,按照順序?qū)⒁粋€(gè)音素集分成一個(gè)或多個(gè)第一幀長的音素單元,其中相鄰音素單元之間相互重疊第二幀長。換句話說,以第一幀長的滑動窗口對一個(gè)音素集進(jìn)行劃分,每次滑動步長為第二幀長,如圖3,示出了音素集、音素單元和幀之間的關(guān)系??蛇x地,第一幀長,即音素單元的長度取unit_len=2*t+1,其中,1≤t≤10,第二幀長取1。
隨后在步驟s240中,根據(jù)每幀語音的特征拼接得到對應(yīng)音素單元的特征。根據(jù)本發(fā)明的實(shí)施例,每個(gè)音素單元的mfcc特征由每幀語音的mfcc連接得到。
隨后在步驟s250中,對于每個(gè)音素單元,根據(jù)其音素和特征從預(yù)置的源-目標(biāo)音素特征單元對中選取出代價(jià)最小的目標(biāo)音素特征單元,作為最優(yōu)音素特征單元。
下面首先闡述根據(jù)本發(fā)明的實(shí)施例,預(yù)先設(shè)置源-目標(biāo)音素特征單元對的過程。根據(jù)一種實(shí)施方式,可以將預(yù)置的多個(gè)源-目標(biāo)音素特征單元對稱為一個(gè)語音音素特征數(shù)據(jù)集。
第一,要建立源語音庫和目標(biāo)語音庫,其中,源語音庫和目標(biāo)語音庫是平行語料庫,即源語音庫和目標(biāo)語音庫具有相同的語句數(shù),并且對應(yīng)語句的內(nèi)容相同。
第二,根據(jù)源語音庫和目標(biāo)語音庫中對應(yīng)語句的特征生成源-目標(biāo)音素特征單元對,其中,一個(gè)源-目標(biāo)音素特征單元對中包含一個(gè)源音素特征單元和與其對應(yīng)的一個(gè)目標(biāo)音素特征單元。具體地,結(jié)合圖4,示出了根據(jù)源語音庫和目標(biāo)語音庫中的對應(yīng)語句的特征生成源-目標(biāo)音素特征單元對的方法400的執(zhí)行步驟。
在步驟s410中,對源語音庫和目標(biāo)語音庫中的對應(yīng)語句分別進(jìn)行分幀處理,得到每個(gè)語句的源語音序列,記為x={x1,x2,x3,…,xn},和目標(biāo)語音序列,記為y={y1,y2,y3,…,ym}。對語句進(jìn)行分幀處理的過程可參考步驟s210,此處不作展開。需要說明的是,由于不同人發(fā)音習(xí)慣不同,所以說話時(shí)長也會存在差異,故而,源語音幀序列中幀數(shù)n和目標(biāo)語音幀序列中幀數(shù)m是不相等的。
隨后在步驟s420中,分別提取源語音序列x和目標(biāo)語音序列y中每幀語音的特征。為了達(dá)到源語音語句和目標(biāo)語音語句在說話時(shí)間上的一致性,提取源語音語句和目標(biāo)語音語句每幀的語音特征梅爾倒譜系數(shù)mfcc,來作為達(dá)到一致性的特征。
隨后在步驟s430中,根據(jù)所提取的特征對源語音序列x和目標(biāo)語音序列y進(jìn)行動態(tài)時(shí)間規(guī)整處理,得到一一對應(yīng)的源-目標(biāo)特征幀對。動態(tài)時(shí)間規(guī)整算法(dtw)基于動態(tài)規(guī)劃的思想,通過把時(shí)間序列進(jìn)行延伸和縮短來計(jì)算兩個(gè)時(shí)間序列中間的相似性,從而解決發(fā)音長短不一的模板匹配問題。也就是說,dtw算法的核心是找到使x和y兩個(gè)序列距離最短的最優(yōu)配對方案。作為語音識別中較為經(jīng)典的算法,此處不再展開進(jìn)行討論。經(jīng)dtw算法后,針對每個(gè)語句的x序列和y序列,得到源-目標(biāo)幀一一對應(yīng)的特征對,a={(xn1,ym1),(xn2,ym2),…,(xnw,ymw),…},其中,nw∈[1,2,…,n],mw∈[1,2,…,m]。其中,(xn1,ym1)稱為一一對應(yīng)的源-目標(biāo)特征幀對。
隨后在步驟s440中,計(jì)算目標(biāo)語音序列y中每一幀語音所屬的音素。對音素的劃分可參考步驟s220。
隨后在步驟s450中,經(jīng)上一步得到同一音素內(nèi)的連續(xù)幀,根據(jù)步驟s430推算算出這些連續(xù)幀的目標(biāo)特征幀所屬的源-目標(biāo)特征幀對,作為一個(gè)源-目標(biāo)音素集。例如,若判斷相鄰的ym1和ym2屬于同一音素,那么可以得到與之對應(yīng)的源-目標(biāo)特征幀對(xn1,ym1),(xn2,ym2)構(gòu)成一個(gè)源-目標(biāo)音素集。
隨后在步驟s460中,按照順序?qū)⒁粋€(gè)源-目標(biāo)音素集分成一個(gè)或多個(gè)第一幀長的源-目標(biāo)音素特征單元對,其中相鄰源-目標(biāo)音素特征單元對之間相互重疊第二幀長。根據(jù)本發(fā)明的實(shí)施例,對源-目標(biāo)音素集的處理同步驟s220中對音素集的處理,以第一幀長的滑動窗口對一個(gè)音素集進(jìn)行劃分,每次滑動步長為第二幀長,可選地,第一幀長取unit_len=2*t+1,其中,1≤t≤10,第二幀長取1。
至此,得到了多個(gè)源-目標(biāo)音素特征單元對。根據(jù)本發(fā)明的實(shí)施例,若{(xn2,ym2),(xn3,ym3),…,(xn6,ym6)}構(gòu)成一個(gè)源-目標(biāo)音素特征單元對,那么,其中的{xn2,xn3,…,xn6}就是一個(gè)源音素特征單元,{ym2,ym3,…,ym6}就是一個(gè)目標(biāo)音素特征單元。
然后,根據(jù)前面計(jì)算出的待處理語音中音素單元的音素和特征從源-目標(biāo)音素特征單元對中選取出代價(jià)最小的目標(biāo)音素特征單元的。具體流程可以分為以下1)2)3)三步:
1)對于每個(gè)音素單元,選取與其具有相同音素的目標(biāo)音素特征單元所屬的源-目標(biāo)音素特征單元對,作為候選音素單元特征對。換言之,通過目標(biāo)序列的音素選取出與待處理語音序列中每個(gè)音素單元具有相同音素的源-目標(biāo)音素特征單元對,作為候選。
2)從候選音素單元特征對中選出與該音素單元相似的第一數(shù)目個(gè)源-目標(biāo)音素特征單元對。根據(jù)本發(fā)明的實(shí)施例,相似性的判斷采用如下方式:計(jì)算候選音素單元特征對中源音素特征單元的特征與該音素單元的特征的距離值;按照距離值從小到大的順序選取第一數(shù)目個(gè)源音素特征單元所屬的源-目標(biāo)音素特征單元對??蛇x地,距離值可以采用歐氏距離進(jìn)行標(biāo)定。本發(fā)明對此不做限制。
3)從第一數(shù)目個(gè)源-目標(biāo)音素特征單元對中選取代價(jià)最小的目標(biāo)音素特征單元。根據(jù)本發(fā)明的實(shí)施例,選取最優(yōu)候選單元的過程如下:
對于第一數(shù)目個(gè)源-目標(biāo)音素特征單元對中的每個(gè)目標(biāo)音素特征單元,
先計(jì)算該目標(biāo)音素特征單元的特征(如,mfcc特征)與該音素單元的特征的距離值,作為第一代價(jià),稱為轉(zhuǎn)移代價(jià);
再計(jì)算該目標(biāo)音素特征單元的特征與相鄰的下一個(gè)目標(biāo)音素特征單元的特征的距離值,作為第二代價(jià),稱為拼接代價(jià);
根據(jù)上述第一代價(jià)和第二代價(jià),得到總代價(jià),總代價(jià)最小的一組特征就是最優(yōu)候選值,通過維特比搜索算法確定最小代價(jià)對應(yīng)的目標(biāo)音素單元,就是最優(yōu)候選單元。
結(jié)合圖5和如下公式,可進(jìn)一步理解上述過程。
轉(zhuǎn)移代價(jià):
拼接代價(jià):
總代價(jià):
其中,k代表第一數(shù)目,l表征總的音素單元個(gè)數(shù),
最后,根據(jù)維特比搜索算法確定最小代價(jià)對應(yīng)的目標(biāo)音素單元:
需要說明的是,在圖5中,以加粗箭頭的方式示出了最終確定的每個(gè)音素單元下的最優(yōu)音素特征單元:候選單元11→候選單元22→候選單元34……。
隨后在步驟s260中,對多個(gè)音素單元對應(yīng)的多個(gè)最優(yōu)音素特征單元進(jìn)行時(shí)域拼接處理,得到音色轉(zhuǎn)換后的語音。也就是說,根據(jù)每個(gè)最優(yōu)音素單元的特征值生成對應(yīng)的時(shí)域音素單元,對時(shí)域音素單元進(jìn)行拼接輸出轉(zhuǎn)換后的語音。
根據(jù)本發(fā)明的實(shí)施例,時(shí)域音素單元不能直接拼接,要先進(jìn)行平滑處理。具體地,采用三角窗函數(shù)對每個(gè)時(shí)域音素單元進(jìn)行平滑處理,再按照順序?qū)⒍鄠€(gè)時(shí)域音素單元拼接,其中相鄰時(shí)域音素單元之間相互重疊第三幀長,其中,第三幀長由第一幀長和第二幀長得出。可選地,第三幀長=第一幀長-第二幀長,根據(jù)本發(fā)明的一個(gè)實(shí)施例,第三幀長為2*t。也就是說,時(shí)域拼接按照最初分音素單元的方式,每次移動1幀重疊2t幀相加,依次拼接上所有的時(shí)域音素單元。
根據(jù)本發(fā)明的音色轉(zhuǎn)換方案,可以直接利用目標(biāo)說話人的原始材料,最大程度的保留了目標(biāo)說話人的音色信息,使得音色轉(zhuǎn)換后的語音逼近目標(biāo)說話人自己說的話。
根據(jù)本發(fā)明的音色轉(zhuǎn)換方案,可以大大縮減配音費(fèi)用;也可以讓普通用戶體驗(yàn)音色轉(zhuǎn)換類的應(yīng)用。
應(yīng)當(dāng)理解,為了精簡本公開并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個(gè)實(shí)施例的所有特征。因此,遵循具體實(shí)施方式的權(quán)利要求書由此明確地并入該具體實(shí)施方式,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。
本領(lǐng)域那些技術(shù)人員應(yīng)當(dāng)理解在本文所公開的示例中的設(shè)備的模塊或單元或組件可以布置在如該實(shí)施例中所描述的設(shè)備中,或者可替換地可以定位在與該示例中的設(shè)備不同的一個(gè)或多個(gè)設(shè)備中。前述示例中的模塊可以組合為一個(gè)模塊或者此外可以分成多個(gè)子模塊。
本領(lǐng)域那些技術(shù)人員可以理解,可以對實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們設(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中??梢园褜?shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來代替。
此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來使用。
本發(fā)明一并公開了:
a9、如a7或8所述的方法,其中,從第一數(shù)目個(gè)源-目標(biāo)音素特征單元對中選取代價(jià)最小的目標(biāo)音素特征單元的步驟包括:對于所述第一數(shù)目個(gè)源-目標(biāo)音素特征單元對中的每個(gè)目標(biāo)音素特征單元,計(jì)算該目標(biāo)音素特征單元的特征與該音素單元的特征的距離值,作為第一代價(jià);計(jì)算該目標(biāo)音素特征單元的特征與相鄰的下一個(gè)目標(biāo)音素特征單元的特征的距離值,作為第二代價(jià);以及根據(jù)維特比搜索算法從第一代價(jià)與第二代價(jià)之和中選取中代價(jià)最小的目標(biāo)音素特征單元。
a10、如a1-9中任一項(xiàng)所述的方法,其中,所述對多個(gè)音素單元對應(yīng)的多個(gè)最優(yōu)音素特征單元進(jìn)行時(shí)域拼接處理的步驟包括:根據(jù)每個(gè)最優(yōu)音素單元的特征值生成對應(yīng)的時(shí)域音素單元;對每個(gè)時(shí)域音素單元進(jìn)行平滑處理;以及按照順序?qū)⒍鄠€(gè)時(shí)域音素單元拼接,其中相鄰時(shí)域音素單元之間相互重疊第三幀長。
a11、如a10所述的方法,其中,所述對每個(gè)時(shí)域音素單元進(jìn)行平滑處理的步驟包括:采用三角窗函數(shù)對每個(gè)時(shí)域音素單元進(jìn)行平滑處理。
a12、如a10或11所述的方法,其中,所述第三幀長由第一幀長和第二幀長得出。
這里描述的各種技術(shù)可結(jié)合硬件或軟件,或者它們的組合一起實(shí)現(xiàn)。從而,本發(fā)明的方法和設(shè)備,或者本發(fā)明的方法和設(shè)備的某些方面或部分可采取嵌入有形媒介,例如軟盤、cd-rom、硬盤驅(qū)動器或者其它任意機(jī)器可讀的存儲介質(zhì)中的程序代碼(即指令)的形式,其中當(dāng)程序被載入諸如計(jì)算機(jī)之類的機(jī)器,并被所述機(jī)器執(zhí)行時(shí),所述機(jī)器變成實(shí)踐本發(fā)明的設(shè)備。
在程序代碼在可編程計(jì)算機(jī)上執(zhí)行的情況下,計(jì)算設(shè)備一般包括處理器、處理器可讀的存儲介質(zhì)(包括易失性和非易失性存儲器和/或存儲元件),至少一個(gè)輸入裝置,和至少一個(gè)輸出裝置。其中,存儲器被配置用于存儲程序代碼;處理器被配置用于根據(jù)該存儲器中存儲的所述程序代碼中的指令,執(zhí)行本發(fā)明所述的方法。
以示例而非限制的方式,計(jì)算機(jī)可讀介質(zhì)包括計(jì)算機(jī)存儲介質(zhì)和通信介質(zhì)。計(jì)算機(jī)可讀介質(zhì)包括計(jì)算機(jī)存儲介質(zhì)和通信介質(zhì)。計(jì)算機(jī)存儲介質(zhì)存儲諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)等信息。通信介質(zhì)一般以諸如載波或其它傳輸機(jī)制等已調(diào)制數(shù)據(jù)信號來體現(xiàn)計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù),并且包括任何信息傳遞介質(zhì)。以上的任一種的組合也包括在計(jì)算機(jī)可讀介質(zhì)的范圍之內(nèi)。
此外,所述實(shí)施例中的一些在此被描述成可以由計(jì)算機(jī)系統(tǒng)的處理器或者由執(zhí)行所述功能的其它裝置實(shí)施的方法或方法元素的組合。因此,具有用于實(shí)施所述方法或方法元素的必要指令的處理器形成用于實(shí)施該方法或方法元素的裝置。此外,裝置實(shí)施例的在此所述的元素是如下裝置的例子:該裝置用于實(shí)施由為了實(shí)施該發(fā)明的目的的元素所執(zhí)行的功能。
如在此所使用的那樣,除非另行規(guī)定,使用序數(shù)詞“第一”、“第二”、“第三”等等來描述普通對象僅僅表示涉及類似對象的不同實(shí)例,并且并不意圖暗示這樣被描述的對象必須具有時(shí)間上、空間上、排序方面或者以任意其它方式的給定順序。
盡管根據(jù)有限數(shù)量的實(shí)施例描述了本發(fā)明,但是受益于上面的描述,本技術(shù)領(lǐng)域內(nèi)的技術(shù)人員明白,在由此描述的本發(fā)明的范圍內(nèi),可以設(shè)想其它實(shí)施例。此外,應(yīng)當(dāng)注意,本說明書中使用的語言主要是為了可讀性和教導(dǎo)的目的而選擇的,而不是為了解釋或者限定本發(fā)明的主題而選擇的。因此,在不偏離所附權(quán)利要求書的范圍和精神的情況下,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說許多修改和變更都是顯而易見的。對于本發(fā)明的范圍,對本發(fā)明所做的公開是說明性的,而非限制性的,本發(fā)明的范圍由所附權(quán)利要求書限定。