數(shù)字音頻變調(diào)算法的研究
出處:赤鑄 發(fā)布于:2007-05-26 10:43:20
| 1 引言 改變聲音信號(hào)的音調(diào)是許多商用設(shè)備的一種功能,典型的應(yīng)屬卡拉OK機(jī)了。由于發(fā)音音調(diào)高低因人而異,人們希望伴奏音樂的音調(diào)適合自己的嗓音,因此卡拉OK機(jī)中設(shè)計(jì)了專門的硬件來實(shí)現(xiàn)這一功能。例如雅馬哈公司的用于數(shù)字變調(diào)的大規(guī)摸集成電路 YSS222D和YSS216B,內(nèi)部集成了A/D,D/A和數(shù)字信號(hào)處理器,利用采樣和重放數(shù)據(jù)時(shí)速度的不同來實(shí)現(xiàn)變調(diào)。功能,重放比采樣速度快則升調(diào),反之則降調(diào)。另外,為了使播放時(shí)間不變,還需對(duì)數(shù)據(jù)段進(jìn)行復(fù)制或刪除。由于商業(yè)保密的需要,具體算法未公開,據(jù)可詢資料實(shí)現(xiàn)的系統(tǒng),不能有效解決因復(fù)制或刪除數(shù)據(jù)帶來的相位不連續(xù)問題。 當(dāng)前,聲卡已成為計(jì)算機(jī)的基本配置,但無變調(diào)功能,為彌補(bǔ)這一缺憾,可以采用件的方法對(duì)聲音文件重新編碼,使聲卡回放時(shí)音調(diào)改變。另外,數(shù)字音頻工作站也需要軟件實(shí)現(xiàn)變調(diào)功能。因此筆者討論了3種軟件實(shí)現(xiàn)算法,圍繞著如何變調(diào)而不變時(shí)間,以及如何解決相位不連接問題,從變調(diào)原理著手,討論了時(shí)域?qū)崿F(xiàn)的理論依據(jù),找到了一種有效的變調(diào)方法-- 頻域處理法,實(shí)驗(yàn)證實(shí)效果良好。 2 變調(diào)的樂理基礎(chǔ) 如果將信號(hào)中的所有頻率成分升高或降低21/12倍,就能使音調(diào)升高或降低一個(gè)半音。假設(shè)原信號(hào)頻率為f,變調(diào)后頻率為f,二者的關(guān)系應(yīng)該滿足 f=fx2d/12, d=±1 ,±2,±3 (1) 當(dāng)d>0時(shí),升調(diào),反之,降調(diào);d每變化1,音調(diào)升高或降低一個(gè)半音。 一種實(shí)現(xiàn)變調(diào)的作法[1],[2]是采用硬件實(shí)現(xiàn)相似的辦法,即改變WAV文件頭中有關(guān)采樣率的信息。如果采樣率提高,則聲卡回放速度加快,產(chǎn)生升調(diào)的效果,同時(shí)回放時(shí)間變短;反之,產(chǎn)生降調(diào)的效果,回放時(shí)間變長(zhǎng)。為保持時(shí)間不變,以幀為單位,利用信號(hào)的短時(shí)周期性,升調(diào)時(shí)將幀內(nèi)后部數(shù)據(jù)段復(fù)制,降調(diào)時(shí)將幀內(nèi)后部數(shù)據(jù)段刪除,圖1畫出了一幀的數(shù)據(jù)處理情況。可以看到,若是升調(diào),幀間數(shù)據(jù)是連續(xù)的,但由于數(shù)據(jù)段的復(fù)制,幀內(nèi)數(shù)據(jù)段間相位不連續(xù);若是降調(diào),幀內(nèi)數(shù)據(jù)連續(xù),但幀間數(shù)據(jù)相位不連續(xù),因此聲音質(zhì)量必然受到影響,產(chǎn)生喀嚓聲。
另一種方法是,采用時(shí)域抽選和內(nèi)插[4]。下面分析抽選和內(nèi)插的頻譜,看如何實(shí)現(xiàn)變調(diào)。抽選表示成下式 表示每M個(gè)采樣值選1個(gè),其余M-1個(gè)舍棄,則信號(hào)長(zhǎng)度縮短為1/M。抽選后信號(hào)頻譜和原信號(hào)頻譜間的關(guān)系為 1 M-1
再看看內(nèi)插的頻譜變化。內(nèi)插時(shí)域表示成 表示每?jī)蓚€(gè)采樣值中插入L-1個(gè)零,整個(gè)信號(hào)長(zhǎng)度增加為L(zhǎng)倍。內(nèi)插后信號(hào)頻譜和原信號(hào)頻譜間的關(guān)系為
抽選和內(nèi)插后的數(shù)據(jù)量同樣會(huì)變短或變長(zhǎng),下面來推導(dǎo)保持?jǐn)?shù)據(jù)量不變的具體實(shí)現(xiàn)方法。根據(jù)上述抽選和內(nèi)插的頻譜變化情況,反推時(shí)域變化過程:若將信號(hào)作快速離散傅里葉變換(FFT),將譜線沿頻率軸擴(kuò)張或收縮,再作反變換(IFFT),得到的信號(hào)應(yīng)該是被升調(diào)或降調(diào),并且數(shù)據(jù)量保持不變。
4 頻域?qū)崿F(xiàn)的算法研究 現(xiàn)在考慮采用頻域?qū)崿F(xiàn)來解決相位問題。
對(duì)于降調(diào),圖5(a)是2幀原始信號(hào)波形及后一幀的FFT幅度圖,圖5(b)采用FFT譜線向低頻收縮,再IFFI,得到的波形和時(shí)域內(nèi)插法一樣,改進(jìn)措施見圖5(c),被處理的連續(xù)兩幀信號(hào)間有一部分重疊,得到的兩幀信號(hào)波形便能很好地過渡。
X[K]=FFT[x(n)], k=0,1,...N-1 (6)
其中N是幀長(zhǎng),int()表示取整,min()表示取較小值。注意,僅僅對(duì)于降調(diào)a<l,式(7)才有第2選項(xiàng)的補(bǔ)零,并且x[n]段間重疊。 5 結(jié)束語 實(shí)現(xiàn)變調(diào)的基本原理是改變信號(hào)的頻率成分,可以通過時(shí)域抽選或內(nèi)插實(shí)現(xiàn),但為保持時(shí)間不變,每幀要復(fù)制或刪除部分?jǐn)?shù)據(jù)段,由此帶來相位不連續(xù)從而影響聲音質(zhì)量。文中提出的頻域法,根據(jù)變調(diào)的原理,將FFT譜線向高頻或低頻搬移,再作IFFT得到時(shí)域信號(hào),若升調(diào)譜線搬移過程中采用線性內(nèi)插,降調(diào)采用時(shí)域幀間重疊,能消除數(shù)據(jù)段的不連續(xù)問題,改善變調(diào)后的聲音質(zhì)量。頻域?qū)崿F(xiàn)無須低通抗混疊濾波或低通反鏡像濾波,且FFT是快速算法,假設(shè)采用如ADSP2181或TMS320C54X,乘法運(yùn)算占用單指令周期的DSP芯片,運(yùn)算量小于1 MIps,實(shí)時(shí)運(yùn)算不成問題??梢姡l域法是一種有效可行的辦法。 | ||||||
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫電子市場(chǎng)網(wǎng),http://udpf.com.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 什么是IIoT,IIoT的知識(shí)介紹2025/6/3 17:22:31
- 物聯(lián)網(wǎng)領(lǐng)域:新興薄膜技術(shù)的潛力與挑戰(zhàn)2025/5/12 15:18:17
- 物聯(lián)網(wǎng)技術(shù)解析:組成、應(yīng)用與發(fā)展趨勢(shì)2025/4/24 15:49:06
- 物聯(lián)網(wǎng)中常見的幾種無線通信方式2025/4/21 17:24:26
- IoT無線連接基礎(chǔ)知識(shí)2025/3/7 17:04:00















