專利名稱:一種合唱特效處理方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及聲音信號(hào)處理技術(shù)領(lǐng)域,尤其涉及一種合唱特效處理方法及系統(tǒng)。
背景技術(shù):
合唱特效是一種音頻特效技術(shù),目的是使單個(gè)語音,經(jīng)過算法處理,增加和聲,從而聽起來有合唱的效果。傳統(tǒng)的合唱特效處理方法的原理如圖1所示,是對(duì)信號(hào)進(jìn)行簡(jiǎn)單的延時(shí)混合處理,通常,對(duì)原始信號(hào)進(jìn)行多個(gè)35-50ms之間的延時(shí),并將原始信號(hào)與各被延時(shí)的信號(hào)結(jié)合起來,使一個(gè)聲音聽起來像兩個(gè)或更多的聲音,其傳輸函數(shù)為y[n]=x[n]+x[n-d1]+x[n-d2]+…+x[n-dm],其中,y[n]為合唱信號(hào),x[n]為原始信號(hào),x[n-di],di=d1,d2,...,dm為對(duì)原始信號(hào)延遲di時(shí)間后得到的延時(shí)信號(hào)。這樣雖然也能產(chǎn)生多個(gè)聲音合唱的效果,但由于只是對(duì)原始聲音的簡(jiǎn)單復(fù)制,各個(gè)聲音基本相同,因此合唱的效果并不明顯。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明中一方面提供一種合唱特效處理方法,另一方面提供一種合唱特效處理系統(tǒng),以便提高合唱的效果。
本發(fā)明所提供的合唱特效處理方法,包括 采用延遲時(shí)間函數(shù)對(duì)原始信號(hào)進(jìn)行延時(shí)處理,得到構(gòu)成合唱信號(hào)的至少一路信號(hào)。
其中,所述采用延遲時(shí)間函數(shù)對(duì)原始信號(hào)進(jìn)行延時(shí)處理為 設(shè)置自變量為時(shí)間、因變量為隨時(shí)間變化而隨機(jī)變化的低頻信號(hào)的延遲時(shí)間函數(shù); 將所述延遲時(shí)間函數(shù)的當(dāng)前函數(shù)值作為延遲因子,利用所述延遲因子對(duì)原始信號(hào)進(jìn)行延時(shí)處理。
其中,所述延遲時(shí)間函數(shù)為Δd=[Asin(n/FREQ)],其中,n為所述自變量,Δd為所述因變量,F(xiàn)REQ為預(yù)設(shè)的延遲變化周期,A為預(yù)設(shè)的延遲幅度,[]為取整符號(hào); 若作為延遲因子的當(dāng)前函數(shù)值為Δdn,且為整數(shù),則所述利用延遲因子對(duì)原始信號(hào)進(jìn)行延時(shí)處理為對(duì)原始信號(hào)x[n]進(jìn)行延遲處理為x[n-Δdn]; 若作為延遲因子的當(dāng)前函數(shù)值為Δdn,且為非整數(shù),則所述利用延遲因子對(duì)原始信號(hào)進(jìn)行延時(shí)處理為對(duì)原始信號(hào)x[n]進(jìn)行延遲處理為其中,Δd1和Δd2為與
相鄰的兩個(gè)整數(shù)。
此外,該方法進(jìn)一步包括對(duì)原始信號(hào)進(jìn)行變調(diào)處理,得到構(gòu)成合唱信號(hào)的至少一路信號(hào)。
其中,所述對(duì)原始信號(hào)進(jìn)行變調(diào)處理為根據(jù)變速比例,計(jì)算互相關(guān)搜索范圍內(nèi)的各搜索點(diǎn)對(duì)應(yīng)的原始信號(hào)的輸入信號(hào)與輸出信號(hào)的互相關(guān)值,確定各階段內(nèi)的最大互相關(guān)值,結(jié)合各階段的互相關(guān)權(quán)值,確定最終的最大互相關(guān)值,將最終確定的最大互相關(guān)值對(duì)應(yīng)的原始信號(hào)的輸入信號(hào)與輸出信號(hào)疊加,得到變速后的信號(hào); 根據(jù)變調(diào)比例,對(duì)變速后的信號(hào)進(jìn)行變采樣率處理,得到變調(diào)后的信號(hào)。
此外,該方法進(jìn)一步包括對(duì)原始信號(hào)進(jìn)行變聲處理,得到構(gòu)成合唱信號(hào)的至少一路信號(hào)。
其中,所述對(duì)原始信號(hào)進(jìn)行變聲處理為對(duì)原始信號(hào)進(jìn)行變調(diào)處理,得到第一信號(hào);對(duì)所述第一信號(hào)進(jìn)行音色處理,得到第二信號(hào);對(duì)所述第二信號(hào)進(jìn)行頻譜均衡處理,得到變聲后的信號(hào)。
其中,所述對(duì)第一信號(hào)進(jìn)行音色處理,得到第二信號(hào)包括 對(duì)所述第一信號(hào)進(jìn)行加窗處理,得到信號(hào)z(n); 將所述信號(hào)z(n)從時(shí)域轉(zhuǎn)換到頻域,得到信號(hào)Z(k); 從所述信號(hào)Z(k)中提取譜包絡(luò)U(k); 擴(kuò)展或壓縮所述譜包絡(luò)U(k),得到新的譜包絡(luò)U′(k); 根據(jù)所述譜包絡(luò)U(k)和U′(k)確定所述信號(hào)Z(k)的加權(quán)系數(shù)Uo(k),并對(duì)所述信號(hào)Z(k)進(jìn)行加權(quán),得到信號(hào)Z′(k); 將所述信號(hào)Z′(k)從頻域轉(zhuǎn)換到時(shí)域,得到信號(hào)z′(n); 對(duì)所述信號(hào)z′(n)做加窗處理,得到所述第二信號(hào)。
較佳地,構(gòu)成合唱信號(hào)之前,進(jìn)一步包括對(duì)各路信號(hào)進(jìn)行加權(quán)處理。
本發(fā)明所提供的合唱特效處理系統(tǒng),包括 合成模塊,用于將所接收的各路信號(hào)進(jìn)行疊加后,合成合唱信號(hào); 至少一個(gè)函數(shù)延時(shí)模塊,其中,每個(gè)函數(shù)延時(shí)模塊用于對(duì)原始信號(hào)采用延遲時(shí)間函數(shù)進(jìn)行延時(shí)處理后得到一路信號(hào),將所得到的一路信號(hào)向合成模塊輸出。
其中,所述函數(shù)延時(shí)模塊包括 延遲因子計(jì)算模塊,用于根據(jù)預(yù)先設(shè)置的自變量為時(shí)間,因變量為隨時(shí)間變化而隨機(jī)變化的低頻信號(hào)的延遲時(shí)間函數(shù),計(jì)算當(dāng)前函數(shù)值,將所計(jì)算的作為延遲因子; 延時(shí)處理模塊,用于利用延遲因子計(jì)算模塊得到的延遲因子,對(duì)原始信號(hào)進(jìn)行延時(shí)處理后得到一路信號(hào)向合成模塊輸出。
此外,該系統(tǒng)進(jìn)一步包括至少一個(gè)變調(diào)模塊,其中, 每個(gè)變調(diào)模塊用于對(duì)原始信號(hào)進(jìn)行變調(diào)處理后得到一路信號(hào),將所得到的一路信號(hào)向合成模塊輸出。
其中,所述變調(diào)模塊包括 變速處理模塊,用于根據(jù)變速比例,計(jì)算互相關(guān)搜索范圍內(nèi)的各搜索點(diǎn)對(duì)應(yīng)的原始信號(hào)的輸入信號(hào)與輸出信號(hào)的互相關(guān)值,確定各階段內(nèi)的最大互相關(guān)值,結(jié)合各階段的互相關(guān)權(quán)值,確定最終的最大互相關(guān)值,將最終確定的最大互相關(guān)值對(duì)應(yīng)的原始信號(hào)的輸入信號(hào)與輸出信號(hào)疊加,得到變速后的信號(hào); 變調(diào)處理模塊,用于根據(jù)變調(diào)比例,對(duì)變速處理模塊得到的變速后的信號(hào)進(jìn)行變采樣率處理,得到變調(diào)后的一路信號(hào),并向合成模塊輸出。
此外,該系統(tǒng)進(jìn)一步包括至少一個(gè)變聲模塊,其中, 每個(gè)變聲模塊用于對(duì)原始信號(hào)進(jìn)行變聲處理后得到一路信號(hào),并將所得到的一路信號(hào)向合成模塊輸出。
其中,所述變聲模塊包括 變調(diào)處理模塊,用于對(duì)原始信號(hào)進(jìn)行變調(diào)處理,得到第一信號(hào); 音色處理模塊,用于對(duì)所述第一信號(hào)進(jìn)行音色處理,得到第二信號(hào); 頻譜均衡處理模塊,用于對(duì)所述第二信號(hào)進(jìn)行頻譜均衡處理,得到變聲后的一路信號(hào),并向合成模塊輸出。
較佳地,該系統(tǒng)進(jìn)一步包括系數(shù)加權(quán)模塊,用于對(duì)輸入合成模塊之前的各路信號(hào)進(jìn)行加權(quán)處理后,輸出給合成模塊。
從上述方案可以看出,本發(fā)明中通過對(duì)原始信號(hào)采用延遲時(shí)間函數(shù)進(jìn)行延時(shí)處理得到構(gòu)成合唱信號(hào)的至少一路信號(hào),使得在時(shí)域上進(jìn)行了改進(jìn)的延時(shí)混合處理,使聲音的同步顯得更加自然,有效提高了合唱的效果。
此外,本發(fā)明中還可以通過對(duì)原始信號(hào)進(jìn)行變調(diào)處理得到構(gòu)成合唱信號(hào)的至少一路信號(hào),使得不僅在時(shí)域上進(jìn)行了改進(jìn)的延時(shí)混合處理,同時(shí)在頻域上進(jìn)行變調(diào)處理,使得處理后的信號(hào)在時(shí)域和頻域都有豐富的層次感,大大提高了合唱特效的效果。
進(jìn)一步地,還可以再通過對(duì)原始信號(hào)進(jìn)行變聲處理得到構(gòu)成合唱信號(hào)的至少一路信號(hào),從而在通過變調(diào)實(shí)現(xiàn)語音變聲的基礎(chǔ)上,根據(jù)聲音的特質(zhì),增加了對(duì)音色的調(diào)整和對(duì)頻譜的均衡處理,使經(jīng)過變聲處理的聲音更加自然,顯著提高了合唱的效果。
最后,本發(fā)明中通過對(duì)合成合唱信號(hào)之前的各路信號(hào)進(jìn)行加權(quán)處理,使得合唱信號(hào)中各路信號(hào)的強(qiáng)度可調(diào),合唱效果可根據(jù)需要靈活控制,并且使整體音量大小滿足需求,合唱效果最佳。
圖1為現(xiàn)有技術(shù)中合唱特效處理方法的原理圖。
圖2為本發(fā)明實(shí)施例中合唱特效處理方法的原理圖。
圖3為本發(fā)明實(shí)施例中音色處理方法的流程圖。
圖4為本發(fā)明實(shí)施例中合唱特效處理系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施例方式 本發(fā)明實(shí)施例中,通過對(duì)原始信號(hào)采用延遲時(shí)間函數(shù)進(jìn)行延時(shí)處理得到合唱信號(hào)中的至少一路信號(hào)。
進(jìn)一步地,通過對(duì)原始信號(hào)進(jìn)行變調(diào)處理得到合唱信號(hào)中的至少一路信號(hào)。
此外,進(jìn)一步地,通過對(duì)原始信號(hào)進(jìn)行變聲處理得到合唱信號(hào)中的至少一路信號(hào)。
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下面結(jié)合實(shí)施例和附圖,對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。
圖2為本發(fā)明實(shí)施例中合唱特效處理方法的原理圖。如圖2中的實(shí)線部分所示,該方法中,對(duì)構(gòu)成合唱信號(hào)的至少一路信號(hào),可通過對(duì)原始信號(hào)采用延遲時(shí)間函數(shù)進(jìn)行延時(shí)處理得到,記為x[n-Δd]。其中,Δd為延遲的時(shí)間。
具體實(shí)現(xiàn)時(shí),對(duì)構(gòu)成合唱信號(hào)的至少一路信號(hào),可分別設(shè)置不同的延遲時(shí)間函數(shù),且延遲時(shí)間函數(shù)的種類可有多種,例如,其中一種可以為自變量為時(shí)間、因變量為隨時(shí)間變化而隨機(jī)變化的低頻信號(hào)的延遲時(shí)間函數(shù),則采用延遲時(shí)間函數(shù)對(duì)每路信號(hào)進(jìn)行延時(shí)處理時(shí),可將該延遲時(shí)間函數(shù)對(duì)應(yīng)當(dāng)前采樣點(diǎn)的當(dāng)前函數(shù)值作為當(dāng)前延遲因子,利用該延遲因子對(duì)原始信號(hào)進(jìn)行延時(shí)處理。
例如,對(duì)其中的一路信號(hào),可設(shè)置如下式所示的延遲時(shí)間函數(shù) Δd=[Asin(n/FREQ)],其中,n為自變量時(shí)間,Δd為因變量函數(shù)值,F(xiàn)REQ為預(yù)設(shè)的延遲變化周期,A為預(yù)設(shè)的延遲幅度,[]為取整符號(hào)。其中,F(xiàn)REQ和A的取值可根據(jù)需要而定。對(duì)不同路的信號(hào),F(xiàn)REQ和A的取值可以不同。
對(duì)于上述時(shí)間延遲函數(shù),若作為延遲因子的當(dāng)前函數(shù)值為Δdn,且為整數(shù),則利用延遲因子對(duì)原始信號(hào)進(jìn)行延時(shí)處理時(shí),可直接將原始信號(hào)x[n]進(jìn)行延遲處理為x[n-Δdn]。
若作為延遲因子的當(dāng)前函數(shù)值為Δdn,且為非整數(shù),則利用延遲因子對(duì)原始信號(hào)進(jìn)行延時(shí)處理時(shí),為避免由于Δn的時(shí)變性,造成直接根據(jù)Δdn進(jìn)行延時(shí)處理時(shí)x[n-Δdn]代表的信號(hào)的不連續(xù),進(jìn)而產(chǎn)生噪音,可以采用一種平滑處理的方法,即利用與
相鄰的兩個(gè)整數(shù)Δd1和Δd2,及用這兩個(gè)整數(shù)Δd1和Δd2作為延遲因子時(shí)得到的延時(shí)信號(hào),計(jì)算出x[n-Δdn]所代表的信號(hào),具體計(jì)算過程可以如下式所示 即,利用延遲因子對(duì)原始信號(hào)進(jìn)行延時(shí)處理時(shí),對(duì)原始信號(hào)x[n]進(jìn)行延遲處理為 即可以為 此外,具體實(shí)現(xiàn)時(shí),時(shí)間延遲函數(shù)除了可以為上述所示的函數(shù),還可以為其它函數(shù),具體可根據(jù)實(shí)際需要設(shè)定。
如圖2中的虛線部分所示,該方法中還可以進(jìn)一步包括對(duì)構(gòu)成合唱信號(hào)的至少一路信號(hào),通過對(duì)原始信號(hào)進(jìn)行變調(diào)處理得到,記為w(n)。
變調(diào)的目的是在不改變聲音的總長(zhǎng)度的情況下,改變聲音的音調(diào),將音調(diào)升高或者降低。變調(diào)的過程實(shí)際上是將聲音的頻譜進(jìn)行擴(kuò)展,同時(shí)原先各諧波成分之間的關(guān)系仍然保留。
具體實(shí)現(xiàn)時(shí),變調(diào)處理的方法可有多種,主要分為時(shí)域算法和頻域算法兩大類。頻域算法一般采用相位聲碼器(Phase Vocoder)實(shí)現(xiàn);時(shí)域算法一般采用變速加變采樣率的方法實(shí)現(xiàn),此外還可以采用改進(jìn)后的變速加變采樣率的方法實(shí)現(xiàn)。
其中,改進(jìn)后的變速加變采樣率的方法主要包括根據(jù)變速比例,計(jì)算互相關(guān)搜索范圍內(nèi)的各搜索點(diǎn)對(duì)應(yīng)的原始信號(hào)的輸入信號(hào)與輸出信號(hào)的互相關(guān)值,確定各階段內(nèi)的最大互相關(guān)值,結(jié)合各階段的互相關(guān)權(quán)值,確定最終的最大互相關(guān)值,將最終確定的最大互相關(guān)值對(duì)應(yīng)的原始信號(hào)的輸入信號(hào)與輸出信號(hào)疊加,得到變速后的信號(hào);根據(jù)變調(diào)比例,對(duì)變速后的信號(hào)進(jìn)行變采樣率處理,得到變調(diào)后的信號(hào)。
其中,根據(jù)變調(diào)比例,對(duì)變速后的信號(hào)進(jìn)行變采樣率處理包括根據(jù)變調(diào)比例確定增采樣系數(shù)和降采樣系數(shù),將增采樣系數(shù)分割成一個(gè)以上的子增采樣系數(shù),根據(jù)各子增采樣系數(shù)對(duì)變速后的信號(hào)進(jìn)行分級(jí)增采樣和低通濾波處理,然后根據(jù)降采樣系數(shù),對(duì)低通濾波處理后的信號(hào)進(jìn)行降采樣處理。
此外,有關(guān)改進(jìn)后的變速加變采樣率的方法的更加詳細(xì)的描述,請(qǐng)參考已公開的中國申請(qǐng)?zhí)枮椤?00610152083.1”的發(fā)明專利。
又如圖2中的虛線部分所示,該方法中還可以進(jìn)一步包括對(duì)構(gòu)成合唱信號(hào)的至少一路信號(hào),通過對(duì)原始信號(hào)進(jìn)行變聲處理得到,記為v(n)。
其中,對(duì)原始信號(hào)進(jìn)行變聲處理主要包括對(duì)原始信號(hào)進(jìn)行變調(diào)處理,得到第一信號(hào);對(duì)所述第一信號(hào)進(jìn)行音色處理,得到第二信號(hào);對(duì)所述第二信號(hào)進(jìn)行頻譜均衡處理,得到變聲后的信號(hào)v(n)。
其中,變調(diào)處理的方法可同上述描述的變調(diào)方法一致,即可采用上述描述的時(shí)域算法或頻域算法。
對(duì)語音信號(hào)進(jìn)行頻譜均衡處理的具體方法可以是將整個(gè)頻譜分成M塊,對(duì)每個(gè)頻譜塊內(nèi)的譜線在幅度軸方向上用預(yù)設(shè)的系數(shù)進(jìn)行加權(quán),加權(quán)所得的頻譜就是經(jīng)過均衡處理的語音頻譜。
其中,將整個(gè)頻譜分成M塊,并不是對(duì)譜線進(jìn)行平均分配,而是在低頻區(qū)域內(nèi)分得的頻譜塊所包含的譜線間隔密度較低,在高頻區(qū)域的譜線間隔密度較高。比如,可以將0HZ~10HZ分為一塊,而將500HZ~1000HZ分為一塊。
由于頻譜均衡處理改變了語音頻譜中某個(gè)區(qū)域內(nèi)的幅度值,所以也會(huì)達(dá)到改變音色的效果。
以上對(duì)信號(hào)進(jìn)行的頻譜均衡處理的方法是常見的頻譜均衡處理方法,已被本領(lǐng)域的技術(shù)人員所熟知,因此,在這里就不在贅述了。
圖3是本發(fā)明實(shí)施例中對(duì)第一信號(hào)進(jìn)行音色處理的流程圖,如圖3所示,其具體步驟為 步驟301,將經(jīng)過變調(diào)處理的第一信號(hào)進(jìn)行加窗處理。
在對(duì)信號(hào)做頻譜分析時(shí),要對(duì)無限長(zhǎng)的信號(hào)進(jìn)行分析。這在實(shí)際上是不能的,只能進(jìn)行有限長(zhǎng)度的信號(hào)分析。截取的過程就是將無限長(zhǎng)的信號(hào)乘以一個(gè)有限寬度的窗函數(shù),對(duì)截取的信號(hào)進(jìn)行功率譜分析得到近似譜。這個(gè)過程就是對(duì)信號(hào)的加窗處理。在本實(shí)施例中,窗函數(shù)選擇正弦窗。
在對(duì)信號(hào)進(jìn)行加窗處理之前需要將長(zhǎng)度為N的信號(hào)w(n)與上一幀信號(hào)中最后輸入的長(zhǎng)度為N的信號(hào)w_old(n)合成為一個(gè)長(zhǎng)度為2N的大幀其中n表示時(shí)間,n>0。
然后對(duì)合成得到的大幀w′(n)進(jìn)行正弦窗處理,得到信號(hào)幀z(n) z(n)=w′(n)sin(πn/2N),n=0,1,2...2N-1,n表示時(shí)間。
步驟302,對(duì)信號(hào)z(n)進(jìn)行快速傅里葉變換(FFT),將其從時(shí)域變換到頻域,得到信號(hào)Z(k)Z(k)=FFT[z(n)],k表示頻率,k>0。
步驟303,從信號(hào)Z(k)對(duì)應(yīng)的頻譜圖中提取譜包絡(luò)。
譜包絡(luò)是在二維頻譜圖中,用來表示頻譜大體趨勢(shì)的曲線。從頻譜圖中提取譜包絡(luò)的方法有很多中,其中比較常見的方法是加窗平滑法和中值平滑法。
其中,利用加窗平滑法時(shí),采用一個(gè)窗長(zhǎng)為2L+1的窗函數(shù)W(k),對(duì)窗內(nèi)的譜線幅度值取平均值,將平均值作為縱坐標(biāo)的取值,窗的橫向中心點(diǎn)的值作為橫坐標(biāo)的取值,把這樣所得的每個(gè)點(diǎn)用平滑曲線連接起來,得到譜包絡(luò)U(k) 利用中值平滑法時(shí),采用一個(gè)窗長(zhǎng)為2L+1的窗函數(shù)W(k),取每個(gè)窗內(nèi)位于中間位置的頻譜所對(duì)應(yīng)的幅度值作為縱坐標(biāo)的取值,窗的橫向中心點(diǎn)的值作為橫坐標(biāo)的取值,這樣所得的每個(gè)點(diǎn)用平滑曲線連接起來,得到譜包絡(luò)U(k) U(k)=Mid{|Z(k+i)|},i=-L~L。
本實(shí)施例中,以上兩種方法中的窗函數(shù)可都采用矩形窗。
對(duì)于L的取值,如果L取0則窗函數(shù)的表達(dá)式為1,相當(dāng)于對(duì)每條譜線都進(jìn)行處理,則會(huì)失去分段處理的意義;如果L取的值太大則可能導(dǎo)致包絡(luò)曲線過于平滑,與實(shí)際情況相差甚遠(yuǎn)。因此,本實(shí)施例中,L可取2。
步驟304,對(duì)譜包絡(luò)進(jìn)行調(diào)整。
所述對(duì)譜包絡(luò)進(jìn)行調(diào)整,主要是對(duì)譜包絡(luò)進(jìn)行橫向擴(kuò)展或壓縮,從而達(dá)到改變共振峰位置的效果。對(duì)譜包絡(luò)的擴(kuò)展或壓縮是通過給頻率值乘以一個(gè)系數(shù)β,得到調(diào)整后的譜包絡(luò)表達(dá)式為U′(k)=U(βk)。從表達(dá)式中可以看出,當(dāng)β大于1時(shí),譜包絡(luò)被壓縮;當(dāng)β小于1時(shí),譜包絡(luò)被擴(kuò)展;β等于1,則譜包絡(luò)不變。
步驟305,對(duì)信號(hào)進(jìn)行譜包絡(luò)整形處理。
首先,通過將調(diào)整前后的譜包絡(luò)函數(shù)相除,得到最終的譜包絡(luò)加權(quán)系數(shù)Uo(k), 然后,對(duì)信號(hào)Z(k)進(jìn)行Uo(k)加權(quán),得到信號(hào)Z′(k),實(shí)現(xiàn)對(duì)語音信號(hào)的譜包絡(luò)整形。
整形后的語音信號(hào)表達(dá)式為Z′(k)=Z(k)Uo(k)。
步驟306,對(duì)信號(hào)Z′(k)做快速傅里葉逆變換(IFFT),將其從頻域轉(zhuǎn)換到時(shí)域,得到信號(hào)z′(n)z′(n)=IFFT[Z′(K)]。
步驟307,對(duì)信號(hào)z′(n)做加窗處理,完成音色調(diào)整。
在這里對(duì)信號(hào)進(jìn)行加窗處理的目的與步驟301中的相同,也是為了對(duì)無限長(zhǎng)度的信號(hào)進(jìn)行截取,對(duì)截取的信號(hào)進(jìn)行功率譜分析得到近似譜。在本實(shí)施例中,窗函數(shù)仍然選擇正弦窗。
加窗處理后,得到信號(hào)zω(n)zω(n)=z′(n)sin(πn/2N),n=0,1,2,...2N-1。
考慮到對(duì)信號(hào)進(jìn)行逐幀處理時(shí),有可能在經(jīng)過變聲處理后,出現(xiàn)信號(hào)輸出不連續(xù)的現(xiàn)象。因此,可將當(dāng)前窗的前一半信號(hào)與上一窗保存的結(jié)果疊加,得到最終的第二信號(hào)c(n) c(n)=zω(n)+zω′(n),n=0,1,2,...N-1,其中zω′(n)表示上一幀保存的結(jié)果。
在將加窗后的前一半信號(hào)與上一窗保存的結(jié)果疊加的同時(shí),保存加窗后的后一半結(jié)果,用以與下一窗的前一半信號(hào)疊加,這樣就能保證連續(xù)輸出變聲后的語音信號(hào)。
上述流程中的變聲方法是在通過變調(diào)實(shí)現(xiàn)語音變聲的基礎(chǔ)上,根據(jù)聲音的特質(zhì),增加了對(duì)音色的調(diào)整和對(duì)頻譜的均衡處理,使經(jīng)過變聲處理的聲音更加自然。
最后,如圖2所示,將各路信號(hào)進(jìn)行疊加后,構(gòu)成合唱信號(hào),為了對(duì)合唱信號(hào)的聲音大小進(jìn)行調(diào)整,以及滿足對(duì)各路信號(hào)的采集需求,可進(jìn)一步對(duì)構(gòu)成合唱信號(hào)之前的各路信號(hào)利用預(yù)設(shè)的加權(quán)系數(shù)進(jìn)行加權(quán)處理,之后再合成最終的合唱信號(hào)。如圖2中的α、β以及γ等加權(quán)系數(shù)。
上述方法中,除了上述描述的利用延遲時(shí)間函數(shù)進(jìn)行延遲處理后的信號(hào)、變調(diào)后的信號(hào)以及變聲后的信號(hào)等幾路信號(hào)外,還可以有其它的信號(hào),如原始信號(hào),又如按照現(xiàn)有技術(shù)進(jìn)行延時(shí)的信號(hào),或者其它方式的處理信號(hào)等。
以上對(duì)本發(fā)明實(shí)施例中的合唱特效處理方法進(jìn)行了詳細(xì)描述,下面再對(duì)本發(fā)明實(shí)施例中的合唱特效處理系統(tǒng)進(jìn)行詳細(xì)描述。
圖4為本發(fā)明實(shí)施例中合唱特效處理系統(tǒng)的結(jié)構(gòu)示意圖。如圖4中的實(shí)線部分所示,該系統(tǒng)至少包括合成模塊和至少一個(gè)延時(shí)模塊。此外,還可以有其它的處理模塊,如現(xiàn)有技術(shù)中的延時(shí)處理模塊,或采用其它方式的處理模塊等。
其中,合成模塊,用于將所接收的各路信號(hào)進(jìn)行疊加后,合成合唱信號(hào)。
每個(gè)延時(shí)模塊用于對(duì)原始信號(hào)采用延遲時(shí)間函數(shù)進(jìn)行延時(shí)處理后得到一路信號(hào),將得到的一路信號(hào)向合成模塊輸出。
具體實(shí)現(xiàn)時(shí),延時(shí)模塊可有多種實(shí)現(xiàn)形式,其中一種可具體包括延遲因子計(jì)算模決和延時(shí)處理模塊。
其中,延遲因子計(jì)算模塊用于根據(jù)預(yù)先設(shè)置的自變量為時(shí)間,因變量為隨時(shí)間變化而隨機(jī)變化的低頻信號(hào)的延遲時(shí)間函數(shù),計(jì)算當(dāng)前函數(shù)值,將所計(jì)算的作為延遲因子。
延時(shí)處理模塊用于利用延遲因子計(jì)算模塊得到的延遲因子,對(duì)原始信號(hào)進(jìn)行延時(shí)處理后向合成模塊輸出。
其中,延時(shí)模塊及其內(nèi)部各模塊的具體操作過程可以與圖2所示方法中描述的具體操作過程一致。其中,延遲時(shí)間函數(shù)也可與圖2所示方法中描述的延遲時(shí)間函數(shù)一致。
如圖4中的虛線部分所示,該系統(tǒng)可進(jìn)一步包括至少一個(gè)變調(diào)模塊。
其中,每個(gè)變調(diào)模塊用于對(duì)原始信號(hào)進(jìn)行變調(diào)處理后得到一路信號(hào),將所得到的一路信號(hào)向合成模塊輸出。
具體實(shí)現(xiàn)時(shí),變調(diào)模塊的實(shí)現(xiàn)方式可有多種,其具體操作過程可與圖2所示方法中描述的具體操作過程一致。其中,與改進(jìn)后的變速加變采樣率的方法相對(duì)應(yīng),變調(diào)模塊可具體包括變速處理模塊和變調(diào)處理模塊。
其中,變速處理模塊用于根據(jù)變速比例,計(jì)算互相關(guān)搜索范圍內(nèi)的各搜索點(diǎn)對(duì)應(yīng)的原始信號(hào)的輸入信號(hào)與輸出信號(hào)的互相關(guān)值,確定各階段內(nèi)的最大互相關(guān)值,結(jié)合各階段的互相關(guān)權(quán)值,確定最終的最大互相關(guān)值,將最終確定的最大互相關(guān)值對(duì)應(yīng)的原始信號(hào)的輸入信號(hào)與輸出信號(hào)疊加,得到變速后的信號(hào); 變調(diào)處理模塊用于根據(jù)變調(diào)比例,對(duì)變速處理模塊得到的變速后的信號(hào)進(jìn)行變采樣率處理,得到變調(diào)后的一路信號(hào)后向合成模塊輸出。
各模塊的具體操作過程及實(shí)現(xiàn)可與圖2所示方法中描述的具體操作過程一致,也可參考已公開的中國申請(qǐng)?zhí)枮椤?00610152083.1”的發(fā)明專利。
此外,該系統(tǒng)還可進(jìn)一步包括至少一個(gè)變聲模塊。
其中,每個(gè)變聲模塊用于對(duì)原始信號(hào)進(jìn)行變聲處理后得到一路信號(hào),將所得到的一路信號(hào)向合成模塊輸出。
具體實(shí)現(xiàn)時(shí),變聲模塊可有多種實(shí)現(xiàn)形式,其中一種可包括變調(diào)處理模塊、音色處理模塊和頻譜均衡處理模塊。
其中,變調(diào)處理模塊用于對(duì)原始信號(hào)進(jìn)行變調(diào)處理,得到第一信號(hào)。
該變調(diào)處理模塊的具體操作過程可與上述變調(diào)模塊的具體操作過程一致。
音色處理模塊用于對(duì)所述第一信號(hào)進(jìn)行音色處理,得到第二信號(hào)。
頻譜均衡處理模塊用于對(duì)所述第二信號(hào)進(jìn)行頻譜均衡處理,得到變聲后的一路信號(hào)后向合成模塊輸出。
其中,音色處理模塊具體實(shí)現(xiàn)時(shí),可包括第一加窗處理模塊、第一轉(zhuǎn)換模塊、包絡(luò)提取模塊、新包絡(luò)獲取模塊、加權(quán)模塊、第二轉(zhuǎn)換模塊及第二加窗處理模塊。
其中第一加窗處理模塊用于對(duì)上述第一信號(hào)進(jìn)行加窗處理,得到信號(hào)z(n)。
第一轉(zhuǎn)換模塊用于將信號(hào)z(n)從時(shí)域轉(zhuǎn)換到頻域,得到信號(hào)Z(k)。
包絡(luò)提取模塊用于從信號(hào)Z(k)中提取譜包絡(luò)U(k)。
新包絡(luò)獲取模塊用于擴(kuò)展或壓縮所述譜包絡(luò)U(k),得到新的譜包絡(luò)U′(k)。
加權(quán)模塊用于根據(jù)譜包絡(luò)U(k)和U′(k)確定信號(hào)Z(k)的加權(quán)系數(shù)Uo(k),并對(duì)信號(hào)Z(k)進(jìn)行加權(quán),得到信號(hào)Z′(k)。
第二轉(zhuǎn)換模塊用于將信號(hào)Z′(k)從頻域轉(zhuǎn)換到時(shí)域,得到信號(hào)z′(n)。
第二加窗處理模塊用于對(duì)信號(hào)z′(n)做加窗處理,得到前述第二信號(hào)。
最后,該系統(tǒng)還可進(jìn)一步包括系數(shù)加權(quán)模塊,用于對(duì)輸入合成模決之前的各路信號(hào)進(jìn)行加權(quán)處理后,輸出給合成模塊。
以上所述的具體實(shí)施例,對(duì)本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種合唱特效處理方法,其特征在于,該方法包括
采用延遲時(shí)間函數(shù)對(duì)原始信號(hào)進(jìn)行延時(shí)處理,得到構(gòu)成合唱信號(hào)的至少一路信號(hào)。
2.如權(quán)利要求1所述的方法,其特征在于,所述采用延遲時(shí)間函數(shù)對(duì)原始信號(hào)進(jìn)行延時(shí)處理為
設(shè)置自變量為時(shí)間、因變量為隨時(shí)間變化而隨機(jī)變化的低頻信號(hào)的延遲時(shí)間函數(shù)
將所述延遲時(shí)間函數(shù)的當(dāng)前函數(shù)值作為延遲因子,利用所述延遲因子對(duì)原始信號(hào)進(jìn)行延時(shí)處理。
3.如權(quán)利要求2所述的方法,其特征在于,所述延遲時(shí)間函數(shù)為Δd=[Asin(n/FREQ)],其中,n為所述自變量,Δd為所述因變量,F(xiàn)REQ為預(yù)設(shè)的延遲變化周期,A為預(yù)設(shè)的延遲幅度,[]為取整符號(hào);
若作為延遲因子的當(dāng)前函數(shù)值為Δdn,且為整數(shù),則所述利用延遲因子對(duì)原始信號(hào)進(jìn)行延時(shí)處理為將原始信號(hào)x[n]進(jìn)行延遲處理為x[n-Δdh];
若作為延遲因子的當(dāng)前函數(shù)值為Δdn,且為非整數(shù),則所述利用延遲因子對(duì)原始信號(hào)進(jìn)行延時(shí)處理為對(duì)原始信號(hào)x[n]進(jìn)行延遲處理為其中,Ad1和Ad2為與
相鄰的兩個(gè)整數(shù)。
4.如權(quán)利要求1所述的方法,其特征在于,該方法進(jìn)一步包括對(duì)原始信號(hào)進(jìn)行變調(diào)處理,得到構(gòu)成合唱信號(hào)的至少一路信號(hào)。
5.如權(quán)利要求4所述的方法,其特征在于,所述對(duì)原始信號(hào)進(jìn)行變調(diào)處理為根據(jù)變速比例,計(jì)算互相關(guān)搜索范圍內(nèi)的各搜索點(diǎn)對(duì)應(yīng)的原始信號(hào)的輸入信號(hào)與輸出信號(hào)的互相關(guān)值,確定各階段內(nèi)的最大互相關(guān)值,結(jié)合各階段的互相關(guān)權(quán)值,確定最終的最大互相關(guān)值,將最終確定的最大互相關(guān)值對(duì)應(yīng)的原始信號(hào)的輸入信號(hào)與輸出信號(hào)疊加,得到變速后的信號(hào);
根據(jù)變調(diào)比例,對(duì)變速后的信號(hào)進(jìn)行變采樣率處理,得到變調(diào)后的信號(hào)。
6.如權(quán)利要求1所述的方法,其特征在于,該方法進(jìn)一步包括對(duì)原始信號(hào)進(jìn)行變聲處理,得到構(gòu)成合唱信號(hào)的至少一路信號(hào)。
7.如權(quán)利要求6所述的方法,其特征在于,所述對(duì)原始信號(hào)進(jìn)行變聲處理為對(duì)原始信號(hào)進(jìn)行變調(diào)處理,得到第一信號(hào);對(duì)所述第一信號(hào)進(jìn)行音色處理,得到第二信號(hào);對(duì)所述第二信號(hào)進(jìn)行頻譜均衡處理,得到變聲后的信號(hào)。
8.如權(quán)利要求7所述的方法,其特征在于,所述對(duì)第一信號(hào)進(jìn)行音色處理,得到第二信號(hào)包括
對(duì)所述第一信號(hào)進(jìn)行加窗處理,得到信號(hào)z(n);
將所述信號(hào)z(n)從時(shí)域轉(zhuǎn)換到頻域,得到信號(hào)Z(k);
從所述信號(hào)Z(k)中提取譜包絡(luò)U(k);
擴(kuò)展或壓縮所述譜包絡(luò)U(k),得到新的譜包絡(luò)U′(k);
根據(jù)所述譜包絡(luò)U(k)和U′(k)確定所述信號(hào)Z(k)的加權(quán)系數(shù)Uo(k),并對(duì)所述信號(hào)Z(k)進(jìn)行加權(quán),得到信號(hào)Z′(k);
將所述信號(hào)Z′(k)從頻域轉(zhuǎn)換到時(shí)域,得到信號(hào)z′(n);
對(duì)所述信號(hào)z′(n)做加窗處理,得到所述第二信號(hào)。
9.如權(quán)利要求1至8中任一項(xiàng)所述的方法,其特征在于,構(gòu)成合唱信號(hào)之前,進(jìn)一步包括對(duì)各路信號(hào)進(jìn)行加權(quán)處理。
10.一種合唱特效處理系統(tǒng),其特征在于,該系統(tǒng)包括
合成模塊,用于將所接收的各路信號(hào)進(jìn)行疊加后,合成合唱信號(hào);
其特征在于,該系統(tǒng)還包括
至少一個(gè)函數(shù)延時(shí)模塊,其中,每個(gè)函數(shù)延時(shí)模塊用于對(duì)原始信號(hào)采用延遲時(shí)間函數(shù)進(jìn)行延時(shí)處理后得到一路信號(hào),將所得到的一路信號(hào)向合成模塊輸出。
11.如權(quán)利要求10所述的系統(tǒng),其特征在于,所述函數(shù)延時(shí)模塊包括
延遲因子計(jì)算模塊,用于根據(jù)預(yù)先設(shè)置的自變量為時(shí)間,因變量為隨時(shí)間變化而隨機(jī)變化的低頻信號(hào)的延遲時(shí)間函數(shù),計(jì)算當(dāng)前函數(shù)值,將所計(jì)算的作為延遲因子;
延時(shí)處理模塊,用于利用延遲因子計(jì)算模塊得到的延遲因子,對(duì)原始信號(hào)進(jìn)行延時(shí)處理后得到一路信號(hào)向合成模塊輸出。
12.如權(quán)利要求10所述的系統(tǒng),其特征在于,該系統(tǒng)進(jìn)一步包括至少一個(gè)變調(diào)模塊,其中,
每個(gè)變調(diào)模塊用于對(duì)原始信號(hào)進(jìn)行變調(diào)處理后得到一路信號(hào),將所得到的一路信號(hào)向合成模塊輸出。
13.如權(quán)利要求12所述的系統(tǒng),其特征在于,所述變調(diào)模塊包括
變速處理模塊,用于根據(jù)變速比例,計(jì)算互相關(guān)搜索范圍內(nèi)的各搜索點(diǎn)對(duì)應(yīng)的原始信號(hào)的輸入信號(hào)與輸出信號(hào)的互相關(guān)值,確定各階段內(nèi)的最大互相關(guān)值,結(jié)合各階段的互相關(guān)權(quán)值,確定最終的最大互相關(guān)值,將最終確定的最大互相關(guān)值對(duì)應(yīng)的原始信號(hào)的輸入信號(hào)與輸出信號(hào)疊加,得到變速后的信號(hào);
變調(diào)處理模塊,用于根據(jù)變調(diào)比例,對(duì)變速處理模塊得到的變速后的信號(hào)進(jìn)行變采樣率處理,得到變調(diào)后的一路信號(hào),并向合成模塊輸出。
14.如權(quán)利要求10所述的系統(tǒng),其特征在于,該系統(tǒng)進(jìn)一步包括至少一個(gè)變聲模塊,其中,
每個(gè)變聲模塊用于對(duì)原始信號(hào)進(jìn)行變聲處理后得到一路信號(hào),并將所得到的一路信號(hào)向合成模塊輸出。
15.如權(quán)利要求14所述的系統(tǒng),其特征在于,所述變聲模塊包括
變調(diào)處理模塊,用于對(duì)原始信號(hào)進(jìn)行變調(diào)處理,得到第一信號(hào);
音色處理模塊,用于對(duì)所述第一信號(hào)進(jìn)行音色處理,得到第二信號(hào);
頻譜均衡處理模塊,用于對(duì)所述第二信號(hào)進(jìn)行頻譜均衡處理,得到變聲后的一路信號(hào),并向合成模塊輸出。
16.如權(quán)利要求10至15中任一項(xiàng)所述的系統(tǒng),其特征在于,該系統(tǒng)進(jìn)一步包括系數(shù)加權(quán)模塊,用于對(duì)輸入合成模塊之前的各路信號(hào)進(jìn)行加權(quán)處理后,輸出給合成模塊。
全文摘要
本發(fā)明公開了一種合唱特效處理方法,包括采用延遲時(shí)間函數(shù)對(duì)原始信號(hào)進(jìn)行延時(shí)處理,得到構(gòu)成合唱信號(hào)的至少一路信號(hào)。此外,本發(fā)明還公開了一種合唱特效處理系統(tǒng),至少包括合成模塊和至少一個(gè)函數(shù)延時(shí)模塊。其中,合成模塊,用于將所接收的各路信號(hào)進(jìn)行疊加后,合成合唱信號(hào);每個(gè)函數(shù)延時(shí)模塊,用于采用延遲時(shí)間函數(shù)對(duì)原始信號(hào)進(jìn)行延時(shí)處理后得到一路信號(hào),并將所得到的一路信號(hào)向合成模塊輸出。本發(fā)明所公開的技術(shù)方案能夠提高合唱的效果。
文檔編號(hào)G10K15/08GK101123088SQ20071012130
公開日2008年2月13日 申請(qǐng)日期2007年9月3日 優(yōu)先權(quán)日2007年9月3日
發(fā)明者磊 徐, 晨 張 申請(qǐng)人:北京中星微電子有限公司