專利名稱:一種實現(xiàn)聲音變速不變調(diào)方法及變速變調(diào)系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及聲音信號處理技術(shù)領(lǐng)域,具體涉及一種實現(xiàn)聲音變速不變調(diào)的方法及
其聲音變速變調(diào)的系統(tǒng)。
背景技術(shù):
變調(diào)的過程實際上是將聲音的頻譜進行收縮或者擴展,同時原先各諧波成分之間 的關(guān)系仍然保留;變調(diào)需借助于一定的算法實現(xiàn)?,F(xiàn)在變調(diào)算法主要分為時域算法和頻域 算法兩大類。頻域算法是先對數(shù)字聲音信號進行傅立葉變換運算,將數(shù)字語音信號轉(zhuǎn)換成 頻域的頻譜信號,對此頻譜信號平移一差值,以改變數(shù)字語音信號的頻譜,再對此頻譜信號 進行反傅立葉變換運算轉(zhuǎn)成時域的數(shù)字語音信號,即可達成產(chǎn)生變調(diào)數(shù)字語音信號。但是, 該方法實現(xiàn)的變調(diào)效果會帶有金屬聲。原因在于頻率的搬移并不是頻率的線性變化。頻域 算法的另一種方法是在頻域上用線性內(nèi)插的方法來實現(xiàn)頻率的提高與降低,從而實現(xiàn)聲調(diào) 的變化。這個方法的缺點在于內(nèi)插的方法會引入不需要的頻率。特別是在某些能量大的 頻點,假設(shè)要升2倍頻,將會引入一些能量為原頻點能量一半的頻率分量。這些頻率分量會 大大影響音頻的音質(zhì)。而且這些頻率分量與原來有用的頻率貼得很近,若要進行濾波也較 麻煩。另外,上述兩種方法需要進行傅立葉變換及其反變換,運算量較大。這兩種比較適合 大比例的音調(diào)改變,不過變調(diào)之后的聲音的自然度較低。時域算法一般采用變速加變采樣 率的方法實現(xiàn)。 變速即對信號進行變速不變聲的處理,也就是將一段聲音的持續(xù)時間拉長或者縮 短,而聲音的音調(diào)不變?,F(xiàn)在實現(xiàn)聲音變速的方法幾乎都是在時域進行的,都是對原始信號 進行刪除或者插入,使信號變短或變長,從而實現(xiàn)聲音的快放或者慢放。國際專利PCT(申 請?zhí)朠CT/CN96/00074)和兩個中國專利(公開號為CN1197976和CN1920951)認(rèn)為音頻信號 系統(tǒng)可以認(rèn)為是由音元所組成;音元作為一種包含獨立、完整基本信息元素的最基本結(jié)構(gòu) 單元,可認(rèn)為是一種聲音分子;聲音分子(音元)的不同排列、組合形式構(gòu)成了不同的聲源; 結(jié)構(gòu)、性狀相同或相近的聲音分子的多次重復(fù)、組合構(gòu)成同一個音;緊密連接的不同音,其 內(nèi)的音元從一種形態(tài)變化到另一種形態(tài)是一種漸變的而非突變的過程。對于音頻信號,進 行以音元為基本處理(分割)單位的切割,然后在切割點處插入信息單元(比如,在切割點 處插入所被切割的音元本身),使原信號的長度增長;或在切割點處,刪去性狀相同或相近 的音元中的一個或幾個,使原信號的長度縮短,從而實現(xiàn)對音頻信號的變慢或變快放音,并 獲得的變速不變調(diào)放音效果。這種方法的關(guān)鍵點是尋找最佳匹配區(qū)。尋找最佳匹配區(qū)的方 法一般有最大互相關(guān)系數(shù)法、最大歸一化互相關(guān)系數(shù)法、最小平均幅度差系數(shù)法三種。眾所 周知,在求最大互相關(guān)系數(shù)、最大歸一化互相關(guān)系數(shù)、或者最小平均幅度差系數(shù)時都要經(jīng)過 大量的運算,這極度增大了實現(xiàn)算法的復(fù)雜度,不利于變速不變調(diào)的實時性。同時,這些發(fā) 明在處理兩幀的連接處時把兩幀數(shù)據(jù)直接連接,使得連接處不平滑而引入噪聲。
=
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種實現(xiàn)聲音變速不變調(diào)的方法,以復(fù)雜度非常低的算法 實現(xiàn)了聲音變速不變調(diào)效果,同時保持了原始聲音的自然度。 為了實現(xiàn)這一 目的,本發(fā)明的技術(shù)方案為一種實現(xiàn)聲音變速不變調(diào)的方法,其特 征在于該方法的技術(shù)方案包含4個主要步驟A.輸入緩存對將要被處理的原始音頻信號 讀入緩存中;B.分割數(shù)據(jù)采用窗口函數(shù),根據(jù)變速系數(shù)從原始語音信號中提取出一串信 號子系列(即小段聲音);C.連接數(shù)據(jù)將這些信號子系列按它們的時間先后順序連接起 來就得到變速不變調(diào)信號;D.輸出緩存把處理過的音頻信號輸出出去。在分割數(shù)據(jù)時,所 用到的窗口函數(shù)通過下面的方式構(gòu)造
一,), 0 Sw < /r
1, w < /e (1) 并且,當(dāng)0《n〈lT時, 0《P (n) < P (n+1)《1 (2) P (n)是三角窗、Harming窗、Hammiing窗、或者是Blackman窗的前半部分,或者 是正弦窗的半部分或者是滿足式(2)的其他數(shù)列;lw為窗口長度;le為一個窗口中有效數(shù) 據(jù)的長度,在此被定義為窗口中權(quán)值大于0.5的數(shù)據(jù)長度;lT為窗口的過渡段的長度;L和 le, lT之間的關(guān)系如下:
lw = le+lT (3)。 假設(shè)一次讀入緩存的數(shù)據(jù)的采樣數(shù)為l,當(dāng)1 > 2L時,利用式(1)定義的窗口把 讀入的音頻信號分割成多個信號子系列,相鄰子系列的起始位置之間的距離ls計算方式如
下 ls = le a (4) 其中,a為變速系數(shù),當(dāng)a > 1時,聲音加速;當(dāng)0 < a < 1時,聲音放慢。
當(dāng)1《21w時,把讀入的音頻信號分割成兩個信號子系列,分割方式是①當(dāng)a > 1時,前一子系列為從本次讀出數(shù)據(jù)的最前面的,長度為1/a的數(shù)據(jù)(但最后It個采祥與 窗口系列式(1)中尾部lT個數(shù)據(jù)相乘),后一子系列為本次讀出數(shù)據(jù)的最后的,長度為lT的 那段數(shù)據(jù)(但頭部的lT個采樣與窗口系列式(1)的頭部lT個數(shù)據(jù)相乘); 當(dāng)0.5< a < 1時,前一子系列為從本次所讀出的數(shù)據(jù)本身(但最后It個采祥與窗口系列式(1)中尾 部1t個數(shù)據(jù)相乘);后一子系列為本次讀出數(shù)據(jù)的最后的、長度為l d= 1 ,(1/a-l)+lT的 那段數(shù)據(jù),如果l d > l,則利用前一次讀入數(shù)據(jù)的最后長度為ld = l d_l補足,并且頭部 的It個采祥與窗口系列式(1)的頭部It個數(shù)據(jù)相乘。 連接數(shù)據(jù)是把分割出來的子系列按照它們的時間先后順序連接起來,連接處的處 理方式為把前一子系列的尾部過渡數(shù)據(jù)與后一段數(shù)據(jù)的頭部過渡數(shù)據(jù)相加,即假設(shè)前一 子系列尾部長度為1T的數(shù)據(jù)系列為Xj(0《j < 1T),后一子系列頭部長度為1T的數(shù)據(jù)系列 為yj (0《j < 1T),連接處的數(shù)據(jù)系列Zj (0《j < 1T),那么,
Zj = Xj+yj (5) 本發(fā)明的另一目的在于提供一種實現(xiàn)聲音變速變調(diào)的系統(tǒng),該系統(tǒng)以極低的復(fù)雜 度算法實現(xiàn)了聲音變速變調(diào)效果,同時保持了原始聲音的自然度。
為了實現(xiàn)這一目的,本發(fā)明的技術(shù)方案為一種實現(xiàn)聲音變速變調(diào)的系統(tǒng),該系統(tǒng) 由以下4個部分組成輸入緩存模塊,將待處理聲音信號數(shù)據(jù)讀入緩存;變調(diào)處理模塊,對 聲音信號進行變調(diào)處理以改變聲音的音調(diào);變速不變調(diào)處理模塊,對聲音信號進行變速不 變調(diào)處理,以改變語速但音調(diào)不變;數(shù)據(jù)輸出模塊,把上述變速變調(diào)信號輸出。變調(diào)模塊是 利用重采樣處理技術(shù)和低通濾波處理技術(shù)實現(xiàn)的。變速不變調(diào)處理模塊包括分割數(shù)據(jù)模 塊,根據(jù)變速系數(shù)利用窗口函數(shù)從原始語音信號中提取出一串信號子系列(即小段聲音); 和連接數(shù)據(jù)模塊,將這些信號子系列按它們的時間先后順序連接起來。 由于變調(diào)處理技術(shù)與變速不變調(diào)處理技術(shù)是相互獨立的,所有在本發(fā)明中實現(xiàn)變 速變調(diào)系統(tǒng)時有兩種情況(l)先對原始音頻信號進行變調(diào)處理以得到變調(diào)信號,再對變 調(diào)信號進行變速不變調(diào)處理,這樣就得到所期望的變速變調(diào)信號;(2)先對原始音頻信號 進行變速不變調(diào)處理,以得到變速信號,再對變速信號進行變調(diào)處理,這樣也得到所期望的 變速變調(diào)信號。 本發(fā)明的優(yōu)點在于以很低算法復(fù)雜度實現(xiàn)了音頻的變速不變調(diào)功能和變速變調(diào) 功能,并不引入噪聲,提高了處理后的聲音質(zhì)量。
圖1為適用于本發(fā)明的系統(tǒng)環(huán)境; 圖2為本發(fā)明的典型的應(yīng)用實例 圖3為常見的聲音頻率(基音頻率); 圖4為靜音門檻曲線; 圖5為遮蔽門檻曲線; 圖6為原始信號分段圖; 圖7為信號段連接圖; 圖8為窗口函數(shù)中相關(guān)參數(shù)之間的關(guān)系; 圖9為本發(fā)明的聲音變速不變調(diào)實施例1的算法流程圖; 圖10為本發(fā)明的聲音變速不變調(diào)實施例2的算法流程圖; 圖11為本發(fā)明的聲音變速變調(diào)系統(tǒng)實施例1的邏輯框圖; 圖12為本發(fā)明的聲音變速變調(diào)系統(tǒng)實施例2的邏輯框圖。
具體實施例方式
在本發(fā)明的較佳實施例的下述描述中,參考了作為說明書一部分的附圖進行描 述,所述
了本發(fā)明可以采用的特定實施例。本領(lǐng)域技術(shù)人員應(yīng)該理解在不背離本 發(fā)明精神的情況下,還可以使用其它實施例或?qū)@些實施例進行修改。這都沒有超出本發(fā) 明的公開范圍。 l.O示范工作環(huán)境以及應(yīng)用 圖1示出了可以實現(xiàn)本發(fā)明的一種合適的系統(tǒng)實例。該系統(tǒng)只是一個合適的系統(tǒng) 實例,并不是要將本發(fā)明的使用和功能范圍局限在該系統(tǒng)中,也不是要將系統(tǒng)解釋為與示 范硬件系統(tǒng)中所示部件之一或其組合具有聯(lián)系或要求。 本發(fā)明可以在許多其它通用或?qū)S孟到y(tǒng)環(huán)境或配置中工作。適用于本發(fā)明的系統(tǒng)、環(huán)境和/或配置的實例可以包括(但不局限于)多媒體計算機、MP3機、MP4機、數(shù)碼學(xué) 習(xí)機、VCD、 DVD、 KTV系統(tǒng)、家用音響系統(tǒng),等等。 如圖l所示,一種執(zhí)行本發(fā)明的示范系統(tǒng)包括以數(shù)字多媒體系統(tǒng)形式出現(xiàn)的通 用設(shè)備。該系統(tǒng)100的部件包括(但不局限于)處理單元114、系統(tǒng)存儲器101和系統(tǒng)總 線112,它將處理器114、系統(tǒng)存儲器、輸入設(shè)備117、輸出設(shè)備、網(wǎng)絡(luò)設(shè)備以及其他硬件模塊 109等連接在一起。輸入設(shè)備117包括(但不局限于)鼠標(biāo)、鍵盤、控制鍵板、或者調(diào)制解 調(diào)器等,負責(zé)接收用戶所輸入的命令或者數(shù)據(jù),它通過用戶輸入接口 118接入系統(tǒng);輸出設(shè) 備,如揚聲器113,通過輸出外圍接口與接入系統(tǒng);系統(tǒng)可以在使用物理連接一個或多個遠 程設(shè)備的聯(lián)網(wǎng)環(huán)境中運行,該遠程設(shè)備115可以是個人計算機、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對 等設(shè)備。系統(tǒng)通常包括各種存放數(shù)據(jù)的可讀媒體。這些媒體可以包括(但不局限于)存 儲媒體和通信媒體。存儲媒體包括易失和非易失、可移動和非可移動媒體,比如RAM、 ROM、 EEPROM、閃存或其它存儲器技術(shù)、CD-ROM、數(shù)字通用光盤(DVD)或其它光盤存儲、磁帶盒、磁 帶、磁盤存儲。這些媒體可以用于任何存儲信息,例如可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它 數(shù)據(jù)的方法或技術(shù)實現(xiàn)。通信媒體通常包含計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它調(diào) 制數(shù)據(jù)信號(例如載波)或其它傳輸機制中的數(shù)據(jù),并且包括任何信息傳遞媒體。通信媒 體包括(但不局限于)有線媒體例如有線網(wǎng)絡(luò)或直線連接、以及無線媒體例如聲音、RF、紅 外線和其它無線媒體。上述媒體的任意組合也應(yīng)包含在可讀媒體的范疇。系統(tǒng)中系統(tǒng)存儲 器中的音頻解碼模塊105和掛在系統(tǒng)總線音頻解碼模塊110的作用都是把經(jīng)過壓縮編碼的 音頻流解碼為PCM格式的數(shù)據(jù),但105與110是有區(qū)別的,音頻解碼模塊105是軟件,它的 運行效率與系統(tǒng)的處理器的主頻有很大的關(guān)系,而音頻解碼模塊110是音頻解碼的專用芯 片,它的運行效率只與它自身的運算速度有關(guān),通常來講它的運行效率比較高。
本發(fā)明的典型應(yīng)用如圖2所示,這種應(yīng)用包括(但不局限于)學(xué)習(xí)語言、唱歌、聽 音樂、練習(xí)唱歌等。其整個應(yīng)用的功能模塊包括用戶輸入模塊202、輸入緩存模塊203、音頻 解碼模塊204、其他處理模塊205、變速變調(diào)處理模塊206、播放模塊207。用戶輸入模塊202 用于接收用戶設(shè)置各種參數(shù),比如變調(diào)系數(shù)n和變速系數(shù)a ,輸入的方式可以包括(但不 局限于)鍵盤輸入、遙控器輸入、按鍵輸入等等;輸入緩存模塊203用于存放讀入的、壓縮 的音頻流,這些音頻流的格式包括(但不局限于)包括MP3、RM、MPG、AC3等;音頻解碼模塊 204作用是把MP3、RM、MPG、AC3等格式的音頻數(shù)據(jù)解碼為數(shù)字聲音的波形數(shù)據(jù);其他處理模 塊205的作用是對解碼出來的數(shù)據(jù)進行其他方面的處理,這些處理包括(但不局限于)重 采樣、調(diào)整音量等;變速變調(diào)處理模塊206的作用是聲音進行變速、變調(diào)方面的處理,其具 體方法將在后面詳細闡述;播放模塊207的作用是數(shù)字聲音信號進行D/A轉(zhuǎn)換、前置放大、 功率放大等處理,把聲音播放出來。 現(xiàn)在,已經(jīng)討論了本發(fā)明的示范操作環(huán)境和示范應(yīng)用,本說明書部分的剩余內(nèi)容 將致力于描述實現(xiàn)本發(fā)明的程序模塊。
2. 0音頻的變速不變調(diào)處理方法 當(dāng)人耳聽到聲音時,立即可以辨別是哪種聲音。對應(yīng)于這種辨認(rèn)的聽覺印象即為 音色。音色主要決定于聲音的頻譜,即基音和各次諧音的組成,也和波形、聲壓及聲音的時 間特性有關(guān)系。如果將留聲機的唱片反向轉(zhuǎn)動,聲音的頻譜雖然未變,音色卻顯著改變了。 這說明音色在很大程度上與各泛音在開始時和終了時振幅上升和下降的特點有關(guān)系。在這里,本發(fā)明先定義一個概念音波——在某單一音色的聲音的基波持續(xù)一個周期內(nèi),基波 和它的所有諧次波所合成的波。本發(fā)明認(rèn)為,人耳能夠具體分辨出聲音的條件是人耳必須 聽到一個以上的完整的音波。圖3列出了一些常聽到的聲音的頻率。從圖中可以看出,人 們常聽到的聲音的一個音波所持續(xù)的時間多則幾十毫秒,少則一百微秒,但通常是幾毫秒。 在一列由多個音波組成的聲音中,刪除一個以上的音波后只要剩下的音波中還有完整的音 波,或者在這列音波持續(xù)的時刻增加一個(以上)同樣的音波,人耳就有可能把這種聲音分 辨出來。由于聲音是由時間上錯落有致的、大量的音波系列組成,每個音波列所持續(xù)的時間 是有限的,長的則幾秒甚至數(shù)分鐘,短的則幾十毫秒到幾毫秒甚至一毫秒以下。圖4顯示的 是靜音門檻曲線,表示在安靜的環(huán)境中,某一頻率的聲音被聽見的條件是該聲音的強度必 須大于它所對應(yīng)的靜音門檻值。在嘈雜的環(huán)境中,并不是所有強度高于靜音門檻曲線中相 應(yīng)門檻值的聲音都能被聽見,這是因為強度高的聲音可能會遮蔽它頻率附近的強度較低的
聲音而使得人們不能聽見,如圖5所示。這也就解釋了為什么在吵鬧的環(huán)境中,人們說話時 都放大嗓門以便于讓別人聽清楚。 本發(fā)明實現(xiàn)聲音的變速不變調(diào)的技術(shù)方案如下 利用窗口函數(shù)從原始聲音信號中分割出一串信號子系列(即小段聲音),該一串
信號子系列包括至少兩個信號子系列,根據(jù)變速系數(shù)a不同,連續(xù)兩個子系列有部分信號
是交叉的(如圖6中的601),或者沒有交叉甚至相隔一段距離(如圖6中的602);將這些
信號子系列按它們的時間先后順序連接起來就改變了聲音數(shù)據(jù)長度(如圖7中所示),從而
實現(xiàn)了聲音的慢放或快放——達到預(yù)期的效果。當(dāng)a > 1時,聲音的速度被加快;0. 5《a
< 1時,聲音的速度被放慢。 上述的窗口函數(shù)是這樣構(gòu)造的
'/ ("), 0 S " < /r
1, /r2w</e (1)
—"), /e^"</w
并且,當(dāng)0《n〈lT時,
0《P (n) < P (n+1)《1 (2) P (n)可以是三角窗、Hanning窗、Hammiing窗、或者Blackman窗等窗函數(shù)的前半 部分,還可以是正弦窗的半部分或者是滿足式(2)的其他數(shù)列;lw為窗口長度;^為一個窗 口中有效數(shù)據(jù)的長度,在本發(fā)明中被定義為窗口中權(quán)值大于0. 5的數(shù)據(jù)長度;1T為窗口的 過渡段的長度;如圖8所示,lw和^, lT之間的關(guān)系如下
lw = le+lT (3) 按照式(1)構(gòu)造的窗函數(shù)就是一個低通濾波器。在利用窗口函數(shù)去分割原始聲音 信號時,不可避免地會把一些音波一分為二,而產(chǎn)生新的音波。為了使新音波形成的聲音的 強度遠低于它的靜音門檻值,這要求P (n)變化平坦,即要求lT足夠大。通常,1t取10his 左右即可。從發(fā)聲機理知,一個完整的音包含有產(chǎn)生、發(fā)展、消亡的過程。與此相對應(yīng),構(gòu)成 該聲音的音波系列也有產(chǎn)生、發(fā)展(成長)、消亡(演變)的變化過程及形態(tài),即持續(xù)一段時 間。窗口長度lw是影響變速效果的一個重要因素,如果幀長選擇的太小,很多音波被破壞 引起低頻部分失真,如果lw選擇過大又會引入不連續(xù)的回聲。經(jīng)過大量的測試,具體實施 時窗口長度lw(即幀長)選擇30ms 40ms為宜。
2. 1變速不變調(diào)的方法的實施例1 當(dāng)系統(tǒng)有很大的內(nèi)存可用并且一下子可以處理完所有音頻數(shù)據(jù)時,本發(fā)明涉及到 的變速不變調(diào)處理的系統(tǒng)流程的實施例1如圖7所示,在本實施例中,把原始信號一下子讀 入到輸入緩存區(qū),根據(jù)變速系數(shù),利用本發(fā)明中所述的窗口函數(shù)從原始聲音信號分割出一 聯(lián)串的信號子系列(即小段聲音),再將這些信號子系列按它們的時間先后順序連接起來 就能得到所期望的信號。其具體步驟如下 步驟901,系統(tǒng)初始化根據(jù)聲音信號的采樣率和所要求的變速系數(shù)計算出窗口 長度(即窗口函數(shù)的點數(shù))以及按照式(1)構(gòu)造窗口函數(shù),和相鄰段數(shù)據(jù)的起始位置之間 的距離。由于一次讀入緩存的數(shù)據(jù)的采樣數(shù)為1 > 2L,其中L為窗口長度,因此相鄰段數(shù) 據(jù)的起始位置之間的距離ls計算方式如下
ls = le a (4) 步驟902,輸入緩存把所有原始信號數(shù)據(jù)讀入緩存; 步驟903,分割數(shù)據(jù)采用加窗的方式從原始信號數(shù)據(jù)中提出一聯(lián)串的信號子系 列(即小段聲音),前后兩個子系列在原始信號中的距離由式(4)確定,而窗口函數(shù)由式 (1)構(gòu)造。 步驟904,連接數(shù)據(jù)根據(jù)每段信號在時間上的先后順序把步驟903得到的子系列 連接起來,這就形成所求的變速信號。相鄰的子系列的連接方式為把前一子系列的窗口尾 部過渡數(shù)據(jù)與后一子系列的窗口頭部過渡數(shù)據(jù)相加,即假設(shè)第i段窗口尾部過渡數(shù)據(jù)系列 為Xj(0《j < 1T),第i+l段窗口頭部過渡數(shù)據(jù)系列為yj(O《j < 1T),相應(yīng)生成的數(shù)據(jù)Zj, 那么, Zj = Xj+yj (5) 步驟905,數(shù)據(jù)輸出把經(jīng)過上述幾個步驟處理得到變速不變調(diào)信號輸出。 步驟906,結(jié)束。 2. 2變速不變調(diào)的方法的實施例2 當(dāng)系統(tǒng)的可用內(nèi)存很小或者需要實時處理時,這時一次讀入緩存的數(shù)據(jù)的采樣數(shù) 1《2L,因此每次讀入一幀原始信號數(shù)據(jù),把它處理成兩段,將這兩段數(shù)據(jù)連接就能得到變 速的信號。具體實施方法如圖IO所示,其步驟如下
步驟IOOI,系統(tǒng)初始化與實施例1中的步驟901相同。 步驟1002,輸入數(shù)據(jù)讀取幀長為1原始信號數(shù)據(jù)到輸入數(shù)據(jù)模塊中,其中數(shù)據(jù)長
度1計算方法如下 當(dāng)變速系數(shù)a > 1時, 1 = le a 當(dāng)變速系數(shù)0. 5《a < 1時,
1 = le 步驟1003,分割數(shù)據(jù)對步驟702讀入的原始信號數(shù)據(jù)分割為兩段,分割的方法如 下 當(dāng)變速系數(shù)a > 1時,前一段數(shù)據(jù)為從本次讀出數(shù)據(jù)的最前面的,長度為L的數(shù) 據(jù);后一段數(shù)據(jù)為本次讀出數(shù)據(jù)的最后的,長度為1T的那段數(shù)據(jù)。 當(dāng)變速系數(shù)O. 5《a < 1時,前一段數(shù)據(jù)為從本次所讀出的數(shù)據(jù)本身;后一段數(shù)據(jù)為本次讀出數(shù)據(jù)的最后的、長度為lend = le _1)+1T的那段數(shù)據(jù),如果lend > le,則
需要利用前一次讀入數(shù)據(jù)的最后長度為ld = 步驟1004,連接數(shù)據(jù)把步驟1003所得到的兩段數(shù)據(jù)連接起來。連接處的處理方
式為把前一段數(shù)據(jù)的窗口尾部過渡數(shù)據(jù)與后一段數(shù)據(jù)的窗口頭部過渡數(shù)據(jù)相加,即假設(shè)
前一段數(shù)據(jù)尾部長度為1T的數(shù)據(jù)系列為Xj(0《j < 1》,后一段數(shù)據(jù)頭部長度為1T的數(shù)
據(jù)系列為yj(O《j < 1》,連接處的數(shù)據(jù)系列Zj(0《j < 1》,本發(fā)明中所述窗口函數(shù)(式
(l))系列的最后長為1T的系列為MO《j < 1》,那么, Zj = Xj |3 (le+j)+yj [1—P (le+j)] , (0《j < 1T) (6) 其中,|3 (j)為本發(fā)明中定義的窗口函數(shù)(式(l))。 步驟1005,數(shù)據(jù)輸出把經(jīng)過上述幾個步驟處理得到信號輸出。 步驟1006,轉(zhuǎn)到步驟1002,接著處理下一幀數(shù)據(jù)。 步驟1007,結(jié)束。 2. 3超慢速播放處理方法 當(dāng)a《0. 5時,播放的速度非常慢,其處理方式是將分割數(shù)據(jù)得到數(shù)據(jù)重復(fù)1/a 次,再把它們采用上述的方法連結(jié)起來,這樣就可以達到所期望的語速。為此,這里不再詳 述。 大量實驗表明,本發(fā)明提出的方法對于變速系數(shù)a為0. 5 2內(nèi)的變速處理都能 獲得非常好的處理效果,不引入噪聲,同時實現(xiàn)了聲音的保真。
3. 0音頻信號的變速變調(diào)系統(tǒng) 本發(fā)明的音頻信號的變速變調(diào)系統(tǒng)由以下4個部分組成輸入緩存模塊,將待處 理聲音信號數(shù)據(jù)讀入緩存;變調(diào)處理模塊,先利用離散信號的重采樣的方法對聲音進行重 采樣,使聲音的頻譜收縮或者擴張,再對經(jīng)過重采樣的信號進行低通濾處理就達到變調(diào)的 效果;變速不變調(diào)處理模塊,對聲音信號進行變速不變調(diào)處理,以改變語速但音調(diào)不變;數(shù) 據(jù)輸出模塊,把上述變速變調(diào)信號輸出。其中變速不變調(diào)處理模塊包括分割數(shù)據(jù)模塊,采用 窗口函數(shù),根據(jù)變速系數(shù)從原始語音信號中提取出一串信號子系列(即小段聲音);和連接 數(shù)據(jù)模塊,將這些信號子系列按它們的時間先后順序連接起來就得到變速不變調(diào)信號。
假設(shè)變調(diào)系數(shù)是n :當(dāng)n > 1時,表示升調(diào);當(dāng)n < 1時,表示降調(diào)。變速系數(shù) 是a ,那么在對音頻信號進行變速處理時,變速系數(shù)將變?yōu)閍 ' = a / n ,其中a是原來的 變速系數(shù)。從上述可知,有兩種實現(xiàn)變速不變調(diào)的方法。方法一如圖ll所示,先對原始音 頻信號進行變調(diào)系數(shù)為n的重采樣和低通濾波處理1103,在對低通濾波后的信號進行變 速系數(shù)為a'的變速處理1104,這樣達到變調(diào)系數(shù)為n、變速系數(shù)為a的變速變調(diào)效果。 方法二如圖12所示先對原始音頻信號進行變速系數(shù)為a '的變速處理1203,再變速信號 進行變調(diào)系數(shù)為n的重采樣和低通濾波處理1204,這樣也能達到變調(diào)系數(shù)為n、變速系數(shù) 為a的變速變調(diào)效果。 以上所述僅為本發(fā)明的過程及方法實施例,并不用以限制本發(fā)明,凡在本發(fā)明的 精神和原則之內(nèi)所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
一種實現(xiàn)聲音變速不變調(diào)的方法,其特征在于該方法的技術(shù)方案包含4個主要步驟A.輸入緩存對將要被處理的原始音頻信號讀入緩存中;B.分割數(shù)據(jù)采用窗口函數(shù),根據(jù)變速系數(shù)從原始語音信號中提取出一串信號子系列(即小段聲音);C.連接數(shù)據(jù)將這些信號子系列按它們的時間先后順序連接起來就得到變速不變調(diào)信號;D.輸出緩存把處理過的音頻信號輸出出去。
2. 如權(quán)利要求1所述的聲音變速不變調(diào)的方法,其特征在于分割數(shù)據(jù)步驟利用窗口函數(shù)分割待變速聲音信號,其中窗口函數(shù)通過下面的方式構(gòu)造'風(fēng)"), 0《"< /r= j 1, " < /e (1 )并且,當(dāng)0《n < 1T時,0《P (n) < P (n+1)《1 (2)P (n)是三角窗、Harming窗、Hammiing窗、或者是Blackman窗的前半部分,或者是正 弦窗的半部分或者是滿足式(2)的其他數(shù)列;lw為窗口長度;L為一個窗口中有效數(shù)據(jù)的 長度,在此被定義為窗口中權(quán)值大于0.5的數(shù)據(jù)長度;lT為窗口的過渡段的長度;lw和I" lT之間的關(guān)系如下lw = le+lT (3)
3. 如權(quán)利要求2所述的聲音變速變調(diào)的方法,其特征在于一次讀入緩存的數(shù)據(jù)的采樣數(shù)為1, 1 > 2L,利用式(1)定義的窗口把讀入的音頻信號分割成多個信號子系列,相鄰子系列的起始位置之間的距離ls計算方式如下 ls = le a (4)。其中,a為變速系數(shù),當(dāng)a > 1時,聲音加速;當(dāng)0< a < l時,聲音放慢。
4. 如權(quán)利要求2所述的聲音變速變調(diào)的方法,其特征在于一次讀入緩存的數(shù)據(jù)的采 樣數(shù)為l,l《2L,把讀入的音頻信號分割成兩個信號子系列,分割方式是①當(dāng)a > 1時, 前一子系列為從本次讀出數(shù)據(jù)的最前面的,長度為1/a的數(shù)據(jù)(但最后1t個采祥與窗口 系列式(1)中尾部lT個數(shù)據(jù)相乘),后一子系列為本次讀出數(shù)據(jù)的最后的,長度為1T的那 段數(shù)據(jù)(但頭部的lT個采樣與窗口系列式(1)的頭部lT個數(shù)據(jù)相乘);②當(dāng)0.5《a <1 時,前一子系列為從本次所讀出的數(shù)據(jù)本身(但最后It個采祥與窗口系列式(1)中尾部1T 個數(shù)據(jù)相乘);后一子系列為本次讀出數(shù)據(jù)的最后的、長度為l^二l(l/a-l)+lT的那段數(shù) 據(jù),如果lmd > l,則利用前一次讀入數(shù)據(jù)的最后長度為ld = lmd_l補足,并且頭部的It個 采樣與窗口系列式(1)的頭部lT個數(shù)據(jù)相乘。
5. 如權(quán)利要求1所述的聲音變速不變調(diào)的方法,其特征在于把分割出來的子系列按 照它們的時間先后順序連接起來,連接處的處理方式為把前一子系列的尾部過渡數(shù)據(jù)與 后一段數(shù)據(jù)的頭部過渡數(shù)據(jù)相加,即假設(shè)前一子系列尾部長度為1T的數(shù)據(jù)系列為Xj(0《j< 1T),后一子系列頭部長度為1T的數(shù)據(jù)系列為yj (0《j < 1T),連接處的數(shù)據(jù)系列Zj (0《j< 1》,那么,<formula>formula see original document page 3</formula> (5)。
6. —種聲音變速、變調(diào)系統(tǒng),其特征在于該系統(tǒng)由以下4個部分組成輸入緩存模塊, 將待處理聲音信號數(shù)據(jù)讀入緩存;變調(diào)處理模塊,對聲音信號進行變調(diào)處理以改變聲音的 音調(diào);變速不變調(diào)處理模塊,對聲音信號進行變速不變調(diào)處理,以改變語速但音調(diào)不變;數(shù) 據(jù)輸出模塊,把上述變速變調(diào)信號輸出。
7. 如權(quán)利要求6所述的聲音變速、變調(diào)系統(tǒng),其特征在于變速不變調(diào)處理模塊包括分 割數(shù)據(jù)模塊,采用窗口函數(shù),根據(jù)變速系數(shù)從原始語音信號中提取出一串信號子系列(即 小段聲音);和連接數(shù)據(jù)模塊,將這些信號子系列按它們的時間先后順序連接起來就得到 變速不變調(diào)信號。
8. 如權(quán)利要求7所述的聲音變速、變調(diào)系統(tǒng),其特征在于分割數(shù)據(jù)模塊利用窗口函數(shù) 分割待變速聲音信號,其中窗口函數(shù)通過下面的方式構(gòu)造<formula>formula see original document page 3</formula>并且,當(dāng)0《n < 1T時,<formula>formula see original document page 3</formula>P (n)是三角窗、Harming窗、Hammiing窗、或者是Blackman窗的前半部分,或者是正 弦窗的半部分或者是滿足式(2)的數(shù)列;L為窗口長度;L為一個窗口中有效數(shù)據(jù)的長度, 在此被定義為窗口中權(quán)值大于0. 5的數(shù)據(jù)長度;1T為窗口的過渡段的長度;lw和U 1T之間 的關(guān)系如下lw = le+lT(8)。
9.如權(quán)利要求6所述的實現(xiàn)聲音變速變調(diào)的方法,其特征在于變調(diào)處理是在時域進 行的,先對音頻信號進行重采樣使聲音的頻譜收縮或擴展,再對該信號進行低通濾波處理,從而達到變調(diào)的效果,n為變調(diào)系數(shù)當(dāng)n > l時,表示升調(diào);當(dāng)n < l時,表示降調(diào)。那么在對音頻信號進行變速處理時,變速系數(shù)將變?yōu)閍' = a/n。
全文摘要
本發(fā)明公開了一種實現(xiàn)聲音變速變調(diào)的系統(tǒng),該系統(tǒng)由以下4個部分組成輸入緩存模塊,將待處理聲音信號數(shù)據(jù)讀入緩存;變調(diào)處理模塊,對聲音信號進行變調(diào)處理以改變聲音的音調(diào);變速不變調(diào)處理模塊,對聲音信號進行變速不變調(diào)處理,以改變語速但音調(diào)不變;數(shù)據(jù)輸出模塊,把上述變速變調(diào)信號輸出。變速不變調(diào)處理模塊包括分割數(shù)據(jù)模塊,采用窗口函數(shù),根據(jù)變速系數(shù)從原始語音信號中提取出一串信號子系列(即小段聲音);和連接數(shù)據(jù)模塊,將這些信號子系列按它們的時間先后順序連接起來就得到變速不變調(diào)信號。本發(fā)明的優(yōu)點在于以非常低的算法復(fù)雜度實現(xiàn)了音頻的變速不變調(diào)功能和變速變調(diào)功能,并不引入噪聲,提高了處理后的聲音質(zhì)量。
文檔編號G11B20/10GK101740034SQ20081020219
公開日2010年6月16日 申請日期2008年11月4日 優(yōu)先權(quán)日2008年11月4日
發(fā)明者劉盛舉, 周琴, 郝桂堂 申請人:劉盛舉;郝桂堂