專利名稱:用于改變音頻信號(hào)音質(zhì)和/或進(jìn)行音調(diào)控制的方法和裝置的制作方法
發(fā)明的領(lǐng)域本發(fā)明一般來(lái)說(shuō)涉及電子音頻效果,具體地說(shuō),涉及改變音頻信號(hào)的音質(zhì)和/或進(jìn)行音調(diào)控制的音樂(lè)效果。
發(fā)明的背景在任何一種周期性的音符中,一般都具有一個(gè)基頻,它決定該音符的音調(diào),還有許多諧音。這些諧音提供了該音符的特性或音質(zhì)。該多個(gè)諧音頻率與該基頻的特定組合可使,例如,吉它和小提琴演奏彼此不同的同一音符的聲音。該基頻分量的振幅與一個(gè)樂(lè)器或聲音產(chǎn)生的該多個(gè)諧音的振幅的相互關(guān)系稱為譜色線。在諸如吉它、長(zhǎng)笛或薩克斯管一類樂(lè)器中,當(dāng)音符的音調(diào)調(diào)高或調(diào)低時(shí),該樂(lè)器奏出的該音符的譜色線會(huì)成比例地,或多或少地?cái)U(kuò)展和收縮。
各種電子音調(diào)改變器可產(chǎn)生各種音樂(lè)效果,它們接收一個(gè)輸入音符,并產(chǎn)生一個(gè)具有不同音調(diào)的輸出音符。通常,可利用這些效果使單一一個(gè)音樂(lè)家演唱等如同幾個(gè)音樂(lè)家演唱一樣。對(duì)于多個(gè)樂(lè)器,可以對(duì)由該樂(lè)器發(fā)出的聲音進(jìn)行采樣和記錄,然后,用比記錄該多個(gè)采樣的速率高或低的速率,將所采樣和記錄的聲音奏出,而改變音符的音調(diào)。用這種方法產(chǎn)生的各種輸了音符發(fā)出的聲音相當(dāng)自然,因?yàn)楦鞣N音調(diào)變化后的聲音的譜色線與該樂(lè)器產(chǎn)生的聲音如何隨著音調(diào)變化的譜色線極其相似。
與各種樂(lè)器產(chǎn)生的音符相反,口頭發(fā)聲的音符的音調(diào)改變時(shí),該口頭發(fā)聲音符或聲音的譜色線不會(huì)成比例地改變。然而,構(gòu)成這個(gè)譜色線的各個(gè)單個(gè)頻率的相對(duì)大小可以改變。當(dāng)唱歌或說(shuō)話時(shí),通過(guò)對(duì)音符的采樣,改變一個(gè)口頭發(fā)聲音符的單調(diào),并且以不同的速度將該多個(gè)采樣奏出時(shí)所發(fā)出的聲音不自然,因?yàn)樵撎幚砼c音調(diào)變化量成比例地改變?cè)撟V色線的形狀。為了逼真地改變一個(gè)口頭發(fā)聲聲音的音調(diào),需要一種方法,該方法可以改變基頻,而只是輕微地改變譜色線的總的形狀。
在我們先前的專利5231671號(hào)(“671專利”)中描述了一種裝置,該裝置可以改變口頭發(fā)聲音符的音調(diào),用以實(shí)時(shí)地產(chǎn)生各種諧音。在“671專利”中所描述的音調(diào)改變方法是由刊登在“計(jì)算機(jī)音樂(lè)雜志”第13卷,第4期(1989)的蘭特,K(Lent,K.)的一篇文章“數(shù)字采樣聲音的音調(diào)改變的一種有效方法”(“蘭特方法”)改編而來(lái)的。該蘭特方法可以不改變譜色線而改變一個(gè)數(shù)字采樣聲音的音調(diào)。簡(jiǎn)要地說(shuō),該蘭特方法可以通過(guò)利用比基頻輸入音符較快或較慢的速率重現(xiàn)一個(gè)存貯輸入信號(hào)的各個(gè)部分來(lái)改變一個(gè)口頭發(fā)聲音符的音調(diào)。雖然這種改變口頭發(fā)聲音符音調(diào)的方法工作良好,但該音調(diào)改變的音符的聲音不完全自然,因?yàn)楫?dāng)音符的音調(diào)改變時(shí),該譜色線保持固定不變。
如上所述,存在著二個(gè)利用電子方法改變一個(gè)音符音調(diào)的方法。第一個(gè)方法稱為重新采樣法。它可以與音調(diào)改變量成比例地改變譜色線。第二個(gè)方法稱為蘭特方法。它不管音調(diào)改變量如何,或多或少地保持著該譜色線。這兩種方法都不能使該譜色線以可控制的方式進(jìn)行改變。因此,需要有一種與音符的音調(diào)無(wú)關(guān)的改變一個(gè)音符的譜色線的方法。利用這種方法,可以產(chǎn)生更逼真的各種諧音。另外,通過(guò)改變音符的音質(zhì),同時(shí)改變或不改變輸出音調(diào),可以使一種樂(lè)器的聲音象另一種樂(lè)器的聲音,或者一個(gè)人的聲音象另一個(gè)人的聲音。
發(fā)明梗概為了改變口頭發(fā)聲音符和各種樂(lè)器產(chǎn)生的音符的音質(zhì),本發(fā)明通過(guò)改變信號(hào)的采樣速率和根據(jù)蘭特方法進(jìn)行音調(diào)改變,使用了一種改變音調(diào)的新的組合方式。在優(yōu)選實(shí)施例中,輸入信號(hào)用第一種速率采樣,而所產(chǎn)生的數(shù)字表達(dá)存貯在緩沖存貯器中。然后,用由使用者決定的第二種速率,對(duì)所存貯的數(shù)字輸入信號(hào)重新采樣。該重新采樣的輸入信號(hào)再存貯在第二個(gè)緩沖存貯器中。然后,利用一個(gè)窗函數(shù),以和理想的輸出音符的基頻相等的速率,對(duì)該重新采樣的輸入信號(hào)進(jìn)行定標(biāo),可以改變?cè)撝匦虏蓸虞斎胄盘?hào)的音調(diào)。假如希望只改變音符的音質(zhì),不改變音符的音調(diào),則窗函數(shù)用以給該重新采樣的輸入信號(hào)定標(biāo)的速率與該輸入音符的基頻相同。假如希望改變輸出音符的音調(diào)及其音質(zhì),則窗函數(shù)用以給該重新采樣的輸入信號(hào)定標(biāo)的速率與該輸入音符的基頻不同。
根據(jù)本發(fā)明的另一方面,說(shuō)明了一種音樂(lè)效果發(fā)生器。該發(fā)生器可以改變一個(gè)輸入音頻信號(hào)的音質(zhì)和/或音調(diào),使它與在MIDI通過(guò)上接收的音調(diào)匹配。最好,該音樂(lè)效果發(fā)生器與一個(gè)MIDI卡拉OK系統(tǒng)一起使用。該卡拉OK系統(tǒng)可向該音樂(lè)效果發(fā)生器提供一連串的旋律或諧音音符。該音樂(lè)效果發(fā)生器閱讀在MIDI通道上的音符,并且自動(dòng)地將音質(zhì)改變的量賦與該音符。通過(guò)將諧音音符的音調(diào)與一個(gè)或多個(gè)閾值,或與從一個(gè)該卡拉OK系統(tǒng)使用者處接收的一個(gè)輸入音頻信號(hào)的音調(diào)進(jìn)行比較,可以實(shí)現(xiàn)這種賦與。分派給每一個(gè)音符的音質(zhì)的量可使各種諧音音符的聲音與輸入的音頻信號(hào)不同,或者,假如音調(diào)升高或降低時(shí),可以模仿該輸入音頻符號(hào)是如何改變的。
附圖的簡(jiǎn)要說(shuō)明本發(fā)明的上述各個(gè)方面和附帶的許多優(yōu)點(diǎn)參考下列結(jié)合附圖進(jìn)行的詳細(xì)說(shuō)明將更快地明了和更好地理解。其中,
圖1A~1D為各種有聲信號(hào)的譜的有代表性的圖形,它們表示作為先前技術(shù)的音質(zhì)/音調(diào)改變方法的結(jié)果,以及本發(fā)明的音質(zhì)/音調(diào)改變方法的結(jié)果,各種譜色線是如何改變的;圖2A為本發(fā)明所進(jìn)行的,用于改變一個(gè)輸入音符的音質(zhì)和/或音調(diào)的多個(gè)步驟的流程圖;圖2B為由本發(fā)明所進(jìn)行的,用于從一個(gè)輸入口頭發(fā)聲音符中產(chǎn)生音質(zhì)改變的,各種諧音音符的多個(gè)步驟的流程圖;圖3為用于根據(jù)本發(fā)明的方法產(chǎn)生各種聲音諧音的一種音樂(lè)效果發(fā)生器的方框圖;圖4A和圖4B為一些圖形和相應(yīng)的存貯器流程圖,它們表示根據(jù)本發(fā)明的方法的步驟,一個(gè)輸入的有聲信號(hào)是如何被重新采樣的;圖5為表示根據(jù)本發(fā)明的方法編程的一個(gè)數(shù)字信號(hào)處理器所能發(fā)揮的功能的方框圖;圖6為表示在該數(shù)字信號(hào)處理器內(nèi)的一個(gè)加窗的音頻發(fā)生器所發(fā)揮的各種功能的方框圖;圖7A和7B為根據(jù)本發(fā)明的改變一個(gè)數(shù)字采樣有聲信號(hào)的音調(diào)的方法的圖形表示;圖8A和8B表示根據(jù)本發(fā)明的方法,漢寧(Hanning)窗是如何產(chǎn)生和存貯在存貯器中的;和圖9A和9B為動(dòng)態(tài)地選擇加在一個(gè)音符上的音質(zhì)改變量的音樂(lè)效果發(fā)生器的方框圖。
優(yōu)選實(shí)施例的詳細(xì)說(shuō)明本發(fā)明提供一種用于改變一個(gè)音符的音質(zhì)的系統(tǒng),該系統(tǒng)比已知的各種系統(tǒng)產(chǎn)生的音質(zhì)改變更逼真。本方法的最簡(jiǎn)單的形式可以用來(lái)改變一個(gè)音符的音質(zhì),但不改變音符的音調(diào)。例如,可以利用該方法使由一個(gè)男聲唱和說(shuō)出的有聲信號(hào)好象是由一名婦女唱或說(shuō)同一音符一樣。除了改變一個(gè)音符的音質(zhì)之外,本發(fā)明的方法可以用來(lái)改變一個(gè)音符的音調(diào)和音質(zhì)。例如,可以利用本發(fā)明使由一個(gè)女聲唱出的一個(gè)音符象由一個(gè)男聲唱出的另一個(gè)音符一樣。最后,可以利用本發(fā)明的當(dāng)前的優(yōu)選實(shí)施例,從一個(gè)輸入音符中產(chǎn)生音質(zhì)改變的、各種諧音音符。雖然,下面的說(shuō)明最初是針對(duì)從一個(gè)輸入的口頭發(fā)聲音符產(chǎn)生不同的諧音音符的,但可以理解,該音符不需要一定是一個(gè)口頭發(fā)出的音符,可以從任何一個(gè)聲源產(chǎn)生,并且輸出音符不需要一定是與輸入的音調(diào)不同或與輸入音調(diào)諧和的。
圖1A~1D比較了當(dāng)根據(jù)先前技術(shù)的方法和采用本發(fā)明的方法改變音符的音調(diào)時(shí),一個(gè)口頭發(fā)聲音符的譜色線是如何改變的。圖1A表示一個(gè)頻譜30a,它是一個(gè)典型的口頭發(fā)聲音符的代表。該頻譜的總的形狀由一個(gè)開多個(gè)共振峰或頂峰32a決定。該口頭發(fā)聲音符的特性或音質(zhì)由該音符和各個(gè)諧音的基頻的相對(duì)大小和位置決定(用多個(gè)箭頭34a表示)。
為了逼真地改變一個(gè)口頭發(fā)聲音符的音調(diào),必需改變音符的基頻,同時(shí)保持譜的共振峰接近原來(lái)的口頭發(fā)聲音符的共振峰。圖1B表示一個(gè)音調(diào)改變了的口頭發(fā)聲音符的頻譜30b。該頻譜30b為在擁有如圖1A所示的頻譜的音符以下的五度音程的一個(gè)音樂(lè)片段。具有頻譜30b的音符是通過(guò)放慢采樣的原來(lái)的口頭發(fā)聲音符的播放速率而產(chǎn)生的。可以看出,由多個(gè)共振峰32b和多個(gè)單獨(dú)的諧音34b決定的整個(gè)譜色線被壓縮,并向較低的頻率偏移。共振峰偏移的結(jié)果使該音調(diào)改變了的口頭發(fā)聲音符聲音不自然。
圖1C表示一個(gè)音調(diào)改變了的口頭發(fā)聲音符的頻譜30c。該頻譜30c是在具有圖1A所示的頻譜的音符以下五度音程的一個(gè)音樂(lè)片段,并且是根據(jù)上述“671專利”所述的方法產(chǎn)生的。具有頻譜30c的該音調(diào)改變了的口頭發(fā)聲音符是通過(guò)以比原來(lái)的輸入口頭發(fā)聲音符的基頻低的速率重現(xiàn)該輸入口頭發(fā)聲音符的一部分而產(chǎn)生的。在頻譜30c中,只有各個(gè)諧音34c的頻率改變,如在“671專利”中所述那樣。頻譜的總的形狀保持與圖1A所示的頻譜一樣。具有頻譜30c的音調(diào)改變了的口頭發(fā)聲音符聲音比具有圖1B所示的頻譜30b的音符所產(chǎn)生的音調(diào)改變的口頭發(fā)聲音符聲音自然得多。然而,該音調(diào)改變了的口頭發(fā)聲音符聲音仍然不完全自然。利用在“671專利”中所述的方法所產(chǎn)生的音調(diào)改變的口頭發(fā)聲音符力圖具有與產(chǎn)生該音調(diào)改變的口頭發(fā)聲音符的輸入有聲信號(hào)非常相似的音質(zhì)。因此,所有音調(diào)改變的口頭發(fā)聲音符聲音就好象該原來(lái)的口頭發(fā)聲音符聲音的各種變化形式一樣。
為了用一種逼真的方式改變一個(gè)音符的音質(zhì),本發(fā)明采用對(duì)音調(diào)改變進(jìn)行重新采樣和“671專利”所述的方法的一種新的組合方式。在對(duì)音調(diào)改變進(jìn)行重新采樣時(shí),口頭發(fā)聲音符的播放速率改變。結(jié)果是可使音質(zhì)改變的音符聲音更低沉和更男性化,或更高和更女性化。
圖1D表示一個(gè)音調(diào)改變了的口頭發(fā)聲音符的頻譜30d。該頻譜30d具有一個(gè)頻率,該頻率是具有圖1A所示頻譜的輸入口頭發(fā)聲音符以下的五度音程的一個(gè)音樂(lè)片段,并且是根據(jù)本發(fā)明的方法產(chǎn)生的。如下面將要詳細(xì)說(shuō)明的那樣,相應(yīng)于頻譜30d的音調(diào)改變了的口頭發(fā)聲音符是通過(guò)以比原來(lái)的采樣速率稍慢的速率,對(duì)事先存貯的輸入口頭發(fā)聲音符進(jìn)行重新采樣,并將該重新采樣的數(shù)據(jù)存貯在緩沖存貯器中而得到的。然后,用與該輸入音符的音調(diào)以下的五度音程的基頻相等的速率再現(xiàn)該重新采樣數(shù)據(jù)的一部分。可以看出,頻譜30d稍微被壓縮,但仍與原來(lái)的頻譜30a相似。結(jié)果是音調(diào)改變的口頭發(fā)聲音符聲音自然,但不象該原來(lái)的輸入音符的一個(gè)再現(xiàn)形式。
本發(fā)明的從一個(gè)輸入信號(hào)產(chǎn)生一個(gè)音質(zhì)和/或音調(diào)改變的輸出信號(hào)的幾個(gè)主要步驟在圖2A所示的流程圖中提出。該方法在步驟50處開始。在步驟50處,模數(shù)轉(zhuǎn)換器以第一種速率對(duì)一個(gè)輸入信號(hào)進(jìn)行采樣。該輸入信號(hào)可以由一個(gè)樂(lè)器,例如長(zhǎng)笛、吉它等產(chǎn)生,可以為使用者說(shuō)話或唱歌發(fā)出的口頭發(fā)聲音符,或者可以由一個(gè)數(shù)字聲源,例如,合成器產(chǎn)生。在對(duì)輸入信號(hào)采樣后,在步驟52,將該輸入信號(hào)的相應(yīng)的數(shù)字表達(dá)存貯在一個(gè)數(shù)字存貯器中。接著,用與該輸入信號(hào)原本采樣的第一種速率不同的第二種速率,對(duì)該存貯的輸入信號(hào)進(jìn)行重新采樣。重新采樣的速率可以固定在比原來(lái)的采樣速率大或小百分之幾的數(shù)值。另一種可供選擇的辦法是,可由使用者選擇該重新采樣的速率。
在步驟56,將該重新采樣的數(shù)據(jù)存貯在一個(gè)數(shù)字存貯器中。最后,在步驟58,通過(guò)用一個(gè)與理想的輸出信號(hào)的基頻相等的速率。再現(xiàn)該重新采樣數(shù)據(jù)的一部分,可以產(chǎn)生音質(zhì)改變了的輸出信號(hào)。例如,假如只希望改變一個(gè)輸入信號(hào)的音質(zhì),則用以再現(xiàn)該重新采樣數(shù)據(jù)的一部分的速率與該輸入信號(hào)的基頻相等。另外,可能希望改變?cè)撦斎胄盘?hào)的音質(zhì)和音調(diào),在這種情況下,用以再現(xiàn)該重新采樣數(shù)據(jù)的一部分的速率與該輸入信號(hào)的基頻不相同。最后,對(duì)于在諧和效果發(fā)生器中使用本發(fā)明的方法的情況,用以再現(xiàn)該重新采樣數(shù)據(jù)的一部分的速率可以設(shè)定為一個(gè)基頻,該基頻與該輸入信號(hào)的基頻呈諧和相關(guān)的關(guān)系。
在本發(fā)明的當(dāng)前實(shí)現(xiàn)中,采用了音質(zhì)改變技術(shù)從一個(gè)使用者唱出的輸入口頭發(fā)聲音符中產(chǎn)生多個(gè)諧和音符。因此,雖然以下的說(shuō)明是針對(duì)產(chǎn)生各種音質(zhì)改變的,諧和的口頭發(fā)聲音符的,但可以理解,本發(fā)明的方法也可用于只改變一個(gè)輸入信號(hào)的音質(zhì),或者用與該輸入信號(hào)的音調(diào)不諧和相關(guān)的方法去改變輸入信號(hào)的音質(zhì)和音調(diào)。
圖2B為在本發(fā)明中進(jìn)行的用以產(chǎn)生音質(zhì)改變的各種有聲諧音的各種主要步驟的流程圖。本方法在步驟60處開始。在步驟60,用一個(gè)第一種速率對(duì)模擬輸入口頭發(fā)聲音符進(jìn)行采樣,并使其數(shù)字化。在步驟62中,將各個(gè)數(shù)字采樣存貯在第一個(gè)緩沖存貯器中。在步驟64,對(duì)存貯的采樣進(jìn)行分析,以決定該輸入口頭發(fā)聲音符的音調(diào)。在決定了音調(diào)之后,在步驟66選擇由該輸入口頭發(fā)聲音符產(chǎn)生的各種諧音音符。為一個(gè)給定的輸入音符產(chǎn)生的特定的諧音音符可以由使用者預(yù)先編成程序,單獨(dú)選擇,或由一個(gè)外部聲源,例如一個(gè)合成器,一個(gè)序列給定器或一個(gè)外部存貯裝置,例如一個(gè)計(jì)算機(jī)盤,一個(gè)激光盤等接收。
在選擇了諧音音符之后,在步驟68決定由使用者選擇的采樣速率增加或減少的百分?jǐn)?shù)。為了賦與該諧音音符更加女性化的品質(zhì),可以增加采樣速率,或?yàn)榱水a(chǎn)生具有更男性化的聲音的諧音音符,可以降低該采樣速率。
在步驟70,以使用者選擇的新的速率對(duì)在步驟62中存貯的數(shù)字化輸入口頭發(fā)聲音符進(jìn)行重新采樣。該重新采樣的數(shù)據(jù)存貯在第二個(gè)緩沖存貯器中。例如,假如使用者已經(jīng)選擇要減小采樣速率,則在該第二個(gè)緩沖存貯器中,數(shù)據(jù)采樣較少,從而減少了存貯該數(shù)字化輸入口頭發(fā)聲音符所需要的存貯量。同樣,假如使用者已經(jīng)選擇要增加采樣速率,則需要用一個(gè)比原來(lái)對(duì)該數(shù)據(jù)進(jìn)行采樣的速率較高的速率,對(duì)該第一個(gè)緩沖存貯器中的數(shù)據(jù)進(jìn)行重新采樣。因而,需要更多的采樣,和增加在第二個(gè)緩沖存貯器中存貯該數(shù)字化輸入口頭發(fā)聲音符所需要的存貯量。當(dāng)該數(shù)據(jù)占據(jù)較多的存貯空間時(shí),假設(shè)從存貯器中讀出該采樣的速率保持一樣,則該音符的音調(diào)會(huì)降低。
在步驟72中,將該重新采樣的數(shù)據(jù)存貯在第二個(gè)緩沖存貯器中。最后,在步驟74,通過(guò)用與在步驟66中選擇的不同諧音音符的基頻相等的速率,再現(xiàn)該重新采樣的輸入口頭發(fā)聲音符的各個(gè)部分,可以產(chǎn)生各種諧音音符。
現(xiàn)在轉(zhuǎn)至圖3,根據(jù)本發(fā)明的方法產(chǎn)生音質(zhì)改變了的各種諧音音符的一個(gè)音樂(lè)效果發(fā)生器100接收由使用者唱出的一個(gè)輸入口頭發(fā)聲音符105。一般,該音樂(lè)效果發(fā)生器具有一個(gè)微處理器或CPU138。該微處理器或CPU138與一個(gè)數(shù)字信號(hào)處理器(DSP)180和隨機(jī)存取存貯器(RAM)121相互聯(lián)結(jié),以產(chǎn)生許多諧音音符105a,106b,105c和105d。這些諧音音符與輸入口頭發(fā)聲音符組合,以產(chǎn)生一個(gè)多聲音的輸出,如下面詳細(xì)描述的那樣。
微處理器138包括其自身的只讀存貯器(ROM)140和隨機(jī)存取存貯器(RAM)144。一組輸入控制148與該微處理器連接,使得使用者可以改變?cè)撘魳?lè)效果發(fā)生器的各種操作參數(shù)。這些參數(shù)包括選擇對(duì)于一個(gè)給定的輸入音符將產(chǎn)生那些諧音音符和各諧音音符在右端和左端立體聲通道之間的分布。
微處理器操縱一組顯示器150。各個(gè)顯示器提供了一種視覺(jué)指示。表明該音樂(lè)效果發(fā)生器是如何工作的和使用者選擇了什么程式。一個(gè)或多個(gè)MIDI口154與該微處理器連接,使該音樂(lè)效果發(fā)生器可從其它的MIDI兼容的樂(lè)器或各種效果中接收MIDI數(shù)據(jù)。MIDI口的詳細(xì)情況一般對(duì)技術(shù)普通熟練的人們是眾所周知的,因此不需要進(jìn)一步詳細(xì)討論。
最后,該效果發(fā)生器還包括二個(gè)“性別改變”控制156。該性別改變控制可使得使用者能選擇加在所產(chǎn)生的每一個(gè)諧音音符上的重新采樣的音調(diào)改變量。下面將更全面地討論該二個(gè)性別改變控制的工作。
數(shù)字信號(hào)處理器180為一特殊的計(jì)算機(jī)芯片,它可完成許多功能。操縱該數(shù)字信號(hào)處理器的程序編碼放在ROM141中。ROM141是與該微處理器連接的ROM140的一部分。在該音樂(lè)效果發(fā)生器啟動(dòng)時(shí),微處理器138將相應(yīng)的計(jì)算機(jī)程序裝入該數(shù)字信號(hào)處理器,以便根據(jù)本發(fā)明的方法產(chǎn)生各種諧音音符。
音樂(lè)效果發(fā)生器100包括一個(gè)麥克風(fēng)110。麥克風(fēng)110接收使用者的輸入口頭發(fā)聲音符,并將該口頭發(fā)生音符轉(zhuǎn)換為一個(gè)相應(yīng)的模擬電氣有聲信號(hào)。輸入的有聲信號(hào)也稱為“干的”音頻信號(hào)。該輸入有聲信號(hào)送至一個(gè)低通濾波器114。低通濾波器114去除高頻,外來(lái)噪聲。經(jīng)過(guò)濾波的輸入有聲信號(hào)傳送至一個(gè)模數(shù)(A/D)轉(zhuǎn)換器118。A/D轉(zhuǎn)換器定期地對(duì)該輸入有聲信號(hào)進(jìn)行采樣,并將該輸入有聲信號(hào)轉(zhuǎn)換為數(shù)字形式。A/D轉(zhuǎn)換器每次采集一個(gè)新的采樣,它中斷該數(shù)字信號(hào)處理器(DSP)180的工作,促使DSP去讀取該采樣并將該采樣存貯在第一個(gè)緩沖存貯器122中。第一個(gè)緩沖存貯器122為該音樂(lè)效果發(fā)生器的隨機(jī)存取存貯器的一部分。
一旦輸入的有聲信號(hào)被采樣和存貯在該第一個(gè)緩沖存貯器122中,則數(shù)字信號(hào)處理器180實(shí)現(xiàn)一個(gè)音調(diào)認(rèn)別程序188。音調(diào)認(rèn)別程序188分析存貯在緩沖存貯器122中的數(shù)據(jù),并決定該輸入有聲信號(hào)的音調(diào)。用于決定一個(gè)音符音調(diào)的方法在我們的美國(guó)專利4688464號(hào)中作了充分的說(shuō)明,這里引入這個(gè)專利供參考。為了這種說(shuō)明的目的,一個(gè)音符的“音調(diào)”和“基頻”二個(gè)術(shù)語(yǔ)是可以互換的。由該輸入口頭發(fā)聲音符的音調(diào),可以計(jì)算該音符的周期。
通常,一個(gè)音符的周期簡(jiǎn)單地是其基頻的倒數(shù),用秒表示。然而,在本發(fā)明的當(dāng)前實(shí)施例中,要根據(jù)存貯該輸入有聲信號(hào)的一個(gè)完整循環(huán)所需要的存貯位置數(shù)目來(lái)計(jì)算和存貯該周期。例如,假如在48千赫(1/440×48000)下采樣,則440赫茲(HZ)的音符A的一個(gè)完整循環(huán)占據(jù)109個(gè)存貯位置。因此,440赫的音符A的周期以109存貯。除了決定一個(gè)音符的音調(diào)和周期之外,該數(shù)字信號(hào)處理器還計(jì)算一個(gè)周期標(biāo)志。該周期標(biāo)志為存貯器中一個(gè)位置的指針,而該輸入有聲信號(hào)的一個(gè)新循環(huán)是在該存貯器位置開始的。開始,設(shè)置該周期標(biāo)志去指出存有該輸入口頭發(fā)聲音符的緩沖存貯器的開始位置。通過(guò)將在輸入有聲信號(hào)一個(gè)單一循環(huán)(即一個(gè)周期)中的數(shù)據(jù)采樣數(shù)和先前的周期標(biāo)志相加,可以計(jì)算依次的各個(gè)周期標(biāo)志。當(dāng)指示下一個(gè)擁有的存貯位置減去一個(gè)小的滯后的寫指針超出新的周期標(biāo)志要指示的位置之外時(shí),該周期標(biāo)志被更新。數(shù)據(jù)信號(hào)處理器(DSP)180利用這些周期標(biāo)志去產(chǎn)生多個(gè)諧音音符,這將在下面說(shuō)明。
音符認(rèn)別程序188的結(jié)果,即存貯在第一個(gè)緩沖存貯器122中的該輸入有聲信號(hào)的音調(diào)信號(hào),送至微處理器138。在該微處理器的ROM140內(nèi)有一張查找表。該查找表使一個(gè)輸入有聲信號(hào)與一個(gè)MIDI音符建立聯(lián)系。在本發(fā)明的當(dāng)前優(yōu)選實(shí)施例中,每一個(gè)MIDI音符被賦予一個(gè)0和127之間的一個(gè)數(shù)。例如,440赫的音符A為MIDI音符數(shù)69。假如一個(gè)輸入信號(hào)不是準(zhǔn)確地在音調(diào)上,則可以將該音符圓整至最接近的MIDI音符,或賦與一個(gè)小數(shù)的數(shù)目。例如,一個(gè)稍微平坦的440赫的音符A可以由微處理器賦與一個(gè)諸如68.887的數(shù)。
一旦,該微處理器將一個(gè)音符賦與該輸入有聲信號(hào),則該微處理器決定要產(chǎn)生那些諧音音符。使用者可以單獨(dú)地對(duì)所產(chǎn)生的特定的諧音音符編程,或從一個(gè)或多個(gè)預(yù)先決定的諧音“規(guī)則”中選擇該特定的諧音音符。例如,使用者可以給該微處理器編程,以產(chǎn)生四個(gè)諧音音符。這四個(gè)諧音音符是在該輸入音符之上的一個(gè)三度音程的音樂(lè)片段,一個(gè)在該輸入音符之上的五度音程的音樂(lè)片段,一個(gè)在該輸入音符之上的七度音程音樂(lè)片段和一個(gè)在該輸入音符之下的三度音程音樂(lè)片段。另一種可供選擇的方法是,使用者可以選擇一條規(guī)則,例如“弦諧音”規(guī)則,該規(guī)則經(jīng)常產(chǎn)生在該輸入旋律線之上和之下的各種和音音調(diào)的各種諧音音符。下面將可理解,使用一條規(guī)則,例如,弦諧音規(guī)則,使用者可輸入要唱的許多和音,從而使該微處理器可以決定各種正確的和音音調(diào)。預(yù)先決定的多個(gè)諧音規(guī)則存貯在ROM140內(nèi),并由使用者利用輸入控制148驅(qū)動(dòng)。
另一個(gè)選擇要產(chǎn)生的諧音音符的方法是通過(guò)利用MIDI口154。利用該口,該微處理器可以接收一個(gè)指示,表明從一個(gè)外部聲源可產(chǎn)生那些諧音音符。這些音符可以從一個(gè)合成器,一個(gè)序列發(fā)生器或任何一個(gè)其他的MIDI兼容的裝置接收。該音樂(lè)效果發(fā)生器100使該輸入有聲信號(hào)偏離,以接收與該多個(gè)諧音音符的音調(diào)相等的音調(diào)。另一種方法是,可以將要產(chǎn)生那些諧音音符的指令存貯在計(jì)算機(jī)上,或者作為一種子碼存貯在一個(gè)激光盤上。該激光盤可以與一個(gè)卡拉OK或其他娛樂(lè)形式的機(jī)器一起工作,使得當(dāng)使用者唱一個(gè)卡拉OK歌的歌詞時(shí),該卡拉OK機(jī)將一個(gè)要產(chǎn)生的各種諧音音符的指示送至該音樂(lè)效果發(fā)生器100。
一旦決定了各種諧音音符,該數(shù)字信號(hào)處理器180實(shí)現(xiàn)一個(gè)重新采樣子程序192。該子程序192以由該二個(gè)性別改變控制156的位置決定的速率,對(duì)存貯在該緩沖存貯器122中的該輸入有聲信號(hào)進(jìn)行重新采樣。重新采樣的數(shù)據(jù)存貯在二個(gè)緩沖存貯器128中。該二個(gè)緩沖存貯器128每一個(gè)都帶有一個(gè)性別改變控制。通過(guò)以一個(gè)較低的速率進(jìn)行采樣,該各個(gè)諧音音符的音質(zhì)將變得更加女性化。另一種方法是,假如提高采樣速率,則該多個(gè)諧音音符將變得更加男性化。
圖4A表示該數(shù)字信號(hào)處理器是如何對(duì)存貯的輸入有聲數(shù)據(jù)進(jìn)行重新采樣,以壓縮譜色線并使該輸入有聲信號(hào)的聲音更加男性化。模擬輸入有聲信號(hào)105,由該A/D轉(zhuǎn)換器118,在許多相等的時(shí)間間隔0,1,2,3……11上進(jìn)行采樣。每一個(gè)采樣具有一個(gè)相應(yīng)的數(shù)值a,b,c……,等。將這些采樣作為一個(gè)環(huán)形數(shù)組的各個(gè)元素依次地存貯在該緩沖存貯器122內(nèi)。該環(huán)形數(shù)組有一個(gè)寫指針(WP)。該指針總是指在要用新的采樣數(shù)據(jù)填充的下一個(gè)擁有的存貯位置上。另外,該數(shù)字信號(hào)處理器還計(jì)算最后的周期標(biāo)志(pm)122b。該最后的周期標(biāo)志122b指示,在該緩沖存貯器中,該輸入有聲信號(hào)的一個(gè)新循環(huán)在那里開始。如下面將要了解地那樣,在該最后的周期標(biāo)志122b和先前的周期標(biāo)志122a之間的采樣數(shù)目構(gòu)成了該輸入有聲信號(hào)的一個(gè)循環(huán)。
為了壓縮該輸入有聲信號(hào)的譜內(nèi)容,可以用一個(gè)比原來(lái)采樣的速率稍微高一點(diǎn)的速率,對(duì)所存貯的信號(hào)進(jìn)行重新采樣,并存貯在二個(gè)緩沖存貯器128中的一個(gè)中(如圖3所示)。重新采樣的速率由設(shè)置該二個(gè)性別改變控制156決定。在圖4A所示的例子中,該輸入有聲信號(hào)被減慢了25%。這點(diǎn)是通過(guò)在一個(gè)等于原來(lái)采樣周期的0.75倍的時(shí)間周期上,對(duì)存貯在該緩沖存貯器122中的數(shù)據(jù)進(jìn)行重新采樣來(lái)完成的。例如,采樣a’,b’,c’,d’……是在時(shí)間為0,0.75,1.5,2.25等時(shí)取的,并存貯在第二個(gè)緩沖存貯器128中。
為了在存貯在該第一個(gè)緩沖存貯器122中的各個(gè)采樣之間的時(shí)間上,給數(shù)據(jù)計(jì)算數(shù)值,可采用插值方法。在本發(fā)明的當(dāng)前優(yōu)選實(shí)施例中,采用線性插值法。例如,為了給在0.75時(shí)間的采樣填入數(shù)據(jù),該數(shù)字信號(hào)處理器從緩沖存貯器122中讀出在時(shí)間1時(shí)獲得的采樣值,將此值乘以0.75,再與在0時(shí)間獲得的采樣值的0.25倍相加。雖然,在本發(fā)明的當(dāng)前實(shí)施例中采用了線性插值法,但是其他一些更精確的插值方法,例如樣條函數(shù)插值法也可以應(yīng)用,只要在該數(shù)字信號(hào)處理器180內(nèi)給定足夠的計(jì)算能力即可。
一旦對(duì)數(shù)據(jù)進(jìn)行了重新采樣,并存貯在該第二個(gè)緩沖存貯器128中,該數(shù)字信號(hào)處理器計(jì)算一個(gè)周期標(biāo)志128b,以指向在緩沖存貯器128中,該重新采樣的輸入有聲信號(hào)的一個(gè)新循環(huán)開始的位置。將周期標(biāo)122b乘以采樣速率變化的百分?jǐn)?shù)可以計(jì)算出該周期標(biāo)志128b。這樣,將周期標(biāo)志122h乘以1.33(1/0.75),并將結(jié)果與在第二個(gè)緩沖存貯器128中的先前的周期標(biāo)志128a相加,即可計(jì)算出該新的周期標(biāo)志128b。通過(guò)比較圖4A所示的二個(gè)緩沖存貯器122和128可以看出,增加該輸入有聲信號(hào)的采樣速率的效果是增加了為了保持該輸入有聲信號(hào)的一個(gè)完全循環(huán)所需要的總采樣數(shù)目。例如,在緩沖存貯器122中,二個(gè)周期標(biāo)志122a和122b之間的采樣數(shù)目為12。當(dāng)將采樣速率增加33%時(shí),為了保持該輸入有聲信號(hào)的一個(gè)完整循環(huán)所需要的采樣數(shù)目,即在二個(gè)周期標(biāo)志128a和128b之間的采樣數(shù)目,增加至16。
圖4B表示該數(shù)字信號(hào)處理是如何用一個(gè)比該A/D轉(zhuǎn)換器118對(duì)該輸入有聲信號(hào)原來(lái)進(jìn)行采樣和存貯在緩沖存貯器122中的速率低的速率,對(duì)該輸入有聲信號(hào)進(jìn)行重新采樣的。該模擬輸入有聲信號(hào)105再次在許多相等的時(shí)間間隔0,1,2,3……11上被采樣。每一個(gè)采樣均有一個(gè)相應(yīng)的值a,b,c……1。這個(gè)相應(yīng)的值存貯在第一個(gè)緩沖存貯器122中。計(jì)算周期標(biāo)志122b,以指向標(biāo)志該輸入有聲信號(hào)的一個(gè)新循環(huán)開始的存貯器位置。
在圖4B中,所示出的采樣周期被增加了25%。因此,要在原來(lái)的采樣間隔的0,1.25,2.5,3.75等倍的時(shí)間上,對(duì)該輸入有聲信號(hào)進(jìn)行重新采樣。每一個(gè)采樣具有一個(gè)新值a’,b’,c’,d’……1’。假如該采樣間隔不是精確地與先前存貯的多個(gè)采樣中的一個(gè)對(duì)準(zhǔn)時(shí),要利用插值方法去決定該重新采樣的數(shù)據(jù)的值。例如,為了計(jì)算在3.75時(shí)間上采樣d’的值,該數(shù)字信號(hào)處理器要計(jì)算在時(shí)間4上獲得的數(shù)據(jù)值的0.75倍,和在時(shí)間3上獲得的數(shù)據(jù)值的0.25倍等的和。
另外,一旦對(duì)數(shù)據(jù)進(jìn)行了重新采樣,并存貯在第二個(gè)緩沖存貯器128中,則該數(shù)字信號(hào)處理器用與上述相同的方式,為該重新采樣的數(shù)據(jù)重新計(jì)算該最后的周期標(biāo)志128b。在圖4B中可以看出,在原來(lái)的輸入有聲信號(hào)的二個(gè)周期標(biāo)志122a和122b之間的采樣數(shù)目為12。當(dāng)采樣周期增加25%時(shí),在周期標(biāo)志128a和128b之間只有9.6個(gè)采樣。因此,為了存貯該輸入有聲信號(hào)的一個(gè)完整循環(huán)所需要的總采樣數(shù)目減少了20%。
在本發(fā)明的當(dāng)前優(yōu)選實(shí)施例中,使用者可將采樣速率增加或減少+/-33%??赡軙?huì)存在或多或少的重新采樣偏移。然而,對(duì)于口頭發(fā)音的應(yīng)用場(chǎng)合,已經(jīng)可以決定,當(dāng)重新采樣的速率設(shè)定在-18%和+18%之間時(shí),可以得到最逼真的聲音音質(zhì)改變。
一旦用一個(gè)由二個(gè)性別改變控制指示的速率對(duì)該輸入有聲信號(hào)進(jìn)行重新采樣,并存貯在數(shù)據(jù)緩沖器128中時(shí),該數(shù)字信號(hào)處理器(DSP)180重新計(jì)算該重新采樣的數(shù)據(jù)的周期。例如,使用者可以演唱一個(gè)440赫的A音符,該音符的周期為2.27毫秒(在48千赫下為109個(gè)采樣),并且二個(gè)性別控制中的一個(gè)設(shè)定為+10%。當(dāng)用新的速率重新采樣時(shí),該重新采樣的有聲信號(hào)的周期將為2.043毫秒(在484千赫下為98個(gè)采樣)。這個(gè)新的周期被窗生成程序196采用,并用于一個(gè)音調(diào)改變程序200(如圖3中所示)。該音調(diào)改變程序200由該數(shù)字信號(hào)處理器實(shí)現(xiàn),用以產(chǎn)生各種諧音音符。
參見圖7,該音調(diào)改變程序是通過(guò)利用一個(gè)窗函數(shù)402對(duì)存貯在緩沖存貯器中的重新采樣的輸入有聲信號(hào)400的一部分進(jìn)行定標(biāo)而工作的。這樣可減小在該部分開始和結(jié)束處的采樣數(shù)值,而保持在該部分中間的各個(gè)采樣的值。該窗函數(shù)402為一個(gè)平滑變化的鐘形函數(shù)。在本發(fā)明的優(yōu)選實(shí)施例中,該窗函數(shù)為一個(gè)漢寧(Hanning)窗。該窗函數(shù)402和該重新采樣的有聲信號(hào)400的該部分一點(diǎn)一點(diǎn)相乘的結(jié)果為一信號(hào)段406??梢钥闯?,該重新采樣的有聲信號(hào)400包含一系列的尖峰401a,401b,401c等。信號(hào)段406包含該重新采樣數(shù)據(jù)的一個(gè)完整循環(huán)(即一個(gè)尖峰),但其開始和結(jié)果束處的值較小。
現(xiàn)在參見圖7B,通過(guò)將一系列的信號(hào)段406a,406b,406c和406d連接在一起,可產(chǎn)生一個(gè)諧音音符408。將該諧音音符408與該重新采樣的有聲信號(hào)400(如圖7A所示)比較可以看出,當(dāng)與該重新采樣的數(shù)據(jù)比較時(shí),該諧音音符的尖峰數(shù)408a,408b,408c為該重新采樣數(shù)據(jù)的尖峰數(shù)的一半。因此,該諧音音符408的聲音將在該重新采樣的有聲信號(hào)之下一個(gè)八音度。下面將會(huì)理解,該要產(chǎn)生的諧音音符的音調(diào)決定于將各個(gè)信號(hào)段加在一起的速率。這些信號(hào)段是由該窗函數(shù)對(duì)該重新采樣的有聲信號(hào)進(jìn)行定標(biāo)而獲得的。如在“671專利”和蘭特(Lent)文章中所述那樣,為了將一個(gè)音符的音調(diào)改變至比在原來(lái)音調(diào)之下高出一個(gè)八音度的任何值,需要將各個(gè)重疊的信號(hào)段加在一起。下面將會(huì)看出,減少信號(hào)段開始和結(jié)束處的采樣值的理由是要防止諧音音符的巨大變化。而這種巨大變化正是將各個(gè)重疊的信號(hào)段加在一起的結(jié)果。
圖8A和8B表示該數(shù)字信號(hào)處理器是如何計(jì)算用于產(chǎn)生各種諧音音符的漢寧(Hanning)窗的。上述的窗生成程序196存貯了在四個(gè)緩沖存貯器134a,134b,134c和134d(圖5)中的四個(gè)漢寧窗的數(shù)字表達(dá)。每一個(gè)緩沖存貯器134a,134b,134c和134d都帶有四個(gè)諧音發(fā)生器220,230,240和250中的一個(gè)(圖5)。緩沖存貯器141在ROM140內(nèi),它以256個(gè)存貯位置存貯一個(gè)標(biāo)準(zhǔn)的漢寧窗。存貯在該緩沖存貯器中的數(shù)據(jù)值a,b,c,d等可用增大的余弦公式(1-cos(2πx/256))計(jì)算,(式中x代表存貯在該緩沖存貯器中的每一個(gè)采樣)。為了在四個(gè)緩沖存貯器134中的一個(gè)內(nèi),產(chǎn)生一個(gè)用于生成各種諧音音符的窗,首先要決定該窗的長(zhǎng)度,然后,通過(guò)插入存貯在緩沖存貯器141中的漢寧窗的各個(gè)值,用新的數(shù)據(jù)點(diǎn)a’,b’,c’等填入該窗。
圖8B為該窗生成程序196(圖3)所執(zhí)行的各個(gè)步驟的流程圖。從步驟420開始,要決定為了產(chǎn)生該諧音音符要使用那個(gè)重新采樣的輸入有聲信號(hào)。例如,假設(shè)使用者已將該二個(gè)性別控制設(shè)置為+10%和-10%,當(dāng)使用音樂(lè)效果發(fā)生器100時(shí),使用者要選擇使用那個(gè)重新采樣的輸入有聲信號(hào)去產(chǎn)生一個(gè)諧音音符。使用者可以規(guī)定使用在速率為+10%時(shí)重新采樣的輸入有聲信號(hào)去產(chǎn)生第一個(gè)諧音音符,而使用在速率為-10%下重新采樣的輸入有聲信號(hào)去產(chǎn)生另一個(gè)諧音音符等。一旦該數(shù)字信號(hào)處理器決定了使用那個(gè)重新采樣的輸入有聲信號(hào)去產(chǎn)生不同的諧音音符時(shí),在步驟422,開始要將該窗函數(shù)的長(zhǎng)度設(shè)定為與相應(yīng)的重新采樣的輸入信號(hào)的周期的二倍相等(用多個(gè)采樣表示)。接著,在步驟424,將要產(chǎn)生的諧音音符的音調(diào)與該重新采樣的輸入信號(hào)的音調(diào)比較。假如該諧音音符的音調(diào)比該重新采樣的輸入音符的音調(diào)高,則該數(shù)字信號(hào)處理器進(jìn)行至步驟426。在步驟426,該數(shù)字信號(hào)處理器決定在一個(gè)正的閾值以上的諧音音符的半音數(shù)目(X)。在本發(fā)明的當(dāng)前優(yōu)選實(shí)施例中,該正閾值設(shè)定為零個(gè)半音。在步驟428,通過(guò)將在步驟422計(jì)算的緩沖存貯器長(zhǎng)度乘以下式2-x/12的結(jié)果,將存貯了用于產(chǎn)生該諧音音符的漢寧窗的緩沖存貯器的長(zhǎng)度減小(式中,x為諧音音符在該正閾值以上的半音數(shù)目)。例如,假如該諧音音符有在該閾值以上的5個(gè)半音,則該緩沖存貯器的長(zhǎng)度減小一個(gè)0.75因子。
假如要產(chǎn)生的該諧音音符的音調(diào)在該重新采樣的輸入音符的音調(diào)以下,則該窗的長(zhǎng)度可以擴(kuò)展。在步驟430,該數(shù)字信號(hào)處理器決定該諧音音符在一個(gè)負(fù)的閾值以下的半音數(shù)目(x)。在當(dāng)前的優(yōu)選實(shí)施例中,該負(fù)閾值為在該輸入音符音調(diào)以下的24個(gè)半音。假如該諧音音符在該閾值以下,則保持該窗函數(shù)的緩沖存貯器的長(zhǎng)度增加一個(gè)與下式結(jié)果相等的量2+x/12式中,x為在該閾值以下的半音數(shù)目。假如,假如要產(chǎn)生的諧音音符為在該輸入音符的音調(diào)以下的29個(gè)半音,則x=5和保持該窗函數(shù)的緩沖存貯器的長(zhǎng)度增加一個(gè)因子1.33。
在步驟434,要決定該窗函數(shù)的長(zhǎng)度是否增加至一個(gè)比用于存貯該窗函數(shù)所要的存貯量大的量。假如是這樣,則將窗函數(shù)的長(zhǎng)度設(shè)置為用于存貯該窗函數(shù)所需的最大的存貯量。
假如要產(chǎn)生的諧音音符不在該負(fù)的閾值以下,則該窗函數(shù)的長(zhǎng)度仍保持與在步驟422中計(jì)算的一樣。
在計(jì)算了保持該窗函數(shù)的緩沖存貯器的長(zhǎng)度之后,則要用窗的數(shù)據(jù)值去填入該緩沖存貯器134。這點(diǎn),在步驟438是通過(guò)決定該緩沖存貯器141的長(zhǎng)度(它目前是256)與在步驟428或432中決定的該緩沖存貯器的長(zhǎng)度之比來(lái)完成的。在步驟440中,利用這個(gè)比值去給該窗的數(shù)據(jù)插值。例如,假如新的緩沖存貯器的長(zhǎng)度為284個(gè)采樣,則通過(guò)在點(diǎn)0,0.9,1.8,2.7,用在圖4A,4B所示和上述的給輸入有聲信號(hào)重新采樣的同樣方法,給該數(shù)據(jù)插值,可以完成該緩沖存貯器134。
使用者還可以為每一個(gè)要產(chǎn)生的諧音音符規(guī)定一個(gè)音量比。這個(gè)音量比影響存貯在緩沖存貯器134中的各個(gè)采樣的大小。假如使用者對(duì)該不同諧音音符需要滿音量,則將該比值設(shè)定為1。假如使用者要求半音量,則將該比值設(shè)定為0.5。在步驟440中,決定該音量比。在步驟442中將在該緩沖存貯器134中的每一個(gè)值乘以該音量比。
返回至圖3,將音調(diào)改變程序200的輸出送至一個(gè)加法框210。在加法框210中,將該輸出與存貯在緩沖存貯器122中的干的音頻信號(hào)相加。該干的音頻信號(hào)和多個(gè)諧音信號(hào)組合送至一個(gè)數(shù)模轉(zhuǎn)換器215。數(shù)模轉(zhuǎn)換器215產(chǎn)生一個(gè)多音的模擬信號(hào)。該信號(hào)是輸入音符和各種諧音音符的組合。如在“671專利”中所述那樣,假如該音調(diào)認(rèn)別程序發(fā)現(xiàn)使用者唱出一種帶咝咝聲的音,則不產(chǎn)生輸出的各種諧音音符。帶咝咝聲的聲音是諸如“s”,“ch”,“sh”等的聲音。為了使各種諧音音符聲音逼真,這些信號(hào)的音調(diào)不改變。假如該音調(diào)認(rèn)別程序發(fā)現(xiàn)使用者唱出帶咝咝聲的聲音,則該微處理器將所有要產(chǎn)生的諧音設(shè)置成與該輸入有聲信號(hào)一樣的音調(diào)。這樣,所有的各種諧音音符都具有和該輸入有聲信號(hào)相同的音調(diào),但由于重新采樣和該音調(diào)改變程序200的執(zhí)行的綜合動(dòng)作造成的音質(zhì)改變的影響,這些諧音音符的聲音與該輸入信號(hào)稍微有些不同。
為了產(chǎn)生比利用先前技術(shù)的音調(diào)改變方法所能獲得的諧音更自然的聲音,本發(fā)明再現(xiàn)了該重新采樣的輸入有聲信號(hào)的一部分。該一部分作為重新采樣的結(jié)果,是已經(jīng)經(jīng)過(guò)音調(diào)和音質(zhì)改變的。再在回到圖5,該數(shù)字信號(hào)處理器180所執(zhí)行的音調(diào)改變程序200是利用四個(gè)諧音發(fā)生器220,230,240和250系列完成的。每一個(gè)諧音發(fā)生器產(chǎn)生一個(gè)諧音音符。該諧音音符與存貯在緩沖存貯器122中的干的音頻信號(hào)混合。要產(chǎn)生的各種諧音音符送至在一根引線162上的數(shù)字信號(hào)處理器,并存貯在一個(gè)查找表260中??梢岳迷谠摂?shù)字信號(hào)處理器內(nèi)的該查找表為每一個(gè)諧音音符決定基頻。
在該數(shù)字信號(hào)處理器內(nèi)的每一個(gè)諧音發(fā)生器產(chǎn)生存貯在該查找表260中的各種諧音音符中的一個(gè)音符。如上所述,該四個(gè)諧音發(fā)生器利用存貯在該諧音發(fā)生器所帶的緩沖存貯器134a,134b,134c或134d中的漢寧窗,以一個(gè)與要產(chǎn)生的諧音音符的基頻相等的速率,給多個(gè)重新采樣的輸入有聲信號(hào)中的一個(gè)定標(biāo)。
該干的音頻信號(hào)和四個(gè)諧音發(fā)生器220,230,240和250中每一個(gè)的輸出信號(hào)均送至該加法框210。加法框210把左邊和右邊通道之間的多個(gè)信號(hào)分開。例如,諧音發(fā)生器220的輸出送至一個(gè)混合器224。該混合器允許使用者將所產(chǎn)生的諧音送往一個(gè)左邊或右邊的音頻通道,或送往該右邊和左邊音頻通道的一個(gè)混合器。同樣地,諧音發(fā)生器230,240和250的輸出送往相應(yīng)的混合器234,244和254。每一個(gè)混合器供應(yīng)一個(gè)加法框270。該加法框270將所有左邊通道的諧音信號(hào)綜合。同樣地,混合器224,234,244和254中的每一個(gè)供應(yīng)一個(gè)加法框272。該加法框272將所有右邊音頻通道的諧音信號(hào)綜合起來(lái)。
該數(shù)字信號(hào)處理器還從該緩沖存貯器122中讀取該干的音頻信號(hào),并將它送至混合器284。使用者可以啟動(dòng)該混合器284,將該干的音頻信號(hào)送往左邊和/或右邊的音頻通道的某種組合中。
雖然表示了包括四個(gè)諧音發(fā)生器的數(shù)字信號(hào)處理器180,但是技術(shù)熟練的人們會(huì)知道,根據(jù)所擁有的存貯器和該數(shù)字信號(hào)處理器的處理速度的不同,可以設(shè)置更多或更少的諧音發(fā)生器。
現(xiàn)轉(zhuǎn)至圖6,圖中表示四個(gè)諧音發(fā)生器中每一個(gè)所發(fā)揮的功能的詳細(xì)情況。四個(gè)諧音發(fā)生器中的每一個(gè)包括許多加窗的音頻發(fā)生器300,310,320和330。如上所述,每一個(gè)加窗的音頻發(fā)生器的工作就是利用漢寧窗給該重新采樣的輸入有聲信號(hào)定標(biāo)。在該加窗的音頻發(fā)生器內(nèi)的一個(gè)定時(shí)器340賦予一個(gè)與要產(chǎn)生的諧音音符的基頻相等的值。可以從該查找表260(如圖5所示)中決定基頻。該查找表260將每一個(gè)諧音音符與其相應(yīng)的基頻聯(lián)系起來(lái)。當(dāng)定時(shí)器340向下計(jì)數(shù)至零時(shí),向一個(gè)加窗的音頻發(fā)生器地址分配單元350送出一個(gè)信號(hào)。該信號(hào)尋找加窗音頻發(fā)生器300,310,320或330中的一個(gè)去開始定標(biāo)過(guò)程。例如,假如該加窗音頻發(fā)生器300不在使用中,則首先用周期標(biāo)志的值裝入一個(gè)緩沖器指針302。該周期標(biāo)志的值標(biāo)志著在緩沖存貯器128中用于產(chǎn)生諧音信號(hào)的重新采樣的輸入有聲信號(hào)的一個(gè)完整循環(huán)開始的位置。其次,裝入一個(gè)窗指針304,使該指針指向諧音發(fā)生器所帶的緩沖存貯器134a,134b,134c或134d的開始位置(圖5)。最后,將用于存貯所選擇的窗函數(shù)的采樣數(shù)目裝入一個(gè)計(jì)數(shù)器306中。數(shù)字信號(hào)處理器將窗函數(shù)中的采樣數(shù)目送經(jīng)各個(gè)諧音發(fā)生器,并存貯在存貯器位置370中,以便為所有加窗的音頻發(fā)生器利用。
在該緩沖器指針302之后,使窗指針304和計(jì)數(shù)器306初始化。然后,該加窗的音頻發(fā)生器開始一點(diǎn)一點(diǎn)地將存貯在相應(yīng)的緩沖存貯器128中的重新采樣的輸入有聲信號(hào)和存貯在相應(yīng)的緩沖存貯器中的漢寧窗相乘。相乘的結(jié)果送至一個(gè)加法框372。加法框372將從所有加窗的音頻發(fā)生器300,310,320和330來(lái)的輸出相加。在乘法完成之后,指針302和304前進(jìn),而計(jì)數(shù)器306減量。當(dāng)計(jì)數(shù)器306達(dá)到零,和所有乘法已經(jīng)執(zhí)行時(shí),該加窗音頻發(fā)生器給加窗音頻發(fā)生器地址分配單元350發(fā)一信號(hào),說(shuō)明該加窗音頻發(fā)生器可以再次使用。加窗音頻發(fā)生器310,320和330象加窗音頻發(fā)生器300一樣方式工作。
當(dāng)使用者對(duì)著麥克風(fēng)唱不同的音符時(shí),所有定時(shí)器340,存貯在存貯器位置262(圖5)中的周期標(biāo)志,存貯在存貯器位置370中的該窗函數(shù)的點(diǎn)數(shù)目,和存貯在存貯器位置134中的漢寧窗都動(dòng)態(tài)地更新。
如上所述,對(duì)于具有音調(diào)在該輸入有聲信號(hào)音調(diào)以下的各種諧音音符,要計(jì)點(diǎn)漢寧窗,以使其長(zhǎng)度等于或大于用來(lái)產(chǎn)生該諧音信號(hào)的輸入信號(hào)的周期的二倍。因此,為了產(chǎn)生為在該輸入有聲信號(hào)以下一個(gè)八音度的諧音信號(hào),只需要一個(gè)加窗音頻發(fā)生器。然而,為了產(chǎn)生音調(diào)大于該輸入有聲音符音調(diào)的各種諧音音符,要縮短漢寧窗的長(zhǎng)度。因此,為了產(chǎn)生在該重新采樣的輸入有聲信號(hào)音調(diào)以上的一個(gè)輸出信號(hào),只需二個(gè)加窗的音頻發(fā)生器。
上述的音樂(lè)效果發(fā)生器將一個(gè)音質(zhì)改變的固定量加至一個(gè)音調(diào)改變的音符上。然而,可以動(dòng)態(tài)地改變音質(zhì)改變量,以進(jìn)一步提高一個(gè)數(shù)字處理的音符的逼真性。
如上所述,本發(fā)明的音樂(lè)效果發(fā)生器可以與具有預(yù)先錄制的旋律和/或諧音音軌的卡拉OK系統(tǒng)一起使用。另一種可供選擇的方法是,可以從一個(gè)鍵盤或一臺(tái)計(jì)算機(jī)上接收旋律或諧音音符。通常,預(yù)先錄制的旋律或諧音音符通過(guò)一個(gè)MIDI通道,傳至該音樂(lè)效果發(fā)生器。假如只需要產(chǎn)生一個(gè)諧音聲音,則該音樂(lè)效果發(fā)生器可從該MIDI口讀出所希望的諧音音符,找出要加在音符上的音質(zhì)改變量,并且通過(guò)利用前述的方法,再現(xiàn)該重新采樣的輸入音符的各個(gè)部分而產(chǎn)生該諧音音符。然而,假如需要產(chǎn)生多于一個(gè)諧音聲音,則通常需要每一個(gè)聲音的音符傳輸至它們自己的MIDI通道上。
在大多數(shù)情況下,送出諧音音符的MIDI控制器沒(méi)有足夠的空間通道,使每一個(gè)聲音可以使用一條單獨(dú)的通道。可以利用一條單一的MIDI通道去形成要產(chǎn)生的每一個(gè)旋律或諧音音符。然而,沒(méi)有一種實(shí)際的方法可以告知該音樂(lè)效果發(fā)生器,需要給一個(gè)單獨(dú)的旋律或諧音音符加多大的音質(zhì)改變量。從概念上說(shuō),可以給MIDI文件編碼。該MIDI文件利用經(jīng)過(guò)每一個(gè)音符,并決定要加多大的音質(zhì)改變量的MIDI信息來(lái)描述該旋律或諧音音符。但是,這種文件很難建造,并且假如當(dāng)使用者唱時(shí),要用一個(gè)鍵盤給該旋律/諧音音符編碼,則不能實(shí)時(shí)地建造這種文件。因此,一個(gè)音樂(lè)效果發(fā)生器需要能從一個(gè)單一的MIDI通道上接收旋律或諧音音符,并且能夠?qū)⒉煌囊糍|(zhì)改變量賦與構(gòu)成不同聲音的各種音符。
圖9A表示本發(fā)明的第一個(gè)另一種可供選擇的實(shí)施例。在這個(gè)實(shí)施例中,所有構(gòu)成一支給定歌曲的旋律或各種諧音音符都在一個(gè)單一的MIDI通道上編碼。給該音樂(lè)效果發(fā)生器編程,使它能讀出該各種音符,并能動(dòng)態(tài)地實(shí)時(shí)將音質(zhì)改變量賦與該各種音符。用于實(shí)現(xiàn)本發(fā)明的這個(gè)實(shí)施例的硬件與圖3所示和上述的一樣。然而,該數(shù)字信號(hào)處理器180用略微不同的方式編程。
當(dāng)使用者唱歌時(shí),該音樂(lè)效果發(fā)生器500在一個(gè)單一的MIDI通道505上,從一個(gè)MIDI卡拉OK系統(tǒng),一個(gè)鍵盤或計(jì)算機(jī)系統(tǒng)上接收一連串的旋律或不同的諧音音符。該數(shù)字信號(hào)處理器讀出該旋律或各種諧音音符,并且自動(dòng)地將一個(gè)音質(zhì)改變量賦與一個(gè)處理單元515。最好,通過(guò)給該數(shù)字信號(hào)處理器編程,將要產(chǎn)生的旋律或諧音音符的音調(diào)與一個(gè)或多個(gè)音調(diào)閾值比較,來(lái)實(shí)現(xiàn)該自動(dòng)音質(zhì)賦與單元515。
根據(jù)一個(gè)旋律或諧音音符在什么地方與閾值相關(guān),可以按照某條預(yù)先決定或預(yù)先編程的規(guī)則來(lái)設(shè)定該音符的音質(zhì)。例如,假如有二個(gè)閾值,則音調(diào)比二個(gè)閾值高的一些音符可以用-10%的速率來(lái)重新采樣,而在二個(gè)閾值之間的一些諧音音符可以用-2%的速率來(lái)重新采樣,而在二個(gè)閾值以下的一些諧音音符可以用+5%的速率來(lái)進(jìn)行重新采樣等。當(dāng)然,對(duì)于在一個(gè)或多個(gè)音調(diào)閾值以上或以下的一些音符,音質(zhì)改變量可以是相同的。另一種可供選擇的方法是,可以給該音樂(lè)效果發(fā)生器編程,使得不需要給該音符加上音質(zhì)改變??梢灶A(yù)先決定一個(gè)或多個(gè)音調(diào)閾值,或者通過(guò)引入該一個(gè)或多個(gè)閾值音符作為構(gòu)成該歌曲的MIDI文件開始處的MIDI信息,而為每一支歌曲編程。
作為將旋律或諧音音符的音調(diào)與一個(gè)音調(diào)閾值比較的另一種可供選擇的方案是,通過(guò)給該數(shù)字信號(hào)處理器編程,將該諧音音符的音調(diào)與存貯在一個(gè)單獨(dú)的MIDI文件中,并傳輸至在一個(gè)MIDI通道510上的音樂(lè)效果發(fā)生器的理想的旋律音符的音調(diào)進(jìn)行比較,可以實(shí)現(xiàn)該自動(dòng)音質(zhì)賦與單元515。通過(guò)讀取該理想的旋律音符,該音樂(lè)效果發(fā)生器可以向前搜索,以決定為了產(chǎn)生該諧音音符所需要的一個(gè)期望的音調(diào)改變量(假設(shè)歌唱者傾向于按鍵歌唱)。然后,根據(jù)期望的音調(diào)改變量的不同,該音樂(lè)效果發(fā)生器可以給每一個(gè)旋律音符修改音質(zhì)改變量。
作為又一個(gè)可供選擇的方案,通過(guò)給該數(shù)字信號(hào)處理器編程,將該一些旋律音符的音調(diào)與該輸入有聲音符的音調(diào)進(jìn)行比較,以決定該諧音音符是在該旋律線之上或之下,可以實(shí)現(xiàn)該自動(dòng)音質(zhì)賦與單元515??梢詫⒃撝C音音符的音質(zhì)作為該諧音音符的音調(diào)與該輸入有聲音符的音調(diào)之間的音調(diào)差的函數(shù)來(lái)改變。因?yàn)樗a(chǎn)生的一些諧音音符的音質(zhì)與該輸入口頭發(fā)聲音符不同,它們的聲音不象該輸入音符的音調(diào)改變的形式,因此增加了該復(fù)合聲音的逼真性。
圖9B表示根據(jù)本發(fā)明的音樂(lè)效果發(fā)生器的第二個(gè)可供選擇的實(shí)施例。這里,一個(gè)諧音音符的音質(zhì)不是用將各種諧音聲音從該輸入聲音中區(qū)分開來(lái)的方法來(lái)改變的,而是用模仿當(dāng)歌唱者唱較高或較低的音符時(shí),歌唱者的聲音是如何改變的方法來(lái)改變的。
音樂(lè)效果發(fā)生器520從歌唱者那里接收一個(gè)輸入的有聲信號(hào),并分析該信號(hào)以決定其音調(diào)。該音樂(lè)效果發(fā)生器在一個(gè)MIDI通道530上接收一連串理想的旋律或諧音音符。這些諧音音符指示該輸入有聲信號(hào)應(yīng)該改變達(dá)到的音調(diào)。該數(shù)字信號(hào)處理器在該音樂(lè)效果發(fā)生器內(nèi)動(dòng)態(tài)地將音質(zhì)改變量賦與要產(chǎn)生的一個(gè)音符,如方框540所表示的那樣。最好,該數(shù)字信號(hào)處理器將理想的音符的音調(diào)與該輸入有聲信號(hào)的音調(diào)比較,以選擇應(yīng)該將多大的音質(zhì)改變量加在音調(diào)改變了的輸出音符上。例如,音質(zhì)改變量可以隨著該輸入有聲信號(hào)和該理想諧音或旋律音符之間的音調(diào)差而線性變化。另一種可供選擇的方案是,可以采用階躍函數(shù)。這樣,在該理想音符的音調(diào)與該輸入有聲信號(hào)音調(diào)相差大于某個(gè)預(yù)先決定的量之前,該音質(zhì)不會(huì)改變。一旦決定了該音質(zhì)改變量,要對(duì)該數(shù)字輸入有聲信號(hào)進(jìn)行重新采樣,并且如上所述,通過(guò)利用一個(gè)與該理想輸出音符的基頻相等的速率,再現(xiàn)該重新采樣的輸入音符的各個(gè)部分,而產(chǎn)生該輸出音符。
為了達(dá)到使一個(gè)逼真的音質(zhì)改變與在一個(gè)歌唱者聲帶內(nèi)發(fā)生的實(shí)際變化極其相似,對(duì)于一些音調(diào)比該輸入口頭發(fā)聲音符高的音符,該重新采樣的速率應(yīng)比原來(lái)的采樣速率慢。相反,對(duì)于音調(diào)在該輸入口頭發(fā)聲音符以下的一些音符,該重新采樣速率應(yīng)比該原來(lái)的采樣速率快。作為根據(jù)所需要的音調(diào)改變量來(lái)改變一個(gè)音符的音質(zhì)的另一個(gè)可供選擇的方案是,也可以根據(jù)該輸入有聲信號(hào)的響亮程度的變化,來(lái)改變音質(zhì)。該數(shù)字信號(hào)處理器分析該數(shù)字輸入有聲信號(hào)的大小,并且作為該輸入信號(hào)的大小的函數(shù)來(lái)選擇音質(zhì)改變量。另外,還可根據(jù)該輸入有聲信號(hào)唱的時(shí)間長(zhǎng)度大小來(lái)改變音質(zhì)。一旦該音樂(lè)效果發(fā)生器決定了該輸入有聲信號(hào)的音調(diào),則該數(shù)字信號(hào)處理器啟動(dòng)一個(gè)內(nèi)部定時(shí)器。該內(nèi)部定時(shí)器始終監(jiān)視該音調(diào)保持在某些重新決定的極限內(nèi)的時(shí)間長(zhǎng)度。該音質(zhì)改變量可以作為由該定時(shí)器記錄的時(shí)間長(zhǎng)度的函數(shù)來(lái)選擇。技術(shù)熟練的人們將會(huì)理解,為了控制加在音符上的音質(zhì)改變量,可以使用許多不同的準(zhǔn)則。
采用圖9B所示的音樂(lè)效果發(fā)生器時(shí),該復(fù)合輸出信號(hào)的聲音更加逼真,因?yàn)樵撘恍┮舴梢阅7庐?dāng)一個(gè)唱出的音符音調(diào)變化時(shí),歌唱者聲音的音符音質(zhì)自然改變的方法。
雖然,本發(fā)明是針對(duì)各種口頭發(fā)聲的諧音發(fā)生器說(shuō)明的,但本發(fā)明也有其他一些用途。一個(gè)例子是作為一個(gè)聲音假扮者,這時(shí)使用者對(duì)著麥克風(fēng)說(shuō)話,而會(huì)產(chǎn)生具有不同音質(zhì)和/或音調(diào)的一個(gè)輸出信號(hào)。假如該輸出信號(hào)具有一個(gè)在該輸入信號(hào)以下一個(gè)八音度的頻率,則可以建造一個(gè)裝置,其中用于數(shù)據(jù)重新采樣的音調(diào)改變量是固定的,并且只需要一個(gè)加窗的音頻發(fā)生器。這樣一種裝置對(duì)于執(zhí)行法律需要假裝證人的聲音的情況是有用的,或者作為應(yīng)答機(jī)的一部分,以隱蔽使用者的聲音。另一個(gè)可供選擇的用途是,希望使自己的聲音更低沉的無(wú)線電廣播員可以使用本發(fā)明。此外,當(dāng)各種輸入音符是從各種樂(lè)器上接收的時(shí),可以使用本發(fā)明。音質(zhì)改變和音調(diào)改變綜合的結(jié)果使得一種樂(lè)器的聲音好象另一種樂(lè)器的聲音。
另外,本發(fā)明的優(yōu)選實(shí)施例道先使用了重新采樣的音調(diào)改變方法,后面又采用根據(jù)蘭特(Lent)方法的音調(diào)改變方法。還可以理解,也可以使用相反的處理。這時(shí),將利用蘭特方法產(chǎn)生的各種輸出信號(hào)存貯在一個(gè)緩沖存貯器中,并用一個(gè)新的速率重新采樣,以進(jìn)一步改變音調(diào)。每一種方法一蘭特方法和利用重新采樣的音調(diào)改變方法,都如前述那樣工作。當(dāng)按照相反次序?qū)崿F(xiàn)各個(gè)步驟時(shí),要記住二個(gè)問(wèn)題。第一問(wèn)題是,根據(jù)蘭特方法工作的音調(diào)改變器的輸出不再直接控制整個(gè)輸出信號(hào)的基頻。因此,必需補(bǔ)償作為重新采樣結(jié)果出現(xiàn)的音調(diào)改變。例如,假如設(shè)置音質(zhì)改變控制,以便使歌唱者的聲音更女性化,則重新采樣的音調(diào)改變器可將音調(diào)向上調(diào)節(jié),比如,12%。假如希望在440赫的頻率下產(chǎn)生一個(gè)音質(zhì)改變的輸出信號(hào),則必須設(shè)置根據(jù)蘭特方法工作的該音調(diào)改變器,以便輸出一個(gè)具有基頻為440/1.12=392.86赫的信號(hào)。一般,該關(guān)系為TSF=LF*PSR式中TSF--音質(zhì)改變的輸出信號(hào)的基本音調(diào)的頻率;LF--根據(jù)蘭特方法工作的音調(diào)改變器的輸出信號(hào)的基本音調(diào)的頻率;PSR--重新采樣的音調(diào)改變器的音調(diào)改變66。這是(輸入采樣速率)/(重新采樣速率)的比值。
第二個(gè)問(wèn)題是如圖6所示的諧音定時(shí)器340的時(shí)鐘源不同。當(dāng)在處理中,蘭特方法的音調(diào)改變器是最后一個(gè)步驟時(shí),則在具有CD(激光唱盤)質(zhì)量的音頻的系統(tǒng)中,使這個(gè)定時(shí)器以系統(tǒng)采樣速率,例如,44.1千赫減量。這可保證該蘭特方法音調(diào)改變器能以那個(gè)速率提供一個(gè)連續(xù)的音調(diào)改變音頻信號(hào)串。當(dāng)該蘭特方法音調(diào)改變器通過(guò)其輸出端,達(dá)到重新采樣的音調(diào)改變器,而不是直接達(dá)到其輸出端時(shí),該定時(shí)器340以該重新采樣的速率計(jì)時(shí)。這可保證二個(gè)處理同步進(jìn)行。假如重新采樣以一個(gè)較高的速率進(jìn)行,如圖4A所示那樣,則蘭特方法必須以一個(gè)較高的速率產(chǎn)生再現(xiàn)的音調(diào)周期,以便使數(shù)據(jù)可連續(xù)地供給該重新采樣的音調(diào)改變器。同樣,假如重新采樣以一個(gè)較低的速率進(jìn)行,如圖4B所示那樣,則蘭特方法只需以一個(gè)較低的速率產(chǎn)生再現(xiàn)的音調(diào)周期,以便使數(shù)據(jù)可以連續(xù)地供給該重新采樣的音調(diào)改變器。
雖然表示和說(shuō)明了本發(fā)明的優(yōu)選實(shí)施例,但是可以理解,還可以作許多改變,而不會(huì)偏離本發(fā)明的精神和范圍。這樣,本發(fā)明的范圍僅由下列的權(quán)利要求來(lái)決定。
權(quán)利要求
1.一種從一個(gè)輸入信號(hào)產(chǎn)生一個(gè)音質(zhì)改變的輸出信號(hào)的方法,它包括下列步驟接收一個(gè)已經(jīng)用一個(gè)第一速率采樣的一個(gè)輸入信號(hào)的數(shù)字表達(dá);利用一個(gè)與該第一速率不同的第二速率,對(duì)一個(gè)輸入信號(hào)的所述數(shù)字表達(dá)進(jìn)行重新采樣;通過(guò)周期性地抽取該重新采樣的輸入信號(hào)的一個(gè)片段,并且以一個(gè)與該輸出信號(hào)的基頻相等的速率,再現(xiàn)該各個(gè)抽取片段來(lái)產(chǎn)生該音質(zhì)改變了的輸出信號(hào)的一個(gè)數(shù)字表達(dá)。
2.一種從一個(gè)輸入信號(hào)產(chǎn)生一個(gè)音質(zhì)、音調(diào)改變的輸出信號(hào)的方法,它包括下列步驟接收已經(jīng)用一個(gè)第一速率采樣的一個(gè)輸入信號(hào)的一個(gè)數(shù)字表達(dá);通過(guò)周期性地抽取該輸入信號(hào)的一個(gè)片段,并且以一個(gè)與該音調(diào)改變了的輸出信號(hào)的基頻相等的速率,再現(xiàn)該抽取的各個(gè)片段來(lái)產(chǎn)生一個(gè)音調(diào)改變的輸出信號(hào)的數(shù)字表達(dá);通過(guò)以一個(gè)和該第一速率不同的第二速率,對(duì)該音調(diào)改變的輸出信號(hào)的數(shù)字表達(dá)進(jìn)行重新采樣,來(lái)產(chǎn)生該音質(zhì)改變的輸出信號(hào)的一個(gè)數(shù)字表達(dá)。
3.如權(quán)利要求1或2所述的方法,它還包括將該音質(zhì)改變的輸出信號(hào)的數(shù)字表達(dá)送至一個(gè)數(shù)模轉(zhuǎn)換器,以便將該音質(zhì)改變的輸出信號(hào)的數(shù)字表達(dá)轉(zhuǎn)換為該音質(zhì)改變的輸出信號(hào)的模擬表達(dá)的步驟。
4.如權(quán)利要求1所述的方法,其中該輸入信號(hào)具有一個(gè)基頻,并且其中,該音質(zhì)改變的輸出信號(hào)具有一個(gè)與該輸入信號(hào)的基頻一樣的基頻。
5.如權(quán)利要求1所述的方法,其中,該輸入信號(hào)具有一個(gè)基頻,并且其中,該音質(zhì)改變的輸出信號(hào)具有一個(gè)與該輸入信號(hào)的基頻不同的基頻。
6.如權(quán)利要求1或2所述的方法,其中,接收該輸入信號(hào)的一個(gè)數(shù)字表達(dá)的步驟包括下列步驟接收該輸入信號(hào)的一個(gè)模擬表達(dá);和將該輸入信號(hào)的該模擬表達(dá)送至一個(gè)模數(shù)轉(zhuǎn)換器,以便將該輸入信號(hào)的該模擬表達(dá)轉(zhuǎn)換為該輸入信號(hào)的一個(gè)數(shù)字表達(dá)。
7.如權(quán)利要求1或2所述的方法,其中,該輸入信號(hào)為由一種樂(lè)器產(chǎn)生的一個(gè)音符。
8.如權(quán)利要求1或2所述的方法,其中,該輸入信號(hào)為一口頭發(fā)音的音符。
9.一種從一個(gè)輸入的有聲信號(hào)產(chǎn)生一個(gè)音質(zhì)改變的輸出有聲信號(hào)的方法,它包括下列步驟接收一個(gè)已經(jīng)以一個(gè)第一速率采樣的該輸入有聲信號(hào)的一個(gè)數(shù)字表達(dá),并且以一個(gè)與該第一采樣速率不同的第二采樣速率,對(duì)該輸入有聲信號(hào)的該數(shù)字表達(dá)進(jìn)行重新采樣,以產(chǎn)生一個(gè)重新采樣的輸入有聲信號(hào);和通過(guò)利用一個(gè)窗函數(shù)周期性地抽取該重新采樣的輸入有聲信號(hào)的一個(gè)片段,并且以一個(gè)與該輸出有聲信號(hào)的基頻相等的速率,再現(xiàn)該多個(gè)抽取片段而產(chǎn)生該音質(zhì)改變的輸出有聲信號(hào)的一個(gè)數(shù)字表達(dá)。
10.一種從一個(gè)輸入有聲信號(hào)產(chǎn)生一個(gè)音質(zhì),音調(diào)改變的輸出有聲信號(hào)的方法,它包括下列步驟接收一個(gè)已經(jīng)以一個(gè)第一速率采樣的該輸入有聲信號(hào)的一個(gè)數(shù)字表達(dá),并且通過(guò)利用一個(gè)窗函數(shù)周期性地抽取該輸入有聲信號(hào)的一個(gè)片段,并以一個(gè)與該輸出有聲信號(hào)的基頻相等的速率再現(xiàn)該被抽取的多個(gè)片段而產(chǎn)生該音調(diào)改變的輸出有聲信號(hào)的一個(gè)數(shù)字表達(dá);和通過(guò)以一個(gè)和該第一采樣速率不同的第二采樣速率,對(duì)該音調(diào)改變的輸出有聲信號(hào)的該數(shù)字表達(dá)進(jìn)行重新采樣,而產(chǎn)生該音質(zhì)改變的輸出有聲信號(hào)的一個(gè)數(shù)字表達(dá)。
11.如權(quán)利要求9或10所述的方法,其中,接收該輸入有聲信號(hào)的一個(gè)數(shù)字表達(dá)的步驟包括下列步驟接收該輸入有聲信號(hào)的一個(gè)模擬表達(dá);和將該輸入有聲信號(hào)的該模擬表達(dá)送至一個(gè)模數(shù)轉(zhuǎn)換器,以便將該輸入有聲信號(hào)的該模擬表達(dá)轉(zhuǎn)換為該輸入有聲信號(hào)的一個(gè)數(shù)字表達(dá)。
12.如權(quán)利要求9或10的方法,它還包括將該音質(zhì)改變的輸出有聲信號(hào)的該數(shù)字表達(dá)送至一個(gè)數(shù)模轉(zhuǎn)換器,以便將該音質(zhì)改變的輸出有聲信號(hào)的該數(shù)字表達(dá)轉(zhuǎn)換為該音質(zhì)改變的輸出有聲信號(hào)的一個(gè)模擬表達(dá)的一些步驟。
13.如權(quán)利要求9或10的方法,其中,該輸入有聲信號(hào)具有一個(gè)基頻,并且該音質(zhì)改變的輸出有聲信號(hào)具有一個(gè)與該輸入有聲信號(hào)的基頻相同的基頻。
14.如權(quán)利要求9或10所述的方法,其中,該輸入有聲信號(hào)具有一個(gè)基頻,而該音質(zhì)改變的輸出有聲信號(hào)具有一個(gè)與該輸入有聲信號(hào)的基頻不同的基頻。
15.如權(quán)利要求9所述的方法,其中,該輸入有聲信號(hào)和該音質(zhì)改變的輸出有聲信號(hào)具有一個(gè)基頻,而且其中,抽取該重新采樣的輸入有聲信號(hào)的一個(gè)片段的步驟還包括下列步驟產(chǎn)生一個(gè)窗函數(shù),該窗函數(shù)的持續(xù)時(shí)間為該輸入有聲信號(hào)的基頻和該音質(zhì)改變的輸出有聲信號(hào)的基頻之差的函數(shù);和將該窗函數(shù)與該重新采樣的輸入有聲信號(hào)的該數(shù)字表達(dá)相乘。
16.如權(quán)利要求10所述的方法,其中,該輸入有聲信號(hào)和該音調(diào)改變的輸出有聲信號(hào)具有一個(gè)基頻,并且其中,抽取該輸入有聲信號(hào)的一個(gè)片段的步驟還包括下列步驟產(chǎn)生一個(gè)窗函數(shù),該窗函數(shù)的持續(xù)時(shí)間為該輸入有聲信號(hào)的基頻和該音調(diào)改變的輸出有聲信號(hào)的基頻之差的函數(shù);和將該窗函數(shù)與該音調(diào)改變的輸出有聲信號(hào)的該數(shù)字表達(dá)相乘。
17.如權(quán)利要求9所述的方法,其中,在重新采樣之前,將該輸入有聲信號(hào)的該數(shù)字表達(dá)存貯在一個(gè)數(shù)字存貯器中,并且其中,該輸入有聲信號(hào)的該數(shù)字表達(dá)包括許多循環(huán),每一個(gè)循環(huán)占據(jù)許多存貯位置,對(duì)該輸入有聲信號(hào)的該數(shù)字表達(dá)進(jìn)行重新采樣的步驟還包括下列步驟假如該第二采樣速率比該第一采樣速率快,則將每個(gè)循環(huán)的重新采樣的輸入有聲信號(hào)存貯在比該輸入有聲信號(hào)的該數(shù)字表達(dá)所占據(jù)的存貯器位置數(shù)目更多的存貯器位置中;和假如該第二采樣速率比該第一采樣速率慢,則將每個(gè)循環(huán)的該重新采樣的輸入有聲信號(hào)存貯在比該輸入有聲信號(hào)的該數(shù)字表達(dá)所占據(jù)的存貯器位置數(shù)目更少的存貯器位置中。
18.如權(quán)利要求10所述的方法,其中,在重新采樣之前,將該音調(diào)改變的輸出有聲信號(hào)的該數(shù)字表達(dá)存貯在一個(gè)數(shù)字存貯器中,并且其中,該音調(diào)改變的輸出信號(hào)的該數(shù)字表達(dá)包括許多循環(huán),每一循環(huán)占據(jù)許多存貯器位置,對(duì)該音調(diào)改變的輸出有聲信號(hào)的該數(shù)字表達(dá)進(jìn)行重新采樣的步驟還包括下列步驟假如該第二采樣速率比該第一采樣速率快,則將每循環(huán)的該重新采樣的音調(diào)改變的輸出有聲信號(hào)存貯在比該音調(diào)改變的輸出有聲信號(hào)的該數(shù)字表達(dá)所占據(jù)的存貯器數(shù)目更多的存貯器位置中;和假如該第二采樣速率比該第一采樣速率慢,則將每循環(huán)的該重新采樣的音調(diào)改變的輸出有聲信號(hào)存貯在比該音調(diào)改變的輸出有聲信號(hào)的該數(shù)字表達(dá)所占據(jù)的存貯器位置數(shù)目更少的存貯器位置中。
19.如權(quán)利要求9所述的方法,其中,對(duì)該輸入有聲信號(hào)重新采樣的步驟是通過(guò)對(duì)該輸入有聲信號(hào)的該數(shù)字表達(dá)進(jìn)行插值來(lái)執(zhí)行的。
20.如權(quán)利要求19所述的方法,其中,對(duì)該輸入有聲信號(hào)的該數(shù)字表達(dá)進(jìn)行插值的步驟是利用線性插值進(jìn)行的。
21.如權(quán)利要求10所述的方法,其中,對(duì)該音調(diào)改變的輸出有聲信號(hào)進(jìn)行重新采樣的步驟是通過(guò)對(duì)該音調(diào)改變的輸出有聲信號(hào)的該數(shù)字表達(dá)進(jìn)行插值來(lái)執(zhí)行的。
22.如權(quán)利要求21所述的方法,其中,對(duì)該音調(diào)改變的輸出有聲信號(hào)的該數(shù)字表達(dá)插值的步驟是利用線性插值進(jìn)行的。
23.一種用于從一個(gè)輸入信號(hào)產(chǎn)生一個(gè)音質(zhì)改變的輸出信號(hào)的裝置,它包括一個(gè)數(shù)字存貯器;一個(gè)數(shù)字信號(hào)處理器,它用于接收已經(jīng)用一個(gè)第一速率進(jìn)行采樣的該輸入信號(hào)的一個(gè)數(shù)字表達(dá),并且用于在該數(shù)字存貯器中存貯該輸入信號(hào)的該數(shù)字表達(dá);一種用于以一個(gè)與該第一速率不同的第二速率,對(duì)存貯在該數(shù)字存貯器中的該輸入信號(hào)的該數(shù)字表達(dá)進(jìn)行重新采樣,和在該數(shù)字存貯器中存貯該重新采樣的輸入信號(hào)的裝置;和一個(gè)音調(diào)改變器,它用于通過(guò)周期性地抽取該重新采樣的輸入信號(hào)的一個(gè)片段,并且以一個(gè)和該音質(zhì)改變的輸出信號(hào)的一個(gè)基頻相等的速率,再現(xiàn)該多個(gè)被抽取的片段而產(chǎn)生該音質(zhì)改變的輸出信號(hào)的一個(gè)數(shù)字表達(dá)。
24.如權(quán)利要求23所述的裝置,它還包括一個(gè)麥克風(fēng),它用于將該輸入信號(hào)轉(zhuǎn)換為一個(gè)相應(yīng)的電氣輸入信號(hào);和一個(gè)模數(shù)轉(zhuǎn)換器,它用于以一個(gè)第一速率對(duì)該電氣輸入信號(hào)進(jìn)行采樣,并將該電氣輸入信號(hào)轉(zhuǎn)換為該輸入信號(hào)的數(shù)字表達(dá)。
25.如權(quán)利要求23所述的裝置,它還包括一個(gè)數(shù)模轉(zhuǎn)換器,它用于將該音質(zhì)改變的輸出信號(hào)的該數(shù)字表達(dá)轉(zhuǎn)換為該音質(zhì)改變的輸出信號(hào)的一個(gè)模擬表達(dá)。
26.如權(quán)利要求23所述的裝置,它還包括一個(gè)用于改變對(duì)該輸入信號(hào)進(jìn)行重新采樣的該第二速率的控制。
27.如權(quán)利要求23的裝置,其中,該音調(diào)改變器通過(guò)利用一個(gè)窗函數(shù)對(duì)該重新采樣的輸入信號(hào)進(jìn)行定標(biāo),而抽取該重新采樣的輸入信號(hào)的一個(gè)片段。
28.如權(quán)利要求27所述的裝置,其中,該音調(diào)改變器以一個(gè)和該輸入信號(hào)的基頻呈諧和相關(guān)關(guān)系的速率,利用該窗函數(shù)對(duì)該重新采樣的輸入信號(hào)進(jìn)行定標(biāo)。
29.如權(quán)利要求27所述的裝置,其中,該輸入信號(hào)具有一個(gè)基頻,和該音質(zhì)改變的輸出信號(hào)具有一個(gè)基頻,并且其中,該音調(diào)改變器還包括一個(gè)用于根據(jù)該輸入信號(hào)的基頻和該音質(zhì)改變的輸出信號(hào)的基頻之差,來(lái)調(diào)節(jié)該窗函數(shù)的持續(xù)時(shí)間的裝置。
30.如權(quán)利要求29所述的裝置,其中,假如該音質(zhì)改變的輸出信號(hào)的基頻大于該輸入信號(hào)的基頻,則該用于調(diào)節(jié)該窗函數(shù)持續(xù)時(shí)間的裝置使該窗函數(shù)的持續(xù)時(shí)間減少;并且假如該音質(zhì)改變的輸出信號(hào)的基頻小于該輸入信號(hào)的基頻,則該裝置使該窗函數(shù)的持續(xù)時(shí)間增加。
31.一個(gè)用于從一個(gè)輸入信號(hào)產(chǎn)生一個(gè)音質(zhì)改變和/或音調(diào)改變輸出信號(hào)的系統(tǒng),它包括一個(gè)用于接收已經(jīng)以一個(gè)第一速率采樣的該輸入信號(hào)的一個(gè)數(shù)字表達(dá)的裝置;一個(gè)用于接收決定該音質(zhì)改變的輸出信號(hào)的第一個(gè)理想的基頻的第一個(gè)參考音符的裝置;一個(gè)比較器,它對(duì)所述參考音符進(jìn)行分析,并作為所述分析的函數(shù)來(lái)選擇一個(gè)重新采樣的速率;一個(gè)數(shù)字信號(hào)處理器,它以該選擇的重新采樣速率,對(duì)該輸入信號(hào)的該數(shù)字表達(dá)進(jìn)行重新采樣;和一個(gè)音調(diào)改變器,它用于通過(guò)周期性地抽取該重新采樣的輸入信號(hào)的一個(gè)片段,并且以一個(gè)和該參考音符的基頻相等的速率,再現(xiàn)該多個(gè)被抽取的片段而產(chǎn)生該音質(zhì)改變的輸出信號(hào)。
32.如權(quán)利要求31所述的系統(tǒng),其中,該比較器通過(guò)將該參考音符的基頻與一個(gè)或多個(gè)閾值比較,而對(duì)該參考音符進(jìn)行分析。
33.如權(quán)利要求31所述的系統(tǒng),它還包括一個(gè)用于決定該輸入信號(hào)基頻的裝置;其中,該比較器通過(guò)將該參考音符的所述基頻與該輸入信號(hào)的所述基頻進(jìn)行比較,而分析該參考音符,并且作為該參考音符的所述基頻與該輸入信號(hào)的所述基頻之差的函數(shù)來(lái)選擇該重新采樣的速率。
34.如權(quán)利要求31所述的系統(tǒng),它還包括一個(gè)用于接收決定第二個(gè)基頻的第二個(gè)參考音符的裝置;其中,該比較器通過(guò)將所述第一個(gè)參考音符的所述基頻與該第二個(gè)參考音符的所述基頻進(jìn)行比較,對(duì)該參考音符進(jìn)行分析,并且作為該參考音符的該基頻與該第二個(gè)參考音符的該基頻之差的函數(shù)來(lái)選擇該重新采樣的速率。
35.一種從一個(gè)輸入信號(hào)產(chǎn)生一個(gè)音質(zhì)改變和/或音調(diào)改變的輸出信號(hào)的系統(tǒng),它包括一個(gè)用于接收已經(jīng)以一個(gè)第一速率采樣的該輸入信號(hào)的一個(gè)數(shù)字表達(dá)的裝置;一個(gè)用于接收決定該音質(zhì)改變的輸出信號(hào)的一個(gè)理想基頻的參考音符的裝置;一個(gè)用于計(jì)算接收該輸入信號(hào)的時(shí)間長(zhǎng)度的裝置;一個(gè)比較器,它分析用于接收該輸入信號(hào)的所述時(shí)間長(zhǎng)度,并且作為所述時(shí)間長(zhǎng)度的函數(shù)來(lái)選擇重新采樣的速率;一個(gè)數(shù)字信號(hào)處理器,它用于以所述的選擇的重新采樣速率對(duì)該輸入信號(hào)的該數(shù)字表達(dá)進(jìn)行重新采樣;和一個(gè)音調(diào)改變器,它用于通過(guò)抽取該重新采樣的輸入信號(hào)的一個(gè)片段,并且以一個(gè)基本上與所述參考音符的基頻相等的速率,再現(xiàn)該多個(gè)被抽取的片段來(lái)產(chǎn)生該音質(zhì)改變的輸出信號(hào)。
36.一種用于從一個(gè)輸入信號(hào)產(chǎn)生一個(gè)音質(zhì)改變和/或音調(diào)改變的輸出信號(hào)的系統(tǒng),它包括一個(gè)用于接收已經(jīng)用一個(gè)第一速率采樣的一個(gè)輸入信號(hào)的一個(gè)數(shù)字表達(dá)的裝置;一個(gè)用于接收決定該音質(zhì)改變的輸出信號(hào)的一個(gè)理想基頻的一個(gè)參考音符的裝置;一個(gè)比較器,它分析該輸入信號(hào)的該數(shù)字表達(dá)的大小,并且作為該數(shù)字表達(dá)大小的函數(shù)選擇一個(gè)重新采樣的速率;一個(gè)數(shù)字信號(hào)處理器,它以該選擇的重新采樣速率,對(duì)該輸入信號(hào)的該數(shù)字表達(dá)進(jìn)行重新采樣;和一個(gè)音調(diào)改變器,它通過(guò)周期性地抽取該重新采樣的輸入信號(hào)的一個(gè)片段,并且以一個(gè)基本上和該參考音符的所述基頻相等的速率再現(xiàn)該多個(gè)被抽取的片段,來(lái)產(chǎn)生該音質(zhì)改變的輸出信號(hào)。
全文摘要
一種用于調(diào)整輸入信號(hào)的音質(zhì)和/或音調(diào)的方法,將輸入信號(hào)在第一速率采樣并將其貯存于存儲(chǔ)緩沖器122中。數(shù)字信號(hào)處理器180將貯存的輸入信號(hào)區(qū)別于第一速率重新采樣,輸入音符以該速率被原始采樣,并將該重新采樣的輸入信號(hào)貯存在第二存儲(chǔ)緩沖器128中。通過(guò)一個(gè)窗函數(shù)196、134用音調(diào)改變器200對(duì)該重新采樣的輸入信號(hào)進(jìn)行定標(biāo),可以改變?cè)撝匦虏蓸拥妮斎胄盘?hào)的音調(diào)從而產(chǎn)生一個(gè)輸出信號(hào)。重新取樣的數(shù)據(jù)以該速率被窗函數(shù)再現(xiàn),該速率能決定輸出信號(hào)的音調(diào)。
文檔編號(hào)G10H1/043GK1145679SQ96190038
公開日1997年3月19日 申請(qǐng)日期1996年1月18日 優(yōu)先權(quán)日1995年1月18日
發(fā)明者布賴恩·查爾斯·吉布森, 克里斯托弗·邁克爾·朱賓, 布賴恩·約翰·羅登 申請(qǐng)人:Ivl技術(shù)有限公司