專利名稱:音響效果授予裝置、基音抽出裝置、以及程序的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及分析第1聲音波形、使用該分析結(jié)果用來生成在該第1聲音波形中授予了音響效果的第2聲音波形的技術(shù)。
背景技術(shù):
在分析聲音波形,并使用該分析結(jié)果可以生成授予了音響效果的聲音波形的音響效果授予裝置中,作為該音響效果一般要變換聲音波形的基音(音調(diào))。作為現(xiàn)有的音響效果授予裝置,記載在專利第2753716號公報中。在此,為了區(qū)別生成后的聲音波形、原來的的聲音波形,將前者表示為『合成聲音波形』,將后者表示為『原聲音波形』。
變換了音調(diào)的合成聲音波形的生成,有時是進(jìn)行用于與將該音調(diào)作為目標(biāo)的音調(diào)(目標(biāo)音調(diào))相一致。該情況的變換,傳統(tǒng)上,一般是這樣實現(xiàn),即將原聲音波形的音調(diào)(基本頻率)直接地檢測出,并進(jìn)行音調(diào)縮放以使檢測出的音調(diào)成為目標(biāo)音調(diào)。
基本頻率的音(基音)一般是在成分之中音級(Level)最高的。但是,在吉他等的撥弦樂器或鋼琴等的打弦樂器中,由于弦與強(qiáng)度,隨著時間地經(jīng)過,有時第2倍音(倍頻上)方面的音級變高。這意味著,在直接的方法中,不能準(zhǔn)確地檢測出音調(diào)。由此可以認(rèn)為,使之不將原聲音波形的音調(diào)直接地檢測出,就可以將該音調(diào)變換成目標(biāo)音調(diào),是重要的。
本發(fā)明的第1課題,是提供不直接地檢測出聲音波形的音調(diào),就可以將該音調(diào)變換成作為目標(biāo)的音調(diào)的技術(shù)。
本發(fā)明的第2課題,是提供用于將聲音波形的音調(diào)準(zhǔn)確地抽出的技術(shù)。
發(fā)明內(nèi)容
本發(fā)明,將第1聲音波形用幀單位進(jìn)行頻率分析,并按頻道抽出頻率成分,從抽出頻率成分的頻道中,將存在是第1聲音波形的基音的1倍或1倍以上的倍音的頻率成分的頻道,抽出2個或2個以上,算出與抽出的2個或2個以上的頻道對應(yīng)的頻率間的最大公約數(shù),并使用算出的最大公約數(shù)來決定基音的變換內(nèi)容,將在決定的變換內(nèi)容中變換第1聲音波形的基音的聲音波形作為第2聲音波形而生成。
倍音具有基音(音調(diào))頻率的整數(shù)倍的頻率。由此,與存在倍音的頻率成分的2個或2個以上的頻道(倍音通道)對應(yīng)的頻率之間的最大公約數(shù),可以作為表示基音頻率的信息來對待。為此,可以使用該最大公約數(shù)來生成將第1聲音波形的基音高精度地變換((Shift))成作為目標(biāo)的基音的第2聲音波形。由于回避抽出(檢測出)第1聲音波形的基音的必要性,所以在被稱為故障基頻的基本頻率缺少或者與其它的頻率相比好像非常小的第1聲音波形中,也可以準(zhǔn)確地生成具有作為目標(biāo)的基音的第2聲音波形。另外,通過使用該最大公約數(shù),也可以準(zhǔn)確地抽出(檢測出)第1聲音波形的基音的頻率。
圖1是安裝了本實施方式的音響效果授予裝置的電子樂器的結(jié)構(gòu)圖;圖2是本實施方式的音響效果授予裝置的功能結(jié)構(gòu)圖;圖3是說明展開的相位差和頻率的關(guān)系的圖表;圖4是說明實相位差δ和頻率的關(guān)系的圖表;圖5是整體處理的流程圖;圖6是相位補(bǔ)償處理的流程圖;圖7是縮放值算出處理的流程圖。
具體實施方公式以下,對本發(fā)明的實施方式,參照附圖進(jìn)行詳細(xì)地說明。
圖1是安裝了本實施方式的音響效果授予裝置的電子樂器的結(jié)構(gòu)圖。
該電子樂器,如圖1所示,具備進(jìn)行樂器整體控制的CPU1,具有多個鍵的鍵盤2,具有各種開關(guān)的開關(guān)部3,存儲了執(zhí)行CPU1的程序或各種控制用數(shù)據(jù)等的ROM4,CPU1的工作用的RAM5,具備例如液晶顯示裝置(LCD)或多個LED等的顯示部6,進(jìn)行從話筒7輸入的模擬的聲音信號的A/D轉(zhuǎn)換并輸出該聲音數(shù)據(jù)的A/D轉(zhuǎn)換器8,遵照CPU1的指示生成音樂發(fā)音用的波形數(shù)據(jù)的音樂生成部9,將該生成部9生成的波形數(shù)據(jù)進(jìn)行D/A轉(zhuǎn)換并輸出模擬的音頻信號的D/A轉(zhuǎn)換器10,放音該音頻信號的音響系統(tǒng)11。在此構(gòu)成中,CPU1、鍵盤2、開關(guān)部3、ROM4、RAM5、顯示部6、A/D轉(zhuǎn)換器8以及音樂生成部9之間,通過總線相互連接。此外,上述開關(guān)部3,例如除了作為用戶操作對象的各種開關(guān)之外,還具備用于檢測出各種開關(guān)的狀態(tài)變換的檢測電路。話筒7可以是內(nèi)置的或者特別地連接到未圖示出的端子上。
在上述構(gòu)成的電子樂器中,本實施方式的音響效果授予裝置,對從話筒7輸入的聲音,作為可以授予將該音調(diào)(基音)變換成指定的音調(diào)(目標(biāo)音調(diào))的音響效果來實現(xiàn)。聲音的輸入,可以通過外部儲存裝置來進(jìn)行,也可以通過LAN或者公眾網(wǎng)等的通信網(wǎng)絡(luò)來進(jìn)行。
圖2是本實施方式的音響效果授予裝置的功能結(jié)構(gòu)圖。
附加了音響效果的聲音波形,也就是變換了(Shift)音調(diào)的聲音波形,頻率分析原來的聲音波形后,按頻道抽出頻率成分(頻譜成分),將抽出了的頻率成分進(jìn)行變換,使用該變換后的頻率成分進(jìn)行合成(生成)。為此,具備以下的功能構(gòu)成。
圖2所示的A/D轉(zhuǎn)換器(ADC)8是將從話筒7輸出的模擬聲音信號變換成數(shù)字聲音數(shù)據(jù)的。例如用采樣頻率8021Hz、16bit進(jìn)行AD變換。以后,對這個AD轉(zhuǎn)換而得到的聲音數(shù)據(jù),可簡單稱為『原聲音數(shù)據(jù)』或者『原波形數(shù)據(jù)』,對在話筒7輸入的聲音可稱為『原聲音』。
輸入緩沖器21是臨時存儲A/D轉(zhuǎn)換器8輸出的原聲音數(shù)據(jù)的緩沖器。幀抽出部22,通過從存儲在輸入緩沖器21中的原聲音數(shù)據(jù)中,剪輯預(yù)先設(shè)定的大小的聲音數(shù)據(jù)的幀來進(jìn)行抽出。該大小也就是聲音數(shù)據(jù)(樣本)數(shù)例如是256。在正確的相位展開實施中,必須使幀重疊(overlap)來抽出,所以幀的剪輯通過重疊因子(factor)OVL來進(jìn)行重疊。作為該因子OVL的值設(shè)定4。這時,跳躍(hop)數(shù)大小是64(256/64=4)。另外,從原聲音數(shù)據(jù)的音調(diào)(以后稱為『原音調(diào)』)向目標(biāo)音調(diào)的縮放值的范圍是以0.5~2.0的范圍作為前提。
幀抽出部22抽出的幀被輸出到低通濾波器(LPF)23。該LPF23為了防止由于音調(diào)的變換而頻率成分超過乃奎斯特(Nyquist)頻率,而進(jìn)行高頻率成分的除去。FFT部24將LPF23輸出的幀作為對象執(zhí)行高速傅立葉變換。該FFT將FFT大小(點(diǎn)數(shù))作成幀大小的2倍(256×2=512)來執(zhí)行。
相位補(bǔ)償部25,將通過FFT的執(zhí)行而得到的各頻道的頻率成分作為對象,伸縮該大小,使其補(bǔ)償音調(diào)變換引起的幀的伸縮。例如,如果音調(diào)縮放值作為前提范圍的最大值是2,由于音調(diào)變換幀大小縮小為1/2,所以為了補(bǔ)償(維持)該大小,將幀擴(kuò)大到2倍。因此,F(xiàn)FT大小成為幀大小的2倍。關(guān)于音調(diào)縮放值計算方法的詳細(xì)內(nèi)容在后面敘述。
FFT部24從LPF23輸入256樣本的幀,并設(shè)置在FFT大小的幀的前半部分。在后半部分中全部設(shè)置0。在后半部分設(shè)置0是為了在執(zhí)行了FFT之后,產(chǎn)生在頻率區(qū)域中的插補(bǔ)效果。由于產(chǎn)生該插補(bǔ)效果所以頻率的分辨率提高。FFT部24,將進(jìn)行了如該設(shè)置的幀作為對象來執(zhí)行FFT。
IFFT部26,通過進(jìn)行IFFT(逆FFT),將相位補(bǔ)償部25伸縮了大小后的各頻道的頻率成分返回到時間域上的數(shù)據(jù),生成1幀的聲音數(shù)據(jù)并輸出。音調(diào)轉(zhuǎn)換器27,根據(jù)從相位補(bǔ)償部25輸入的音調(diào)縮放值,進(jìn)行對IFFT部26生成了幀的插補(bǔ)或者間疏(拉長間隔),并將該音調(diào)進(jìn)行變換。在插補(bǔ)、間疏中可以使用拉格朗日(Lagrange)函數(shù)或sinc函數(shù)等,但是,在本實施方式中,是通過Neville插補(bǔ)來進(jìn)行音調(diào)變換(音調(diào)縮放)的。通過上述插補(bǔ)或者間疏,幀大小就成為原來的大小(256樣本)。對該幀的聲音數(shù)據(jù)以后稱為『合成聲音數(shù)據(jù)』,把根據(jù)該合成聲音數(shù)據(jù)發(fā)音的聲音稱為『合成聲音』。
輸出緩沖器29,是作為聲音對從音響系統(tǒng)11放音的合成聲音數(shù)據(jù)進(jìn)行存儲的緩沖器。幀加算部28,用重疊因子OVL,使從音調(diào)轉(zhuǎn)換器27輸入的1幀的合成聲音數(shù)據(jù)疊加到存儲在輸出緩沖器29中的合成聲音數(shù)據(jù)上,來進(jìn)行加算。被存儲在輸出緩沖器29中的合成聲音數(shù)據(jù),輸出到D/A轉(zhuǎn)換器(DAC)10,并進(jìn)行D/A轉(zhuǎn)換。
上述輸入緩沖器21以及輸出緩沖器29,例如是確保在RAM5中的區(qū)域。除了A/D轉(zhuǎn)換器8、D/A轉(zhuǎn)換器10、輸入緩沖器21以及輸出緩沖器29之外的各部22-28,例如將RAM5作為工作區(qū)用,并通過CPU1執(zhí)行在ROM4中存儲的程序來實現(xiàn)。雖然省略了特別詳細(xì)的說明,但是目標(biāo)音調(diào)例如是通過對鍵盤2的操作來進(jìn)行指示。該目標(biāo)音調(diào)可以根據(jù)標(biāo)準(zhǔn)MIDI文件等的演奏數(shù)據(jù)或者通過通信網(wǎng)絡(luò)接收的數(shù)據(jù)等來進(jìn)行指定。
其次,對上述相位補(bǔ)償部25的音調(diào)縮放值的計算方法進(jìn)行詳細(xì)地說明。以后,該縮放值表示為ρ。
通過FFT的執(zhí)行,按頻率不同的頻道,抽出具有實數(shù)成分和虛數(shù)成分的頻率成分。將實數(shù)成分表示為real,將虛數(shù)成分表示為img,則各頻道的頻率振幅mag以及相位phase可以計算如下Mag=(real2+img2)1/2...(1)Phase=arctan(img/real) ...(2)使用arctan來算出的相位Phase,被限制在-Л~Л之間。但是,相位Phase是角速度的積分值所以必須展開。為了容易區(qū)別有無展開,將被折疊的相位用小字母θ表示,將被展開的相位用大字母 表示,則應(yīng)為 因此,相位Phase(=θ)求取n后必須展開。在此公式(3)的 中作為下標(biāo)添加的k、t,分別表示頻道的指數(shù)、時刻。
該展開可以用以下步驟來進(jìn)行。
首先,按下式計算幀間的相位差ΔθΔθi,k=θi,k-θi-1,k...(4)在此,Δθi,k表示在原聲音波形的頻道k之前的幀與這次的幀之間的相位差,下標(biāo)的i表示幀。這次的幀(現(xiàn)幀)用i表示,之前的幀用i-1表示。
公式(4)中的Δθi,k處于被折疊的狀態(tài)。另一方面,頻道k的中心角頻率Ωi,k,若將采樣頻率表記為fs,將FFT點(diǎn)數(shù)(大小)表記為N,則可用Ωi,k=(2Л·fs)·k/N ...(5)來表示。若令該頻率Ωi,k時與之前的幀的時間差為Δt,則相位差ΔZi,k可用下公式算出。
ΔZi,k=Ωi,k·Δt ...(6)時間差Δt為Δt=N/(fs·OVL) ...(7)公式(6)是相位展開的狀態(tài),所以可以記述為如下式ΔZi,k=Δζi,k+2nЛ...(8)若令在公式(4)中算出的相位差Δθi,k與公式(8)中的相位差Δζi,k的差為δ(=Δθi,k-Δζi,k),則可以導(dǎo)出下式Δθi,k-Ωi,k·Δt=(Δζi,k+δ)-(Δζi,k+2nЛ)=δ-2nЛ...(9)因此,如果消去公式(9)右邊的2nЛ,并將該范圍限制在-Л到Л之間,就可以算出δ。該δ,是在原聲音波形中實際檢測出的相位差(以后,稱為『實相位差』)。
如果在如上述算出的實相位差δ中,加算相位差ΔZi,k(=Ωi,k·Δt),就可以求出如以下相位展開的相位差ΔΘi,kΔΘi,k=δ+Ωi,k·Δt=δ+(Δζi,k+2nЛ)=Δθi,k+2nЛ ...(10)公式(10)中的Ωi,k·Δt,可以根據(jù)公式(5)、(7)進(jìn)行如下述的變形Ωi,k·Δt=((2Л·fs)/N)·k·(N/(fs·OVL))=(2Л/OVL)·k...(11)在含有FFT的離散傅立葉變換(DFT)中,除了在聲音數(shù)據(jù)(信號)中含有的頻率成分的頻率成為DFT點(diǎn)數(shù)的整數(shù)倍的特別情況,在全部的頻道中漏出了(遷移)頻率成分。為此,在分析信號的諧波構(gòu)造等情況時,從DFT的結(jié)果檢測出實際存在頻率成分的頻道的作業(yè)是必要的。
在該檢測中,一般是采用這樣的方法,即檢測出頻率振幅的峰值,而將該峰值看作頻率成分存在的通道。用于此的步驟作為最簡單的方法,可以舉出將具有比前后2個通道的頻率振幅大的頻率振幅的通道視作峰值。但是,在此方法中,有時將窗口函數(shù)的旁瓣(side lobe)的峰值弄錯并辨認(rèn)為峰值。為此,也可以進(jìn)行在找出的峰值間的頻道中抽出頻率振幅為最小的頻道,如果該頻率振幅是峰值的頻率振幅的規(guī)定值(例如峰值的頻率振幅的-14db))以下,可看作是正確的峰值。
在該峰值檢測中,可以更高精度地檢測出峰值,但是,需要2階段的探索處理上煩瑣。由此,在本實施方式中,為了減輕處理的負(fù)擔(dān),不進(jìn)行峰值檢測,如下述那樣考慮相位來檢測出存在原聲音的倍音頻率成分的頻道。
圖3是說明展開的相位差和頻率的關(guān)系的圖線??v軸是相位差,橫軸是頻率。圖中所示的直線,是從各通道的中心頻率計算的相位差,即表示根據(jù)公式(6)計算的ΔZi,k。以沿著該直線的形式畫出的線,表示了通過具有諧波構(gòu)造的聲音,即有聲音的公式(1C)計算的相位差ΔΘi,k。該相位差ΔΘi,k,表示FFT點(diǎn)數(shù)512點(diǎn)的前半128點(diǎn)。
如圖3所示,在具有諧波構(gòu)造的聲音中,在具有該聲音的倍音頻率成分的頻道附近,線為階梯狀(平坦)。這是由于該頻道的頻率成分在近旁的通道中漏出。由此,可以認(rèn)為在含有成為線的階梯狀的部分與直線相交的位置的頻道中存在倍音的頻率成分。該相交的位置,引出通過該位置的與縱軸平行的直線來表示的。
上述相交位置的頻道(以下稱為『倍音頻道』)可以從公式(10)和(6)算出,但是在處理上有些煩雜。因此,在本實施方式中,使用公式(9)的實相位差δ來進(jìn)行倍音頻道的檢測。
如上所述,實相位差δ是公式(4)的Δθi,k與公式(8)的Δζi,k的差。越遠(yuǎn)離實際存在頻率成分的頻道該δ越大,越接近該頻道該δ越小。在超過頻道時與0相交,在頻率變大的方向超越時,隨著離開該頻道在負(fù)側(cè)絕對值變大。以后,只要無特別聲明,圖線(線)形狀的表現(xiàn),假定是用在頻率變大的方向的視點(diǎn)來進(jìn)行。
圖4是說明實相位差δ和頻率的關(guān)系的圖線。該圖線是與圖3相同聲音的情況??v軸是相位差,橫軸是頻率。在該圖4中,是將與圖3所示的縱軸平行的直線一起畫到橫軸上的相同位置。
如圖4所示,表示實相位差δ的線,在直線與圖3中成為線的階梯狀的部分相交的位置從正到負(fù)過零。由此,通過檢測出過零的點(diǎn),就可以找出倍音頻道。
從該圖4可知,在相鄰的倍音間交錯的部分也發(fā)生從正向負(fù)的過零。由此,在本實施方式中,將與下述的條件(以后稱為『過零判斷條件』)相一致的指數(shù)k的頻道,作為存在倍音的頻率成分的倍音頻道來采用。指數(shù)k的頻道是最接近過零點(diǎn)的頻道。
δ[k-2]>δ[k-1]>δ[k]>δ[k+1]>δ[k+2]通過尋找滿足該過零判斷條件的頻道k,可以將從正到負(fù)大的最接近過零點(diǎn)的頻道作為倍音頻道進(jìn)行高精度地抽出。該抽出,即使FFT點(diǎn)數(shù)不充分,而頻率振幅的倍音頻道難以抽出,也可以準(zhǔn)確地進(jìn)行。在必須進(jìn)行更高精度的抽出時,可以與峰值檢測一起來進(jìn)行。
在本實施方式中,將滿足該判斷條件的頻率(倍音)頻道k從頻率小的開始檢測出2個。這是由于頻率越高,誤差的影響變大,而有精度變低的傾向的緣故。將這樣檢測出的倍音頻道的指數(shù)從頻率小的開始表記為hm1、hm2。以后,hm1與具有該基準(zhǔn)指數(shù)hm1的倍音頻道都稱為基準(zhǔn)頻道。各倍音頻道的相位差ΔΘi,k(k=hm1、hm2)用公式(10),也就是在該頻道的實相位差δ中,將通過公式(11)算出的Ωi,k·Δt進(jìn)行加算來計算的。
音調(diào)縮放值ρ,由倍音頻道的檢測結(jié)果如以下算出。
首先,求出與檢測出的2個倍音頻道的指數(shù)hm1、hm2對應(yīng)的頻率的最大公約數(shù)。該最大公約數(shù),可以使用歐幾里得(Euclid)的互除法來算出。非負(fù)的2個整數(shù)x、y的最大公約數(shù)gcd(x,y),可以用遞歸地反復(fù)『數(shù)1』來算出。公式(12)中的『x mod y』表示為x除以y的余數(shù)。最大公約數(shù)gcd(x,y),也可以用其它的方法算出。
在本實施方式中,作為原聲音假定是人的聲音。由此,將原聲音可以取的頻率下限作為80Hz,指數(shù)值的下限假定相當(dāng)該頻率的6。與此相應(yīng),公式(12)中的y=0的條件取為y<6。算出的最大公約數(shù)表示為x。
最大公約數(shù)x,可以將與音調(diào)(基音)相當(dāng)?shù)念l道作為倍音頻道與是否已抽出無關(guān)地求出。為此,稱為故障基頻的基本頻率,即使是缺落,或者在與其它的頻率相比非常小的音樂也可以準(zhǔn)確地求出。
算出最大公約數(shù)x后,對應(yīng)基準(zhǔn)指數(shù)hm1的頻率計算該公約數(shù)x之比的倍數(shù)hmx。該倍數(shù)hmx通過下式求出Hmx=hm1/x....(13)如以上求出的倍數(shù)hmx,相當(dāng)于將與基準(zhǔn)頻道相當(dāng)?shù)念l率用基本頻率(基音(音調(diào))的頻率)相除的值。
目標(biāo)音調(diào)展開的相位差ΔΘd,是將通過公式(13)求出的倍數(shù)hmx進(jìn)行乘算來算出的。若令目標(biāo)音調(diào)的基本頻率為fd[Hz],則該乘算可以通過下式進(jìn)行ΔΘd·hmx=2Лfd·Δt·hmx=(2Лfd·hmx·N)/(fs·OVL) ...(14)
用于將原聲音的音調(diào)變換成目標(biāo)音調(diào)的音調(diào)縮放值ρ,可以用下式算出ρ=ΔΘd·hmx/ΔΘi,hm1...(15)圖2的相位補(bǔ)償部25,如以上來算出縮放值ρ并輸出到音調(diào)轉(zhuǎn)換器27。由此,音調(diào)轉(zhuǎn)換器27,用該縮放值ρ進(jìn)行音調(diào)縮放,并使音調(diào)進(jìn)行變換。
另外,相位補(bǔ)償部25,通過下式進(jìn)行相位的縮放。
θ’i,k=ΔΘi,k((θ’i-1,hm1-θi-1,hm1)/ΔΘi,hm1+(ρ-1))+θi,k...(16)在公式(16)中,在進(jìn)行縮放而得到的相位差上添加『’』來表示。通過進(jìn)行該公式(16)的縮放,共同保存時間軸上相位的一致性(HPCHorizontalPhase Coherence)以及頻道間,即頻率成分間的相位關(guān)系(VPCVertical PhaseCoherence)。(參照特愿2004-374090)。
相位補(bǔ)償部25,由通過公式(16)進(jìn)行縮放后的相位phase’以及從公式(1)算出的頻率振幅mag,通過以下的歐拉(Euler)公式算出實數(shù)成分real’、虛數(shù)成分img’,變換成復(fù)數(shù)的頻率成分。
real’=mag·cos(phase’) ...(17)img’=mag·sin(phase’)...(18)IFFT部26,將這樣變換的頻率成分按頻道從相位補(bǔ)償部25輸入,執(zhí)行IFFT后返回到時間域上的數(shù)據(jù)。音調(diào)轉(zhuǎn)換器27,根據(jù)從相位補(bǔ)償部25輸入的音調(diào)縮放值ρ,進(jìn)行對IFFT部26生成的幀的插補(bǔ)或者間疏的音調(diào)縮放。由此,數(shù)據(jù)量伸縮成1/ρ,但是相位補(bǔ)償部25進(jìn)行ρ倍的相位縮放(公式(16)),所以該伸縮被消除,數(shù)據(jù)量維持原來的大小。幀加算部28,將如以上而得到的幀進(jìn)行重疊加算,由此,具有目標(biāo)音調(diào)的合成聲音,通過音響系統(tǒng)11來放音。
以下,對實現(xiàn)上述功能構(gòu)成的音響效果授予裝置的電子樂器的動作,參照圖5~圖7所示的各種流程圖,進(jìn)行詳細(xì)地說明。
圖5是整體處理地流程圖。首先參照圖5,對該整體處理進(jìn)行詳細(xì)地說明。此外,該整體處理,通過CPU1執(zhí)行存儲在ROM4中的程序來使用電子樂器的資源(resource)來實現(xiàn)。
首先,在步驟SA1中,當(dāng)開啟電源時,執(zhí)行初期化處理。在接著的步驟SA2中,執(zhí)行用于與向構(gòu)成開關(guān)部3的開關(guān)的用戶操作相對應(yīng)的開關(guān)處理。這樣進(jìn)行該開關(guān)處理,例如使構(gòu)成開關(guān)部3的檢測電路檢測出各種開關(guān)的狀態(tài),并接收該檢測結(jié)果,解析該檢測結(jié)果并確定狀態(tài)變化了的開關(guān)的種類及其變化。
在接著步驟SA2的步驟SA3中,執(zhí)行用于與對鍵盤2的用戶的操作對應(yīng)的鍵盤處理。通過執(zhí)行該鍵盤處理,根據(jù)對鍵盤2的演奏操作,從音響系統(tǒng)11放出音樂。在其后轉(zhuǎn)移到步驟SA4。
在步驟SA4中,判斷是否是從A/D轉(zhuǎn)換器8輸出原聲音數(shù)據(jù)的采樣定時。在是該定時的情況,判斷為YES,在步驟SA5中將該原聲音數(shù)據(jù)寫入到RAM5上的輸入緩沖器21中之后,轉(zhuǎn)移到步驟SA6。在不是上述情況時,判斷為NO,并轉(zhuǎn)移到步驟SA10。
在步驟SA6中,判斷是否是幀抽出定時。從成為上一次該定時后在經(jīng)過了采樣跳躍大小的原聲音數(shù)據(jù)的時間的情況下,判斷為YES并轉(zhuǎn)移到步驟SA7。在不是上述情況時,判斷為NO并轉(zhuǎn)移到上述步驟SA10。
在步驟SA7中,將存儲在輸入緩沖器21中的原聲音數(shù)據(jù),抽出1幀,對抽出的幀,順序進(jìn)行除去高頻成分的LPF處理,以及FFT。在接著的步驟SA8中,將通過FFT而得到的各頻道的頻率成分作為對象執(zhí)行相位補(bǔ)償處理。其執(zhí)行后,轉(zhuǎn)移到步驟SA9,進(jìn)行將實施相位補(bǔ)償處理的各頻道的頻率成分作為對象的IFFT、基于對通過該IFFT而得到的1幀的聲音數(shù)據(jù)的執(zhí)行時間縮放處理的音調(diào)變換,并將通過該音調(diào)變換而得到的合成聲音數(shù)據(jù)重疊加算到存儲在RAM5上的輸出緩沖器29中存儲的的合成聲音數(shù)據(jù)中。在其后轉(zhuǎn)移到步驟SA10。
圖2所示的幀抽出部22、LPF23以及FFT部24,用執(zhí)行上述步驟SA7的處理來實現(xiàn)。相位補(bǔ)償部25,用執(zhí)行步驟SA8的相位補(bǔ)償處理來實現(xiàn)。IFFT部26、音調(diào)轉(zhuǎn)換器27以及幀加算部28,用執(zhí)行步驟SA9的處理來實現(xiàn)。
在步驟SA10中,判斷是否是應(yīng)該輸出1采樣的合成聲音數(shù)據(jù)的定時。在是該定時的情況下,判斷為YES,接著將在步驟SA11中應(yīng)該輸出的合成聲音數(shù)據(jù)從輸出緩沖器29讀出,并通過音樂生成部9送到D/A轉(zhuǎn)換器10,此外,在于步驟SA12中執(zhí)行其它處理之后,返回到上述步驟SA2。在不是上述情況時,判斷為NO,接著執(zhí)行步驟SA12的處理。
被合成的合成聲音數(shù)據(jù)通過音樂生成部9被發(fā)送到D/A轉(zhuǎn)換器10中。由此,在音樂生成部9中,安裝有將自身生成的音樂的波形數(shù)據(jù)與從其它輸入的數(shù)據(jù)進(jìn)行混合的功能。
圖6是作為上述步驟SA8執(zhí)行的相位補(bǔ)償處理的流程圖。
以下參照圖6,對該補(bǔ)償處理進(jìn)行詳細(xì)地說明。在該補(bǔ)償處理中,給出通過進(jìn)行FFT而得到的各頻道的頻率成分。該頻率成分,如上所述,由實數(shù)部與虛數(shù)部組成。
首先,在步驟SB1中,從各頻道的頻率成分,通過公式(1)、(2)算出頻率振幅mag、相位phase(=θ)。在接著的步驟SB2中,開始依據(jù)公式(4)~(10)的、展開的相位差ΔΘi,k(圖3)的算出,在算出實相位差δ的時間點(diǎn)(公式(10)的前面),轉(zhuǎn)移到步驟SB3。
在步驟SB3中,由在步驟SB2中得到的實相位差δ(圖4),檢測出2個倍音頻道。其次,在轉(zhuǎn)移的步驟SB4中,通過公式(10)算出各頻道的相位差ΔΘi,k。其算出后,轉(zhuǎn)移到步驟SB5,并對在步驟SB3中檢測出的2個倍音頻道,通過公式(12)~(15),執(zhí)行算出縮放值ρ的縮放值算出處理。
在此,對該算出處理,參照圖7所示的該流程進(jìn)行詳細(xì)地說明。
首先,在步驟SC1中,將與在步驟SB3中檢測出的2個倍音頻道的指數(shù)值hm1、hm2對應(yīng)的頻率,分別代入到變數(shù)h1、h2中。在此,變數(shù)h1、h2分別與公式(12)的x、y對應(yīng)。在接著的步驟SC2中,判斷與變數(shù)h2的值對應(yīng)的指數(shù)值是否是6或6以上。在該指數(shù)值是6或6以上時,判斷為YES,接著在步驟SC3中,將變數(shù)h1的值除以變數(shù)h2的值而得到的余數(shù)代入到變數(shù)t,在變數(shù)h1中代入變數(shù)h2的值,進(jìn)而在變數(shù)h2中代人變數(shù)t的值后,再次進(jìn)行在步驟SC2的判斷。在不是上述情況時,判斷為NO,并轉(zhuǎn)移到步驟SC4。在步驟SC2的判斷為NO之前反復(fù)執(zhí)行由步驟SC2、SC3形成的處理循環(huán),由此,在變數(shù)h1中代入與指數(shù)值hm1、hm2對應(yīng)的頻率間的最大公約數(shù)(公式(12))。
在步驟SC4中,在變數(shù)hmx中,代入指數(shù)值hm1對應(yīng)的頻率用變數(shù)h1的值(最大公約數(shù))相除所得的值(公式(13))。在接著的步驟SC5中,將相位差ΔΘd乘以變數(shù)hmx的值(公式(14)),并使用該乘算結(jié)果,通過公式(15)算出縮放值ρ。其算出后,終止一系列的處理。根據(jù)該終止,在圖6的相位補(bǔ)償處理中,轉(zhuǎn)移到步驟SB6。
在該步驟SB6中,使用在步驟SB4中算出的相位差ΔΘi,k,進(jìn)行依據(jù)公式(16)的相位縮放處理。在接著的步驟SB7中,由執(zhí)行該縮放處理后的相位phase,以及從公式(1)算出的頻率振幅mag,算出實數(shù)成分real’(公式(17))、虛數(shù)成分img’(公式(18)),并變換成復(fù)數(shù)的頻率成分。在進(jìn)行該變換后,終止一系列的處理。
此外,在本實施方式中,抽出了2個倍音頻道,但是也可以抽出3個或3個以上的倍音頻道。在一起進(jìn)行峰值檢測時,可以從著眼于實相位差而抽出的倍音頻道之中,考慮到頻率振幅的大小來抽出2個或2個以上的倍音頻道。
根據(jù)音調(diào)變換共振峰也移動。為此,當(dāng)變換量(縮放值ρ)越大,合成聲音越不自然。為了回避這個,可以一起來進(jìn)行共振峰的補(bǔ)償。
在本實施方式中,由于即使不抽出原聲音的基音頻率,也可以實現(xiàn)向目標(biāo)音調(diào)的音調(diào)變換,所以未抽出該基本頻率。但是,該基本頻率可以使用倍數(shù)hmx來抽出。該抽出(算出),若將基本頻率表記為fi,則可以使用公式(7),通過下式來進(jìn)行fi=ΔΘi,hm1/(2Л·Δt·hmx)=(ΔΘi,hm1·fs·OVL)/(2Л·N·hmx) ...(19)適用于本發(fā)明的基音抽出裝置,作為通過公式(19)算出基本頻率fi的裝置,可以在本實施方式中的音響效果授予裝置上,或者在安裝了它的電子樂器上輕易地實現(xiàn)。在用頻率指定了目標(biāo)音調(diào)時,在算出基本頻率fi后,可以并且通過取得與該目標(biāo)音調(diào)的頻率之比,來求出縮放值ρ。另外,算出的基本頻率fi,可以通過顯示部6等來告知用戶。關(guān)于合成聲音波形的生成,也可以采用其它的方法。
實現(xiàn)含有如上述的變形例的音響效果授予裝置,或者基音抽出裝置的程序,也可以記錄到CD-ROM、DVD或者光磁盤等記錄媒體來散發(fā)?;蛘撸梢酝ㄟ^使用公眾網(wǎng)等傳播媒體,將該程序的一部分或者全部進(jìn)行分發(fā)。在這種情況時,用戶取得程序并裝載到計算機(jī)等數(shù)據(jù)處理裝置中,由此使用該數(shù)據(jù)處理裝置,可以實現(xiàn)適用于本分明的音響效果授予裝置。因此,記錄媒體可以是能存取分發(fā)程序的裝置。
權(quán)利要求
1.一種音響效果授予裝置,其包括頻率分析單元(24、SA7),其用于將輸入的第1聲音波形用幀單位進(jìn)行頻率分析,并按頻道抽出頻率成分;倍音通道抽出單元(25、SB3),其用于從所述頻率分析單元抽出頻率成分的頻道之中,將存在是所述第1聲音波形的基音的1倍或1倍以上的倍音的頻率成分的頻道,抽出2個或2個以上;公約數(shù)算出單元(25、SC1~SC3),其用于算出與所述倍音通道抽出單元抽出的2個或2個以上的頻道對應(yīng)的頻率間的最大公約數(shù);聲音波形生成單元(26、27、SA9),其用于可以將變換了所述第1聲音波形的音調(diào)的聲音波形作為所述第2聲音波形而生成;和生成控制單元(25、SC4),其用于使用所述公約數(shù)算出單元算出的最大公約數(shù)來決定所述音調(diào)的變換內(nèi)容,并在所述聲音波形生成單元中生成第2聲音波形。
2.根據(jù)權(quán)利要求1所述的音響效果授予裝置,其中,所述生成控制單元(25、SC4),將所述倍音通道抽出單元抽出的2個或2個以上的頻道中的1個作為基準(zhǔn)通道,算出該基準(zhǔn)通道的頻率與所述最大公約數(shù)的頻率比,并使用該算出的頻率比來決定所述音調(diào)的變換內(nèi)容。
3.根據(jù)權(quán)利要求2所述的音響效果授予裝置,其中,所述生成控制單元(25),將所述基準(zhǔn)通道的頻率用所述最大公約數(shù)相除而得到的除算值作為所述頻率比來算出,將在作為所述第2聲音波形的目標(biāo)的基音中的幀間的相位差乘以該除算值來算出作為目標(biāo)的目標(biāo)相位差,并算出該算出的目標(biāo)相位差與該基準(zhǔn)通道的幀間的相位差的相位差比來決定所述音調(diào)的變換內(nèi)容。
4.根據(jù)權(quán)利要求2所述的音響效果授予裝置,其中,所述生成控制單元(25),將所述基準(zhǔn)通道的頻率用所述最大公約數(shù)進(jìn)行相除而得到的除算值作為所述頻率比來算出,將該基準(zhǔn)通道的幀間的相位差用該除算值除算而得到的、在所述第1聲音波形的基音中的幀間中的相位差變換成頻率,由此,算出該基音的頻率,并使用該算出的基音頻率來決定所述音調(diào)的變換內(nèi)容。
5.根據(jù)權(quán)利要求1所述的音響效果授予裝置,其中,所述倍音通道抽出單元(25、SB3),從所述頻率分析單元按頻道抽出的頻率成分算出相位,并使用該算出的相位來抽出2個或2個以上的頻道。
6.一種基音抽出裝置,其包括頻率分析單元(24、SA7),其用于將輸入的聲音波形用幀單位進(jìn)行頻率分析,并按頻道抽出頻率成分;倍音通道抽出單元(25、SB3),其用于從所述頻率分析單元抽出了頻率成分的頻道之中,將存在所述聲音波形的基音的1倍或1倍以上的倍音的頻率成分的頻道,抽出2個或2個以上;公約數(shù)算出單元(25、SC1~SC3),其用于算出與所述倍音通道抽出單元抽出的2個或2個以上的頻道對應(yīng)的頻率間的最大公約數(shù);和基音抽出單元(25、SC3),其用于使用所述公約數(shù)算出單元算出的最大公約數(shù)來抽出所述聲音波形的基音的頻率。
7.根據(jù)權(quán)利要求6所述的基音抽出裝置,其中,所述基音抽出單元(25),將所述倍音通道抽出單元抽出的2個或2個以上的頻道之中的1個作為基準(zhǔn)通道,算出將該基準(zhǔn)通道的頻率用所述最大公約數(shù)相除而得到的除算值,將該基準(zhǔn)通道的幀間的相位差用該除算值除算而得到的、在所述聲音波形的基音中的幀間中的相位差變換成頻率,由此算出該基音的頻率。
8.根據(jù)權(quán)利要求6所述的基音抽出裝置,其中,所述倍音通道抽出單元(25、SB3),從所述頻率分析單元按頻道抽出的頻率成分算出相位,并使用該算出的相位來抽出2個或2個以上的頻道。
全文摘要
本發(fā)明提供不用直接檢測出聲音波形的音調(diào)(Pitch),就可以將該音調(diào)變換成作為目標(biāo)的音調(diào)的技術(shù),還提供用于將聲音波形的音調(diào)準(zhǔn)確地抽出的技術(shù)。相位補(bǔ)償部25,從通過FFT部24執(zhí)行的FFT,得到的頻率成分的頻道中,將存在原聲音的基音的1倍或1倍以上的倍音的頻率成分的頻道,抽出2個或2個以上,并算出用于將該基音變換成作為目標(biāo)的基音的縮放值,進(jìn)行與該縮放值對應(yīng)的相位補(bǔ)償。音調(diào)轉(zhuǎn)換器27,對進(jìn)行了相位補(bǔ)償?shù)念l率成分,在用IFFT部26進(jìn)行IFFT而輸出的聲音數(shù)據(jù)中,進(jìn)行與該縮放值對應(yīng)的音調(diào)縮放,生成變換成了作為目標(biāo)的基音的聲音數(shù)據(jù)。
文檔編號G10H7/00GK1828720SQ20061005779
公開日2006年9月6日 申請日期2006年2月27日 優(yōu)先權(quán)日2005年2月28日
發(fā)明者瀨戶口克 申請人:卡西歐計算機(jī)株式會社