本申請涉及語音信號處理等技術(shù)領(lǐng)域,尤其涉及一種生成語音動畫的方法和裝置。
背景技術(shù):
在主流智能手機(jī)系統(tǒng)上,如iOS、Android,第三方軟件有權(quán)限訪問手機(jī)麥克風(fēng),并利用系統(tǒng)層級的音頻錄制接口獲取麥克風(fēng)錄制的聲音。具有語音錄制功能的應(yīng)用軟件在與用戶交互時,可以通過語音動畫的形式向用戶實(shí)時反饋錄音狀態(tài),以告知用戶目前的狀態(tài)是在錄音。
相關(guān)技術(shù)中的語音動畫雖然可以展示出類似聲音頻譜的漣漪效果,但是通過對相關(guān)技術(shù)中的語音動畫的分析,其不能準(zhǔn)確地反映出聲音信號的真實(shí)特征,在仿真效果等方面都存在一定問題。
技術(shù)實(shí)現(xiàn)要素:
本申請旨在至少在一定程度上解決相關(guān)技術(shù)中的技術(shù)問題之一。
為此,本申請的一個目的在于提出一種生成語音動畫的方法,該方法能夠生成更準(zhǔn)確的仿聲音頻譜的語音動畫,為用戶帶來更逼真的語音反饋體驗(yàn)。
本申請的另一個目的在于提出一種生成語音動畫的裝置。
為達(dá)到上述目的,本申請第一方面實(shí)施例提出的生成語音動畫的方法,包括:獲取當(dāng)前語音信號的音量值;根據(jù)所述音量值,在組成待生成的語音動畫波形的位置點(diǎn)中確定波峰位置點(diǎn),以及確定波峰位置點(diǎn)的波峰振幅值;根據(jù)所述波峰位置點(diǎn)和所述波峰振幅值,生成語音動畫波形。
本申請第一方面實(shí)施例提出的生成語音動畫的方法,通過獲取音量值并根據(jù)音量值確定波峰位置點(diǎn)和波峰振幅值,可以更真實(shí)地反映聲音具有的頻譜特征,從而生成更準(zhǔn)確的仿聲音頻譜的語音動畫,為用戶帶來更逼真的語音反饋體驗(yàn)。
為達(dá)到上述目的,本申請第二方面實(shí)施例提出的生成語音動畫的裝置,包括:音量獲取模塊,用于獲取當(dāng)前語音信號的音量值;波峰確定模塊,用于根據(jù)所述音量值,在組成待生成的語音動畫波形的位置點(diǎn)中確定波峰位置點(diǎn),以及確定波峰位置點(diǎn)的波峰振幅值;波形生成模塊,用于根據(jù)所述波峰位置點(diǎn)和所述波峰振幅值,生成語音動畫波形。
本申請第二方面實(shí)施例提出的生成語音動畫的裝置,通過獲取音量值并根據(jù)音量值確定波峰位置點(diǎn)和波峰振幅值,可以更真實(shí)地反映聲音具有的頻譜特征,從而生成更準(zhǔn)確的仿聲音頻譜的語音動畫,為用戶帶來更逼真的語音反饋體驗(yàn)。
本申請附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本申請的實(shí)踐了解到。
附圖說明
本申請上述的和/或附加的方面和優(yōu)點(diǎn)從下面結(jié)合附圖對實(shí)施例的描述中將變得明顯和容易理解,其中:
圖1是本申請一個實(shí)施例提出的生成語音動畫的方法的流程示意圖;
圖2是本申請實(shí)施例中組成待生成的語音動畫波形的位置點(diǎn)的示意圖;
圖3是本申請另一個實(shí)施例提出的生成語音動畫的方法的流程示意圖;
圖4是本申請實(shí)施例中候選波峰位置點(diǎn)的示意圖;
圖5是本申請實(shí)施例中最終采用的波峰位置點(diǎn)的示意圖;
圖6是本申請實(shí)施例中波峰振幅值的初始值的示意圖;
圖7是本申請實(shí)施例中波峰振幅值的最終值的示意圖;
圖8是本申請實(shí)施例中生成的語音動畫波形的示意圖;
圖9是本申請一個實(shí)施例提出的生成語音動畫的裝置的結(jié)構(gòu)示意圖;
圖10是本申請另一個實(shí)施例提出的生成語音動畫的裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面詳細(xì)描述本申請的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號表示相同或類似的模塊或具有相同或類似功能的模塊。下面通過參考附圖描述的實(shí)施例是示例性的,僅用于解釋本申請,而不能理解為對本申請的限制。相反,本申請的實(shí)施例包括落入所附加權(quán)利要求書的精神和內(nèi)涵范圍內(nèi)的所有變化、修改和等同物。
圖1是本申請一個實(shí)施例提出的生成語音動畫的方法的流程示意圖。
如圖1所示,本實(shí)施例包括以下步驟:
S11:獲取當(dāng)前語音信號的音量值。
其中,可以采用音量檢測模塊檢測到當(dāng)前語音信號的音量值??梢岳斫獾氖牵袅繖z測模塊可以采用已有或?qū)沓霈F(xiàn)的技術(shù)實(shí)現(xiàn),在此不再詳述。
假設(shè)當(dāng)前語音信號的音量值用V0表示,則V0的值通常是位于0~1之間的值??梢岳斫獾氖?,音量值的物理單位通常是分貝,而在本申請中的音量值是指對物理單位的音量值進(jìn)行歸一化得到的,使得分貝單位的音量值歸一化到0~1之間,以方便運(yùn)算。在歸一化時,歸一化后的值與原始的分貝單位的值正相關(guān),即原始的音量越高,則歸一化后的音量值越大。具體歸一化算法不限定,可以采用已有或?qū)沓霈F(xiàn)的技術(shù)實(shí)現(xiàn)。
S12:根據(jù)所述音量值,在組成待生成的語音動畫波形的位置點(diǎn)中確定波峰位置點(diǎn),以及確定波峰位置點(diǎn)的波峰振幅值。
其中,待生成的語音動畫波形(簡稱波形)的橫軸和縱軸的參數(shù)是可設(shè)置的。在本實(shí)施例中由于要生成仿聲音頻譜的波形,如圖2所示,橫軸x定義為頻率,縱軸h定義為振幅。進(jìn)一步的,組成波形的位置點(diǎn)也是可定義的。為了簡化運(yùn)算,如圖2所示,將橫軸上的N個位置點(diǎn)定義為組成波形的位置點(diǎn)。進(jìn)一步的,為了更好的配合移動設(shè)備上錄音界面、按鈕軸對稱的設(shè)計原則,波形也采用軸對稱設(shè)計,距離軸心越遠(yuǎn)的頻率,被定義為人聲頻譜中包含的振幅越小的頻率。如圖2所示,在軸對稱時,上述的N個位置點(diǎn)可以對稱且均勻地分布在預(yù)設(shè)的坐標(biāo)值x的最大值的范圍內(nèi)。
在上述位置點(diǎn)確定后,可以對應(yīng)每個位置點(diǎn),根據(jù)音量值確定該位置點(diǎn)是否為候選波峰位置點(diǎn),再根據(jù)候選波峰位置點(diǎn)確定最終采用的波峰位置點(diǎn)。具體內(nèi)容請參見后續(xù)實(shí)施例。
進(jìn)一步的,波峰位置點(diǎn)的分布范圍與音量值成正相關(guān)關(guān)系,即音量值越大,則波峰位置點(diǎn)的分布越豐富,中高頻都有涉及。由于人是通過聲帶震動發(fā)音,大聲說話時聲帶肌肉的震動范圍和幅度更大,頻譜范圍也會更廣。因此,波峰位置點(diǎn)的分布范圍與音量值成正相關(guān)關(guān)系時,更符合頻譜型動畫的實(shí)際效果。
在確定波峰振幅值時,波峰振幅值與音量值成正相關(guān)關(guān)系,即音量值越大,波峰振幅值越大。從而從振幅上可以反饋出音量信息,用戶可以根據(jù)振幅效果反饋調(diào)整自己的音量,以達(dá)成更好的識別效果。
S13:根據(jù)所述波峰位置點(diǎn)和所述波峰振幅值,生成語音動畫波形。
其中,生成的語音動畫是一種波形,該波形可以稱為語音動畫波形。
該步驟可以包括:根據(jù)所述位置點(diǎn)的坐標(biāo)值、所述波峰位置點(diǎn)的坐標(biāo)值和所述波峰振幅值,確定所述位置點(diǎn)的振幅值;根據(jù)所述位置點(diǎn)的振幅值,生成語音動畫波形。具體內(nèi)容請參見后續(xù)描述。
本實(shí)施例中,通過獲取音量值并根據(jù)音量值確定波峰位置點(diǎn)和波峰振幅值,可以更真實(shí)地反映聲音具有的頻譜特征,從而生成更準(zhǔn)確的仿聲音頻譜的語音動畫,為用戶帶來更逼真的語音反饋體驗(yàn)。
圖3是本申請另一個實(shí)施例提出的生成語音動畫的方法的流程示意圖。
如圖3所示,本實(shí)施例的方法包括:
S31:獲取當(dāng)前語音信號的音量值。
具體內(nèi)容可以參見上一實(shí)施例,在此不再詳述。
S32:根據(jù)所述音量值確定輸入音量值。
假設(shè)輸入音量值用V表示,則在確定出當(dāng)前語音信號的音量值V0后,可以直接將該音量值V0作為輸入音量值V。
進(jìn)一步的,為了避免音量較小時,背景噪音產(chǎn)生過多的波形,則可以采用如下方式根據(jù)音量值V0確定輸入音量值V:
如果當(dāng)前語音信號的音量值小于預(yù)設(shè)音量值時,則設(shè)置輸入音量值為小于預(yù)設(shè)值的固定值;如果當(dāng)前語音信號的音量值大于或等于預(yù)設(shè)音量值時,則將當(dāng)前語音信號的音量值增加預(yù)設(shè)增值后作為輸入音量值??梢岳斫獾氖?,如上一實(shí)施例所示的,當(dāng)前語音信號的音量值通常位于0~1之間,因此,在上述閾值判定時,除了上述的預(yù)設(shè)音量值之外還可以附加上0~1之間的限定。例如,當(dāng)前語音信號的音量值小于預(yù)設(shè)音量值可以具體是指當(dāng)前語音信號的音量值小于預(yù)設(shè)音量值且大于或等于0,當(dāng)前語音信號的音量值大于或等于預(yù)設(shè)音量值可以具體是指當(dāng)前語音信號的音量值大于或等于預(yù)設(shè)音量值且小于或等于1,預(yù)設(shè)音量值是介于0~1之間的值。
具體的,以預(yù)設(shè)音量值為0.1,固定值為0.1,預(yù)設(shè)增值為2為例,則計算公式如下:
S33:獲取組成待生成的語音動畫波形的位置點(diǎn),并獲取所述位置點(diǎn)的坐標(biāo)值。
如圖2所示,可以通過定義的方式確定上述位置點(diǎn),在位置點(diǎn)確定后,該位置點(diǎn)的坐標(biāo)值也是確定的。具體的,在本申請各實(shí)施例中,如果未做特殊說明,坐標(biāo)值是指位置點(diǎn)的橫軸坐標(biāo)值。因此,可以從已知信息中獲取到每個位置點(diǎn)的坐標(biāo)值xj,j=1,…,N。
S34:根據(jù)所述輸入音量值和所述位置點(diǎn)的坐標(biāo)值,在所述位置點(diǎn)中確定候選波峰位置點(diǎn)。
其中,可以對應(yīng)每個位置點(diǎn),確定該位置點(diǎn)是否為候選波峰位置點(diǎn),從而在所有位置點(diǎn)中確定出候選波峰位置點(diǎn)。
具體可以包括:根據(jù)所述輸入音量值和所述坐標(biāo)值,確定位置點(diǎn)為候選波峰位置點(diǎn)的概率值;根據(jù)所述概率值確定對應(yīng)的位置點(diǎn)是否為候選波峰位置點(diǎn)。
具體的,每個位置點(diǎn)是已知的,因此每個位置點(diǎn)的坐標(biāo)值是已知的,該坐標(biāo)值具體是指橫軸值,用xj表示。
在確定出輸入音量值V和坐標(biāo)值xj后,可以計算出上述的概率值。其中,所述概率值與所述輸入音量值和所述坐標(biāo)值的絕對值成正相關(guān)關(guān)系。一種計算公式如下:
其中,B(xj)是坐標(biāo)值為xj的位置點(diǎn)為候選波峰位置點(diǎn)的概率值,V是輸入音量值,xj是位置點(diǎn)的坐標(biāo)值,W是預(yù)設(shè)的坐標(biāo)值最大值。
在確定出位置點(diǎn)的概率值后,如果所述概率值小于預(yù)設(shè)概率值,確定對應(yīng)的位置點(diǎn)不是候選波峰位置點(diǎn);如果所述概率值大于或等于預(yù)設(shè)概率值,確定對應(yīng)的位置點(diǎn)是候選波峰位置點(diǎn)。
假設(shè)坐標(biāo)值為xj的位置點(diǎn)不是候選波峰位置點(diǎn)用R(xj)=0表示,是候選波峰位置點(diǎn)用R(xj)=1表示,以預(yù)設(shè)概率值是0.5為例,可以采用如下公式確定位置點(diǎn)是否為候選波峰位置點(diǎn):
對應(yīng)每個位置點(diǎn)采用上述方式確定該位置點(diǎn)是否為候選波峰位置點(diǎn),從而可以在所有的位置點(diǎn)中確定出其中的候選波峰位置點(diǎn)。例如,參見圖4,給出了候選波峰位置點(diǎn)的示意圖。
S35:根據(jù)候選波峰位置點(diǎn)確定最終采用的波峰位置點(diǎn)。
在確定出候選波峰位置點(diǎn)后,可以將候選波峰位置點(diǎn)直接作為最終采用的波峰位置點(diǎn)。
進(jìn)一步的,考慮到實(shí)際體驗(yàn),需要限制波峰數(shù)量,否則波峰過多疊加后頻譜喪失了聲譜的高低起伏。因此,根據(jù)候選波峰位置點(diǎn)確定最終采用的波峰位置點(diǎn)時,還可以包括:確定波峰位置點(diǎn)的個數(shù),選擇所述個數(shù)的候選波峰位置點(diǎn)作為最終采用的波峰位置點(diǎn)。
在確定波峰位置點(diǎn)的個數(shù)時,可以根據(jù)輸入音量值確定波峰位置點(diǎn)的個數(shù)。波峰位置點(diǎn)的個數(shù)與輸入音量值成正相關(guān)關(guān)系。一種計算公式如下:
M=20*V
其中,M是波峰位置點(diǎn)的個數(shù);V是輸入音量值;20是根據(jù)經(jīng)驗(yàn)選擇的系數(shù),也可以選為其他值。
進(jìn)一步的,為了模擬真實(shí)發(fā)聲過程中,即使相同的音量,聲音頻率組成數(shù)量不可能完全相同的情況,上述的M可以在預(yù)設(shè)范圍內(nèi)變化。假設(shè)預(yù)設(shè)范圍的變化是±1范圍內(nèi)隨機(jī)變化,則用公式表示為:
M=20*V+Rand(0,2)-1
其中,Rand(0,2)是指0-2范圍內(nèi)的隨機(jī)數(shù)。
在確定出上述的個數(shù)M后,可以在所有候選波峰位置點(diǎn)中隨機(jī)選擇M個候選波峰位置點(diǎn)作為最終采用的波峰位置點(diǎn)。例如,參見圖5,給出了最終采用的波峰位置點(diǎn)的示意圖。
S36:根據(jù)波峰位置點(diǎn)的坐標(biāo)值和輸入音量值,確定波峰位置點(diǎn)的波峰振幅值。
其中,在波峰位置點(diǎn)確定后,其坐標(biāo)值也是確定的,因此可以獲取到波峰位置點(diǎn)的坐標(biāo)值。假設(shè)波峰位置點(diǎn)的坐標(biāo)值表示為xi,i=1,…,M。
根據(jù)輸入音量值可以確定振幅最大值,之后可以根據(jù)波峰位置點(diǎn)的坐標(biāo)值和振幅最大值確定波峰振幅值。
具體的,振幅最大值與輸入音量值正相關(guān),用公式表示為:
Hmax=V0.333×0.8×H
其中,Hmax是振幅最大值;V是輸入音量值;H是預(yù)設(shè)的振幅幅度閾值;0.333和0.8是根據(jù)經(jīng)驗(yàn)設(shè)置的值,也可以選為其他值。
根據(jù)波峰位置點(diǎn)的坐標(biāo)值和振幅最大值確定波峰振幅值時,可以先確定出波峰振幅值的初始值,再根據(jù)初始值確定相應(yīng)的波峰振幅值的最終值。
波峰振幅值的初始值與波峰位置點(diǎn)的坐標(biāo)值的絕對值和振幅最大值成正相關(guān)關(guān)系,用公式表示為:
其中,h0(xi)是波峰振幅值的初始值,Hmax是振幅最大值,xi是波峰位置點(diǎn)的坐標(biāo)值,W是預(yù)設(shè)的坐標(biāo)值的最大值。
在波峰位置點(diǎn)上加上相應(yīng)的波峰振幅值的初始值后,波峰的示意圖可以如圖6所示。
在確定出波峰振幅值的初始值后,可以將其直接作為相應(yīng)的最終值。
進(jìn)一步的,為了模擬更真實(shí)的效果,引入隨機(jī)的環(huán)境噪音對不同頻率聲音振幅的隨機(jī)性影響,因此,可以將所述初始值與預(yù)設(shè)范圍內(nèi)的隨機(jī)數(shù)的乘積,作為所述最終值。
假設(shè)預(yù)設(shè)范圍是0.8-1.2,則用公式表示為:
h(xi)=h0(xi)×Rand(0.8,1.2)
其中,h(xi)是波峰振幅值的最終值,h0(xi)是相應(yīng)的波峰振幅值的初始值,Rand(0.8,1.2)是0.8-1.2范圍內(nèi)的隨機(jī)數(shù)。
在波峰振幅值的初始值上乘以隨機(jī)數(shù)后的波峰示意圖可以如圖7所示。
S37:根據(jù)所述波峰位置點(diǎn)和所述波峰振幅值,生成語音動畫波形。
具體可以包括:根據(jù)組成待生成的語音動畫波形的位置點(diǎn)的坐標(biāo)值、所述波峰位置點(diǎn)的坐標(biāo)值和所述波峰振幅值,確定所述位置點(diǎn)的振幅值;根據(jù)所述位置點(diǎn)的振幅值,生成語音動畫波形。
假設(shè)每個波峰位置點(diǎn)的坐標(biāo)值用xi表示,每個位置點(diǎn)的坐標(biāo)值用xj表示,則每個位置點(diǎn)的振幅值h(xj)可以用如下公式計算:
其中,0.5是相鄰點(diǎn)的衰減系數(shù),可以根據(jù)經(jīng)驗(yàn)設(shè)置,可以為其他值。
在每個位置點(diǎn)的振幅值確定后,可以在每個位置點(diǎn)上加上相應(yīng)的振幅值,從而生成相應(yīng)的語音動畫波形。例如,最終生成的語音動畫波形可以如圖8所示。
在生成語音動畫波形后,可以將該波形作為語音動畫展示給用戶。
進(jìn)一步的,一些實(shí)施例中,參見圖3,該方法還可以包括:
S38:確定語音動畫的更新周期,根據(jù)所述更新周期重新生成語音動畫并展示。
其中,重新生成語音動畫的流程可以參見上述步驟重新執(zhí)行。
更新周期可以選為一個固定值,比如ΔT0。是根據(jù)經(jīng)驗(yàn)等設(shè)置的固定值。
進(jìn)一步的,由于正常說話時的波形刷新頻率比不說話的時候要高,因此可以根據(jù)音量值或輸入音量值確定更新周期。以更新周期與音量值V0相關(guān)為例,用公式可以表示為:
其中,ΔT是最終采用的更新周期,V0是當(dāng)前語音信號的音量值,ΔT0是根據(jù)經(jīng)驗(yàn)等設(shè)置的固定值,可以理解的是,上述的系數(shù)3也可以是其他的大于1的數(shù)值,上述的閾值0.1也可以選為其他的0-1之間的值。
本實(shí)施例中,波峰振幅值與音量正相關(guān),因此從振幅上可以反饋出音量信息,用戶可以根據(jù)振幅效果反饋調(diào)整自己的音量,以達(dá)成更好的識別效果;音量越高時,音頻分布越豐富,更符合人發(fā)聲的特點(diǎn),從而能夠反映更真實(shí)的頻譜特征;更新頻率與音量正相關(guān),從而語音動畫的響應(yīng)靈敏度與音量正相關(guān),因此音量越高,音量值越大,動畫反饋越及時;根據(jù)在語音信號的音量值很小(即音量很低)時,輸入音量值也很小,且波峰與輸入音量值正相關(guān),因此用戶沒有說話時,不會有多余的波峰動畫;在計算波峰位置點(diǎn)和波峰振幅值時會加入隨機(jī)數(shù),從而語音動畫具備不可復(fù)制性,基本不存在完全相同的狀態(tài),能夠模擬出環(huán)境背景噪音的不確定性對語音錄制的影響。
圖9是本申請一個實(shí)施例提出的生成語音動畫的裝置的結(jié)構(gòu)示意圖。
如圖9所示,該裝置90包括:音量獲取模塊91、波峰確定模塊92和波形生成模塊93。
音量獲取模塊91,用于獲取當(dāng)前語音信號的音量值;
波峰確定模塊92,用于根據(jù)所述音量值,在組成待生成的語音動畫波形的位置點(diǎn)中確定波峰位置點(diǎn),以及確定波峰位置點(diǎn)的波峰振幅值;
波形生成模塊93,用于根據(jù)所述波峰位置點(diǎn)和所述波峰振幅值,生成語音動畫波形。
一些實(shí)施例中,參見圖10,該裝置90還包括:
輸入音量確定模塊94,用于根據(jù)當(dāng)前語音信號的音量值確定輸入音量值,以便將所述輸入音量值作為后續(xù)運(yùn)算的音量值;
其中,所述根據(jù)當(dāng)前語音信號的音量值確定輸入音量值,包括:
將當(dāng)前語音信號的音量值確定為輸入音量值;或者,
如果當(dāng)前語音信號的音量值小于預(yù)設(shè)音量值時,則設(shè)置輸入音量值為小于預(yù)設(shè)值的固定值;如果當(dāng)前語音信號的音量值大于或等于預(yù)設(shè)音量值時,則將當(dāng)前語音信號的音量值增加預(yù)設(shè)值后作為輸入音量值。
一些實(shí)施例中,參見圖10,所述波峰確定模塊92包括:
位置點(diǎn)坐標(biāo)獲取子模塊921,用于獲取組成待生成的語音動畫波形的位置點(diǎn),并獲取所述位置點(diǎn)的坐標(biāo)值;
候選位置點(diǎn)確定子模塊922,用于根據(jù)所述音量值和所述位置點(diǎn)的坐標(biāo)值,在所述位置點(diǎn)中確定候選波峰位置點(diǎn);
波峰位置點(diǎn)確定子模塊923,用于將候選波峰位置點(diǎn)直接作為最終采用的波峰位置點(diǎn);或者,確定波峰位置點(diǎn)的個數(shù);選擇所述個數(shù)的候選波峰位置點(diǎn),作為最終采用的波峰位置點(diǎn)。
一些實(shí)施例中,所述候選位置點(diǎn)確定子模塊922具體用于:
根據(jù)所述音量值和所述位置點(diǎn)的坐標(biāo)值,確定位置點(diǎn)為候選波峰位置點(diǎn)的概率值;
根據(jù)所述概率值確定對應(yīng)的位置點(diǎn)是否為候選波峰位置點(diǎn)。
一些實(shí)施例中,所述概率值與所述輸入音量值和所述位置點(diǎn)的坐標(biāo)值的絕對值成正相關(guān)關(guān)系,所述候選位置點(diǎn)確定子模塊922進(jìn)一步用于:
如果所述概率值小于預(yù)設(shè)概率值,確定對應(yīng)的位置點(diǎn)不是候選波峰位置點(diǎn);如果所述概率值大于或等于預(yù)設(shè)概率值,確定對應(yīng)的位置點(diǎn)是候選波峰位置點(diǎn)。
一些實(shí)施例中,所述波峰位置點(diǎn)確定子模塊923用于確定波峰位置點(diǎn)的個數(shù),包括:
將所述輸入音量值的預(yù)設(shè)倍數(shù),確定為波峰位置點(diǎn)的個數(shù);或者,
將所述輸入音量值的預(yù)設(shè)倍數(shù)與預(yù)設(shè)范圍內(nèi)的隨機(jī)數(shù)的和值,確定為波峰位置點(diǎn)的個數(shù)。
一些實(shí)施例中,參見圖10,所述波峰確定模塊92包括:
振幅最大值確定子模塊924,用于根據(jù)所述音量值確定振幅最大值;
振幅初始值確定子模塊925,用于根據(jù)波峰位置點(diǎn)的坐標(biāo)值和所述振幅最大值,確定波峰位置點(diǎn)的波峰振幅值的初始值;
振幅最終值確定子模塊926,用于根據(jù)所述初始值確定所述波峰振幅值的最終值。
一些實(shí)施例中,所述初始值與所述波峰位置點(diǎn)的坐標(biāo)值的絕對值及所述振幅最大值成正相關(guān)關(guān)系,所述振幅最終值確定子模塊926具體用于:
將所述初始值直接作為所述最終值;或者,
將所述初始值與預(yù)設(shè)范圍內(nèi)的隨機(jī)數(shù)的乘積,作為所述最終值。
一些實(shí)施例中,所述波形生成模塊93具體用于:
根據(jù)所述位置點(diǎn)的坐標(biāo)值、所述波峰位置點(diǎn)的坐標(biāo)值和所述波峰振幅值,確定所述位置點(diǎn)的振幅值;
根據(jù)所述位置點(diǎn)的振幅值,生成語音動畫波形。
一些實(shí)施例中,參見圖10,該裝置90還包括:
更新模塊95,用于確定語音動畫的更新周期,根據(jù)所述更新周期重新生成語音動畫并展示;
其中,所述更新周期為預(yù)設(shè)的固定值,或者,所述更新周期與所述音量值相關(guān)。
可以理解的是,本實(shí)施例的裝置與上述方法實(shí)施例對應(yīng),具體內(nèi)容可以參見方法實(shí)施例的相關(guān)描述,在此不再詳細(xì)說明。
本實(shí)施例中,通過獲取音量值并根據(jù)音量值確定波峰位置點(diǎn)和波峰振幅值,可以更真實(shí)地反映聲音具有的頻譜特征,從而生成更準(zhǔn)確的仿聲音頻譜的語音動畫,為用戶帶來更逼真的語音反饋體驗(yàn)。
可以理解的是,上述各實(shí)施例中相同或相似部分可以相互參考,在一些實(shí)施例中未詳細(xì)說明的內(nèi)容可以參見其他實(shí)施例中相同或相似的內(nèi)容。
需要說明的是,在本申請的描述中,術(shù)語“第一”、“第二”等僅用于描述目的,而不能理解為指示或暗示相對重要性。此外,在本申請的描述中,除非另有說明,“多個”的含義是指至少兩個。
流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括一個或更多個用于實(shí)現(xiàn)特定邏輯功能或過程的步驟的可執(zhí)行指令的代碼的模塊、片段或部分,并且本申請的優(yōu)選實(shí)施方式的范圍包括另外的實(shí)現(xiàn),其中可以不按所示出或討論的順序,包括根據(jù)所涉及的功能按基本同時的方式或按相反的順序,來執(zhí)行功能,這應(yīng)被本申請的實(shí)施例所屬技術(shù)領(lǐng)域的技術(shù)人員所理解。
應(yīng)當(dāng)理解,本申請的各部分可以用硬件、軟件、固件或它們的組合來實(shí)現(xiàn)。在上述實(shí)施方式中,多個步驟或方法可以用存儲在存儲器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來實(shí)現(xiàn)。例如,如果用硬件來實(shí)現(xiàn),和在另一實(shí)施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項(xiàng)或他們的組合來實(shí)現(xiàn):具有用于對數(shù)據(jù)信號實(shí)現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現(xiàn)場可編程門陣列(FPGA)等。
本技術(shù)領(lǐng)域的普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法攜帶的全部或部分步驟是可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機(jī)可讀存儲介質(zhì)中,該程序在執(zhí)行時,包括方法實(shí)施例的步驟之一或其組合。
此外,在本申請各個實(shí)施例中的各功能單元可以集成在一個處理模塊中,也可以是各個單元單獨(dú)物理存在,也可以兩個或兩個以上單元集成在一個模塊中。上述集成的模塊既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。所述集成的模塊如果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時,也可以存儲在一個計算機(jī)可讀取存儲介質(zhì)中。
上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
在本說明書的描述中,參考術(shù)語“一個實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本申請的至少一個實(shí)施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不一定指的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任何的一個或多個實(shí)施例或示例中以合適的方式結(jié)合。
盡管上面已經(jīng)示出和描述了本申請的實(shí)施例,可以理解的是,上述實(shí)施例是示例性的,不能理解為對本申請的限制,本領(lǐng)域的普通技術(shù)人員在本申請的范圍內(nèi)可以對上述實(shí)施例進(jìn)行變化、修改、替換和變型。