專利名稱:采用時(shí)間擴(kuò)展/壓縮控制技術(shù)的音發(fā)生裝置及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種音發(fā)生裝置及方法,其用于完全和部分地不依賴于波形數(shù)據(jù)的音調(diào)控制而對音波形數(shù)據(jù)時(shí)間軸長度(再現(xiàn)時(shí)間長度)進(jìn)行控制以將其擴(kuò)展或壓縮,從而在時(shí)間軸方向上提高了音調(diào)的表現(xiàn)力和可控制性。本發(fā)明作為一種音發(fā)生裝置及方法可以廣泛應(yīng)用,不僅可以用于電聲樂器也可用于其它音或聲音發(fā)生裝置,例如游戲機(jī),個(gè)人電腦以及其它多媒體設(shè)備。
人們所知的常規(guī)音發(fā)生器,它是基于波形存儲讀出法(PCM或脈沖編碼調(diào)制法)的,它用于電聲樂器及類似裝置中,通過調(diào)整從波形存儲器讀出的波形數(shù)據(jù)的速率來控制每個(gè)音波形的音調(diào)。更具體地說,通過累計(jì)所謂的“F值”(與音調(diào)音頻成比例的頻率數(shù)),在按讀地址連續(xù)地讀出波形數(shù)據(jù)時(shí),通過增加F值可控制音調(diào)變高,通過減小F值可控制音調(diào)變低。在這種情況下,當(dāng)讀出一組有限數(shù)量的波形數(shù)據(jù)時(shí),隨著波形數(shù)據(jù)(波形采樣值)的讀出速率不同,波形數(shù)據(jù)的音再現(xiàn)或音發(fā)生時(shí)間長度將會發(fā)生不期望有的變化。亦即, 當(dāng)音調(diào)變高時(shí),音發(fā)生時(shí)間長度變短。因此,常規(guī)的PCM音發(fā)生器不能令人滿意,原因在于其無法控制不依賴音調(diào)自由地?cái)U(kuò)展或壓縮時(shí)間長度,即從波形存儲器讀出波形數(shù)據(jù)的音發(fā)生時(shí)間長度。
此外,當(dāng)使用者需要對存儲器中讀出的波形進(jìn)行某些改變而賦予要產(chǎn)生的音(它有時(shí)指的是“待發(fā)的音”)以特別的表現(xiàn)形式而不是僅僅將讀出的波形直接發(fā)出一個(gè)音時(shí),用這種PCM音發(fā)生器已經(jīng)可以控制三種不同的音參數(shù)音調(diào)、音量、音色(或稱音品)。對于音調(diào),可以通過將讀出的波形數(shù)據(jù)做必要的調(diào)制從而實(shí)現(xiàn)一個(gè)音調(diào)調(diào)制效果,如顫音或瞬態(tài)音。對于音量,通過在一個(gè)給定包絡(luò)波形的基礎(chǔ)上,對讀出的波形數(shù)據(jù)施加一個(gè)音量幅度包絡(luò)線,或者周期性地對讀出波形數(shù)據(jù)的音量幅度進(jìn)行調(diào)制可以實(shí)現(xiàn)顫音效果或類似的效果。進(jìn)一步講,對于音色,通過將讀出數(shù)據(jù)進(jìn)行濾波處理而實(shí)現(xiàn)適當(dāng)?shù)囊羯刂?。如上所提到的,已知的對一個(gè)待發(fā)出的音賦予表現(xiàn)形式的控制技術(shù)包括對三個(gè)主要的音參數(shù)音調(diào)、音量、音色實(shí)施一定的控制。然而,迄今為止尚沒有提出沿時(shí)間軸控制待發(fā)音的波形數(shù)據(jù)從而表現(xiàn)一個(gè)待發(fā)音以提高其音表現(xiàn)力及可控性的方法。
進(jìn)一步講,通過在PCM音發(fā)生器中對三個(gè)音參數(shù)實(shí)施上述的外部控制的即改變讀出速率,控制讀出音量幅度,和音色濾波,難以接近地對真實(shí)樂器發(fā)音的品質(zhì)。這樣,為了提高PCM音發(fā)生器發(fā)出聲音的品質(zhì),在波形存儲器中預(yù)存多個(gè)周期的預(yù)先施加了多種調(diào)制,(諸如顫音和碎音)效果的波形,從而可以僅僅讀出存儲的波形就能夠發(fā)出具有這些調(diào)制效果的音,并且這些音與自然器械音具有同樣好的品質(zhì)。但是,在讀出對其施加了調(diào)制效果的音的波形數(shù)據(jù)時(shí),調(diào)制周期(時(shí)期)和調(diào)制時(shí)間會隨著波形數(shù)據(jù)讀出速率的變化而發(fā)生不期望有的變化。就是說,無法不依賴于波形數(shù)據(jù)的讀出速率,即音調(diào)對調(diào)制周期、調(diào)制時(shí)間等進(jìn)行控制。
進(jìn)一步講,盡管通過直接對真實(shí)的樂器進(jìn)行采樣,PCM音發(fā)生器可以在波形存儲器中預(yù)存一些具有所需音效果和特征的波形數(shù)據(jù),但這存在一個(gè)問題,當(dāng)讀出這些音調(diào)受控(即讀數(shù)速率是變化的)數(shù)據(jù)時(shí),發(fā)音的時(shí)間軸將隨讀出速率的變化而變化。這樣的缺點(diǎn)可以通過防止讀出速率改變來避免,但是當(dāng)要以森特(cent)精度精確地按真實(shí)樂器聲音再現(xiàn)多種音調(diào)時(shí),如果對于每一個(gè)音調(diào)有多種(套)具有多種效果的多個(gè)周期的波形數(shù)據(jù)要存儲,則需要大量的存儲容量。這樣,這種方法是不實(shí)用的。
此外,在聲音處理領(lǐng)域,作為一種語速轉(zhuǎn)換技術(shù),PICOLA方法現(xiàn)已為人們所知。例如,當(dāng)應(yīng)用于按照所述的次序以一個(gè)預(yù)定的再現(xiàn)采樣速率讀出五個(gè)波形周期的波形區(qū)段A、B、C、D和E以輸出一個(gè)聲音波形的情況時(shí),PICOLA方法可以在第一周期使用將漸弱區(qū)段A的波形與漸強(qiáng)區(qū)段B的波形相加得到的一個(gè)波形,然后在第2至第4周期輸出區(qū)段C、D和E。這樣,無需改變預(yù)定的再現(xiàn)采樣頻率,PICOLA方法也可以將時(shí)間軸壓縮成4個(gè)周期而輸出具有原五個(gè)周期全部時(shí)間長度的波形。當(dāng)應(yīng)用于另一種情況,即按照所述順序以預(yù)定的再現(xiàn)采樣頻率讀出有3個(gè)波形周期的波形區(qū)段A、B和C以輸出一個(gè)聲音波形,并且需要擴(kuò)展或擴(kuò)展時(shí)間長度時(shí),PICOLA方法在第一個(gè)周期可使用區(qū)段A接著在第二個(gè)周期使用將漸弱區(qū)段A的波形與漸強(qiáng)區(qū)段B的波形相加得到的一個(gè)波形,然后在第三和第四周期輸出區(qū)段B和C。這樣,無需改變預(yù)定的再現(xiàn)采樣頻率,PICOLA方法通過將時(shí)間長度擴(kuò)展或壓縮成四個(gè)周期,就可以輸出原來具有三個(gè)周期的全部時(shí)間長度的波形。然而這種語速轉(zhuǎn)換技術(shù)僅能夠讀出以預(yù)定的再現(xiàn)采樣頻率錄制的信號,而不能以任選調(diào)(音調(diào))變化地讀出該聲音信號。換句話說,對于上述問題,現(xiàn)有技術(shù)沒有提出對策和解決方案。
如上所述,傳統(tǒng)的用于電聲樂器的以波形—存儲器為基礎(chǔ)的音發(fā)生器具有這樣的問題,讀出波形數(shù)據(jù)的時(shí)間長度隨讀出速率的變化而變化,因而不能隨意地?cái)U(kuò)展和壓縮。此外,傳統(tǒng)的聲音處理技術(shù)不能以森特(cent)的精度精確控制音調(diào),并且很難將這種聲音處理技術(shù)直接應(yīng)用于波形存儲音發(fā)生器。
所以本發(fā)明的一個(gè)目的就是提供一種適用于一種基于從波形存儲器中讀出的波形數(shù)據(jù)的音發(fā)生器的技術(shù),它可以隨意可變地對數(shù)據(jù)讀出速率(音調(diào))進(jìn)行控制并且也可以不依賴于讀出速率而沿時(shí)間軸擴(kuò)展和壓縮波形數(shù)據(jù)。
本發(fā)明的另一個(gè)目的是提供一種適用于一種基于從波形存儲中讀出的波形數(shù)據(jù)的音發(fā)生器的技術(shù),通過引入作為一種音控制方式的沿時(shí)間軸方向擴(kuò)展或壓縮波形數(shù)據(jù)的控制方式,能夠利用基本不需要增大存儲器容易的簡單結(jié)構(gòu)對一個(gè)待發(fā)音賦予表現(xiàn)形式并顯著增強(qiáng)了音表現(xiàn)力和可控性。
本發(fā)明再一個(gè)目的就是提供一種裝置及方法,其適用于波形存儲器中存有任意特征形式的多個(gè)周期波形的高品質(zhì)波形數(shù)據(jù),從而通過讀出存儲數(shù)據(jù)而再現(xiàn)一個(gè)音的情況,它能夠可變地控制波形數(shù)據(jù)讀出數(shù)率,按照所需的音調(diào)再現(xiàn)一個(gè)音以使多個(gè)不同的音調(diào)共享同樣的存儲波形數(shù)據(jù),從而大大節(jié)約存儲容量,并且它還可以不依賴于波形數(shù)據(jù)讀出速率的控制,沿時(shí)間軸對波形數(shù)據(jù)的讀出位置進(jìn)行擴(kuò)展和壓縮控制,從而提供一個(gè)時(shí)間軸控制參數(shù)作為對任意特征形式的一個(gè)附加音控制參數(shù),這樣就能夠以迄今為止從未具有的較高的表現(xiàn)力和可控制性實(shí)現(xiàn)任意特征形式的音頻發(fā)生和音控制。存儲在波形存儲器中的對應(yīng)于任意特征形式的波形數(shù)據(jù)可包括經(jīng)過調(diào)制的如顫音或碎音,經(jīng)過音調(diào)調(diào)制的如音調(diào)變調(diào),以及經(jīng)過瞬間音調(diào)波動調(diào)制的諸如瞬態(tài)音或裝飾音。
本發(fā)明的又一個(gè)目的就是提供一種裝置及方法,其適用于在波形存儲器中存有多周期波形的波形數(shù)據(jù),從而通過將存儲數(shù)據(jù)讀出而再現(xiàn)一個(gè)音的情況,它能夠可變地控制波形數(shù)據(jù)讀出數(shù)率,按照所需的音調(diào)產(chǎn)生一個(gè)音以使多個(gè)不同的音調(diào)共享同樣的存儲波形數(shù)據(jù),從而大大節(jié)約存儲容量,并且它還可以不依賴于波形數(shù)據(jù)讀出速率的控制,沿時(shí)間軸對波形數(shù)據(jù)所需部分(全部或部分)的讀出位置進(jìn)行控制將其擴(kuò)展和壓縮,從而任意控制所需部分的音再現(xiàn)音或音發(fā)生時(shí)間長度,這樣得到了多種音波形的變化,從而以迄今為止從未具有的較高表現(xiàn)力和可控性實(shí)現(xiàn)了音發(fā)生和音控制。
亦即,本發(fā)明試圖提供一種裝置和方法,它可以隨意地實(shí)施對一個(gè)音的上升部分和下降部分或類似部分的音發(fā)生時(shí)間長度的可變控制,從而得到一個(gè)音波形的多種變化形式并且以迄今為止從未具有的較高的表現(xiàn)力和可控性實(shí)現(xiàn)音發(fā)生和音控制。
本發(fā)明的另一個(gè)目的是提供一種音發(fā)生裝置和方法,它可以通過對波形數(shù)據(jù)的時(shí)間軸控制可變地控制待發(fā)音的總時(shí)間長度,從而按照音符長度或其他類似參數(shù)隨意控制發(fā)音時(shí)間。
本發(fā)明的再一個(gè)目的是提供一種音發(fā)生裝置和方法,它可以根據(jù)指定音色或此類特征的信息有選擇地產(chǎn)生一個(gè)隨時(shí)間變化的時(shí)間軸擴(kuò)展/壓縮控制參數(shù),從而得到與指定音色等信息相應(yīng)的音波形的多種變化,進(jìn)而通過時(shí)間軸控制,從相同的多周期波形的波形數(shù)據(jù)產(chǎn)生多種波形變化。
本發(fā)明的又一個(gè)目的是提供一種音發(fā)生裝置和方法,它適用于從波形存儲器中以重復(fù)的或循環(huán)的方式讀出同一波形部分的波形數(shù)據(jù)的情況,它實(shí)現(xiàn)多種音波形變化,并且通過沿時(shí)間軸控制波形數(shù)據(jù)所需部分的讀出位置將其擴(kuò)展和壓縮,實(shí)現(xiàn)音發(fā)生和音控制,同時(shí)消除了循環(huán)讀出所引起的單調(diào)性。
本發(fā)明的另一個(gè)目的是提供一種音發(fā)生裝置和方法,通過沿時(shí)間軸對波形數(shù)據(jù)所需部分的讀出位置以及重復(fù)讀出部分進(jìn)行控制將其擴(kuò)展和壓縮,進(jìn)而對待發(fā)音確定的控制,諸如節(jié)奏它獲得了波形數(shù)據(jù)的多種變化。
本發(fā)明的再一個(gè)目的是提供一種音發(fā)生裝置和方法,即使在再現(xiàn)一個(gè)音波形的過程中,也可以沿時(shí)間軸對波形數(shù)據(jù)進(jìn)行控制使其擴(kuò)展和壓縮,實(shí)時(shí)響應(yīng)沿時(shí)間軸壓縮和擴(kuò)展的動態(tài)變化率。
本發(fā)明的又一個(gè)目的是提供一種音發(fā)生裝置和方法,通過勻滑轉(zhuǎn)換合成法,在對沿時(shí)間軸擴(kuò)展和壓縮波形數(shù)據(jù)的讀出位置進(jìn)行控制的同時(shí)獲得了一個(gè)光滑波形變化的時(shí)間軸擴(kuò)展和壓縮控制。
本發(fā)明的另一個(gè)目的是對于上述相關(guān)的波形數(shù)據(jù)的勻滑轉(zhuǎn)換合成法提出幾點(diǎn)改進(jìn)。
根據(jù)本發(fā)明的第一方面,提供了一種音發(fā)生裝置,它包括存儲有多周期波形的波形數(shù)據(jù)的一個(gè)波形存儲器;指定待發(fā)音音調(diào)的一個(gè)指定部分;產(chǎn)生控制信息的一個(gè)控制信息發(fā)生部分,其以一個(gè)時(shí)間函數(shù)的形式從波形存儲器讀出波形數(shù)據(jù)的地址位置;一個(gè)地址發(fā)生部分,其產(chǎn)生按照與指定部分指定的音調(diào)相對應(yīng)的速率增進(jìn)的一個(gè)讀地址;一個(gè)控制單元,其將控制信息部分指定的地址位置同地址發(fā)生部分產(chǎn)生的讀地址位置進(jìn)行比較,并根據(jù)比較結(jié)果控制讀地址的偏移;以及一個(gè)在由控制單元控制的在讀地址的基礎(chǔ)上讀出波形數(shù)據(jù)的部分。
由控制信息發(fā)生部分產(chǎn)生的控制信息,以一個(gè)時(shí)間函數(shù)的形式,規(guī)定了從數(shù)據(jù)存儲器中讀出的波形數(shù)據(jù)的一個(gè)地址位置。由地址發(fā)生部分產(chǎn)生的讀地址指定的讀地址前進(jìn)或增進(jìn)的速率(即讀地址改變或增進(jìn)的斜率)。由控制單元將由控制信息產(chǎn)生的讀地址(一種目標(biāo)或虛擬讀出位置)同地址發(fā)生部分產(chǎn)生的讀地址(即一個(gè)實(shí)際的讀出位置)進(jìn)行比較,并且控制單元根據(jù)比較結(jié)果改變讀地址。這樣,根據(jù)待發(fā)音的音調(diào)進(jìn)行控制讀地址增進(jìn)速率(即讀地址改變或增進(jìn)的斜率),由控制信息控制波形數(shù)據(jù)的讀出位置與時(shí)間的關(guān)系。結(jié)果,可以不依賴于讀出率的控制(即待發(fā)音的音調(diào)控制)而根據(jù)控制信息沿時(shí)間軸將數(shù)據(jù)隨意擴(kuò)展和壓縮從而讀出與所述音調(diào)相應(yīng)的波形數(shù)據(jù)。
在下文中所述本發(fā)明的一個(gè)優(yōu)選實(shí)例中,將指定了一個(gè)從波形存儲器中讀出波形數(shù)據(jù)地址位置的控制信息,作為一個(gè)虛擬讀地址,同時(shí),將以對應(yīng)于指定音調(diào)的速率增進(jìn)的讀地址作為實(shí)際的讀地址。
可取的是,將存儲在波形存儲器中的波形數(shù)據(jù)分成多個(gè)數(shù)據(jù)組,并且按這樣的方式設(shè)置,各個(gè)數(shù)據(jù)組的第一波形數(shù)據(jù)在相位上分別相一致,并且當(dāng)控制信息給定的地址位置與地址發(fā)生單元產(chǎn)生的讀地址的位置之間的差超出了一個(gè)預(yù)定值,控制單元以與一個(gè)或多個(gè)數(shù)據(jù)組相關(guān)的一個(gè)量偏移讀地址。當(dāng)沿時(shí)間軸擴(kuò)展或壓縮波形數(shù)據(jù)的讀出位置時(shí),將會發(fā)生讀出位置的不連續(xù)性。然而,通過以與一個(gè)或多個(gè)數(shù)據(jù)組相關(guān)的一個(gè)量偏移讀地址,可以得到一個(gè)光滑的互連或互鎖波形,即使在通過擴(kuò)展或壓縮將離散的波形段互相連接在一起的情況也如此。
在另一個(gè)優(yōu)選實(shí)施例中,也提供了一個(gè)勻滑轉(zhuǎn)換部分,當(dāng)控制單元偏移讀地址時(shí),它在基于調(diào)整前產(chǎn)生的讀地址從波形存儲器中讀出的波形和基于調(diào)整后的讀地址從波形存儲器中讀出的波形之間進(jìn)行勻滑轉(zhuǎn)換合成。而且在這種情況下,在通過沿時(shí)間軸擴(kuò)展或壓縮波形數(shù)據(jù)的讀出位置將分散的波形段互相連接起來的情況下,也可以得到一個(gè)光滑的相互連接或互鎖的波形。
本發(fā)明也提供了一種基于從波形存儲器中的讀出值產(chǎn)生一個(gè)音的方法,該波形存儲器已存儲了多周期波形的波形數(shù)據(jù),這種方法包括一個(gè)指定待發(fā)音音調(diào)的步驟;一個(gè)產(chǎn)生控制信息的步驟;一個(gè)控制步驟,它隨著時(shí)間的推移,指定從波形數(shù)據(jù)存儲器中讀出數(shù)據(jù)的離散位置,同時(shí)依據(jù)控制信息控制擴(kuò)展或壓縮波形數(shù)據(jù)的時(shí)間軸,以及以對應(yīng)于指定步驟指定的音調(diào)的速率從波形存儲器讀出在控制步驟指定的位置的波形數(shù)據(jù)的一個(gè)步驟。按照這樣的方法,根據(jù)控制信息可以產(chǎn)生一個(gè)音,這個(gè)音具有指定的音調(diào)以及一個(gè)沿時(shí)間軸擴(kuò)展或壓縮的控制特征的波形數(shù)據(jù)。
控制步驟隨時(shí)間的推移,指定從波形存儲器讀出的波形數(shù)據(jù)的離散位置,并且根據(jù)所生成的控制信息控制滑時(shí)間軸擴(kuò)展或壓縮的離散位置。換句話說,對于存儲器中的每一個(gè)地址,由控制步驟確定的從波形存儲器中讀出的波形數(shù)據(jù)的位置不必象正常讀出波形數(shù)據(jù)的采樣值那樣,一定順序地指定,可以在適當(dāng)分開的點(diǎn)或隔開適當(dāng)?shù)牟糠只騾^(qū)段分散地指定。在指定從波形存儲器讀出波形數(shù)據(jù)的分散的位置的過程中,從指定的位置順序地讀出完整的波形數(shù)據(jù)采樣值,即波形存儲器中實(shí)際讀地址的指定是由讀步驟按照與指定音調(diào)相對應(yīng)的速率實(shí)現(xiàn)的。這樣,按照與指定音調(diào)相對應(yīng)的速率從波形存儲器中適當(dāng)分開的點(diǎn)或隔開適當(dāng)?shù)牟糠只騾^(qū)段讀出所述的波形數(shù)據(jù)。這樣,當(dāng)指定從波形數(shù)據(jù)存儲讀出的波形數(shù)據(jù)的位置,同時(shí)根據(jù)與讀出速率(音調(diào)控制)無關(guān)的控制信息控制它的時(shí)間軸使其擴(kuò)展或壓縮時(shí),就根據(jù)指定的音調(diào)對讀出波形數(shù)據(jù)的音調(diào)進(jìn)行了控制。因而,可以不依賴于讀出速率(音調(diào)控制)而對從波形存儲器讀出的波形數(shù)據(jù)的時(shí)間軸位置隨意進(jìn)行控制,將其擴(kuò)展或壓縮。在這里,為了不削弱讀出波形音調(diào)的效果及讀出波形一個(gè)周期的音色特征,最好使上述適當(dāng)分開的點(diǎn)或適應(yīng)的部分或區(qū)段設(shè)定位覆蓋至少一個(gè)波形數(shù)據(jù)周期。
進(jìn)一步說,根據(jù)本發(fā)明的一種機(jī)械易讀的記錄介質(zhì),它含有一個(gè)計(jì)算機(jī)程序以執(zhí)行上述音發(fā)生方法。
根據(jù)本發(fā)明的另一方面,提供了一個(gè)音發(fā)生裝置,它包括一個(gè)波形存儲器,其中存儲有一個(gè)多周期波形的波形數(shù)據(jù),該波形數(shù)據(jù)上施加了調(diào)制作用;一個(gè)指定部分,它指定了一個(gè)待發(fā)音的音調(diào);一個(gè)產(chǎn)生控制信息的部分,用于控制時(shí)間軸的調(diào)制;一個(gè)控制單元,隨著時(shí)間的推移,指定從波形數(shù)據(jù)存儲器讀出的波形數(shù)據(jù)的分散的位置,同時(shí)由控制單元對所述波形數(shù)據(jù)的時(shí)間軸進(jìn)行控制,根據(jù)控制單元的控制信息將其擴(kuò)展或壓縮;以及一個(gè)讀出部分,以與指定部分指定的音調(diào)相對應(yīng)的速率,從波形存儲器讀出在由控制單元指定的位置的波形數(shù)據(jù)。
將對其進(jìn)行了調(diào)制的高品質(zhì)多周期波形數(shù)據(jù),諸如顫音或碎音,存儲在波形存儲器中。當(dāng)讀出該波形數(shù)據(jù)以產(chǎn)生一個(gè)音時(shí),對讀出速率進(jìn)行可變地控制,從而以一個(gè)所需的音調(diào)再現(xiàn)這個(gè)音,這使得可以用所存儲的波形數(shù)據(jù)為多個(gè)不同的音調(diào)共享,從而大大節(jié)省了存儲容量。而且,當(dāng)讀出波形數(shù)據(jù)產(chǎn)生一個(gè)音時(shí),沿時(shí)間軸對波形數(shù)據(jù)的讀出位置進(jìn)行與波形數(shù)據(jù)讀出速率的控制無關(guān)的控制,將其擴(kuò)展或壓縮,它得到的音發(fā)生和音控制具有迄今為止所不曾具有的增強(qiáng)的的表現(xiàn)力及可控性。
根據(jù)本發(fā)明的另外一個(gè)方面,提供了一個(gè)音發(fā)生裝置,它包括一個(gè)波形存儲器,其中存儲有多周期波形的波形數(shù)據(jù);一個(gè)指定部分,它指定了一個(gè)待發(fā)音的音調(diào);一個(gè)根據(jù)從波形數(shù)據(jù)存儲中重復(fù)讀出的波形數(shù)據(jù)的預(yù)定部分產(chǎn)生控制信息的部分;一個(gè)控制單元,它隨著時(shí)間的推移指定從波形數(shù)據(jù)存儲器讀出的波形數(shù)據(jù)的分散的位置,同時(shí)由控制單元對所述波形數(shù)據(jù)的時(shí)間軸進(jìn)行控制;根據(jù)控制信息將其擴(kuò)展或壓縮;以及一個(gè)讀出部分,它以相應(yīng)于由指定部分指定的音調(diào)的速率從波形存儲器讀出波形數(shù)據(jù),其中,當(dāng)重復(fù)讀出預(yù)定部分時(shí),讀出部分以對應(yīng)于指定音調(diào)的速率在控制單元指定的位置讀出所述的波形數(shù)據(jù)。
當(dāng)從波形存儲器以重復(fù)或循環(huán)的方式讀出同一波形部分的波形數(shù)據(jù)時(shí),通過沿時(shí)間軸對波形數(shù)據(jù)所需部分的讀出位置進(jìn)行控制,將其擴(kuò)展或壓縮,所述音發(fā)生裝置獲得了該音波形的多種變化形式,并且可實(shí)施在音發(fā)生和音控制的同時(shí)省去了由循環(huán)讀出所導(dǎo)致的單調(diào)性,從而隨意地控制所需部分的音再現(xiàn)或音發(fā)生時(shí)間長度。
根據(jù)本發(fā)明的另外一個(gè)方面,提供了一個(gè)音發(fā)生裝置,它包括一個(gè)波形存儲器,其中存儲有多周期波形的波形數(shù)據(jù);一個(gè)音調(diào)指定部分,它指定了一個(gè)待發(fā)音的音調(diào);一個(gè)產(chǎn)生隨時(shí)間改變的控制信息部分;一個(gè)控制部分,隨時(shí)間指定從波形數(shù)據(jù)存儲器讀出的波形數(shù)據(jù)的分散的位置,同時(shí),由控制單元對所述波形數(shù)據(jù)的時(shí)間軸進(jìn)行控制,根據(jù)控制信息將其擴(kuò)展或壓縮;以及一個(gè)讀出部分,以與音調(diào)指定部分指定的音調(diào)相對應(yīng)的速率,從波形存儲器讀出由控制單元指定位置的波形數(shù)據(jù)。
根據(jù)隨時(shí)間變化控制信息(例如一個(gè)節(jié)奏波形),沿時(shí)間軸對波形數(shù)據(jù)實(shí)施控制,將其擴(kuò)展或壓縮,這種設(shè)置獲得了波形的多種變化形式,從而確定地給予待發(fā)音一個(gè)隨時(shí)間變化的精確控制,諸如節(jié)奏。
根據(jù)本發(fā)明的另一方面,提供了一種音發(fā)生裝置,它包括一個(gè)波形存儲器,其中存有多周期波形的波形數(shù)據(jù),所說波形具有基于預(yù)定的特征形式在一個(gè)預(yù)定的周期上施加的一個(gè)音特征變化形式;一個(gè)音調(diào)指示部分,其指定待發(fā)音的音調(diào);一個(gè)產(chǎn)生控制信息的部分,在預(yù)定的特征形式的基礎(chǔ)上控制音發(fā)生周期;一個(gè)控制單元,它隨著時(shí)間的推移,指定從波形存儲器讀出波形數(shù)據(jù)的分散的位置,同時(shí)控制單元對波形數(shù)據(jù)的時(shí)間軸進(jìn)行控制,根據(jù)控制信息將其擴(kuò)展或壓縮;以及一個(gè)讀出部分,它以與音調(diào)指定部分指定的音調(diào)相對應(yīng)的速率,從波形存儲器中讀出在控制單元指定位置的波形數(shù)據(jù)。
當(dāng)波形存儲器中存入與預(yù)定特征相對應(yīng)的多周期波形的波形數(shù)據(jù),以便通過讀出存入的波形數(shù)據(jù)產(chǎn)生一個(gè)音的時(shí)候,所述的預(yù)定特征形式諸如,那些具有瞬態(tài)音調(diào)調(diào)制的,例如音調(diào)變調(diào),那些標(biāo)有聯(lián)音符的,或者那些瞬態(tài)音調(diào)波動,如瞬態(tài)音或裝飾音,本發(fā)明可以在預(yù)定特征形式的基礎(chǔ)上高質(zhì)量地產(chǎn)生這個(gè)音,并且還可以不依賴于波形數(shù)據(jù)讀出率的控制(待發(fā)音的音調(diào)控制)而沿時(shí)間軸對波形數(shù)據(jù)的讀出位置實(shí)施控制,將其擴(kuò)展或壓縮,同時(shí)僅需要較少的存儲容量。這樣,本發(fā)明對于任意特征形式能夠提供一個(gè)時(shí)間軸控制參數(shù),作為附加的音控制參數(shù),從而對于預(yù)定的特征形式獲得了適當(dāng)?shù)囊舭l(fā)生和音控制,它們具有迄今為止所不曾具備的表現(xiàn)力和可控性。在這種情況下,施加到波形存儲器中存儲的波形數(shù)據(jù)上的瞬態(tài)音特征變化除了如變調(diào)的音變化形式外,還有音品或音量的變化。
作為上述瞬態(tài)波形控制的另一種實(shí)現(xiàn)方式,本發(fā)明提供一個(gè)音發(fā)生裝置,它包括一個(gè)波形存儲器,其中存有代表第一個(gè)波形的波形數(shù)據(jù),代表第二波形的第二波形數(shù)據(jù),以及多周期第三波形的第三波形數(shù)據(jù),該多周期第三波形具有施于其上的音特征變化以便與第一波形和第二波形相互連接;一個(gè)音調(diào)指示部分,用于指定待發(fā)音的音調(diào);一個(gè)這樣的部分,當(dāng)實(shí)現(xiàn)從第一波形到第二波形的轉(zhuǎn)換時(shí),其進(jìn)行控制,使得在讀出第一波形和第二波形之間插入第三波形;一個(gè)產(chǎn)生控制信息的部分,對使用第三波形的時(shí)間進(jìn)行控制;一個(gè)控制單元,其隨時(shí)間的推移,指定從波形存儲器讀出至少一部分第三波形的分散的位置,同時(shí)由該控制單元控制第三波形數(shù)據(jù)的時(shí)間軸,根據(jù)控制信息對其進(jìn)行擴(kuò)展或壓縮;以及一個(gè)讀出部分,它以與音調(diào)指定部分指定的音調(diào)相應(yīng)的速率從波形存儲器中讀出波形數(shù)據(jù),在其中也讀出第三波形數(shù)據(jù),讀出部分以對應(yīng)于所指定音調(diào)的速率讀出在控制單元指定的位置的第三波形數(shù)據(jù)。
本發(fā)明還提供了一種音發(fā)生裝置,它包括一個(gè)波形存儲器,存有多周期波形的波形數(shù)據(jù);一個(gè)音調(diào)指定部分,指定了待發(fā)音的音調(diào);一個(gè)根據(jù)預(yù)定的部分音調(diào)發(fā)生周期產(chǎn)生控制信息的部分;一個(gè)控制單元,隨時(shí)間的推移指定從波形存儲器讀出至少一部分第三波形的分散的位置,同時(shí)由該控制單元控制第三波形數(shù)據(jù)的時(shí)間軸,根據(jù)控制信息對其進(jìn)行擴(kuò)展或壓縮;以及一個(gè)讀出部分,它以與音調(diào)指定部分指定的音調(diào)相應(yīng)的速率,在由控制單元指定的位置從波形存儲器中讀出波形數(shù)據(jù)。
通過不依賴于波形數(shù)據(jù)讀出速率的控制(所發(fā)音的音調(diào)的控制)沿時(shí)間軸在波形數(shù)據(jù)所需區(qū)段中(全部或部分)控制讀出位置,將其擴(kuò)展或壓縮,從而有選擇地控制所需部分的再現(xiàn)音或發(fā)音時(shí)間長度,本發(fā)明獲得了一個(gè)音波形的多種變化,從而使得音發(fā)生和音控制具有以往所不曾具有的表現(xiàn)力和可控性。例如,通過按預(yù)定的發(fā)音周期選擇所發(fā)音的上升部分下降部分或其他類似的部分,本發(fā)明獲得了多種音波形的變化,它能夠以較高的表現(xiàn)力和可控性執(zhí)行音發(fā)生和音控制。通過使用控制信息可變地控制所發(fā)音的整個(gè)時(shí)間長度,本發(fā)明還能夠自由地控制發(fā)音時(shí)間長度,使其與指定的音符長度或類似的特征一致,而與音調(diào)無關(guān)。
根據(jù)本發(fā)明的另一個(gè)方面,提供一個(gè)音發(fā)生裝置,它包括一個(gè)波形存儲器,存有多個(gè)周期波形的波形數(shù)據(jù);一個(gè)音調(diào)指定部分,其指定待發(fā)音的音調(diào);一個(gè)音色指定部分,它指定了待發(fā)音的音色;一個(gè)產(chǎn)生控制信息的部分,它隨著時(shí)間的推移從音發(fā)生起始點(diǎn)以與音色指定部分指定的音色相對應(yīng)的形式產(chǎn)生該控制信息;一個(gè)控制單元,隨時(shí)間的推移指定從波形存儲器讀出波形的分散的位置,同時(shí)由該控制單元控制數(shù)據(jù)的時(shí)間軸,根據(jù)控制信息對其進(jìn)行擴(kuò)展或壓縮;以及一個(gè)讀出部分,它以與音調(diào)指定部分指定的音調(diào)相應(yīng)的速率從波形存儲器中讀出與指定音色相對應(yīng)的波形數(shù)據(jù)。其中,讀出部分以從控制單元指定的位置以對應(yīng)于指定音調(diào)的速率讀出所述波形數(shù)據(jù)。在此,存儲在波形存儲器的多周期波形數(shù)據(jù)由至少兩個(gè)不同的音色共享,并且,將用于所述至少兩個(gè)不同音色的控制信息設(shè)置成不同的形式。
通過根據(jù)指定音色或其它類似特性的信息有選擇地產(chǎn)生時(shí)間變化特性的時(shí)間軸擴(kuò)展/壓縮控制信息,本發(fā)明獲得了一個(gè)對應(yīng)于指定的音色或其它類似特征的音波形的多種變化,從而通過時(shí)間軸控制從一個(gè)多周期波形的波形數(shù)據(jù)產(chǎn)生多種波形變化。
根據(jù)本發(fā)明的另一個(gè)方面,提供了一個(gè)音發(fā)生裝置,它包括一個(gè)波形存儲器,存有多周期波形的波形數(shù)據(jù);一個(gè)音調(diào)指定部分,其指定待發(fā)音的音調(diào);一個(gè)在發(fā)出一個(gè)音的過程中實(shí)時(shí)產(chǎn)生控制信息的部分;一個(gè)控制單元,隨時(shí)間的推移指定從波形存儲器讀出波形的離散位置,同時(shí)由該控制單元控制數(shù)據(jù)的時(shí)間軸,根據(jù)控制信息對其進(jìn)行擴(kuò)展或壓縮;以及一個(gè)讀出部分,它以與音調(diào)指定部分指定的音調(diào)相應(yīng)的速率在控制單元指定的位置從波形存儲器中讀出波形數(shù)據(jù)。
使用這樣的裝置,即使在再現(xiàn)一個(gè)音波形的過程中,本發(fā)明實(shí)時(shí)響應(yīng)控制信息的動態(tài)變化沿時(shí)間軸對擴(kuò)展和壓縮波形數(shù)據(jù)進(jìn)行控制,從而顯著提高特征表現(xiàn)性。
根據(jù)本發(fā)明的另一個(gè)方面,提供了一個(gè)音發(fā)生裝置,它包括一個(gè)波形存儲器,存有多組不同的多周期波形的波形數(shù)據(jù);一個(gè)音調(diào)指定部分,其指定待發(fā)音的音調(diào);一個(gè)波形指定部分,其他指定波形數(shù)據(jù)中的任意一組,隨著時(shí)間的推移,波形指定部分將指定的組換成另外一組;一個(gè)產(chǎn)生控制信息的部分;一個(gè)控制單元,隨時(shí)間的推移指定從波形存儲器讀出的由波形指定部分指定的該組波形的離散位置,同時(shí)由該控制單元控制數(shù)據(jù)的時(shí)間軸,根據(jù)控制信息對其進(jìn)行擴(kuò)展或壓縮;以及一個(gè)讀出部分,它以與音調(diào)指定部分指定的音調(diào)相應(yīng)的速率在控制單元指定的位置從波形存儲器中讀出波形數(shù)據(jù)。
這樣,本發(fā)明能夠以一個(gè)更加多樣化的方式在波形數(shù)據(jù)時(shí)間軸擴(kuò)展/壓縮的基礎(chǔ)上進(jìn)行音控制。
根據(jù)本發(fā)明的另一個(gè)方面,提供了一個(gè)音發(fā)生裝置,它包括一個(gè)波形發(fā)生部分,它在兩個(gè)信道內(nèi)產(chǎn)生波形數(shù)據(jù);一個(gè)波形指定部分,它指定在波形發(fā)生部分的兩個(gè)信道中的第一個(gè)信道內(nèi)產(chǎn)生的波形數(shù)據(jù)以及在波形發(fā)生部分的兩個(gè)信道中的第二個(gè)信道內(nèi)產(chǎn)生的波形數(shù)據(jù);一個(gè)勻滑轉(zhuǎn)換合成部分,它執(zhí)行勻滑轉(zhuǎn)換合成運(yùn)算,將產(chǎn)生于第一信□道中的波形數(shù)據(jù)轉(zhuǎn)換成產(chǎn)生于第二信道內(nèi)的波形數(shù)據(jù);第一控制部分,它依次指示波形發(fā)生部分產(chǎn)生一個(gè)具有任意長度的輔助波形數(shù)據(jù),并且控制勻滑轉(zhuǎn)換合成部分根據(jù)輔助波形數(shù)據(jù)的長度執(zhí)行一個(gè)周期的勻滑轉(zhuǎn)換合成運(yùn)算;以及一個(gè)第二控制部分,在勻滑轉(zhuǎn)換合成部分完成勻滑轉(zhuǎn)換合成運(yùn)算之后,以這樣的方式控制波形指定部分的指定,將迄今為止在第二信道內(nèi)產(chǎn)生的波形數(shù)據(jù)在第一信道中產(chǎn)生,并在第二信道中產(chǎn)生輔助波形數(shù)據(jù)。
在進(jìn)行勻滑轉(zhuǎn)換的波形數(shù)據(jù)順序地改變的情況下,本發(fā)明能夠固定第一和第二信道內(nèi)勻滑轉(zhuǎn)換(漸強(qiáng)和漸弱)的方向,從而一直將第一信道內(nèi)的波形數(shù)據(jù)轉(zhuǎn)換成第二信道內(nèi)的波形數(shù)據(jù)。使用這樣的裝置,可以為每一個(gè)信道固定一個(gè)勻滑轉(zhuǎn)換函數(shù)波形,從而便于函數(shù)波形的信息安排。
根據(jù)本發(fā)明的另一個(gè)方面,提供了一個(gè)音發(fā)生裝置,它包括一個(gè)波形存儲器,其中存有多周期波形的波形數(shù)據(jù);一個(gè)音調(diào)指定部分,其指定待發(fā)音的音調(diào);一個(gè)波形指定部分,它隨著時(shí)間的推移指定從波形存儲器中讀出波形數(shù)據(jù)的離散位置,同時(shí)控制波形數(shù)據(jù)的時(shí)間軸使其擴(kuò)展或壓縮,從而在當(dāng)前指定的位置識別第一波形數(shù)據(jù),在當(dāng)前位置后的位置識別第二波形數(shù)據(jù);一個(gè)讀出部分,從波形存儲器讀出由波形指定部分指定的第一和第二波形數(shù)據(jù),并通過第一和第二信道分別將所述第一和第二波形數(shù)據(jù)輸出;一個(gè)勻滑轉(zhuǎn)換合成部分,它一直執(zhí)行勻滑轉(zhuǎn)換運(yùn)算將通過第一信道提供的第一波形數(shù)據(jù)轉(zhuǎn)換成由第二信道提供的第二波形數(shù)據(jù);一個(gè)控制單元,在完成勻滑轉(zhuǎn)換合成部分執(zhí)行的勻滑轉(zhuǎn)換合成運(yùn)算之后,以這樣的方式控制波形指定部分的指定,將到此為止在第二信道內(nèi)產(chǎn)生的波形數(shù)據(jù)在第一信道中產(chǎn)生,并且控制在新位置的波形數(shù)據(jù)將其相對于在第二信道內(nèi)產(chǎn)生的第二波形數(shù)據(jù)的位置擴(kuò)展或壓縮。
使用這樣的設(shè)置,對波形數(shù)據(jù)的讀出位置實(shí)施時(shí)間軸擴(kuò)展/壓縮控制,本發(fā)明得到的控制在勻滑轉(zhuǎn)換合成法的基礎(chǔ)上提供光滑的波形變化。同上述的類似,還可以為每一個(gè)信道固定一個(gè)勻滑轉(zhuǎn)換系數(shù)的函數(shù)波形從而便于函數(shù)波形的信息安排。
根據(jù)本發(fā)明的另一個(gè)方面,提供了一個(gè)音發(fā)生裝置,它包括一個(gè)波形存儲器,存有多周期波形的波形數(shù)據(jù);一個(gè)音調(diào)指定部分,其指定待發(fā)音的音調(diào);一個(gè)波形指定部分,它隨著時(shí)間的推移指定從波形存儲器中讀出波形數(shù)據(jù)的離散位置,同時(shí)控制波形數(shù)據(jù)的時(shí)間軸使其擴(kuò)展或壓縮,從而在當(dāng)前指定的位置識別第一波形數(shù)據(jù),在相對于第一波形數(shù)據(jù)經(jīng)過控制使其擴(kuò)展或壓縮的位置識別第二波形數(shù)據(jù);一個(gè)讀出部分,從波形存儲器讀出由波形指定部分指定的第一和第二波形數(shù)據(jù),并通過第一和第二信道分別將所述第一和第二波形數(shù)據(jù)輸出;一個(gè)勻滑轉(zhuǎn)換合成部分,它執(zhí)行勻滑轉(zhuǎn)換運(yùn)算,將通過第一、第二信道中的一個(gè)提供的第一、第二波形數(shù)據(jù)中的一個(gè)轉(zhuǎn)換成由第一、第二波形數(shù)據(jù)中的另一個(gè);一個(gè)控制單元,在勻滑轉(zhuǎn)換合成部分勻滑轉(zhuǎn)換合成運(yùn)算之后,波形指定部分在一位置上指定波形數(shù)據(jù),該位置已經(jīng)相對于第二波形數(shù)據(jù)的位置進(jìn)行了擴(kuò)展或壓縮控制,并以下面的方式控制波形指定部分的指定,緊接著讀出部分通過已經(jīng)使用的第一、第二信道中的同一個(gè)信道輸出第二波形數(shù)據(jù),并且讀出部分通過第一、第二信道中的另一個(gè)信道輸出在新位置上的波形數(shù)據(jù)并在勻滑轉(zhuǎn)換部分中改變勻滑轉(zhuǎn)換方向。
使用這樣的設(shè)置,對波形數(shù)據(jù)的讀出位置實(shí)施時(shí)間軸擴(kuò)展/壓縮控制,本發(fā)明得到的控制在勻滑轉(zhuǎn)換合成法的基礎(chǔ)上提供光滑的波形變化。
最后,根據(jù)本發(fā)明的另一個(gè)方面,提供了一個(gè)音發(fā)生裝置,它包括一個(gè)波形存儲器,存有多個(gè)周期波形的波形數(shù)據(jù);一個(gè)音調(diào)指定部分,其指定待發(fā)音的音調(diào);一個(gè)控制單元,隨時(shí)間的推移指定從波形存儲器讀出波形的離散的位置,同時(shí)由該控制單元控制數(shù)據(jù)的時(shí)間軸,對其進(jìn)行擴(kuò)展或壓縮;一個(gè)波形指定部分,根據(jù)控制單元的指定,當(dāng)執(zhí)行波形數(shù)據(jù)的擴(kuò)展時(shí),在當(dāng)前位置指定波形數(shù)據(jù)的第一部分,在當(dāng)前位置之后的位置指定波形數(shù)據(jù)的第二部分,當(dāng)執(zhí)行波形數(shù)據(jù)的壓縮時(shí),在當(dāng)前位置指定波形數(shù)據(jù)的第一部分,在當(dāng)前位置之前的位置指定波形數(shù)據(jù)的第二部分,并且在既不執(zhí)行波形數(shù)據(jù)的擴(kuò)展也不執(zhí)行波形數(shù)據(jù)的壓縮時(shí),在當(dāng)前位置指定與波形數(shù)據(jù)的第一和第二部分相同的一部分波形數(shù)據(jù);一個(gè)讀出部分,它從波形存儲器以對應(yīng)于音調(diào)指定部分指定的音調(diào)的速率讀出由控制單元指定的波形的第一和第二部分;一個(gè)勻滑轉(zhuǎn)換合成部分,它執(zhí)行勻滑轉(zhuǎn)換合成運(yùn)算,將波形數(shù)據(jù)的第一部分轉(zhuǎn)換成波形數(shù)據(jù)的第二部分。
使用這樣的設(shè)置,本發(fā)明獲得了在勻滑轉(zhuǎn)換合成法的基礎(chǔ)上提供光滑的波形變化的控制。另外,在不實(shí)施時(shí)間軸擴(kuò)展或壓縮的時(shí)候,本發(fā)明也在從第一和第二信道讀出的同一波形數(shù)據(jù)之間進(jìn)行勻滑轉(zhuǎn)換合成,從而避免波形數(shù)據(jù)的時(shí)間軸擴(kuò)展或壓縮。用這種方式,僅從表面上看,本發(fā)明在任何時(shí)刻都進(jìn)行勻滑轉(zhuǎn)換合成運(yùn)算。結(jié)果,將本發(fā)明構(gòu)成為在任何時(shí)刻無條件實(shí)施勻滑轉(zhuǎn)換合成的形式,而不必根據(jù)時(shí)間軸擴(kuò)展/壓縮控制參數(shù)作出決定,是否進(jìn)行勻滑轉(zhuǎn)換合成運(yùn)算。這樣能夠顯著地簡化結(jié)構(gòu)和必要的控制。
為了更好地理解本發(fā)明的上述及其它特征,下面將參照附圖對本發(fā)明的優(yōu)選實(shí)施例進(jìn)行仔細(xì)的描述,其中
圖1是一個(gè)電聲樂器整體構(gòu)成的方框圖,其中使用了一個(gè)基于時(shí)間擴(kuò)展和壓縮控制(TSC)控制的發(fā)音技術(shù);圖2是描述了圖1中波形發(fā)生部分具體構(gòu)成的方框圖;圖3表示了根據(jù)本發(fā)明基于TSC控制沿時(shí)間軸實(shí)施壓縮控制的過程中在波形存儲器中地址隨時(shí)間的增進(jìn)方式的曲線圖;圖4表示了根據(jù)本發(fā)明基于TSC控制沿時(shí)間軸實(shí)施擴(kuò)展控制的過程中在波形存儲器中地址隨時(shí)間的增進(jìn)方式的曲線圖;圖5表示沿時(shí)間軸擴(kuò)展和壓縮原始波形的時(shí)間長度的示范形式;圖6是表示通過實(shí)施TSC控制再現(xiàn)波形從而實(shí)施多波形控制的示范形式的簡圖;圖7是描述用于產(chǎn)生存儲在圖2的波形存儲器中的波形數(shù)據(jù)的步驟序列的流程圖;圖8是用于限定(標(biāo)記)存儲在波形存儲器中的波形數(shù)據(jù)中數(shù)據(jù)組的處理步驟的流程圖;圖9是示意性表示了存儲器中的示范存儲格式的簡圖;圖10A-10D以實(shí)例形式表示了波形存儲器中波形數(shù)據(jù)的存儲形式,并且為了數(shù)據(jù)管理將上述波形數(shù)據(jù)分成數(shù)據(jù)組;圖11為一流程圖,它描述了圖1中的控制單元所允許運(yùn)行的處理程序的主程序?qū)嵗?;圖12為一流程圖,它描述了圖11中的鍵開關(guān)處理程序執(zhí)行的鍵活動處理的實(shí)例;圖13為一流程圖,它描述了圖11中的特征控制器處理實(shí)例;圖14為一簡圖,它描述了當(dāng)由圖2中的虛擬讀地址計(jì)算器產(chǎn)生的虛擬讀地址具有非線性特性時(shí)的TSC控制形式,表示了在執(zhí)行壓縮控制時(shí)讀地址在存儲器中隨時(shí)間增進(jìn)的方式;圖15為一簡圖,它描述了當(dāng)由圖2中的虛擬讀地址計(jì)算器產(chǎn)生的虛擬讀地址具有非線性特性時(shí)的另一種TSC控制形式,表示了在執(zhí)行擴(kuò)展控制時(shí)讀地址在存儲器中隨時(shí)間增進(jìn)的方式;圖16為一簡圖,它描述了另一種TSC控制的改進(jìn)型式,當(dāng)待發(fā)音的音調(diào)相對高時(shí),進(jìn)行控制以沿時(shí)間軸擴(kuò)展波形數(shù)據(jù),從而保持這個(gè)音再現(xiàn)或音發(fā)生時(shí)間長度保持相對恒定,它表示了在擴(kuò)展控制期間,在波形存儲器中讀地址隨時(shí)間增進(jìn)的典型方式;圖17為一簡圖,它還描述了另一種TSC控制的改進(jìn)型式,它當(dāng)待發(fā)音的音調(diào)相對低時(shí),進(jìn)行控制以沿時(shí)間軸壓縮波形數(shù)據(jù),從而保持這個(gè)音再現(xiàn)或音發(fā)生時(shí)間長度保持相對恒定,它表示了在壓縮控制期間,在波形存儲器中讀地址隨時(shí)間增進(jìn)的典型方式;圖18為一簡圖,它還描述了另一種隨時(shí)間變化的TSC控制的一種改進(jìn)型式,直觀地表示了當(dāng)TSC控制實(shí)施周期性或非周期性調(diào)制控制時(shí)虛擬讀地址和實(shí)際讀地址的增進(jìn)或變化形式;圖19為一簡圖,它表示了在波形存儲器中一個(gè)音的波形數(shù)據(jù)的示范存儲形式;圖20為一流程圖,它描述了另一個(gè)特征控制器處理的實(shí)例;圖21為一方框圖,它描述了圖1的電聲樂器的改進(jìn)方案;圖22為一流程圖,它描述了由圖21所示的控制單元實(shí)施的MIDI輸入處理的實(shí)例;圖23為一流程圖,它描述了由圖21所示的控制單元實(shí)施的note-on處理的實(shí)例;圖24為一流程圖,它描述了由圖21所示的控制單元實(shí)施的實(shí)時(shí)控制數(shù)據(jù)接收處理的實(shí)例;圖25為一流程圖,它描述了由圖21所示的控制單元實(shí)施的與特征形式識別相關(guān)聯(lián)的中斷處理的實(shí)例;圖26為一簡圖,它描述了對應(yīng)于特征形式的存儲的波形數(shù)據(jù)的實(shí)例;
圖27為一簡圖,它描述了當(dāng)作用一個(gè)連音符特征時(shí),波形數(shù)據(jù)讀出的示范方式;圖28為一簡圖,它描述了當(dāng)作用一個(gè)音調(diào)變調(diào)特征時(shí),波形數(shù)據(jù)讀出的示范方式;圖29為一方框圖,它示意地表示了圖1或圖21的波形發(fā)生部分在根據(jù)“擴(kuò)展/壓縮相對于標(biāo)準(zhǔn)再現(xiàn)時(shí)間長度的此率”實(shí)施全部或一部分勻滑轉(zhuǎn)換方法的任意組合時(shí)間的典型設(shè)置,作為TSC控制的另一個(gè)實(shí)施例;圖30為一方框圖,表示了圖29中所示的波形存儲器讀出單元的具體實(shí)例;圖31為一簡圖,它解釋了在圖30的具體實(shí)例中的TSC控制的基本概念;圖32為一簡圖,表示了在根據(jù)圖30的TSC控制的第一和第二勻滑轉(zhuǎn)換信道中讀出的波形數(shù)據(jù)區(qū)域之間實(shí)施勻滑轉(zhuǎn)換合成的方式;圖33為一簡圖,它表示了根據(jù)圖30的TSC控制存儲和讀出包括開始和循環(huán)部分波形數(shù)據(jù)的示范形式;圖34為一簡圖,它表示了由圖30中的地址計(jì)算器實(shí)施的擴(kuò)展(S)、正常(N)、壓縮(C)處理的各自內(nèi)容的概括;圖35為一簡圖,它解釋了地址計(jì)算器確定要實(shí)施擴(kuò)展(S)、正常(N)、壓縮(C)處理中的哪一個(gè)的方式;圖36為一簡圖,它以更普遍的形式解釋了的圖35的控制,表示了實(shí)際地址可以后退或躍進(jìn)兩個(gè)周期的形式;圖37為一簡圖,它表示了圖30的TSC控制在時(shí)間軸擴(kuò)展/壓縮比CRate為1.5時(shí)的具體實(shí)例;圖38為一簡圖,它表示了圖30的TSC控制在時(shí)間軸擴(kuò)展/壓縮比CRate為1.0時(shí)的具體實(shí)例;圖39為一簡圖,它表示了圖30的TSC控制在時(shí)間軸擴(kuò)展/壓縮比CRate為0.75時(shí)的具體實(shí)例;圖40A和圖40B為表示在圖30的TSC控制中使用的擴(kuò)展/壓縮比的示范變化方式的簡圖;圖41A到圖41F為在本發(fā)明的TSC控制使用的表格中存儲的控制參數(shù)沿時(shí)間方向的變化形式;圖42A到圖42F為本發(fā)明的TSC控制使用的以折線圖形式產(chǎn)生的控制參數(shù)沿時(shí)間方向的變化形式;圖43A和圖43B的簡圖表示了使用任何圖41和圖42所示的TSC控制參數(shù)的沿時(shí)間方向變化形式的音色控制實(shí)例,每個(gè)表示了對應(yīng)于已知音色的控制信息表的示范設(shè)置;以及圖44為一方框圖,表示了在計(jì)算機(jī)軟件基礎(chǔ)上的音發(fā)生器采用的整個(gè)硬件結(jié)構(gòu)的實(shí)例。
最佳實(shí)施例的具體描述[TSC控制的一般描述]如在下面將具體描述的,設(shè)計(jì)本發(fā)明實(shí)行時(shí)間擴(kuò)展和壓縮控制(以下稱為“TSC控制”)以從波形存儲器中讀出波形數(shù)據(jù),同時(shí)將所述時(shí)間軸在任意范圍內(nèi)擴(kuò)展或壓縮,而與每個(gè)待發(fā)音的正常音調(diào)控制無關(guān),從而對音的特征進(jìn)行任意和多樣的控制。
圖1是根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)電聲樂器整體構(gòu)成的方框圖,其中使用了基于TSC控制的音發(fā)生技術(shù)。所述電聲樂器包括一個(gè)鍵盤101A,一組其他特性控制器101B,一組設(shè)置控制器100,一個(gè)控制單元102,一個(gè)音發(fā)生單元103,一個(gè)數(shù)模轉(zhuǎn)換器(DAC)104,一個(gè)聲音系統(tǒng)105等等。音發(fā)生單元103包括一個(gè)波形發(fā)生部分111,一個(gè)音量控制部分112,一個(gè)控制寄存器113,提供給每一個(gè)音發(fā)生信道,以及一個(gè)信道累積部分114。每一個(gè)預(yù)定的采樣周期,音發(fā)生單元103在時(shí)間分區(qū)的基礎(chǔ)上為音發(fā)生信道產(chǎn)生音波形信號并且將通過累積如此產(chǎn)生的音波形信號得到的波形數(shù)據(jù)傳給DAC 104。
鍵盤101A包括多個(gè)用于指定待發(fā)音音調(diào)的鍵,其形式不僅可以是傳統(tǒng)的典型鍵盤也可以是其他合適的樂器,諸如一個(gè)MIDI吉他,它根據(jù)MIDI(樂器數(shù)字接口)技術(shù)指定音調(diào)。所述其他特性控制器101B包括多種形式的特征控制器,諸如輪型和踏板型控制器以及控制手柄。根據(jù)鍵盤101A或其他特性控制器101B上的表演者的任何特性控制,實(shí)時(shí)地產(chǎn)生相應(yīng)的特性信息,并將其送至控制單元102。很重要的是應(yīng)當(dāng)指出不必根據(jù)表演者的實(shí)時(shí)特性控制傳輸這一特性信息,并且可以依據(jù)MIDI技術(shù)從一個(gè)自動特性裝置自動地傳輸,諸如一個(gè)序列發(fā)生器。設(shè)置控制器100包括一個(gè)控制器和多個(gè)數(shù)據(jù)設(shè)置控制器,例如面板開關(guān),滑塊和旋紐,用它輸入各種關(guān)于設(shè)置和控制音調(diào)特性的數(shù)據(jù)。
根據(jù)鍵盤101A或其他特性控制器101B給出特性信息以及設(shè)備控制器100給出的多種設(shè)置信息,控制單元102向音發(fā)生單元103發(fā)出一個(gè)發(fā)音指令。例如,包括了一個(gè)CPU、ROM、RAM以及其他外圍電路的控制單元102根據(jù)預(yù)定的程序進(jìn)行處理,發(fā)出一個(gè)發(fā)音指令,該指令與上述特性信息和設(shè)置信號相對應(yīng)。具體地說,根據(jù)從鍵盤101A和特性控制器101B給出的上述特性信息和設(shè)置信息,控制單元102指定音發(fā)生的信道并且建立音參數(shù),以便將建立的音參數(shù)置入與所指定的信道相聯(lián)系的控制寄存器113。在這些置入與指定信道相聯(lián)系的寄存器113中的音參數(shù)的基礎(chǔ)上,音發(fā)生器單元103中的波形發(fā)生部分111在時(shí)間分區(qū)的基礎(chǔ)上為信道產(chǎn)生音波形,音量控制部分112在各自信道產(chǎn)生的音波形上對音量進(jìn)行控制(包括音量包絡(luò)控制),并且由信道累積部分114對所述信道的音量受控的音波形進(jìn)行累積并將累積結(jié)果送至DAC104。所述DAC104將來自信道累積部分114的數(shù)字音波形轉(zhuǎn)換為模擬音波形,可以將其再現(xiàn)或通過發(fā)生系統(tǒng)105發(fā)出而清清楚楚地聽到。
圖2是一個(gè)詳細(xì)描述了圖1中波形發(fā)生部分111的具體實(shí)例的方框圖。波形發(fā)生部分111包括一個(gè)波形存儲器10,它為每個(gè)被選音存儲了多周期波形的多組波形數(shù)據(jù),所述數(shù)據(jù)是與多種音色和音持征相結(jié)合的(例如,根據(jù)音調(diào)或音高的特征以及顫音和連音符的調(diào)制特性)。分別表現(xiàn)每個(gè)待發(fā)音的音調(diào)或高以及音色的鍵碼KC和音色特征信息TC通過控制寄存器113傳送到波形發(fā)生部分111以繼續(xù)從那里傳到其他部件。波形段信息存儲器15中存有預(yù)存在波形存儲器中的各個(gè)波形數(shù)據(jù)的各引導(dǎo)地址或起始地址。通過使用這些鍵碼KC和音色信息TC讀出上述引導(dǎo)地址信息,在波形存儲器中選擇一組具有特殊音特征的多周期波形數(shù)據(jù)。換句話說,將從波形部分信息存儲器15中讀出的引導(dǎo)地址信息送至實(shí)際讀地址計(jì)算器16,在那里設(shè)置或由實(shí)際讀地址計(jì)算器16產(chǎn)生的實(shí)際讀地址RAD從波形存儲器10中讀出波形數(shù)據(jù)。要注意,上面提到的用于選擇從波形存儲器10中讀出波形數(shù)據(jù)的參數(shù)可以是鍵碼KC以及音色信息TC以外的其他參數(shù),諸如在適當(dāng)?shù)奶卣餍畔⒑驮O(shè)置信息基礎(chǔ)上的信息INF。
通過控制寄存器113,實(shí)際讀地址計(jì)算器16從控制單元102接收到一個(gè)指示音發(fā)生(或稱波形發(fā)生)的note on信號,表現(xiàn)一個(gè)待發(fā)音音調(diào)的音調(diào)信息以及其他數(shù)據(jù)。音調(diào)信息可以是一個(gè)與待發(fā)音頻率相對應(yīng)的頻率數(shù),并且,已知的信息或其他信息也可以用作頻率數(shù)。基本上,實(shí)際讀地址計(jì)算器16產(chǎn)生實(shí)際讀地址RAD數(shù)據(jù),它以一個(gè)與接收的音調(diào)信息相對應(yīng)的速率(音調(diào))依次變化。這樣,通過根據(jù)實(shí)際讀地址RAD從波形存儲器中讀出波形數(shù)據(jù)的采樣值,可以再現(xiàn)一個(gè)具有與音調(diào)信息相應(yīng)的音調(diào)的音。
在本實(shí)施例中,提供一個(gè)虛擬讀地址計(jì)算器17用于上述“TSC控制”。為了得到所需的波形數(shù)據(jù)的時(shí)間軸擴(kuò)展或壓縮,作為虛擬讀地址VAD,虛擬讀地址計(jì)算器17產(chǎn)生的地址數(shù)據(jù)表示在當(dāng)前時(shí)刻應(yīng)從讀地址讀出波形數(shù)據(jù)。為此,將表示所需擴(kuò)展或壓縮比例的擴(kuò)展/壓縮比率數(shù)據(jù)SCR以及上述音調(diào)信息送至虛擬地址計(jì)算器17,它輸出地址數(shù)據(jù)作為虛擬讀地址VAD,該地址數(shù)據(jù)以變化的傾角或斜率依次變化,所述傾角或斜率是通過調(diào)整增進(jìn)斜率計(jì)算出來的,該增進(jìn)斜率由具有所述擴(kuò)展/壓縮比率數(shù)據(jù)SCR的音調(diào)信息表示的。在特性信息和設(shè)置信息和/或其他信息基礎(chǔ)上的調(diào)制信息MS被送至轉(zhuǎn)換部分18,必要時(shí),轉(zhuǎn)換部分18運(yùn)用參數(shù)對該數(shù)據(jù)進(jìn)行轉(zhuǎn)換,所述參數(shù)諸如鍵碼KC和音品信息TC。轉(zhuǎn)換部分18的輸出結(jié)果送至虛擬讀地址計(jì)算器17作為擴(kuò)展/壓縮比率數(shù)據(jù)SCR。為了敘述簡單起見,虛擬地址將放在后面與波形存儲器10中的絕對地址對應(yīng)地描述,盡管它是與絕對地址不直接相關(guān)的相對地址。這樣,可以從實(shí)際讀地址計(jì)算器16將必要的絕對地址數(shù)據(jù)(諸如上述引導(dǎo)或起始地址信息)傳給虛擬讀地址計(jì)算器17,并且用偏移控制電路14在實(shí)際讀地址RAD和虛擬讀地址VAD之間進(jìn)行比較。當(dāng)所述虛擬讀地址VAD是相對地址時(shí)(例如引導(dǎo)地址為0),要傳送到偏移控制電路14的虛擬地址可以僅包括相對地址(例如,引導(dǎo)地址為0)。
偏移控制電路14比較實(shí)際讀地址RAD和虛擬讀地址VAD,從而當(dāng)實(shí)際讀地址RAD和虛擬讀地址VAD的差值或偏差超過一個(gè)預(yù)定值時(shí),該偏移控制電路14給實(shí)際讀地址計(jì)算器16一個(gè)指令,改變實(shí)際讀地址RAD。根據(jù)上述偏移指令,所述實(shí)際讀地址計(jì)算器16執(zhí)行控制,將實(shí)際讀地址RAD偏移一個(gè)量值,這個(gè)偏移量對應(yīng)于用于消除實(shí)際讀地址RAD與虛擬讀地址VAD之間差別的一個(gè)特定的地址數(shù)。這一由實(shí)際讀地址計(jì)算器16執(zhí)行的這種偏移控制將在后面詳細(xì)描述。
圖2所示的屬于實(shí)際讀地址計(jì)算器16的幾種寄存器19到22用于存儲偏移控制的控制變量數(shù)據(jù)“I”“j”“Aij”以及讀指針p。
為了通過消除由于實(shí)際讀地址RAD快速變化(偏移)造成的讀出的波形數(shù)據(jù)中的波動產(chǎn)生的不利影響而得到一個(gè)光滑的波形傳輸,波形存儲器10輸出端接有勻滑轉(zhuǎn)換合成部分13,在偏移控制的過程中,將兩組或兩部分波形數(shù)據(jù)以勻滑轉(zhuǎn)換方式(勻滑轉(zhuǎn)換合成)進(jìn)行合成。為此,從波形存儲器10中讀出兩組波形數(shù)據(jù),并通過各自的插入電路送至勻滑轉(zhuǎn)換合成部分13;也就是說,通過兩個(gè)勻滑轉(zhuǎn)換信道(主副勻滑轉(zhuǎn)換信道)將所述兩組數(shù)據(jù)讀出至勻滑轉(zhuǎn)換合成部分13。勻滑轉(zhuǎn)換合成法可以以多種形式實(shí)施。本實(shí)施例設(shè)計(jì)成這樣的形式,實(shí)際讀出地址計(jì)算器16產(chǎn)生經(jīng)過偏移的實(shí)際讀出地址RAD,并同時(shí)產(chǎn)生一個(gè)未加偏移的實(shí)際讀地址作為實(shí)際讀地址RAD2,用于副勻滑轉(zhuǎn)換信道,從而用上述讀地址RAD和RAD2讀出兩組波形數(shù)據(jù)W1和W2。讀出的波形數(shù)據(jù)W1和W2通過插入電路11和12傳送至勻滑轉(zhuǎn)換合成部分13。在這個(gè)優(yōu)選實(shí)施例中,將用實(shí)際讀地址RAD讀出的波形數(shù)據(jù)W1處理成第一或主勻滑轉(zhuǎn)換波形段數(shù)據(jù)(通過第一或主勻滑轉(zhuǎn)換信道),同時(shí)將用實(shí)際讀地址RAD2讀出的波形數(shù)據(jù)W2處理成第二或副勻滑轉(zhuǎn)換波形段數(shù)據(jù)(通過第二或副勻滑轉(zhuǎn)換信道);具體地說,波形數(shù)據(jù)W1的幅值經(jīng)由勻滑轉(zhuǎn)換系數(shù)換算成十進(jìn)制值,順序地從“0”增加到“1”(漸強(qiáng)),同時(shí),波形數(shù)據(jù)W2的幅值經(jīng)由勻滑轉(zhuǎn)換系數(shù)換算成十進(jìn)制值,順序地從“1”減弱到“0”(漸弱),從而將如此換算的波形數(shù)據(jù)W1和W2加法合成。顯然,實(shí)現(xiàn)勻滑轉(zhuǎn)換合成法的方式不僅僅局限于上述方式,還可以有多種變化,例如,可以將主副勻滑轉(zhuǎn)換波形段數(shù)據(jù)的漸強(qiáng)/漸弱關(guān)系顛倒過來??梢栽跁r(shí)間分區(qū)的基礎(chǔ)上從波形存儲器10中讀出上述兩組波形數(shù)據(jù)W1和W2。
每個(gè)內(nèi)插電路11和12在從波形存儲器10讀出的相應(yīng)波形數(shù)據(jù)W1或W2之間內(nèi)插處理。為此,當(dāng)?shù)刂稲AD和RAD2的十進(jìn)制小數(shù)部分作為內(nèi)插參數(shù)送至內(nèi)插電路11和12時(shí),將實(shí)際讀地址RAD和RAD2的整數(shù)部分送至波形存儲器10。當(dāng)然,內(nèi)插電路11和12也不是必需的,而是可以省去的。
與主副勻滑轉(zhuǎn)換波形段數(shù)據(jù)項(xiàng)結(jié)合,將變量數(shù)據(jù)i,j和Aij存入存儲器19,21和22。存儲在寄存器20中的讀指針p由主副勻滑轉(zhuǎn)換信道共享。
在進(jìn)一步詳細(xì)介紹之前,結(jié)合圖3、圖4介紹一下用圖2的波形發(fā)生部分111實(shí)現(xiàn)TSC控制的基本原理。
圖3直觀地表示了根據(jù)本發(fā)明基于TSC控制沿時(shí)間軸實(shí)施壓縮控制的過程中波形存儲器中地址隨時(shí)間的增進(jìn)方式的曲線圖,其中橫軸代表時(shí)間,縱軸代表地址??v軸的起始點(diǎn)代表了一組被選波形數(shù)據(jù)的引導(dǎo)地址或起始地址。點(diǎn)劃線表示在音調(diào)信息基礎(chǔ)上的基礎(chǔ)地址增進(jìn)或上升情況,重虛線表示虛擬讀地址VAD的增進(jìn)情況。如果擴(kuò)展/壓縮比率數(shù)值SCR是1,虛擬讀地址VAD的增進(jìn)與由點(diǎn)劃線表示的基本地址增進(jìn)一致,不發(fā)生時(shí)間軸變化。如果將時(shí)間軸壓縮,擴(kuò)展/壓縮比率數(shù)值為一個(gè)大于或等于1的適當(dāng)值,從而如圖所示,虛擬讀地址VAD的增進(jìn)斜率變大或變陡。重虛線表示了實(shí)際讀地址RAD的增進(jìn)路線情況。實(shí)際讀地址RAD的增進(jìn)斜率與點(diǎn)劃線表示的基礎(chǔ)地址的增進(jìn)一致。這種情況下,由于虛擬讀地址VAD的變化或增進(jìn)斜率相對大,隨時(shí)間的變化實(shí)際讀地址RAD的增量比虛擬讀地址VAD的增量要小。一旦實(shí)際讀地址RAD與虛擬讀地址VAD的差值或偏差超過了一個(gè)預(yù)定值,上述偏移控制單元14發(fā)出一個(gè)偏移指令(由箭頭表示),從而,實(shí)際讀地址RAD沿使差值變小的方向偏移一個(gè)適當(dāng)?shù)牧恐怠_@樣,實(shí)際讀地址RAD的增進(jìn)量沿虛擬讀地址VAD的增進(jìn)線變化,同時(shí)按照音調(diào)信息的要求保持所述的變化或增進(jìn)斜率,并表現(xiàn)了沿時(shí)間軸方向壓縮成的特征。這樣,通過根據(jù)這樣的實(shí)際讀地址RAD從波形存儲器10中讀出波形數(shù)據(jù)W1,可以得到一個(gè)波形信號,顯示了沿時(shí)間軸方向壓縮的波形,而不會改變所再現(xiàn)音的音調(diào)。
最好以這樣的形式對沿削弱與虛擬讀地址VAD之間差別方向上的實(shí)際讀地址RAD進(jìn)行偏移,就是使偏移前剛讀出的波形數(shù)據(jù)與偏移后馬上讀出的波形數(shù)據(jù)之間光滑地相互連接在一起。例如,可以這樣實(shí)施所述的偏移,在存儲數(shù)據(jù)基波分量相位相同的點(diǎn)上進(jìn)行連接。另一個(gè)例子,所述實(shí)際讀地址RAD以一個(gè)與存儲波形數(shù)據(jù)一個(gè)周期所包含的采樣值個(gè)數(shù)的整數(shù)倍相對應(yīng)的長度進(jìn)行變化。還有另一個(gè)例子,可以以這樣的方式實(shí)施所述的偏移,在幅值和增進(jìn)斜率基本上相同的點(diǎn)上進(jìn)行連接。
圖4表示了在基于TSC控制實(shí)施擴(kuò)展控制的過程中在波形存儲器中地址隨時(shí)間的增進(jìn)方式的曲線圖。在這種情況下,如圖所示,由重實(shí)線表示的虛擬讀地址VAD的變化或增進(jìn)斜率相對較小。這樣,隨時(shí)間的變化實(shí)際讀地址RAD的增進(jìn)比虛擬讀地址VAD的要快得多。一旦實(shí)際讀地址RAD與虛擬讀地址VAD的差值超過了一個(gè)預(yù)定的值,偏移控制電路14執(zhí)行一偏移指令(由箭頭表示)。從而,將實(shí)際讀地址RAD沿削弱差別的方向偏移一個(gè)適當(dāng)?shù)牧恐?。這樣,實(shí)際讀地址RAD的增進(jìn)量沿虛擬讀地址VAD的增進(jìn)線變化,同時(shí)按照音調(diào)信息的要求保持所述的變化或增進(jìn)斜率,并表現(xiàn)了沿時(shí)間軸方向壓縮的特征。這樣,通過根據(jù)這樣的實(shí)際讀地址RAD從波形存儲器10中讀出波形數(shù)據(jù)W1,可以得到一個(gè)波形信號,顯示了沿時(shí)間軸方向擴(kuò)展的波形,而不會改變所再現(xiàn)音的音調(diào)。
在圖3和圖4中,每個(gè)波浪線表示在副勻滑轉(zhuǎn)換信道(即副勻滑轉(zhuǎn)換波形段數(shù)據(jù))中實(shí)際讀地址RAD2的增進(jìn)。如圖所示,響應(yīng)偏移指令,沿著未經(jīng)偏移的實(shí)際讀地址RAD的延伸,以一個(gè)與實(shí)際讀地址RAD相同的速率(即變化成增進(jìn)斜率)為副勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)產(chǎn)生實(shí)際讀地址RAD2。在一個(gè)合適的勻滑轉(zhuǎn)換周期中,以以下方式實(shí)施勻滑轉(zhuǎn)換合成運(yùn)算,從根據(jù)對于副勻滑轉(zhuǎn)換波形段數(shù)據(jù)的實(shí)際讀地址RAD2讀出的波形數(shù)據(jù)W2到根據(jù)對于主勻滑轉(zhuǎn)換波形段數(shù)據(jù)的實(shí)際讀出地址RAD的波形數(shù)據(jù)W1獲得一個(gè)光滑的波形傳輸。在這種情況下,僅需要在一個(gè)已知勻滑轉(zhuǎn)換周期內(nèi)產(chǎn)生對于副勻滑轉(zhuǎn)換波形段數(shù)據(jù)的實(shí)際讀地址RAD2。
盡管實(shí)施勻滑轉(zhuǎn)換合成法的執(zhí)行是很可取的,但卻不是必需的。例如,可以通過在實(shí)際讀地址RAD發(fā)生偏移前剛讀出的波形數(shù)據(jù)與偏移后馬上讀出的波形數(shù)據(jù)相位相同的點(diǎn)發(fā)出偏移指令,從而得到兩段數(shù)據(jù)間的光滑連接。進(jìn)一步說,由于還可能有其他的波形處理形式,本發(fā)明也可以采取這樣的方案,僅用實(shí)際讀地址RAD讀波形數(shù)據(jù)W1中的一組,而不實(shí)施勻滑轉(zhuǎn)換合成。
當(dāng)執(zhí)行勻滑轉(zhuǎn)換合成時(shí),主副勻滑轉(zhuǎn)換波形段數(shù)據(jù)間的關(guān)系可以是與上述圖3和圖4中的關(guān)系相反的。換句話說,在一個(gè)勻滑轉(zhuǎn)換周期內(nèi),沿實(shí)際讀地址RAD的擴(kuò)展方向增進(jìn)的地址可以直接保持實(shí)際讀地址RAD,而經(jīng)過偏移的實(shí)際讀地址可以用作用于副勻滑轉(zhuǎn)換波形段數(shù)據(jù)的實(shí)際讀地址RAD2。在這種情況下在勻滑轉(zhuǎn)換合成結(jié)束時(shí)將對于副勻滑轉(zhuǎn)換波形段數(shù)據(jù)的實(shí)際讀地址RAD2改變?yōu)閷?shí)際讀地址RAD,這樣,實(shí)際讀地址RAD沿?cái)U(kuò)展方向增進(jìn)。因而,可以大大簡化勻滑轉(zhuǎn)換,因?yàn)閮H需要將經(jīng)過偏移的實(shí)際讀地址設(shè)為用于副勻滑轉(zhuǎn)換波形段的數(shù)據(jù)的實(shí)際讀地址RAD2,而讓用于主勻滑轉(zhuǎn)換波形段數(shù)據(jù)的實(shí)際讀地址RAD象從前一樣增進(jìn)。這將在下文中結(jié)合實(shí)例具體介紹。
盡管為了描述簡便,圖3和圖4沒有顯示分別讀出波形存儲器10中存儲的預(yù)定范圍的波形數(shù)據(jù)組的控制執(zhí)行過程,根據(jù)本發(fā)明的TSC控制方案同樣適用于這一情況。換句話說,根據(jù)本發(fā)明的TSC控制方案不僅僅只適用于僅將波形存儲器中存儲的多周期波形數(shù)據(jù)讀出一次以產(chǎn)生一個(gè)音的情況,而且還適用于將存儲在波形存儲器中的預(yù)定范圍的同一波形數(shù)據(jù)組重復(fù)讀出以產(chǎn)生一個(gè)音的情況。為此,在圖2中的實(shí)際讀地址計(jì)算器16和虛擬讀地址計(jì)算器17中都實(shí)施實(shí)際讀地址RAD和虛擬讀地址VAD的循環(huán)(重復(fù))控制,或者僅在虛擬讀地址計(jì)算器17中實(shí)施虛擬讀地址VAD的循環(huán)(重復(fù))控制。僅在虛擬讀地址計(jì)算器17中實(shí)施虛擬讀地址VAD的循環(huán)控制原因在于,只要虛擬讀地址VAD被循環(huán)控制,則實(shí)際讀地址RAD將會自動響應(yīng)它與虛擬讀地址VAD間差值或偏差的產(chǎn)生跟隨虛擬讀地址VAD的循環(huán)而實(shí)現(xiàn)循環(huán)控制。
現(xiàn)在參照圖5和圖6詳細(xì)介紹通過本發(fā)明TSC控制方案實(shí)現(xiàn)的沿波形時(shí)間軸的擴(kuò)展和壓縮的實(shí)例。
在圖5和圖6中,圖的上部由參考標(biāo)記1401和1501代表的黑色標(biāo)記表示存儲在波形存儲器當(dāng)中的原始波形(例如,其中的每一個(gè)可以通過對具有以原始音調(diào)的一個(gè)音進(jìn)行紀(jì)錄或采樣而得到)。注意,圖5和圖6中的每個(gè)黑色標(biāo)記代表一個(gè)多周期波形,并且它的輪廓與波形的包絡(luò)線相應(yīng),該標(biāo)記的長度(橫向尺寸)代表了一個(gè)發(fā)音的時(shí)間長度,同時(shí)該標(biāo)記的寬度(縱向尺寸)代表幅值。
圖5表示了通過基于音調(diào)信息的音調(diào)控制和根據(jù)本發(fā)明TSC控制之間相互作用對整個(gè)原始波形(存儲的原始波形)的絕對時(shí)間長度進(jìn)行擴(kuò)展和壓縮的示范形式。在圖中部的黑色標(biāo)記1402和1403表示了僅根據(jù)音調(diào)信息讀出的波形實(shí)例(即擴(kuò)展/壓縮比為“1”時(shí)讀出的波形);具體說;標(biāo)記1402表示了音調(diào)高于(或升高于)原始波形1401的讀出波形實(shí)例(“升調(diào)波形”)而標(biāo)記1403表示了音調(diào)低于(或降低于)原始波形1401的讀出波形實(shí)例(“降調(diào)波形”)。升高音調(diào)意味著更快地讀出原始波形1401或通過以更高的速率增進(jìn)讀地址以更寬的跨度讀出原始波形1401,并且通過這樣的操作,縮短了波形數(shù)據(jù)時(shí)間軸長度。相反地,降低音調(diào)意味著更慢地讀出原始波形1401或通過以更慢的速率增進(jìn)讀地址以更窄的跨度讀出原始波形1401,并且通過這樣的操作,擴(kuò)展了波形數(shù)據(jù)時(shí)間軸的長度。所以,在圖5中,聲調(diào)波形1402的時(shí)間長度(音發(fā)生時(shí)間長度)比原始波形1401的時(shí)間長度(標(biāo)準(zhǔn)音發(fā)生時(shí)間長度)短,而降調(diào)波形1403的時(shí)間長度比原始波形1401的時(shí)間長度長。
在圖5底部的黑色標(biāo)記1404,1405和1406表示了通過TSC控制任意地?cái)U(kuò)展和壓縮瞬態(tài)音調(diào)控制的波形1402和1403得到的波形實(shí)例。具體地說,標(biāo)記1404表示了相對于原始波形1401的絕對時(shí)間長度壓縮升調(diào)波形1402或降調(diào)波形1403的時(shí)間長度而得到的波形實(shí)例,標(biāo)記1405表示將升調(diào)波形1402或降調(diào)波形1403的時(shí)間長度恢復(fù)回原始波形1401的絕對時(shí)間長度得到的波形實(shí)例,以及標(biāo)記1406表示了相對于原始波形1401的絕對時(shí)間長度擴(kuò)展升調(diào)波形1402或降調(diào)波形1403的時(shí)間長度而得到的波形實(shí)例。通過適當(dāng)?shù)亟o出擴(kuò)展/壓縮比率數(shù)據(jù)SCR從而控制發(fā)音時(shí)間長度的擴(kuò)展或壓縮。
圖6表示了通過實(shí)施TSC控制對再現(xiàn)波形的選出部分,而不是全部進(jìn)行多種波形控制的示范形式。黑色標(biāo)記1502表示僅將原始波形1501的增高部分或上升部分進(jìn)行壓縮所得到的波形數(shù)據(jù)的實(shí)例,黑色標(biāo)記1503表示了僅將原始波形1501的穩(wěn)定部分或保持部分的時(shí)間長度壓縮而得到的波形實(shí)例。以及黑色標(biāo)記1504表示了將原始波形1501的釋放部分或下降部分進(jìn)行壓縮得到的波形數(shù)據(jù)實(shí)例。進(jìn)一步說,黑色標(biāo)記1505僅將原始波形1501的增高部分或上升部分進(jìn)行擴(kuò)展所得到的波形數(shù)據(jù)的實(shí)例,以及黑色標(biāo)記1506表示了僅將原始波形1501的穩(wěn)定部分或保持部分的時(shí)間長度擴(kuò)展而得到的波形實(shí)例,以及黑色標(biāo)記1507表示了將原始波形1501的釋放部分或下降部分進(jìn)行擴(kuò)展得到的波形數(shù)據(jù)實(shí)例。通過根據(jù)本發(fā)明TSC控制方案,可以不考慮音調(diào)控制而實(shí)現(xiàn)對時(shí)間長度部分改變的控制。例如,通過在音發(fā)生過程中實(shí)時(shí)地給出和改變特征信息或者為控制擴(kuò)展/壓縮比率數(shù)據(jù)SCR設(shè)定信息可以獲得局部或部分的TSC控制。
可以將本發(fā)明所提出的TSC控制技術(shù)應(yīng)用于使用波形存儲器作為音源的音發(fā)生裝置中,作為增強(qiáng)時(shí)間軸或時(shí)間變化表現(xiàn)性,諸如以特征形式或音效果變化的新的控制參數(shù)。換句話說,TSC控制在特征形式或音效果控制中可以用作時(shí)間軸參數(shù)。這些時(shí)間軸參數(shù)的具體實(shí)例包括如下(1)控制周期性調(diào)制效果,如顫音或碎音的周期;(2)控制瞬態(tài)音調(diào)調(diào)制效果,如音調(diào)變調(diào)的時(shí)間;(3)控制一個(gè)音的上升時(shí)間和下降時(shí)間,如進(jìn)發(fā)或衰減時(shí)間;(4)對一個(gè)音確定地并隨意地施以“節(jié)奏”;(5)避免循環(huán)控制的單調(diào)性(包括用于產(chǎn)生持久聲音的循環(huán)讀控制或顫音的循環(huán)控制);(6)控制連音控制的時(shí)間,如一個(gè)連音符(連接時(shí)間);(7)控制裝飾的時(shí)間長度(裝飾音);(8)當(dāng)以不同的音調(diào)讀出所存的原始波形時(shí)用于補(bǔ)償音發(fā)生周期的改變;(9)通過在局部或部分地控制其時(shí)間軸時(shí)讀出原始波形,而產(chǎn)生所存儲的原始數(shù)據(jù)的變化形式;(10)通過可變地控制原始波形的整個(gè)音發(fā)生周期長度,在以原始波形為基礎(chǔ)的再現(xiàn)一個(gè)聲音的過程中有選擇地控制音發(fā)生周期長度(例如控制所述時(shí)間長度使其與通過自動特征信息給出的五線譜的音符長度一致)。
因此,在此讓我們假定波形發(fā)生部分111的構(gòu)成,特別是有選擇地根據(jù)使用TSC控制技術(shù)的目的和需要設(shè)定存儲在波形存儲器中的波形數(shù)據(jù)的內(nèi)容。
例如,波形存儲器10對于每一種音色預(yù)存了至少一組多周期音波形的波形數(shù)據(jù)。另外,與音調(diào)或范圍,接觸強(qiáng)度值(速度)或特征類型或音調(diào)效果(如,碎音,顫音,變調(diào)或連音符)相一致在波形存儲器10中預(yù)存了兩組或多組波形數(shù)據(jù)。然而,沒必要將預(yù)存波形數(shù)據(jù)的不同的組用于每個(gè)音色;而是由兩個(gè)或多個(gè)音色共享同一組波形數(shù)據(jù)。在共享同一組預(yù)存波形數(shù)據(jù)的情況下,可以按照將本發(fā)明的TSC控制與其他任何適合的波形控制技術(shù)相結(jié)合的需要對波形進(jìn)行調(diào)制。進(jìn)一步說,為一個(gè)音存儲的所述多周期波形數(shù)據(jù)可以是所述音從上升(開始)到下降(結(jié)束)的整個(gè)一個(gè)波形,也可以是所述波形的預(yù)定循環(huán)范圍。在多周期波形所述預(yù)定循環(huán)范圍已經(jīng)存儲的情況下,在音發(fā)生過程中以重復(fù)方式讀出循環(huán)范圍內(nèi)的波形數(shù)據(jù)。進(jìn)一步說,要存儲的多周期波形可以是一個(gè)保持了原始波形音量包絡(luò)線的波形,或者是一個(gè)具有一個(gè)相對預(yù)定水平進(jìn)行了歸一化處理的音量包絡(luò)線的波形。當(dāng)然,當(dāng)一個(gè)施加了音量效果的音,如顫音作為原始波形存儲時(shí),以音量包絡(luò)線保持原貌(或做必要處理)的形式存儲該波形數(shù)據(jù),而不是將音量包絡(luò)線相對預(yù)定水平進(jìn)行了歸一化處理。所存儲的多周期波形可以不僅僅是從外部信號源采樣得到的,例如可以是經(jīng)過必要波形處理的,如勻滑轉(zhuǎn)換合成或?yàn)V波。
為了便于在TSC控制中的偏移控制點(diǎn)得到光滑的波形連接,由于考慮到這樣的波形連接,最好對存儲的波形實(shí)行處理。為此,可以將存儲在波形存儲器10中的波形數(shù)據(jù)預(yù)先分成多組以便處理,這將在下面介紹。
換句話說,為了便于以后處理數(shù)據(jù),將一個(gè)多周期波形分成多個(gè)數(shù)據(jù)組,每個(gè)組具有適當(dāng)?shù)拈L度,對每一個(gè)數(shù)據(jù)組設(shè)定一個(gè)用于TSC控制的偏移控制點(diǎn)。這種情況下,對波形存儲器10中存儲的多周期波形數(shù)據(jù)進(jìn)行預(yù)先分析,將彼此相位相同的多個(gè)周期中的點(diǎn)定為各個(gè)獨(dú)立的數(shù)據(jù)組的起點(diǎn)。換句話說,在波形數(shù)據(jù)中找到相位相同的點(diǎn),在所述相位相同的點(diǎn)將上述波形數(shù)據(jù)分開,確定了所述的數(shù)據(jù)組。一個(gè)數(shù)據(jù)組可以包括兩個(gè)或更多周期的波形數(shù)據(jù)??傊?,相鄰數(shù)據(jù)組間的分界處是相位相同的點(diǎn),并且,所確定的每個(gè)數(shù)據(jù)組足以同另一個(gè)數(shù)據(jù)組光滑連接。所述相位相同的點(diǎn)是彼此之間波形幅值相同的點(diǎn),并且位于波形的傾斜方向上。所述相位相同的點(diǎn)典型的就是零相位角的點(diǎn),在那里波形幅值從負(fù)值到正值過零,但也可以是任何其他相位的角點(diǎn)。當(dāng)然,相位相同的點(diǎn)沒必要對應(yīng)于一個(gè)精確的相位角,而可以是一個(gè)使波形連接相對光滑的大致位置。注意,每個(gè)數(shù)據(jù)組不是或不需要同對應(yīng)于波形數(shù)據(jù)基調(diào)的音調(diào)周期一致,并且所述數(shù)據(jù)組不必長度相同,在必要時(shí)可以具有不同的長度。更進(jìn)一步說,在確定各相鄰數(shù)據(jù)組間的分界點(diǎn)時(shí),其分辨力最好優(yōu)于與波形存儲器10中的一個(gè)地址所對應(yīng)的相位角,因?yàn)檫@種方法能以更高的精度確定相位相同點(diǎn)。
通過處理波形存儲器中存儲的波形數(shù)據(jù),以上述方式將所述波形數(shù)據(jù)分成若干數(shù)據(jù)組,實(shí)際讀地址計(jì)算器16響應(yīng)偏移控制電路14(圖2)發(fā)出的偏移指令進(jìn)行控制,從而一旦實(shí)際讀地址RAD到達(dá)其所屬的一個(gè)數(shù)據(jù)組的末端,它就偏移到另一個(gè)數(shù)據(jù)組的起點(diǎn),從而將波形偏移了一個(gè)對應(yīng)于一個(gè)或多個(gè)數(shù)據(jù)組的量。由于,以每個(gè)數(shù)據(jù)組與另一個(gè)數(shù)據(jù)組光滑連接的方式確定每個(gè)數(shù)據(jù)組,這個(gè)改變量對應(yīng)于一個(gè)或多個(gè)數(shù)據(jù)組的讀地址,當(dāng)實(shí)際讀地址RAD根據(jù)TSC控制已經(jīng)發(fā)生偏移時(shí),允許在不同數(shù)據(jù)組間在相位基本相同的點(diǎn)上相互連接;這樣,就可以將這些在由擴(kuò)展或壓縮控制形成的片斷(各自包括所述數(shù)據(jù)組)內(nèi)相互連接的波形光滑地連接在一起。
注意,所謂“偏移了一個(gè)對應(yīng)于一個(gè)或多個(gè)數(shù)據(jù)組的量的讀地址”不必意味著數(shù)據(jù)的讀出應(yīng)僅在從舊波形的數(shù)據(jù)讀出到達(dá)上述數(shù)據(jù)組的末端時(shí),從一個(gè)新(即偏移到)波形的數(shù)據(jù)組開始。換句話說,所謂“偏移了一個(gè)對應(yīng)于一個(gè)或多個(gè)數(shù)據(jù)組的量的讀地址”還包括響應(yīng)在從舊波形的一個(gè)數(shù)據(jù)組讀出的數(shù)據(jù)的過程當(dāng)中給出的偏移指令,在新波形的相應(yīng)中間點(diǎn)上開始讀出它的一個(gè)數(shù)據(jù)組。由于相對中間的位置位于相互對應(yīng)的兩個(gè)數(shù)據(jù)組中,這種情況下,也需要好的相位連接。如果在本實(shí)施例中實(shí)施勻滑轉(zhuǎn)換合成法,即使在這樣的數(shù)據(jù)組的中間點(diǎn)實(shí)行偏移控制,也足以獲得好的、光滑的波形連接。在下面的具體實(shí)例中,由讀指針p指定這一數(shù)據(jù)組的中間點(diǎn),該指針可以在任何數(shù)據(jù)組中指定合適的相對地址位置。
圖7和圖8的流程圖描述了所存波形數(shù)據(jù)的創(chuàng)建和預(yù)處理步驟序列。
圖7表示了用于從外部來源采樣(記錄)所需波形數(shù)據(jù)以及將經(jīng)采樣的波形數(shù)據(jù)存儲到波形存儲器10中的步驟序列。首先,在S1步驟在波形存儲器10中留出必要的存儲區(qū)域。之后,在S2步驟,作為一個(gè)文件或波形數(shù)據(jù)組,將輸入波形的波形數(shù)據(jù)(采樣值本身或?qū)⒉蓸硬ㄐ谓?jīng)過適當(dāng)處理得到一個(gè)波形)寫入所述預(yù)留的存儲區(qū)域。于是,在步驟S3,將預(yù)留存儲區(qū)域中存儲的波形數(shù)據(jù)的必要的處理數(shù)據(jù)(例如表示該波形數(shù)據(jù)和該存儲區(qū)域的文件名)寫入預(yù)定的處理數(shù)據(jù)區(qū)域。接著,在S4步驟,將“0”作為存儲在上述存儲區(qū)域中的波形數(shù)據(jù)的一個(gè)擴(kuò)展/壓縮有效標(biāo)記SCEN寫入。上述擴(kuò)展/壓縮有效標(biāo)記是一個(gè)表示是否需進(jìn)行本發(fā)明的TSC控制的標(biāo)記;所述SCEN標(biāo)記為“0”表示不進(jìn)行TSC控制,而所述SCEN標(biāo)記為“1”表示可以進(jìn)行TSC控制。由于本實(shí)施例設(shè)置為在上述“數(shù)據(jù)組”處理之后進(jìn)行TSC控制,除非執(zhí)行了上述“數(shù)據(jù)組”處理否則不能進(jìn)行上述TSC控制方案。從而,只有當(dāng)已將波形數(shù)據(jù)寫入波形存儲器10時(shí)才可進(jìn)行所述的TSC控制,并且這是為什么在步驟4將所述擴(kuò)展/壓縮有效標(biāo)記SCEN設(shè)為“0”的原因。所述有效標(biāo)記可作為每個(gè)文件的處理信息的輔助部分存儲。
圖9簡單表示了波形存儲器10中的一個(gè)示范存儲格式,以供參考。在圖9中“波形數(shù)據(jù)文件1”是一個(gè)存儲了一個(gè)音的多周期波形數(shù)據(jù)的區(qū)域,而“波形數(shù)據(jù)文件2”是一個(gè)存儲了另一個(gè)音的多周期波形數(shù)據(jù)的區(qū)域。在波形存儲器10中留有大量這樣的存儲區(qū)域,在不同的存儲區(qū)域中存儲了大量音的多周期波形數(shù)據(jù)。注意,作為一個(gè)文件存儲的所述波形數(shù)據(jù)不必是從外部來源輸入的一個(gè)音的全部波形數(shù)據(jù)而可以是它的所需部分。從而,為了產(chǎn)生一個(gè)音,在一種情況下,僅使用一個(gè)波形文件或組,而在另一情況下,可以使用多個(gè)波形數(shù)據(jù)文件。
返回來參考圖8,“標(biāo)記處理”是用于定義(標(biāo)記)上述的波形數(shù)據(jù)的數(shù)據(jù)組的。首先,在步驟S5,指定要對其進(jìn)行數(shù)據(jù)組定義的一個(gè)所需的波形數(shù)據(jù)文件,并從波形存儲器10中讀出,用于在紙上或顯示器上直觀顯示。接著,在步驟S6,從顯示的波形數(shù)據(jù)列表中選擇多個(gè)“相位相同點(diǎn)”,并且,以所選擇的相位相同的點(diǎn)為基礎(chǔ)將所述波形數(shù)據(jù)分成多個(gè)數(shù)據(jù)組,從而設(shè)置了波形數(shù)據(jù)的數(shù)據(jù)組。在這以后,在步驟S7,確定單獨(dú)的數(shù)據(jù)組各自的長度T,并根據(jù)波形數(shù)據(jù)的文件名將其寫入波形段信息存儲器15(圖2)。接著,在步驟S8,將所述擴(kuò)展/壓縮有效標(biāo)記置為“1”以表示現(xiàn)在可以進(jìn)行所述TSC控制。注意,可以將單個(gè)數(shù)據(jù)組各自的長度T存入波形存儲器10中的處理數(shù)據(jù)區(qū)域中;就是說,波形段信息存儲器15的存儲內(nèi)容可以存在圖9的處理數(shù)據(jù)存儲區(qū)域中。在以下的描述中,將要介紹表示了存儲在波形存儲器10中的單個(gè)波形數(shù)據(jù)文件的各自的上端地址的絕對地址數(shù)據(jù)以及表示單個(gè)的數(shù)據(jù)組各自的尺寸T的數(shù)據(jù)是存儲在圖2所示的波形組信息存儲器15中的。如前面提到的,定義(標(biāo)記)相鄰數(shù)據(jù)組間的分界點(diǎn)時(shí),其分辨力最好優(yōu)于對應(yīng)于波形存儲器10中一個(gè)地址的相位角。從而表示單個(gè)數(shù)據(jù)組的各自長度T的數(shù)據(jù)分別包括一個(gè)十進(jìn)制值,而不是僅包括一個(gè)對應(yīng)于波形存儲器10中整個(gè)地址數(shù)的整數(shù)值。
現(xiàn)在具體介紹TSC控制方案的幾種應(yīng)用。首先,將介紹一個(gè)具體實(shí)例,其中,根據(jù)本實(shí)施例實(shí)施的TSC控制方案控制一個(gè)周期性調(diào)制效果的,例如一個(gè)顫音或碎音。
為此,作為預(yù)先的操作,通過使用一個(gè)所需的真實(shí)樂器,弦樂器或管樂器以一個(gè)預(yù)定的音調(diào)(或根據(jù)可選的音調(diào)或音符范圍)實(shí)際地編制一個(gè)顫音或碎音特征,并紀(jì)錄(采樣)一個(gè)合成的特征音將波形數(shù)據(jù)以上述形式存在波形存儲器10中。與此同時(shí),將其他必要的信息存入波形段信息存儲器15。最好將未進(jìn)行預(yù)定調(diào)制(例如顫音)的波形數(shù)據(jù)和經(jīng)過預(yù)定調(diào)制的波形數(shù)據(jù)存儲為一個(gè)預(yù)定的音色(實(shí)際樂器的音色)。最好根據(jù)多個(gè)不同調(diào)制深度存儲特征音的波形數(shù)據(jù);在這種情況下,為保證TSC控制參數(shù)共同有效,僅需以下面的方式編制一個(gè)特征,當(dāng)調(diào)制周期盡可能保持相等并且在所有調(diào)制深度保證識別音調(diào)時(shí),僅變化所述的調(diào)制深度。
圖10A到圖10D的簡圖表示了一種示范形式,將波形數(shù)據(jù)以這種形式存入波形存儲器10中,并將波形數(shù)據(jù)分成數(shù)據(jù)組。在所描述的實(shí)例中,表示了一個(gè)音的上升部分的起始部分(起始部分波形)的多周期波形以及分別表示了所述音的持續(xù)保持部分的循環(huán)部分的多周期波形循環(huán)部分包括一個(gè)未加調(diào)制(圖10B),一個(gè)具有中等水平調(diào)制(圖10C)以及一個(gè)具有深度調(diào)制(圖10D),并且僅將開始部分波形(圖10A)存儲以便不考慮是否調(diào)制以及調(diào)制程度而使用。注意,這個(gè)例子僅以描述為目的,并且可以得到任何合適的波形,并以任何其他的形式存儲。例如,可以根據(jù)有無調(diào)制,以及調(diào)制的程度準(zhǔn)備多個(gè)起始部分波形。在圖10A到圖10D中,向右的箭頭表示波形存儲器10中的地址增加方向。
在圖10A中,起始部分的波形分成m個(gè)數(shù)據(jù)組(在這里,m是一個(gè)任意實(shí)數(shù))。在此,為了便于說明用變量j將數(shù)據(jù)組彼此區(qū)別開,j是一個(gè)值為“0”,“1”,“2”…,“m-1”的序數(shù)列。“A0”,“A1”,“A2”,…代表相應(yīng)的數(shù)據(jù)組的起始地址,并且通常記作“Aj”。“T0”,“T1”,“T2”,…對應(yīng)數(shù)據(jù)組的長度,通常記作“Tj”,例如尺寸Tj是表示數(shù)據(jù)組中容納的地址數(shù)的數(shù)據(jù)(波形采樣數(shù)),它包括十進(jìn)制的整數(shù)部分和小數(shù)部分,整數(shù)部分在前。
圖10B、10C、10D表示分成“n+2”個(gè)數(shù)據(jù)組的循環(huán)部分波形(在此,“n”是一個(gè)任意實(shí)數(shù))。此處,用值為“0”,“1”和“2”的變量i將調(diào)制深度區(qū)分開來?!癷=0”表示未經(jīng)調(diào)制(圖10B),“i=1”表示中等程度的調(diào)制(圖10C),以及“i=2”表示深度調(diào)制(圖10D)。j是一個(gè)值依次為“-2”,“-1”,“0”,“1”,“2”,…,“n-1”的序列數(shù)。“A0-2”,“A00”,“A01”,…,“A1-2”,“A10”,“A11”,…,“A2-2”,“A20”,“A21”,…表示循環(huán)部分波形相應(yīng)數(shù)據(jù)組的起始位置,并且通常記作“Aij”。相應(yīng)數(shù)據(jù)組的長度通常記作“Tij”,以及長度Tij是表示圖10A中數(shù)據(jù)組地址數(shù)(波形采樣數(shù))的數(shù)據(jù)。
在每個(gè)循環(huán)部分波形中,前兩個(gè)數(shù)據(jù)組(由j=-2以及j=-1表示)組成一個(gè)“連接波形段”,以保證同開始部分波形光滑連接,它不受循環(huán)控制的支配,即分別讀出;在圖10D描述的實(shí)例中,一個(gè)受循環(huán)控制支配的或分別讀出的“循環(huán)波形段”由n個(gè)數(shù)據(jù)組構(gòu)成,由j=0,1,2,…,n-1表示。所述連接波形段是一個(gè)經(jīng)過了勻滑轉(zhuǎn)換合成得到的經(jīng)處理的段,該勻滑轉(zhuǎn)換合成是在與波形開始部分的結(jié)束點(diǎn)光滑連接的第一預(yù)定波形段和與循環(huán)部分波形開始點(diǎn)光滑相連的第二預(yù)定波形段之間進(jìn)行的,并且用作提供從波形起始部分的結(jié)束點(diǎn)到波形循環(huán)部的開始點(diǎn)的光滑連接或傳輸。用這樣的連接波形段,不管波形起始部分在音再現(xiàn)時(shí)刻與哪個(gè)波形循環(huán)部分相連,都能得到一個(gè)光滑的連接。注意,循環(huán)波形段可以是原始波形的一個(gè)特殊范圍,它顯著表示了上述調(diào)制效果的特征。在這一情況下,為了避免基于循環(huán)讀出的調(diào)制周期不自然,可以選擇原始波形的范圍等于調(diào)制周期的約1/2或整數(shù)倍。
在圖10A到圖10D的實(shí)例中,在再現(xiàn)過程中讀出的波形除了與TSC控制有關(guān)的部分之外可以是采用任何已知常規(guī)循環(huán)讀出技術(shù)讀出。換句話說,一旦給出開始音發(fā)生的指令,從起始地址AS到結(jié)束部分AE,讀出一次起始部分波形(圖10A),接著讀出圖10B到10D所示的任何一個(gè)連接部分波形的連接波形段。之后,以重復(fù)的方式讀出循環(huán)部分波形的循環(huán)波形段。如上所述,這種循環(huán)讀控制可以在實(shí)際讀地址計(jì)算器16和虛擬讀地址計(jì)算器17中都進(jìn)行或者只在虛擬讀地址計(jì)算器17中進(jìn)行。
當(dāng)在音再現(xiàn)過程中實(shí)時(shí)改變調(diào)制深度時(shí),讀出的循環(huán)部分切換成另一個(gè)。例如,如果當(dāng)圖10D中的循環(huán)部分波形的一個(gè)特定的數(shù)據(jù)組(如j=1)正在以一個(gè)顯著的調(diào)制深度讀出時(shí),所述調(diào)制深度改變?yōu)橹械瘸潭日{(diào)制,則數(shù)據(jù)讀出轉(zhuǎn)換到圖10C中循環(huán)讀出波形的相應(yīng)數(shù)據(jù)組。當(dāng)中間調(diào)制深度位于所需的準(zhǔn)備深度之間時(shí),可以通過讀出兩個(gè)或更多不同調(diào)制深度(如圖10C和圖10D的波形)的存儲波形來提供,并且根據(jù)所需的深度對讀出數(shù)據(jù)進(jìn)行內(nèi)插合成;這種方法是公知技術(shù),所以在此沒有特別示出。
下面參考圖10講述在波形組信息存儲器15中存儲的信息。例如,作為一個(gè)已知音色的波形對圖10A到10D所示的波形的數(shù)據(jù)進(jìn)行處理,作為那個(gè)音色的數(shù)據(jù)組信息將下面的信息存入波形信息存儲器15中開始部分波形的第一數(shù)據(jù)組的開始地址A0(絕對地址);表示開始部分波形各個(gè)數(shù)據(jù)各自長度的Tj的數(shù)據(jù);(j=0,1,2,…,m-1)具備不同調(diào)制深度的單個(gè)循環(huán)部分波形的各自第一數(shù)據(jù)組的開始地址A0-2,A1-2,A2-2(每個(gè)為絕對地址);以及表示具有不同調(diào)制深度的循環(huán)部分?jǐn)?shù)據(jù)的單個(gè)數(shù)據(jù)組各自長度Tij的數(shù)據(jù)(i=0,1,2;j=-2,-1,0,1,2,…,n-1)。
在波形組信息存儲器15中,代替或除了的表示數(shù)據(jù)組長度T的數(shù)據(jù),可以存有單個(gè)數(shù)據(jù)組起始地址的絕對地址值。然而,因?yàn)榻^對地址值需要更多的位,進(jìn)而需要更多的存儲空間,所以最好選擇表示數(shù)據(jù)組長度T的數(shù)據(jù),因?yàn)樗麄冃枰奈粩?shù)較少。這樣,按上述方式將波形組信息存入波形組信息存儲器15中,就更為優(yōu)越,它能夠節(jié)約存儲器15中存儲容量。
由于每個(gè)數(shù)據(jù)組的長度Tj或Tij表示了相鄰數(shù)據(jù)組開始地址值之間的差別,所以可以得到下面的關(guān)系Tj=Aj+1-AjTij=Aij+1-Aij這樣,起始地址Aj和Aij可以與Aj=AO+∑T相等,其中∑T表示在j=0,1,2,…,j-1范圍內(nèi)累加Tj的結(jié)果,以及Aij=Ai-2+∑Ti其中∑Ti表示在i=-2,-1,0,1,2,…,j-1的范圍內(nèi)累加Tij的結(jié)果。由于每個(gè)數(shù)據(jù)組的長度Tj和Tij是一個(gè)包括十進(jìn)制小數(shù)部分和整數(shù)部分的值,其整數(shù)部分與波形存儲器10的一個(gè)地址相對應(yīng),每一個(gè)在長度基礎(chǔ)上計(jì)算出的數(shù)據(jù)組起始地址Aj和Aij也是一個(gè)包括在波形存儲器10的一個(gè)地址相對應(yīng)的整數(shù)部分以及一個(gè)十進(jìn)制小數(shù)部分的值。
如上面提到的,由于讀地址根據(jù)TSC控制方案偏移了一個(gè)對應(yīng)于一個(gè)或多個(gè)數(shù)據(jù)組的量,偏移到的數(shù)據(jù)組的起始地址Aj或Aij可用上述等式算出。當(dāng)前讀出的這樣計(jì)算出的數(shù)據(jù)組的開始地址Aj或Aij存儲在圖2的寄存器21中。注意,本實(shí)施例中實(shí)施的TSC控制方案除了再現(xiàn)開始部分波形外,還用于再現(xiàn)循環(huán)部分波形。圖2所示,只有起始地址Aij存儲在寄存器中,很顯然,當(dāng)讀出開始部分波形時(shí),將起始地址Aj存入寄存器21。
圖2中的寄存器19存儲了表示當(dāng)前讀出的數(shù)據(jù)組的變量j,而寄存器22存儲了表示當(dāng)前讀出的循環(huán)部分波形的調(diào)制深度的變量i。為了進(jìn)行勻滑轉(zhuǎn)換合成,分別將表示當(dāng)時(shí)讀出數(shù)據(jù)組等每個(gè)主副勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)的數(shù)據(jù)j,Aij和i存入寄存器19,21和22。
進(jìn)一步說,圖2的寄存器20存儲了指示一個(gè)實(shí)際讀地址RAD的讀指針p。讀指針p是這樣一個(gè)數(shù)據(jù),對于每個(gè)數(shù)據(jù)組,在數(shù)據(jù)組開始處設(shè)置一個(gè)預(yù)定的初始值,之后在每個(gè)預(yù)定的采樣周期依次周期性地增加(或減少);換句話說,讀指針p好比是一個(gè)遞增的相位(讀地址)數(shù)據(jù)。當(dāng)數(shù)據(jù)組的開始地址Aj或Aij加到讀指針p上,得到了一個(gè)絕對地址值形式的實(shí)際讀地址RAD。眾所周知,如果波形存儲器10的每個(gè)地址由一個(gè)整數(shù)表示,用一個(gè)包括十進(jìn)制小數(shù)部分的值表示音調(diào)信息;這樣,讀指針p就是一個(gè)包括了十進(jìn)制小數(shù)部分的值。于是,當(dāng)讀數(shù)據(jù)讀出將從一個(gè)(第一)數(shù)據(jù)組偏移到另一個(gè)(第二)數(shù)據(jù)組時(shí),從當(dāng)前讀指針p(也包括一個(gè)十進(jìn)制小數(shù)部分)減掉第一數(shù)據(jù)組的長度值Tj或Tij(包括十進(jìn)制小數(shù)部分),并且,作為第二數(shù)據(jù)組的讀指針p的初始值,將相減的結(jié)果或差值加到第二數(shù)據(jù)組的開始地址Aj或Aij上。這也是一個(gè)為準(zhǔn)確得到所需音頻而廣泛采用的技術(shù),所以在此不加以祥述。在勻滑轉(zhuǎn)換合成中,由主、副勻滑轉(zhuǎn)換信道,即在主、副勻滑轉(zhuǎn)換信道之間,共用讀指針p。
盡管沒具體示出,還提供了與寄存器19,20,21和22類似的寄存器與虛擬讀地址計(jì)算器17相連。由于在虛擬讀地址計(jì)算器17中需要副勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù),對于主勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)僅存儲一組變量i和j以及開始地址Aij(或Aj)。當(dāng)然實(shí)際讀地址計(jì)算器16和虛擬讀地址計(jì)算器17中的讀指針p的內(nèi)容是彼此不同的。具體地說,當(dāng)實(shí)際讀地址計(jì)算器16中的讀指針p以一個(gè)僅對應(yīng)于“音調(diào)信息”的速率或增進(jìn)斜率增加時(shí),虛擬讀地址計(jì)算器17中的讀指針以一個(gè)對應(yīng)于一個(gè)通過可變地控制音調(diào)信息的擴(kuò)展/壓縮比SCR確定的值的斜率的增加。
鑒于,上面已經(jīng)介紹了變量i與調(diào)制深度相對應(yīng),因?yàn)橐呀?jīng)給出了同調(diào)制間的關(guān)系的描述,它可以與任何其他波形調(diào)制參數(shù)或系數(shù)相對應(yīng),只要它指定了一個(gè)波形變化。例如,可以使用,象變量i,任何所需的波形調(diào)制系數(shù),諸如表示音色亮度的變量,特征強(qiáng)度(速度)或從音發(fā)生開始點(diǎn)的消逝時(shí)間,或只不過一個(gè)隨機(jī)數(shù)來實(shí)施本發(fā)明。
以下部分具體介紹了在音發(fā)生過程中實(shí)施處理的實(shí)例。
圖11是圖1所示控制單元102執(zhí)行的處理程序的主程序流程圖。一旦裝置加電,主程序就起動,在經(jīng)過了步驟S11的預(yù)定的初始化處理結(jié)束之后,以重復(fù)的方式執(zhí)行鍵開關(guān)處理(步驟12),特征控制器處理(步驟S13)以及設(shè)置控制器處理(步驟S14)。在步驟S12的鍵盤開關(guān)處理中,響應(yīng)鍵盤101A上的鍵開或鍵關(guān)等鍵動作執(zhí)行多種操作;就是說,在檢測到鍵開動作(即一個(gè)音發(fā)生指令)時(shí)執(zhí)行圖12的鍵開動作處理。在步驟S13的特征控制處理器中,如圖13所描述的響應(yīng)任何所述其他特征控制器101B的起動執(zhí)行多種操作。在步驟S14的設(shè)置控制器處理中,響應(yīng)設(shè)置控制器的任何起動而執(zhí)行多種操作。取代鍵盤101A以及其他特征控制器101B直接與控制單元102相連,提供一個(gè)MIDI接口電路,從而作為MIDI信息傳輸鍵開/鍵關(guān)特征信息和其他特征信息到控制單元102;這種選擇方案可以通過檢驗(yàn)傳輸?shù)腗IDI信息的內(nèi)容適當(dāng)?shù)貓?zhí)行與圖11到圖13類似的處理。
現(xiàn)在參考圖12,在步驟S15一旦檢測到鍵開動作,將表示關(guān)于檢測到的鍵開動作(即為聲音指定的音)的音調(diào)的信息(如鍵碼KC)存入一個(gè)音符數(shù)寄存器NN,并且將關(guān)于所檢測到的鍵開動作的音的初始接觸強(qiáng)度(即速率數(shù)據(jù))存入速率存儲器VEL。于是,在步驟S16,選擇多信道中的任何一個(gè)并將其指定為音發(fā)生信道CH,用于指定的聲音或音頻發(fā)生,將指定信道的唯一的信道數(shù)存入指定的信道寄存器ASR。從而,在步驟S17,將多種用于音發(fā)生的必要信息,諸如對應(yīng)于當(dāng)前選定的音色和包絡(luò)信息的波形選定信息設(shè)置到一個(gè)控制寄存器113(圖1)中,該寄存器113由存儲在指定信道寄存器ASR中的信道數(shù)指定。這里,波形選擇信息是這些規(guī)定了用于在信道中的音發(fā)生的特定波形信息,更具體地說,這一信息從波形存儲器10存儲的多組波形數(shù)據(jù)中指定了4個(gè)波形,如在圖10A到10D所示的。進(jìn)一步說,包絡(luò)信息就是表示目標(biāo)值數(shù)據(jù)以及對每個(gè)虛線的變化率數(shù)據(jù)(單個(gè)虛線的傾角)信息,以形成一個(gè)“虛線”包絡(luò)線以控制音量或其類似特征。
在圖1所示的控制寄存器113中設(shè)置的多種信息中,有圖2所示的鍵碼KC,音色碼TC以及一些其他信息INF。進(jìn)一步說,與指定的信道寄存器ASR存儲的內(nèi)容相結(jié)合,在控制寄存器113中,設(shè)置與音的音調(diào)頻率相對應(yīng)的“音調(diào)信息”,該音是在音符數(shù)寄存器NN的存儲內(nèi)容的基礎(chǔ)上分配給所述信道的。還可以于指定的信道寄存器ASR存儲的內(nèi)容相結(jié)合,在控制寄存器113中,設(shè)置調(diào)制深度信息ML和調(diào)制速度(或調(diào)制)信息MS。進(jìn)一步說,還可以于指定的信道寄存器ASR存儲的內(nèi)容相結(jié)合,在控制寄存器113中,設(shè)置多種用于包絡(luò)信息的目標(biāo)水平數(shù)據(jù)和變化速率數(shù)據(jù)。在逐信道的基礎(chǔ)上確定用于發(fā)音的信息是公知技術(shù),也可以是任何所需的設(shè)計(jì),盡管在此沒具體描述。將如此設(shè)置到控制寄存器113中的各信道的多種數(shù)據(jù)和信息傳輸?shù)讲ㄐ伟l(fā)生部分111和音量控制部分112。最終,在步驟S18根據(jù)指定信道寄存器ASR的存儲內(nèi)容指定音發(fā)生的音符開(note-on)信號通過控制寄存器113傳輸至波形發(fā)生部分111和音量控制部分112。所述波形發(fā)生部分111和音量控制部分112響應(yīng)所述音符開(note-on)信號開始操作,讀出一個(gè)波形以形成并產(chǎn)生一個(gè)音量包絡(luò)線。這種在波形發(fā)生部分111和音量控制部分112重的操作是在時(shí)分割基礎(chǔ)上為單個(gè)信道實(shí)施的。
在圖13的特征控制器處理中,首先在步驟S19判定預(yù)定的檢測計(jì)時(shí)是否已完成,以便檢測單個(gè)特征控制器每個(gè)預(yù)定檢測定時(shí)的操作狀態(tài)。如果步驟S19的判定結(jié)果是肯定(YES),則在步驟S20將表示單個(gè)特征控制器(或特征信息)的各自操作狀態(tài)存儲到控制寄存器113中的相應(yīng)寄存區(qū)域中;例如,已達(dá)到信息存儲在AT寄存區(qū)域,而回轉(zhuǎn)控制器的操作數(shù)據(jù)(回轉(zhuǎn)數(shù)據(jù))存入寄存區(qū)域MH,使用這些控制數(shù)據(jù)(或特征信息)作為控制參數(shù)執(zhí)行對待發(fā)音的實(shí)時(shí)控制。接下來的步驟S21和S22以產(chǎn)生一個(gè)用于調(diào)制控制的控制參數(shù);例如,在步驟S21,根據(jù)存儲在寄存區(qū)域AT的已達(dá)到數(shù)據(jù)設(shè)置調(diào)制深度信息ML,并且在步驟S22,根據(jù)存儲在寄存區(qū)域MH中的回轉(zhuǎn)數(shù)據(jù)設(shè)置調(diào)制速度信息。顯然,也可以依靠任何其他的參數(shù)對這些ML和MS信息進(jìn)行設(shè)置。
視需要在轉(zhuǎn)換部分18內(nèi)部處理上述調(diào)制速度信息MS,從而它可以用作擴(kuò)展/壓縮比SCR的數(shù)據(jù)的基礎(chǔ)。例如,如果調(diào)制速度信息MS是一個(gè)預(yù)定的實(shí)際值,將上述擴(kuò)展壓縮比設(shè)為“1”,從而可以不必沿時(shí)間軸擴(kuò)展或壓縮所存儲的數(shù)據(jù)而使用原始的調(diào)制周期(調(diào)制速度)。如果調(diào)制速度信息MS的值大于或小于預(yù)定的實(shí)際值,上述擴(kuò)展壓縮比設(shè)為大于或小于“1”,從而可以根本不必影響或改變待發(fā)音的音調(diào)而實(shí)施用于再現(xiàn)沿時(shí)間軸擴(kuò)展或壓縮的所存儲的波形數(shù)據(jù)的控制,該控制是通過使用本實(shí)施例的TSC控制擴(kuò)展或縮短原始的調(diào)制周期(調(diào)制速度)的。當(dāng)上述TSC控制用于調(diào)制以外的其它目的時(shí),僅需控制供該目的所用的數(shù)據(jù),將其送至轉(zhuǎn)換部分18以代替調(diào)制速度信息MS。圖2所示的轉(zhuǎn)換部分18可以可變地控制將調(diào)制速度信息MS以及其它輸入信息轉(zhuǎn)換成擴(kuò)展/壓縮比數(shù)據(jù)的方式;就是說,上述轉(zhuǎn)換部分能夠可變地控制轉(zhuǎn)換函數(shù)。
接著將參考圖2到圖4和圖10描述波形發(fā)生部分111在接收到音符開(note-on)信號之后的行為。
首先,根據(jù)波形選擇信息,如音質(zhì)碼TC和鍵碼KC,從波形組信息存儲器15中讀出已知開始部分波形的第一數(shù)據(jù)組的開始地址A0。讀出的開始地址A0送至實(shí)際讀地址計(jì)算器16和虛擬讀地址計(jì)算器17,并且作為開始地址Aj設(shè)置到地址計(jì)算器16和17中的當(dāng)前數(shù)據(jù)組開始地址寄存器21中(就是Aj←A0)將“0”值作為表示數(shù)據(jù)組順序的變量j,設(shè)置在計(jì)算器16中的寄存器19中。響應(yīng)變量j=0將表示第一數(shù)據(jù)組長度T0的數(shù)據(jù)從波形組信息存儲器15中讀出并在之后置于預(yù)定的內(nèi)部存儲器中,就是Tj←T0。
注意,由于開始部分波形數(shù)據(jù)組m和循環(huán)波形段的數(shù)據(jù)組數(shù)n將隨波形變化,讓我們假設(shè),表示數(shù)m和n的數(shù)據(jù)可以根據(jù)波形選擇信息,諸如音品碼TC和鍵碼KC從數(shù)據(jù)組信息存儲器15中讀出,以用于控制目的。
實(shí)際讀地址計(jì)算器16和虛擬讀地址計(jì)算器17響應(yīng)傳送的音符開(note-on)信號起動操作,運(yùn)用開始地址A0作為開始值,分別用算術(shù)產(chǎn)生實(shí)際讀地址RAD和虛擬讀地址VAD。實(shí)際讀地址計(jì)算器16和虛擬讀地址計(jì)算器17已基本上相同的方式用算術(shù)產(chǎn)生讀地址,于是下面主要描述實(shí)際讀地址計(jì)算器16中進(jìn)行的地址產(chǎn)生操作。實(shí)際讀地址計(jì)算器16和虛擬讀地址計(jì)算器17在地址產(chǎn)生操作上的主要區(qū)別如上所述,就是,在實(shí)際讀地址計(jì)算器16中僅用“音調(diào)信息”作為確定上升變化寬度(變化率)的數(shù)據(jù),而虛擬讀地址計(jì)算器17使用一個(gè)通過對音調(diào)信息進(jìn)行控制得到的值和擴(kuò)展/壓縮比SCR,作為這個(gè)確定數(shù)據(jù),并且僅在實(shí)際讀地址計(jì)算器16中進(jìn)行用于勻滑轉(zhuǎn)換合成法的數(shù)學(xué)運(yùn)算。
盡管已經(jīng)陳述了寄存器19、21和22是為主、副勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)提供的,以下僅針對用于主勻滑轉(zhuǎn)換波形數(shù)據(jù)的寄存器19、21和22,除非特別指出。
響應(yīng)音符開(note-on)信號,將讀指針置“0”,之后,實(shí)際讀地址寄存器16的讀指針p以一個(gè)變化的寬度規(guī)律地增加,該變化寬度(變化率)對應(yīng)于音調(diào)信息,同時(shí)虛擬讀地址計(jì)算器17的讀指針以一個(gè)變化的寬度規(guī)律地增加,該變化寬度(變化率)對應(yīng)于通過擴(kuò)展/壓縮比SCR控制音調(diào)信息得到的值。這導(dǎo)致了實(shí)際讀地址RAD和虛擬讀地址VAD之間增進(jìn)斜率之間的差別。
通過將讀指針p與當(dāng)前數(shù)據(jù)組的開始地址Aj相加,得到實(shí)際地址RAD;就是說,用這列等式RAD=Aj+P用相似的方法計(jì)算出虛擬讀地址VAD;就是說,如果當(dāng)前數(shù)據(jù)組的起始地址由Aj’表示,讀指針用P’表示,可以用下式計(jì)算VAD=Aj’+P’由于實(shí)際讀地址RAD和虛擬讀地址VAD彼此獨(dú)立地產(chǎn)生,所以為每個(gè)RAD和VAD提供起始地址(Aj)及其他類似數(shù)據(jù)。
順序地從數(shù)據(jù)存儲器10中,根據(jù)實(shí)際讀地址計(jì)算器16產(chǎn)生的實(shí)地讀地址RAD讀出開始部分波形(波形數(shù)據(jù)W1)的采樣數(shù)據(jù)。如前所述,所述實(shí)際讀地址RAD包括整數(shù)和十進(jìn)制小數(shù)部分,從而根據(jù)實(shí)際讀地址RAD的整數(shù)部分從波形存儲器10中讀出波形數(shù)據(jù)W1,通過內(nèi)插電路11,在根據(jù)實(shí)際讀地址RAD的十進(jìn)制小數(shù)部分的采樣數(shù)據(jù)間進(jìn)行內(nèi)插。
于是,一旦讀指針p的值大于當(dāng)前數(shù)據(jù)組長度Tj,即P>Tj,這意味著,從當(dāng)前數(shù)據(jù)組讀出波形已完成,這樣,就可以實(shí)施預(yù)定的更新或改進(jìn)操作,以便傳輸或偏移到下一個(gè)數(shù)據(jù)組。就是說,將P和Tj之間的差值作為新的讀指針置入寄存器20中,將當(dāng)前數(shù)據(jù)組長度Tj與當(dāng)前數(shù)據(jù)組開始地址Aj相加的值置入寄存器21,作為下一個(gè)數(shù)據(jù)組的開始值,如下P←P-TjAj←Aj+Tj于是,置于寄存器19中的變量j增加1;就是J←J+1。
因此,重復(fù)相同的操作,從波形存儲器10中順序地讀出波形數(shù)據(jù)W1,并隨著讀指針p以一個(gè)對應(yīng)于音調(diào)信息的速率增加,從一個(gè)數(shù)據(jù)組到另一個(gè)數(shù)據(jù)組進(jìn)行偏移。
一旦完成了開始部分波形最后一個(gè)數(shù)據(jù)組的讀出,就對存儲的一個(gè)循環(huán)部分信息進(jìn)行處理。為保持?jǐn)?shù)據(jù)連續(xù),用與上述相類似的方式更新讀指針p;就是說,P←P-Tj,其中Tj表示開始部分(Tm-1)波形最后數(shù)據(jù)組的長度。
為了讀出這樣一個(gè)循環(huán)部分波形,參考調(diào)制深度信息ML,確定用于根據(jù)所需調(diào)制深度選擇一個(gè)循環(huán)部分波形變量i的值,并且將所確定的值置入寄存器22中。另外,變量j表示數(shù)據(jù)組中的某個(gè)特定位置(順序?yàn)閿?shù)據(jù)組順序),將代表循環(huán)部分波形的第一數(shù)據(jù)組的值“-2”置入寄存器19。于是,根據(jù)上述兩變量i和j,從波形組數(shù)據(jù)存儲器15中讀出循環(huán)部分波形的第一數(shù)據(jù)組的起始地址Ai-2,并作為起始地址Aij置入當(dāng)前數(shù)據(jù)組開始地址寄存器21中;就是Aij←Ai-2。進(jìn)一步說,根據(jù)上述兩變量i和j,從波形組數(shù)據(jù)存儲器15中讀出表示第一數(shù)據(jù)組長度Ti-2的數(shù)據(jù),之后將其置入預(yù)定的內(nèi)部寄存器中;就是Tij←Ti-2。
如上文中所述關(guān)于開始部分波形讀出所述,將讀指針p與當(dāng)前數(shù)據(jù)組的開始地址Aij相加計(jì)算實(shí)際讀地址RAD;就是說用下式RAD=Aij+P如上所述,實(shí)際讀地址計(jì)算器16中的讀指針p以一個(gè)對應(yīng)于音調(diào)信息的變化寬度(變化率)有規(guī)律增加,這樣,根據(jù)實(shí)際讀地址計(jì)算器16產(chǎn)生的實(shí)際讀地址RAD從波形存儲器10中順序地讀出循環(huán)部分波形的波形數(shù)據(jù)W1。
于是,一旦讀指針的值大于當(dāng)前數(shù)據(jù)組的長度Tij,即P>Tij,執(zhí)行更新讀指針p的操作,設(shè)置下一個(gè)數(shù)據(jù)組的開始地址Aij,并更新數(shù)據(jù)組確定變量j如下P←P-TijAij←Aij+Tijj←j+1因而,重復(fù)相同的操作,以便從波形存儲器10中順序地讀出波形數(shù)據(jù)W1(波形數(shù)據(jù)W2也同樣),隨著讀指針p以對應(yīng)于音調(diào)信息的速率增加,順序地從一個(gè)數(shù)據(jù)組到另一個(gè)數(shù)據(jù)組進(jìn)行偏移。
于是,一旦完成了循環(huán)部分波形最后一個(gè)數(shù)據(jù)組的讀出,控制回到循環(huán)部分波形(圖10)的第一組數(shù)據(jù),以便接著重復(fù)(循環(huán))讀出由“n”個(gè)數(shù)據(jù)組組成的循環(huán)波形段。
與上述的類似,如j=n+1,P>Tij條件的確立,可以判斷最后一個(gè)數(shù)據(jù)組的讀出已完成。
為了回到循環(huán)波形段的第一數(shù)據(jù)組,執(zhí)行更新讀指針p的操作,設(shè)置循環(huán)波形段第一數(shù)據(jù)組的開始AiO作為下一個(gè)數(shù)據(jù)組的開始地址Aij,并設(shè)置數(shù)據(jù)組確定變量j到0如下P←P-TijAij←Ai0j←0顯然,為了重復(fù)(循環(huán))讀出,實(shí)際讀地址RAD和虛擬讀地址VAD必須以循環(huán)方式一同增進(jìn)。為此,僅需當(dāng)實(shí)際讀地址RAD返回到循環(huán)波形段的第一數(shù)據(jù)組時(shí),同時(shí)將虛擬讀地址VAD移回到靠近波形段開始點(diǎn),并與實(shí)際讀地址RAD保持一個(gè)距離或差值。相反,當(dāng)用于產(chǎn)生實(shí)際讀地址RAD的電路檢測到已完成循環(huán)波形段最后數(shù)據(jù)組的讀出時(shí),將虛擬讀地址VAD移回到循環(huán)波形段的第一數(shù)據(jù)組,而實(shí)際讀地址RAD同時(shí)回到靠近循環(huán)波形段開始點(diǎn),并與實(shí)際讀地址RAD保持一個(gè)距離或差值。
在上述操作的基礎(chǔ)上,實(shí)際讀地址RAD和虛擬讀地址VAD分別由實(shí)際讀地址計(jì)算器16和虛擬讀地址計(jì)算器17產(chǎn)生,并根據(jù)實(shí)際讀地址RAD從波形存儲器10中順序地讀出波形數(shù)據(jù)。如上所述,當(dāng)擴(kuò)展/壓縮比SCR為“1”時(shí),在實(shí)際讀地址計(jì)算器16和虛擬讀地址計(jì)算器17中的讀指針p的值相同,并且實(shí)際讀地址RAD和虛擬讀地址VAD值彼此相一致。然而,當(dāng)從值“1”到實(shí)施時(shí)間軸波形數(shù)據(jù)擴(kuò)展/壓縮控制改變擴(kuò)展/壓縮比SCR時(shí),實(shí)際讀地址RAD和虛擬讀地址VAD的增進(jìn)斜率間發(fā)生差異,這樣,根據(jù)本發(fā)明實(shí)施的TSC控制方案,實(shí)施控制使得實(shí)際讀地址RAD的增進(jìn)傾角跟隨虛擬讀地址VAD的增進(jìn)傾角變化,同時(shí)實(shí)際讀地址RAD保持在一個(gè)對應(yīng)于所需音調(diào)的增進(jìn)斜率,如上面提到的。這一控制,將在下面具體描述。
在圖2中,偏移控制電路14持續(xù)監(jiān)視實(shí)際讀地址RAD和虛擬讀地址VAD之間的偏差或差值,從而一旦所述差值電路超出一定的標(biāo)準(zhǔn)值,它就對實(shí)際讀地址計(jì)算器16發(fā)出偏移指令。將本實(shí)施例中預(yù)定的參考值設(shè)置為當(dāng)前數(shù)據(jù)組的長度Tj或Tij的一定百分比(比如1/2),也可以任意設(shè)置。為此,將當(dāng)前數(shù)據(jù)組的長度Tj或Tij提供給偏移控制電路14。按順序,偏移控制電路14沿信息識別方向或差值或偏差的極性方向給實(shí)際讀地址計(jì)算器16發(fā)出一個(gè)偏移指令,即無論實(shí)際讀地址RAD大于虛擬讀地址VAD(如圖4實(shí)例)還是小于虛擬讀地址VAD(如圖3實(shí)例)。實(shí)際讀地址計(jì)算器16響應(yīng)所述偏移指令,以下面方式進(jìn)行操作。
就是,實(shí)際讀地址計(jì)算器16響應(yīng)所述偏移指令識別一個(gè)實(shí)際讀地址將偏移到的數(shù)據(jù)組,并且接著為副勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)提供寄存器19中的偏移到的組的唯一的組數(shù)j。為了便于說明,偏移到的數(shù)據(jù)組在此后由標(biāo)記j(new)表示。一般,偏移到的數(shù)據(jù)組的唯一的組數(shù)比當(dāng)前數(shù)據(jù)組的組數(shù)大1或小于1(即,當(dāng)前數(shù)據(jù)組的順序數(shù)加1或減1)。換句話說,如圖4中的例子,如果實(shí)際讀地址RAD大于虛擬讀地址VAD,于是j(new)=j(luò)-1。如果如圖3中的例子,如果實(shí)際讀地址RAD小于虛擬讀地址VAD,于是j(new)=j(luò)+1。
此后,將偏移到的數(shù)據(jù)組的開始地址Aij或Aj從波形組信息存儲器15中讀出并存儲到用于副勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)的寄存器21中。為了便于說明,存儲在用于副勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)的寄存器21中的開始地址Aij或Aj由標(biāo)記Aij(new)表示。
使用與用于主勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)相同的讀指針p,計(jì)算用于副勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)的實(shí)際讀地址RAD2如下RAD2=Aij(new)+P用這一方法,產(chǎn)生了新的實(shí)際讀地址,它與用于主勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)的偏移實(shí)際讀地址RAD相等,該主勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)恰恰在偏移指令前一個(gè)對應(yīng)于一個(gè)數(shù)據(jù)組的量。輸出新的實(shí)際讀地址作為用于副勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)的實(shí)際讀地址RAD2。另一方面,實(shí)際讀地址RAD2接著隨讀指針p的值變化如下RAD=Aij+P按照上述方式,從波形存儲器10讀出對應(yīng)于主勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)的實(shí)際讀地址RAD的波形數(shù)據(jù)W1和對應(yīng)于副勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)的實(shí)際讀地址RAD2的波形數(shù)據(jù)W2,并通過插入電路11、12送至勻滑轉(zhuǎn)換合成部分13。
勻滑轉(zhuǎn)換合成部分13響應(yīng)來自偏移控制電路14的偏移指令,在主副勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)的波形數(shù)據(jù)W1和波形數(shù)據(jù)W2之間進(jìn)行勻滑轉(zhuǎn)換合成運(yùn)算。具體說,偏移到(目標(biāo))波形數(shù)據(jù)W2由一個(gè)自“0”到“1”逐漸增加的系數(shù)函數(shù)按比例定標(biāo)(即,具有十進(jìn)制小數(shù)部分的一個(gè)系數(shù)函數(shù)),同時(shí)波形數(shù)據(jù)W1由一個(gè)自“1”到“0”逐漸減少的系數(shù)函數(shù)按比例定標(biāo)(即,具有十進(jìn)制小數(shù)部分的一個(gè)系數(shù)函數(shù))。將彼此經(jīng)過定標(biāo)的波形數(shù)據(jù)W1和W2進(jìn)行加法合成。在這一例中,主副勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)間的漸強(qiáng)漸弱關(guān)系與圖3和圖4所示的關(guān)系是相反的,然而,勻滑轉(zhuǎn)換合成得到相同的結(jié)果。
完成了勻滑轉(zhuǎn)換合成,寄存器19和21間的主副關(guān)系改變,以便將偏移到實(shí)際讀地址RAD2轉(zhuǎn)換成用于主勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)的實(shí)際讀地址RAD;就是說j←j(new)Aij←Aij(new)于是,對于副勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)的實(shí)際讀地址RAD2的產(chǎn)生結(jié)束。這樣對于勻滑轉(zhuǎn)換合成,波形數(shù)據(jù)W1的波形區(qū)域能夠持續(xù)以一個(gè)下落特征定標(biāo),同時(shí)波形數(shù)據(jù)W2的波形區(qū)域能夠持續(xù)以一個(gè)上升特征定標(biāo);進(jìn)一步說,不必將實(shí)際讀地址RAD開關(guān)以送至偏移控制電路14,這將得到降低了的復(fù)雜性和提高了的方便性。即使完成了勻滑轉(zhuǎn)換合成也可以不將寄存器19和21之間的主副關(guān)系倒置;在這種情況下,有必要使用上升(增加)和下落(減少)定標(biāo)特征用于波形數(shù)據(jù)W1和W2的波形區(qū)域,并且還可以將實(shí)際讀地址RAD和RAD2送至偏移控制電路14。
當(dāng)在完成勻滑轉(zhuǎn)換合成前需要在數(shù)據(jù)組間進(jìn)行偏移時(shí),僅需在一個(gè)波形區(qū)域的操作的基礎(chǔ)上控制在主副勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)的數(shù)據(jù)組之間進(jìn)行的偏移,為了所述波形區(qū)域數(shù)據(jù),讀出偏移到的數(shù)據(jù)組j(new),換句話說,一旦讀指針p的值變得對于偏移到數(shù)據(jù)組長度Tij(new),將讀指針p與長度Tij間的差值設(shè)為讀指針p的新值;就是,P←P-Tij(new)。于是,對主副勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)的起始地址Aij用共同的長度數(shù)據(jù)Tij(new)如下進(jìn)行更新Aij←Aij+Tij(new)j(new)和j的值也分別增加1,如下j(new)←j(new)+1j←j+1另外,以下列方式控制勻滑轉(zhuǎn)換合成開始計(jì)時(shí),就是需要在勻滑轉(zhuǎn)換合成期間不升高偏移。
注意,在勻滑轉(zhuǎn)換合成期間虛擬讀地址VAD的產(chǎn)生是持續(xù)的;然而,在勻滑轉(zhuǎn)換合成期間在地址RAD和VAD之間的比較可以有選擇地暫停。
此處,為了提供如圖3圖4所示的相同的勻滑轉(zhuǎn)換合成的主副關(guān)系,僅需這樣,響應(yīng)從偏移控制電路14發(fā)出的偏移指令,將存儲在寄存器19和21中的主勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)(即主勻滑轉(zhuǎn)換信道)的數(shù)據(jù)j和Aij傳送到用于副勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)(即副勻滑轉(zhuǎn)換信道)的寄存器,并且將偏移到數(shù)據(jù)組的數(shù)據(jù)j(new)和Aij(new)設(shè)置在用于主勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)(即主勻滑轉(zhuǎn)換信道)的寄存器內(nèi)。以這樣的方式,波形數(shù)據(jù)W1成為目標(biāo)值,波形數(shù)據(jù)W1組以升高的形式變化,波形數(shù)據(jù)W2以降低的形式變化。
當(dāng)不進(jìn)行勻滑轉(zhuǎn)換合成時(shí),響應(yīng)偏移控制電路14發(fā)出的偏移指令,可以用指示了偏移到的數(shù)據(jù)組及其開始地址Aij(new)的數(shù)據(jù)j(new)直接代替當(dāng)前數(shù)據(jù)組的數(shù)據(jù)j和Aij。于是,如圖3圖4重實(shí)線所示,實(shí)際讀地址RAD改變了一個(gè)對應(yīng)于一個(gè)數(shù)據(jù)組的量。在這種情況下,可以在當(dāng)前數(shù)據(jù)組的波形讀出已到達(dá)數(shù)據(jù)組的最后一個(gè)地址時(shí),發(fā)出偏移指令;這樣,在當(dāng)前數(shù)據(jù)組的最后波形段與偏移到的數(shù)據(jù)組的第一波形段相連時(shí),可以得到光滑的傳輸或相互連接。
按照上述方式,根據(jù)調(diào)制速度信息MS對擴(kuò)展/壓縮比SCR進(jìn)行設(shè)置,如圖3或圖4所示產(chǎn)生虛擬讀地址VAD,根據(jù)擴(kuò)展/壓縮比SCR控制其增進(jìn)斜率。另一方面,在如圖3或4所示在沿時(shí)間軸進(jìn)行擴(kuò)展或壓縮之后,產(chǎn)生實(shí)際讀地址RAD,以跟隨虛擬讀地址VAD的變化,同時(shí)保持與音調(diào)信息確定的基本音調(diào)相對應(yīng)的斜率,與此相呼應(yīng),在沿時(shí)間軸對其進(jìn)行控制,將其擴(kuò)展之后,從波形存儲器10中讀出波形數(shù)據(jù)。這樣,在從波形存儲器10中讀出高品質(zhì)多周期波形數(shù)據(jù)時(shí),該波形數(shù)據(jù)其上施加了調(diào)制效果,調(diào)制周期(調(diào)制速度),即沿時(shí)間軸的讀出位置可以根據(jù)調(diào)制速度信息MS可變地進(jìn)行控制,并且這樣可以提供具有較高可控性的高品質(zhì)調(diào)制效果。
注意,在音發(fā)生過程中,當(dāng)實(shí)時(shí)改變調(diào)制速度信息MS時(shí),擴(kuò)展/壓縮此SCR也會隨調(diào)制速度信息MS變化,從而虛擬讀地址VAD也會以增進(jìn)斜率變化。結(jié)果,可在時(shí)間上控制對再現(xiàn)的讀出波形沿時(shí)間軸的擴(kuò)展或壓縮。
當(dāng)調(diào)制深度變化時(shí)勻滑轉(zhuǎn)換合成部分13,也可以起作用。換句話說,當(dāng)調(diào)制深度ML的值變化并且需要改變寄存器22中的變量i時(shí),將改變了的變量i(new)和相應(yīng)的數(shù)據(jù)組的開始地址Ai(new)j分別置入寄存器21和22,用于副勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)(即,在副勻滑轉(zhuǎn)換信道內(nèi))。
使用與用于勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)相同的讀指針p,用于副勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)RAD2的實(shí)際讀地址RAD可由下列算出RAD2=Ai(new)j+P這樣,作為用于副勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)的一個(gè)實(shí)際讀地址RAD2,產(chǎn)生并輸出一個(gè)指示了在調(diào)制深度改變之后的新波形的一個(gè)實(shí)際讀地址。實(shí)際讀地址將隨讀指針p的變化而變化。
另一方面,指示了調(diào)制深度改變之前的新波形的一個(gè)實(shí)際讀地址將繼續(xù)隨讀指針p的變化而改變?nèi)缦翿AD=Aij+P按照上述方式,將對應(yīng)于用于主勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)的實(shí)際讀地址RAD的波形數(shù)據(jù)W1和對應(yīng)于用于副勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)的實(shí)際讀地址RAD2的波形數(shù)據(jù)W2從波形存儲器10中讀出,并通過插入電路11、12送至勻滑轉(zhuǎn)換合成部分13。
勻滑轉(zhuǎn)換合成部分13響應(yīng)來自實(shí)際讀地址計(jì)算器16的調(diào)制深度變化指令,在從主副勻滑轉(zhuǎn)換信道中讀出的波形數(shù)據(jù)W1和W2之間執(zhí)行勻滑轉(zhuǎn)換合成運(yùn)算。具體說,將從副勻滑轉(zhuǎn)換合成信道讀出的波形數(shù)據(jù)W2用一個(gè)系數(shù)函數(shù)進(jìn)行標(biāo)定,該系數(shù)函數(shù)從系數(shù)“0”到系數(shù)“1”逐漸增加(即具有十進(jìn)制小數(shù)部分的系數(shù)的函數(shù))即漸強(qiáng),同時(shí),將從主勻滑轉(zhuǎn)換合成信道讀出的波形數(shù)據(jù)W1用一個(gè)系數(shù)函數(shù)進(jìn)行標(biāo)定,該系數(shù)函數(shù)從系數(shù)“1”到系數(shù)“0”(即具有十進(jìn)制小數(shù)部分的系數(shù)的函數(shù))逐漸減少即漸弱。于是對如此進(jìn)行了標(biāo)定的波形數(shù)據(jù)W1和W2進(jìn)行加法合成。
完成了勻滑轉(zhuǎn)換合成之后,在寄存器21和22之間的主副關(guān)系發(fā)生倒置,以便將目標(biāo)實(shí)際讀地址RAD2改變?yōu)橛糜谥鲃蚧D(zhuǎn)換波形區(qū)域數(shù)據(jù)的實(shí)際讀地址RAD,其方式與上述相似;就是Aij←Ai(new)ji←i(new)用這種方式,從調(diào)制深度改變前的舊波形到調(diào)制深度改變后的新波形,通過勻滑轉(zhuǎn)換產(chǎn)生波形偏移或傳輸。
還是在這種情況下,如果需要在勻滑轉(zhuǎn)換完成前的數(shù)據(jù)組之間進(jìn)行偏移,僅需在其中一個(gè)信道的控制基礎(chǔ)上控制在主副勻滑轉(zhuǎn)換信道內(nèi)的數(shù)據(jù)組之間進(jìn)行的偏移,為了上述信道從偏移到數(shù)據(jù)組中讀出數(shù)據(jù)。另一方面,可以用在勻滑轉(zhuǎn)換合成的過程中不發(fā)生偏移的方式控制勻滑轉(zhuǎn)換合成開始定時(shí)。
上述描述僅以說明為目的,在不離開本發(fā)明基本概念的前提下盡可能有多種變化形式,包括以下的形式。
例如,可以將表示一種個(gè)音色的波形數(shù)據(jù)如圖10中所示對于每一個(gè)音符范圍進(jìn)行存儲。在這種情況下,波形起始部分的整個(gè)長度和每個(gè)循環(huán)部分波形可以設(shè)置成在音符范圍間不同或在整個(gè)范圍上相同。進(jìn)一步說,每個(gè)循環(huán)波形段的長度可以設(shè)置成在音符范圍之間不同或在整個(gè)范圍上相同。
本發(fā)明已經(jīng)參照圖10描述了,根據(jù)兩個(gè)不同的調(diào)制深度水平存儲兩組施以調(diào)制效果的波形數(shù)據(jù),也可以存儲一組或三組或更多組這樣的波形數(shù)據(jù)。
如前面提到的,上述存儲的各自具有不同深度調(diào)制效果的波形數(shù)據(jù)的組最好具有盡可能相似的音調(diào)和調(diào)制周期;然而,這也不是必需的。因?yàn)橐粽{(diào)和調(diào)制周期的差別是可以調(diào)整的,通過在實(shí)際讀地址RAD和虛擬讀地址VAD的產(chǎn)生過程中,對音調(diào)信息和擴(kuò)展/壓縮比SCR進(jìn)行控制,用這種方式,事實(shí)上將各組的波形數(shù)據(jù)其音調(diào)和調(diào)制周期變成相同的。
進(jìn)一步說,存儲在波形數(shù)據(jù)存儲器10中的波形數(shù)據(jù)不必是一個(gè)具有周期性調(diào)制效果的波形數(shù)據(jù);就是說,可以存儲任何其它形式的波形數(shù)據(jù)。對其進(jìn)行調(diào)制的音參數(shù)可以不僅是頻率和音量,諸如音色。
更進(jìn)一步,不必在波形數(shù)據(jù)存儲器10中存儲起始部分波形,可以僅存儲循環(huán)部分波形。除了循環(huán)部分波形(和起始部分波形)外,還可以存儲具有上升音特性的結(jié)尾部分波形,從而在檢測到鍵關(guān)信號后,通過讀出結(jié)尾部分波形而不是讀出循環(huán)部分波形減弱所發(fā)生的音。更進(jìn)一步,對每個(gè)音可以存儲不只一個(gè),而是多個(gè)循環(huán)部分波形,從而可以在時(shí)間上對循環(huán)部分波形的讀出進(jìn)行開關(guān);例如,一個(gè)循環(huán)部分波形可以被讀出多次,同時(shí)可以多次讀出另一個(gè)循環(huán)部分波形。在另一種形式中,可以存儲待發(fā)音從開始到結(jié)尾的整個(gè)波形數(shù)據(jù)。
在另一種形式中,存儲在波形數(shù)據(jù)存儲器10中的波形數(shù)據(jù)可以在不同的音色之間,在同一音色的不同范圍之間,或在其它不同的情況下共享。
此外,在波形數(shù)據(jù)存儲器10中存儲的波形數(shù)據(jù)的每個(gè)數(shù)據(jù)組中的對應(yīng)于頻率的周期數(shù),可以是1或大于1,可以是一個(gè)整數(shù)或非整數(shù)。單個(gè)數(shù)據(jù)組的開始點(diǎn)不必在頻率相同的點(diǎn),并且可以是其它連接關(guān)系,只要它們可以在兩個(gè)波形段之間提供光滑的連接就可以。
不必將波形數(shù)據(jù)存儲器10中存儲的波形數(shù)據(jù)在數(shù)據(jù)組中進(jìn)行處理。換句話說,本發(fā)明的TSC控制方案使用的波形數(shù)據(jù)不需要為處理而分成數(shù)據(jù)組。
進(jìn)一步說,將從波形數(shù)據(jù)存儲器10中為每一個(gè)數(shù)據(jù)組讀出的讀指針p和開始地址Aij或Aj更新,同樣的讀指針p和開始地址Aij或Ai可以接著用于順序地讀出多個(gè)數(shù)據(jù)組。然而在這種情況下,需要為每個(gè)主副勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)提供兩個(gè)讀指針p。例如,為了響應(yīng)偏移控制電路14發(fā)出的偏移指令,可以在偏移到的數(shù)據(jù)組的開始地址Aij或Ai的初始值之后實(shí)施勻滑轉(zhuǎn)換合成,并且可以將讀指針p設(shè)置在當(dāng)前不進(jìn)行數(shù)據(jù)讀出的副勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)的寄存器中。
很顯然,上面提到的變化不僅適用于將TSC控制方案用于讀出一個(gè)具有調(diào)制效果的讀出數(shù)據(jù)的情況下,而且適用于將TSC控制方案用于其它目的的情況下。圖14和圖15的簡圖表示了產(chǎn)生具有非線性特性的虛擬讀地址VAD的實(shí)例。具體說,圖14表示了產(chǎn)生具有指數(shù)函數(shù)特征的虛擬讀地址VAD的情況,而圖15表示了產(chǎn)生具有對數(shù)函數(shù)特征的虛擬讀地址VAD的情況。為此,不需要特別的調(diào)整就可以適用圖2中波形發(fā)生部分111的構(gòu)成形式。然而,需要調(diào)整轉(zhuǎn)換部分18的構(gòu)成形式;必須為轉(zhuǎn)換部分18提供一個(gè)指數(shù)函數(shù)發(fā)生器或者一個(gè)對數(shù)函數(shù)發(fā)生器以便響應(yīng)“音符開”(note-on)信號,隨時(shí)間的推移從所發(fā)音的開始起產(chǎn)生隨指數(shù)函數(shù)特征或隨對數(shù)函數(shù)特征變化的擴(kuò)展/壓縮比SCR。也是在這種情況下,根據(jù)本發(fā)明的TSC控制方案控制實(shí)際讀地址RAD的產(chǎn)生,以跟隨虛擬讀地址VAD的非線性增進(jìn),同時(shí),如圖示,相對于所需音調(diào)保持恒定的增進(jìn)斜率。當(dāng)然,如在上述實(shí)施例中所述,可以視需要為勻滑轉(zhuǎn)換合成產(chǎn)生對于副勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)的實(shí)際讀地址RAD2。這樣,在非線性擴(kuò)展或壓縮的條件下,能夠可再現(xiàn)地讀出存儲在波形數(shù)據(jù)存儲器10中的波形數(shù)據(jù)。
顯然,在這種非線性虛擬讀地址VAD基礎(chǔ)上TSC控制方案不僅可以適用于上述調(diào)制效果施加控制而且還適用于任何其它目的。因?yàn)椋瑘D示的非線性虛擬讀地址VAD從音發(fā)生的開始點(diǎn)經(jīng)過一個(gè)已知的周期遵循根據(jù)音調(diào)信息的基礎(chǔ)地址增進(jìn)路徑(圖14、15的時(shí)間軸開始點(diǎn)與音發(fā)生的開始點(diǎn)對應(yīng)),在已知的周期中間,實(shí)質(zhì)上沒有進(jìn)行擴(kuò)展/壓縮。這樣對于開始部分,可以易于實(shí)施不進(jìn)行擴(kuò)展壓縮的控制。換句話說,在調(diào)制效果施加控制的情況下,即使從開始部分調(diào)制速度信息就表示了一個(gè)相對大的值,對于開始部分也可以阻止實(shí)際讀地址RAD與虛擬讀地址VAD之間的差值過大。在下面結(jié)合圖41、42將介紹適用這種非線性虛擬讀地址VAD的實(shí)例。
圖16和圖17的簡圖表示了與上述實(shí)施例相比,TSC控制方案功能不考慮待發(fā)音音調(diào)變化而保持整個(gè)音發(fā)生時(shí)間相對恒定的實(shí)例。
在這些圖中,點(diǎn)畫線代表了在音調(diào)基礎(chǔ)上的基礎(chǔ)地址增進(jìn),而圖16的實(shí)例表示了比圖17的實(shí)例較大的地址增進(jìn)斜率和相應(yīng)的更高的音調(diào)。在圖16和圖17中,虛擬讀地址VAD的斜率都由重實(shí)線表示。進(jìn)一步說,如在圖3等的實(shí)施例中,每一條實(shí)線代表了實(shí)際讀地址RAD的增進(jìn)狀況,而每一條波浪線代表了用于勻滑轉(zhuǎn)換合成的對于勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)的實(shí)際讀地址RAD2的增進(jìn)狀況。為此,不需要特別的調(diào)整就可以適用圖2中波形發(fā)生部分111的構(gòu)成形式。僅需以這樣的方式調(diào)整用于虛擬讀地址計(jì)算器17的讀指針p,就是不考慮待發(fā)音的音調(diào)信息規(guī)定的音調(diào),以一個(gè)在預(yù)定音調(diào)速率數(shù)據(jù)的基礎(chǔ)上的速率變化。換句話說,將“待發(fā)音的音調(diào)信息”之外的其它預(yù)定音調(diào)信息輸入虛擬讀地址計(jì)算器17中。但是,在此假定致使用于實(shí)際讀地址計(jì)算器16的讀指針p根據(jù)“待發(fā)音的音調(diào)信息”變化。還是在這種情況下,可以根據(jù)一個(gè)擴(kuò)展/壓縮比數(shù)據(jù)值可變地控制虛擬讀地址VAD的增進(jìn)斜率,并且可以控制沿時(shí)間軸擴(kuò)展或壓縮所存儲的波形數(shù)據(jù)。
顯然,在這種不考慮音調(diào)而變化的虛擬讀地址VAD基礎(chǔ)上TSC控制方案不僅可以適用于上述調(diào)制效果施加控制而且適用于任何其它目的。在以不同的音調(diào)讀出同一存儲數(shù)據(jù)的情況下,該TSC控制方案通過在表面上對相對高的音調(diào)擴(kuò)展音發(fā)生時(shí)間位置,對相對低的音調(diào)壓縮音發(fā)生時(shí)間位置,能夠總提供同樣的音發(fā)生時(shí)間長度。如果實(shí)施了調(diào)制效果施加控制,例如,該TSC控制方案即使在音調(diào)發(fā)生改變的情況下,不改變調(diào)制效果的周期。
結(jié)合圖3、4和圖14-17介紹幾個(gè)在TSC控制方案基礎(chǔ)上的控制實(shí)例,對本領(lǐng)域普通技術(shù)人員來說,運(yùn)用這些實(shí)例的部分或全部的組合,可以對圖5和圖6所示的波形進(jìn)行控制使其延時(shí)間軸擴(kuò)展/壓縮。運(yùn)用本發(fā)明的TSC控制方案,可以在要再現(xiàn)的音波形上進(jìn)行正向調(diào)制控制。在循環(huán)或重復(fù)讀出一個(gè)存儲數(shù)據(jù)時(shí),為了有效地減少或消除重復(fù)讀出一個(gè)相同的循環(huán)波形段造成的單一性,可以實(shí)施這種控制。
圖18是一個(gè)簡圖,與圖3等類似,圖示了通過實(shí)施TSC控制進(jìn)行周期性或非周期性控制時(shí),虛擬讀地址VAD和實(shí)際讀地址RAD的增進(jìn)或變化形式。
在這種情況下,如圖所示,導(dǎo)致虛擬讀地址VAD周期性變化(或非周期性變動),與此相對應(yīng),跟隨虛擬讀地址VAD的變動實(shí)際讀地址RAD重復(fù)一個(gè)數(shù)據(jù)偏移或跳躍,同時(shí),在待發(fā)音的音調(diào)基礎(chǔ)上保持一個(gè)基礎(chǔ)增進(jìn)斜率。為此,不需要特別的調(diào)整就可以適用圖2中波形發(fā)生部分111的構(gòu)成形式;但是轉(zhuǎn)換部分18產(chǎn)生的擴(kuò)展/壓縮比數(shù)據(jù)SCR需要圍繞預(yù)定的標(biāo)準(zhǔn)值“1”增減。為了實(shí)現(xiàn)此要求,可以使用一個(gè)適當(dāng)?shù)慕?jīng)過調(diào)制的波形信號作為“其它信息”,將其從控制寄存器113(圖1)送至轉(zhuǎn)換部分18與此對應(yīng),虛擬讀地址計(jì)算器17產(chǎn)生以圖18所示方式變化的虛擬讀地址VAD。注意,在為了消除循環(huán)讀出造成的單一性而采用本控制時(shí),地址開始點(diǎn)可以用作循環(huán)讀出的開始點(diǎn),從而所述音的開始部分不會受控于圖18的控制。
在圖18的實(shí)例中,存儲在波形數(shù)據(jù)存儲器10中的波形數(shù)據(jù)不必是一個(gè)預(yù)先施加了調(diào)制的數(shù)據(jù)。圖19是一個(gè)簡圖,與圖10的類似,表示了要存儲在波形數(shù)據(jù)存儲器10中的對一個(gè)音的多周期波形數(shù)據(jù)的實(shí)例。具體地說,對于一個(gè)音,將開始部分和循環(huán)部分存儲起來,并按前面的方式分成數(shù)據(jù)組。在這種情況下,不必在圖10所示的循環(huán)部分波形前提供一個(gè)“連接波形段”,因?yàn)殚_始部分波形和循環(huán)部分波形是彼此一一對應(yīng)的。換句話說,開始部分波形和循環(huán)部分波形僅需按最初的方式產(chǎn)生,從而繼續(xù)互相連接。圖19的循環(huán)部分波形包括“n”個(gè)數(shù)據(jù)組,并且以循環(huán)或重復(fù)的方式讀出所有這些數(shù)據(jù)組;就是說,循環(huán)部分波形的第一數(shù)據(jù)組的開始地址A00對應(yīng)于一個(gè)循環(huán)開始地址。如果開始部分波形和循環(huán)部分波形按最初的方式產(chǎn)生,從而彼此不再互相連接,于是,與圖10所示的類似,就需要預(yù)先將“連接波形段”提供給循環(huán)部分波形。
注意,可以通過采樣一個(gè)真實(shí)樂器或類似物品以正常表演方式發(fā)出的音產(chǎn)生圖19的波形,而不需要一個(gè)如在上述最佳實(shí)施例中的預(yù)先施加調(diào)制的波形。
進(jìn)一步說,最好將存儲在波形數(shù)據(jù)存儲器10中的循環(huán)部分波形預(yù)先以如下方式進(jìn)行處理,在循環(huán)讀出的過程中,它的最后和第一波形段能夠彼此光滑連接。例如,在波形的最后和第一波形段之間進(jìn)行勻滑轉(zhuǎn)換合成,作為循環(huán)部分波形從原始波形中分離出,從而產(chǎn)生一個(gè)連接波形段,并且可以將如此產(chǎn)生的連接波形段作為循環(huán)部分波形的最后一段存儲。進(jìn)一步說,存儲在波形數(shù)據(jù)存儲器10中的開始部分波形未必一定是原始產(chǎn)生的開始部分波形的全部,可以是從原始波形取出一個(gè)中間部分并將原始波形的剩余部分之間進(jìn)行勻滑轉(zhuǎn)換合成而得到的。當(dāng)然,可以為多個(gè)音符范圍準(zhǔn)備和存儲如圖19中所示的各自具有開始和循環(huán)部分的多個(gè)波形,如上所述,每個(gè)音符范圍對應(yīng)一個(gè)。在這種情況下,可將對應(yīng)音符范圍在波形數(shù)據(jù)存儲器10中的對應(yīng)存儲空間視需要設(shè)置為相同的或不同的;例如,如果各自的存儲空間相同,在所存儲的波形數(shù)據(jù)中的周期數(shù),低音符范圍的此高音符范圍的小,因?yàn)榈鸵舴秶拿恐芷诓蓸訑?shù)更多。
當(dāng)根據(jù)圖19的實(shí)例實(shí)施控制時(shí),可以利用控制單元102(圖1)執(zhí)行圖11和圖12所示的相同的主程序和鍵開情況處理??赏ㄟ^主程序中的特征控制器處理產(chǎn)生調(diào)制波形信號,可以按圖20所示的方式實(shí)施所述特征控制器處理。在圖20的特征控制器處理中,首先在步驟S30判定是否已經(jīng)到達(dá)預(yù)定的控制時(shí)間,以便每一個(gè)控制時(shí)間產(chǎn)生一個(gè)所調(diào)制的波形信號的采樣值。如果判定結(jié)果是肯定的,控制進(jìn)行到步驟S31以產(chǎn)生經(jīng)調(diào)制的波形信號的當(dāng)前采樣值數(shù)據(jù)??梢詫⒋鎯α怂枵{(diào)制波形的存儲器的讀地址增加1并根據(jù)增加了的讀地址讀出一個(gè)同樣值的數(shù)據(jù),從而得到當(dāng)前采樣值數(shù)據(jù)。在這種情況下,存儲在波形存儲器中的所調(diào)制的波形可以是任意形狀,諸如非周期性振蕩波形和周期性正弦波形。另外,可以采用低頻振蕩器(LFO)產(chǎn)生經(jīng)調(diào)制的波形,或使用一個(gè)隨機(jī)數(shù)發(fā)生器,并且利用其產(chǎn)生的隨機(jī)數(shù)直接或經(jīng)過必要處理作為當(dāng)前采樣值數(shù)據(jù)。在后一種情況下,用TSC控制實(shí)施隨機(jī)調(diào)制控制。在下面的步驟S32,根據(jù)產(chǎn)生的調(diào)制波形信號的采用值產(chǎn)生擴(kuò)展/壓縮比設(shè)置信息。該擴(kuò)展/壓縮比設(shè)置信息通過控制寄存器113(圖1)送至波形發(fā)生部分111,作為擴(kuò)展/壓縮此的數(shù)據(jù)SCR在這里直接或通過轉(zhuǎn)換部分18(圖2)傳送給虛擬讀地址計(jì)算器17。步驟S32可以省略,調(diào)制波形信號的采用值數(shù)據(jù)可以送至轉(zhuǎn)換部分18,從而轉(zhuǎn)換部分18根據(jù)調(diào)制波形信號產(chǎn)生擴(kuò)展/壓縮比SCR的數(shù)據(jù)。
虛擬讀地址計(jì)算器17對“音調(diào)信息”進(jìn)行調(diào)制時(shí),擴(kuò)展/壓縮比SCR如上面所述的,隨調(diào)制波形信號變化,于是以對應(yīng)于“音調(diào)信息”的速率產(chǎn)生虛擬讀地址VAD。如此產(chǎn)生的虛擬讀地址VAD如圖所示經(jīng)過了周期性或非周期性的振蕩調(diào)制,例如,在圖18中。于是如在圖18中所描述的,實(shí)際讀地址計(jì)算器16產(chǎn)生實(shí)際讀地址RAD,它隨虛擬讀地址VAD的擺動變化由TSC控制間歇地進(jìn)行偏移,同時(shí)保持對應(yīng)于音調(diào)信息的增進(jìn)斜率。這樣,通過以一個(gè)與音調(diào)相對應(yīng)的恒定的斜率從波形數(shù)據(jù)存儲器10中讀出所存的波形數(shù)據(jù)同時(shí)延波形數(shù)據(jù)的時(shí)間軸向前或向后跳變,可以產(chǎn)生一個(gè)經(jīng)過特殊調(diào)制控制的波形以導(dǎo)致存儲數(shù)據(jù)的時(shí)間軸擴(kuò)展和壓縮的重復(fù)。這樣,實(shí)施這樣的特殊調(diào)制控制以重復(fù)讀出波形數(shù)據(jù),實(shí)際讀出的波形可由TSC控制進(jìn)行顯著的改變,即便是重復(fù)地讀出同一重復(fù)部分波形,這樣就有效地避免了重復(fù)讀出造成的單一性。
很顯然,上述調(diào)制控制不僅對避免重復(fù)讀出造成的單一性是有用的而且對于任何其它目的也是有用的。例如,能夠方便地在想給待發(fā)音確定地或隨意地施加“振蕩”以得到特殊音調(diào)效果的位置實(shí)施調(diào)制控制。電聲樂器執(zhí)行TSC控制包括,代替鍵盤101A和特征控制器101B,用一個(gè)MIDI接口裝置用于從一個(gè)外部來源接收MIDI格式的必要特征信息,并在MIDI特征信息的基礎(chǔ)上產(chǎn)生一個(gè)音波形。在這種情況下,可以按圖21的方式對電聲樂器的構(gòu)成進(jìn)行改變。在圖21中,電聲樂器包括,用一個(gè)MIDI接口裝置代替鍵盤101A和特征控制器101B,并在TSC基礎(chǔ)上通過控制單元102、音發(fā)生單元103等進(jìn)行音再現(xiàn)操作。這里,指定任何特征形式的信息,諸如碎音、顫音、連音符和音調(diào)變調(diào),也以MIDI格式送至樂器中。如上面提到的,在波形數(shù)據(jù)存儲器10中,對應(yīng)于這些特征形式的多周期波形數(shù)據(jù)以這樣的形式進(jìn)行預(yù)存儲,其中將它們處理為適于TSC控制的數(shù)據(jù)組。當(dāng)然,電聲樂器也可以另外包括MIDI接口裝置101,而不是代替鍵盤101A和特征控制器101B。
注意,當(dāng)前的MIDI標(biāo)準(zhǔn)沒有設(shè)計(jì)成在MIDI信息中包括“指定了任何一個(gè)特征形式的信息”,這樣該信息可作為一個(gè)MIDI不包括的信息傳送。不包括的信息是根據(jù)MIDI標(biāo)準(zhǔn)指定的,用于傳輸對上述制造者來說是唯一的功能。
在圖21中,用控制單元102執(zhí)行的處理程序的主程序包括一個(gè)通過MIDI接口裝置101接收到MIDI信息的操作,從而當(dāng)接收到MIDI信息之后,如圖22所示進(jìn)行MIDI輸入情況處理。
在圖22的MIDI輸入情況處理中,接收到的MIDI信息在步驟S40進(jìn)行處理,并且在步驟S41確定所接收的MIDI信息的內(nèi)容。如果接受到的音符開信息表示了音符開(note-on)動作,控制進(jìn)行到步驟S42,以便根據(jù)指定的特征進(jìn)行音符開(note-on)處理。尤其,利用與將在圖25中的中斷處理確定的特征形式相適合的波形進(jìn)行音符開(note-on)處理。在圖23中表示了音符開(note-on)處理的實(shí)例。
如果接收到的信息代表了一個(gè)程序改變(PC),于是控制進(jìn)行到步驟S43,以便根據(jù)程序改變信息的內(nèi)容執(zhí)行程序改變處理。
進(jìn)一步說,如果接收到的信息代表了用于實(shí)時(shí)控制所發(fā)音的數(shù)據(jù),于是控制進(jìn)行到步驟S44,以便根據(jù)實(shí)時(shí)控制數(shù)據(jù)的內(nèi)容執(zhí)行一個(gè)實(shí)時(shí)控制數(shù)據(jù)確定。如果接收到的MIDI信息是控制改變信息,于是在步驟S44以對應(yīng)于特征形式的方式實(shí)施與控制改變信息相對應(yīng)的實(shí)時(shí)控制數(shù)據(jù)接收處理;就是說,在步驟S44,利用適合于圖25的中斷處理指定的特征形式的波形實(shí)施實(shí)時(shí)控制數(shù)據(jù)接收處理。在接收到的MIDI信息是另外的信息而不是控制改變信息時(shí),在步驟S44執(zhí)行的處理應(yīng)該在接收到用于實(shí)時(shí)控制一當(dāng)前所發(fā)音的控制數(shù)據(jù)時(shí)執(zhí)行。例如,即使MIDI信息是一個(gè)“聲音信息”,如果該聲音信息包括用于實(shí)時(shí)控制諸如“音變調(diào)”的一個(gè)音,則執(zhí)行S44的處理,因?yàn)椤耙糇冋{(diào)”通常包括一個(gè)根據(jù)MIDI標(biāo)準(zhǔn)的聲音信息。例如,實(shí)時(shí)控制數(shù)據(jù)接收處理可以使用圖24所示的處理程序。
如果接收到的MIDI信息是上述以外的,控制進(jìn)行到步驟S45以便根據(jù)其它信息的內(nèi)容實(shí)時(shí)控制。
圖23所示的音符開處理(note-on)包括與圖12所示的鍵開情況處理類似的步驟。換句話說,在步驟S46,表示與檢測到的音符開(note-on)情況即為發(fā)生指定的音情況相關(guān)的音的音調(diào)的信息(例如鍵碼KC)存儲在音符數(shù)據(jù)寄存器NN中,并且,將與檢測到的音符開(note-on)情況相關(guān)的音的初始接觸強(qiáng)度(即,速度數(shù)據(jù))存儲在速度寄存器VEL中,于是,在步驟S47選擇多個(gè)信道中的任何一個(gè)指定的音發(fā)生器信道CH,用于發(fā)生或產(chǎn)生指定的音,并將指定信道的唯一的信道數(shù)存入指定的信道寄存器VEL中。于是,在步驟S47選擇多個(gè)信道中的任何一個(gè)指定為音發(fā)生器信道CH,用于發(fā)聲或產(chǎn)生指定的音,并將指定信道的唯一的信道數(shù)存入指定的信道寄存器ASR中。
其后,在步驟S48,將對音發(fā)生必需的多個(gè)信息存入由存在信道寄存器ASR中的信道數(shù)指定的控制寄存器113(圖21)中,這些信息有,與當(dāng)前選擇的音色相應(yīng)的波形選擇信息,特征形式等以及包絡(luò)信息。
如上所述,這些信息中的波形選擇信息確定了用于信道中的音發(fā)生的特殊波形數(shù)據(jù);具體說,這些信息指定了存在波形數(shù)據(jù)存儲器10中的多組波形數(shù)據(jù)。進(jìn)一步說,如上所述,包絡(luò)信息是這樣的信息,它表示了目標(biāo)值以及變化率(虛線斜率)用以形成虛線包絡(luò)線對音量或其他量進(jìn)行控制。在控制寄存器113中的多種信息中有鍵碼KC,音色碼TC以及一些圖2所示的其他信息INF。進(jìn)一步說,與指定的信道寄存器ASR的存儲內(nèi)容相結(jié)合,在控制寄存器113中設(shè)置有“音調(diào)信息”,它對應(yīng)于分配給在所存的音符數(shù)寄存器NN基礎(chǔ)上的信道的音的音調(diào)頻率。與指定的信道寄存器ASR的存儲內(nèi)容相結(jié)合,在控制寄存器113中還設(shè)置有多個(gè)用于包絡(luò)信息的多個(gè)目標(biāo)水平數(shù)據(jù)以及變化率數(shù)據(jù)。盡管在此沒有具體描述,但用于在逐個(gè)信道的基礎(chǔ)上產(chǎn)生音的特殊信息是公知的,并且可以是任何其他所需的規(guī)格。將在控制寄存器113中這樣為各自提到設(shè)置的多種數(shù)據(jù)和信息送至波形發(fā)生部分111和音量控制部分112中。
在步驟S48,在由圖25的中斷處理確定的特征形勢基礎(chǔ)上進(jìn)行操作。具體地說,波形選擇信息是為選擇一專用波形產(chǎn)生的,并將其設(shè)置在對應(yīng)信道的控制寄存器11中,該專用波形對應(yīng)于所確定的特征形勢。如果所確定的特征形勢不是特殊的,步驟S48設(shè)置這個(gè)波形選擇信息用于選擇一個(gè)不對應(yīng)于特殊特征信息的正常波形。如果所確定的特征形勢是顫音、碎音或其它,步驟S48設(shè)置這個(gè)波形選擇信息用于選擇一個(gè)具有預(yù)定調(diào)制效果(顫音、碎音或其它)波形。如果所確定的特征形式是音調(diào)變調(diào),于是步驟S48設(shè)置這個(gè)波形選擇信息用于選擇一個(gè)具有音變調(diào)效果的波形。如果所確定的特征形勢是連音符,于是步驟S48設(shè)置這個(gè)波形選擇信息用于選擇具有預(yù)定連音效果的波形。進(jìn)一步說,如果所確定的特征形勢是上述之外的其它形式,于是步驟S48設(shè)置這個(gè)波形選擇信息用于選擇具有與該其它形式相對應(yīng)的波形。
最后,在步驟49,將音符開(note-on)信號通過控制寄存器113傳送到波形發(fā)生部分111和音量控制部分112,該音符開(note-on)信號根據(jù)指定的信道寄存器ASR存儲的內(nèi)容指示音發(fā)生。波形發(fā)生部分111和音量控制部分112響應(yīng)音符開(note-on)信號開始操作,以便讀出波形并構(gòu)成和產(chǎn)生音量包絡(luò)線。這些在波形發(fā)生部分111和音量控制部分112內(nèi)的操作在時(shí)分割的基礎(chǔ)上為各自的信道實(shí)施的。
圖24是一個(gè)在圖22的步驟S44的實(shí)時(shí)控制數(shù)據(jù)接收處理的實(shí)例的流程圖,接收到用于實(shí)時(shí)控制當(dāng)前產(chǎn)生或發(fā)出的音的數(shù)據(jù)時(shí),它就生效。
在圖24的實(shí)時(shí)控制數(shù)據(jù)接收處理中,在步驟S50讀出接收的控制數(shù)據(jù),并在接下來的步驟S51確定接收到的控制數(shù)據(jù)是否為一個(gè)指定了從在音符數(shù)寄存器NN中存儲的指定音調(diào)的音調(diào)偏移量。如果步驟S51的判定為YES,控制進(jìn)行到步驟S52,在那里檢查是否要利用正常波形(不具有預(yù)先施加的音調(diào)波動控制)實(shí)施在音調(diào)變調(diào)數(shù)據(jù)基礎(chǔ)上的音調(diào)波形控制。如果使用了具有預(yù)先施加的音調(diào)波動控制的專用波形(諸如施加了碎音的波形,施加連音符的波形或施加碎音的波形),在步驟S52的判定結(jié)果是否定的,則控制進(jìn)行到步驟S53。在步驟S53,在控制寄存器113中設(shè)置用于選擇專用與當(dāng)前所確定的特征形勢(如碎音、連音符、或音調(diào)變調(diào))的施加音調(diào)波形的波形,然后用對應(yīng)于音調(diào)變調(diào)數(shù)據(jù)的施加了音調(diào)波動的波形的任意波形段代替當(dāng)前所發(fā)出的波形。換句話說,因?yàn)橐呀?jīng)沿時(shí)間軸對這些施加了音調(diào)波動波形的存儲的波形數(shù)據(jù)施加了音調(diào)波動,所以可以讀出施加了對應(yīng)于音調(diào)偏移量的音調(diào)波動波形數(shù)據(jù),即有選擇地讀出一個(gè)具有與音調(diào)偏移量相對應(yīng)的音調(diào)的波形段,它是通過根據(jù)當(dāng)前音調(diào)變調(diào)數(shù)據(jù)指定的音調(diào)偏移量指定所存儲施加了音調(diào)波動的波形的波形數(shù)據(jù)中的特殊位置進(jìn)行讀出的。
另一方面,如果,不使用施加了音調(diào)波動的波形而使用正常波形,于是在步驟S52得到一個(gè)確定的判定,從而控制進(jìn)行到步驟S54。在步驟S54,根據(jù)由當(dāng)前音調(diào)變調(diào)信息指定的音調(diào)偏移量對當(dāng)前發(fā)生的音的音調(diào)信息進(jìn)行調(diào)制,因而對讀地址進(jìn)行音調(diào)調(diào)制,從而,讀出被控制的波形數(shù)據(jù)以提供音調(diào)波動。
如果所接收的控制數(shù)據(jù)不是在步驟S51所判定的音調(diào)變調(diào)數(shù)據(jù),控制進(jìn)行到步驟S55進(jìn)行其它操作對當(dāng)前發(fā)生的音進(jìn)行實(shí)時(shí)控制。例如如果接收的控制數(shù)據(jù)是用于顫音的數(shù)據(jù),則對于顫音進(jìn)行類似于上述步驟S52-S54的操作。換句話說,選擇對應(yīng)于顫音控制數(shù)據(jù)的施加了顫音的專用波形,并且用一個(gè)存儲在控制數(shù)據(jù)指定的顫音控制量所對應(yīng)的位置的波形數(shù)據(jù)的波形段代替當(dāng)前發(fā)生的音的波形。在用于處理的其它控制數(shù)據(jù)中有“按下之后”包括一個(gè)MIDI聲音信息和“調(diào)制深度”信息,“氣息數(shù)據(jù)”信息以及包括一個(gè)“控制改變”信息的“壓縮”信息。注意,在其它控制數(shù)據(jù)基礎(chǔ)上的實(shí)時(shí)控制數(shù)據(jù)接收處理操作中,可以根據(jù)實(shí)際控制數(shù)據(jù)進(jìn)行波形替代,也可以不這樣。
如上所述,在圖25中設(shè)置中斷處理以確定特征形式,從而選擇適合于所確定的特征形式的其中一個(gè)預(yù)定的波形。注意,這一中斷處理對于其它處理在執(zhí)行時(shí)具有較低的優(yōu)先級別。
首先,在步驟S60,在目前為止已提供的MIDI信息的基礎(chǔ)上確定將哪一個(gè)特征形式,用于再現(xiàn)波形。于是,在步驟S61,確定是否所確定的特征于當(dāng)前實(shí)施的特征形式不同。如果在步驟S61確定的特征形式?jīng)]有改變,中斷處理就結(jié)束了。然而,如果特征形式發(fā)生改變,控制進(jìn)行到S62以進(jìn)一步確定新特征形式是什么,并在步驟S63-S67的任何一個(gè)中以對應(yīng)于新特征形式的方式進(jìn)行波形選擇處理。
具體說,在步驟S60,對目前接收的MIDI信息之間的隨時(shí)間變化的中斷進(jìn)行分析。通過這樣的分析,可以清楚地或在某種程度上知道正在或應(yīng)該使用哪一個(gè)特征形式。所述“目前接收的MIDI信息”指在預(yù)定周期中接收到的一條MIDI信息或一個(gè)預(yù)定的MIDI信息條數(shù)?;蛘邔⒔邮盏組IDI信息延遲一個(gè)預(yù)定的時(shí)間從而用延遲的MIDI信息控制該音;這樣可以從在過去和將來的預(yù)定時(shí)期內(nèi)接收的MIDI信息,或在過去和將來接收預(yù)定的MIDI信息條數(shù)可以確定特征形式。
如果找到新的特征形式作為非特殊特征形式,控制進(jìn)行到步驟S63,在那里,將用于選擇一個(gè)預(yù)定正常波形的波形選擇信息(它不于一個(gè)特殊特征形式相對應(yīng))設(shè)置在控制寄存器113中(圖21)從而使當(dāng)前所發(fā)的音回到正常波形。如果在步驟S62已經(jīng)發(fā)現(xiàn)新特征形式為“碎音”或“顫音”,于是控制進(jìn)行到步驟S64,在那里,將用于選擇一個(gè)具有預(yù)定調(diào)制效果波形的波形選擇信息設(shè)置在控制寄存器113中從而將當(dāng)前所發(fā)音的波形設(shè)置為施加了調(diào)制效果的波形。如果,在步驟S62已經(jīng)發(fā)現(xiàn)新特征形式為“音變調(diào)”,于是控制進(jìn)行到步驟S65,在那里,將用于選擇一個(gè)具有預(yù)定音變調(diào)效果的波形的波形選擇信息設(shè)置在控制寄存器113中從而將當(dāng)前所發(fā)音的波形設(shè)置為施加了音變調(diào)的波形。如果,在步驟S62已經(jīng)發(fā)現(xiàn)新特征形式為“連音符”,于是控制進(jìn)行到步驟S66,在那里,將用于選擇一個(gè)具有預(yù)定連音符效果的波形的波形選擇信息設(shè)置在控制寄存器113中從而將當(dāng)前所發(fā)音的波形設(shè)置為施加了連音符效果的波形。進(jìn)一步說,如果,在步驟S62已經(jīng)發(fā)現(xiàn)新特征形式為上述以外的其它形式,于是控制進(jìn)行到步驟S67,在那里,將用于選擇一個(gè)具有預(yù)定其它特征形式效果的波形的波形選擇信息設(shè)置在控制寄存器113中從而將當(dāng)前所發(fā)音的波形設(shè)置為施加了其它特征形式效果的波形。注意,在逐信道基礎(chǔ)上實(shí)施圖25的單個(gè)步驟的操作。
在步驟S61確定的特征形式如果發(fā)生了改變,直到步驟S61下一次檢測到改變的特征形式一直繼續(xù)新的特征形式。在基于特殊特征形式條件下接收的音符開數(shù)據(jù)的音發(fā)生中,將對應(yīng)于特殊特征形式的波形數(shù)據(jù)指定為用于產(chǎn)生一個(gè)音的波形數(shù)據(jù)。一旦在開始音發(fā)生后檢測到特征形式改變,通過步驟S62-S67的操作,將正發(fā)出的音的波形數(shù)據(jù)改變?yōu)榕c新的特征形式相對應(yīng)。即使是要改變正發(fā)出音的波形數(shù)據(jù),也可以實(shí)施勻滑轉(zhuǎn)換合成,它是通過勻滑轉(zhuǎn)換合成部分在兩個(gè)波形數(shù)據(jù)的讀出的基礎(chǔ)上進(jìn)行的,這兩個(gè)數(shù)據(jù)代表主副勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)。在這種情況下,改變前后的波形數(shù)據(jù)可通過勻滑轉(zhuǎn)換合成部分這樣開始勻滑轉(zhuǎn)換合成進(jìn)行光滑連接,對于一個(gè)勻滑轉(zhuǎn)換波形區(qū)域開始根據(jù)新的特征形式讀出波形數(shù)據(jù),同時(shí),對于其它勻滑轉(zhuǎn)換波形區(qū)域繼續(xù)讀出目前為止所使用的波形數(shù)據(jù)。
接著,介紹為了再現(xiàn)而存儲和依次讀出對應(yīng)于多個(gè)特征形式的波形數(shù)據(jù)的示范方式。
圖26(a)表示了對應(yīng)于音調(diào)A的波形數(shù)據(jù)示范存儲格式,(b)表示了對應(yīng)于音調(diào)B的波形數(shù)據(jù)示范存儲格式。與圖19類似,每個(gè)波形數(shù)據(jù)包括一個(gè)開始部分波形和一個(gè)循環(huán)部分波形。進(jìn)一步說,在圖26(c)中表示了對應(yīng)于從音調(diào)A到音調(diào)B的連音符的波形的示范存儲格式,即一個(gè)完成從音調(diào)A到音調(diào)B的連音符的經(jīng)過區(qū)域的施加了連音符的波形。在圖26(d)表示了對于波形A音變調(diào)的波形的示范存儲格式,它包括了對應(yīng)于音調(diào)變調(diào)部分的變調(diào)波形和對應(yīng)于保持音調(diào)變調(diào)部分的循環(huán)波形。圖26(d)的波形可以進(jìn)一步包括一個(gè)變調(diào)—恢復(fù)波形(虛線表示)用于恢復(fù)原始波形。沒有恢復(fù)—返回波形的地方,可通過分別讀出循環(huán)波形執(zhí)行變調(diào)控制以恢復(fù)原始波形。
圖27表示了當(dāng)完成連音符特征時(shí)讀出波形的實(shí)例。在圖27(a)表示的實(shí)例中,實(shí)現(xiàn)從波形數(shù)據(jù)存儲器10中讀出對應(yīng)于音調(diào)A的波形數(shù)據(jù)的開始部分波形,隨后分別讀出循環(huán)部分波形,在循環(huán)部分波形讀出的過程中,發(fā)出指令通過連音符變化到音調(diào)B。波形讀出操作響應(yīng)連音符指令偏移到連音符波形(圖26(c)所示),從而從波形數(shù)據(jù)存儲器10中讀出連音符波形,接著在完成了讀出連音符波形之后,波形讀出操作在偏移到與音調(diào)B相對應(yīng)的波形數(shù)據(jù),并將該波形數(shù)據(jù)從波形數(shù)據(jù)存儲器10中讀出。在圖27(b)表示的另一個(gè)實(shí)例為在讀出連音符過程中沒有實(shí)施TSC控制基礎(chǔ)上的時(shí)間軸擴(kuò)展/壓縮的情況。在圖27(c)表示的另一個(gè)實(shí)例為在讀出連音符過程中實(shí)施TSC控制基礎(chǔ)上的時(shí)間軸擴(kuò)展/壓縮的情況。而在圖27(d)表示的另一個(gè)實(shí)例為在讀出連音符過程中實(shí)施TSC控制基礎(chǔ)正的時(shí)間軸擴(kuò)展/壓縮的情況。在連音符期間,通過實(shí)施TSC控制,能夠僅改變連音符特征的時(shí)間長度而不會改變音調(diào)變化范圍(從音調(diào)A到音調(diào)B)。
圖28表示了當(dāng)完成音調(diào)變調(diào)特征時(shí)讀出波形的實(shí)例。在圖28(a)表示的實(shí)例中,實(shí)現(xiàn)從波形數(shù)據(jù)存儲器10中讀出對應(yīng)于音調(diào)A的波形數(shù)據(jù)的開始部分波形,隨后分別讀出循環(huán)部分波形,在循環(huán)部分波形讀出的過程中,發(fā)出指令通過連音符變化到音調(diào)B。波形讀出操作響應(yīng)音調(diào)變調(diào)指令偏移到連音符波形(圖26(c)所示),從而從波形數(shù)據(jù)存儲器10中讀出變調(diào)波形,接著在完成了讀出連音符波形之后,波形讀出操作偏移到波形恢復(fù)的波形數(shù)據(jù),接著在完成了讀出波形恢復(fù)波形之后,根據(jù)原始發(fā)出的音調(diào)A讀出循環(huán)部分波形。在圖28(b)表示的另一個(gè)實(shí)例為在讀出單個(gè)音變調(diào)相關(guān)波形過程中沒有實(shí)施TSC控制基礎(chǔ)上的時(shí)間軸擴(kuò)展/壓縮的情況。在圖28(c)表示的另一個(gè)實(shí)例為在讀出連音符過程中實(shí)施TSC控制基礎(chǔ)上的時(shí)間軸擴(kuò)展/壓縮的情況。在音調(diào)變調(diào)期間,通過實(shí)施TSC控制,能夠僅改變連音符特征的時(shí)間長度而不會改變音調(diào)變化范圍(即從音調(diào)A變化到一個(gè)預(yù)定的偏移量)。可以這樣調(diào)整圖2所示的構(gòu)成方式,即虛擬讀地址計(jì)算器17輸出一個(gè)表示數(shù)據(jù)組j′的數(shù)據(jù),當(dāng)前虛擬讀地址VAD屬于該數(shù)據(jù)組而不是虛擬讀地址VAD本身,并且偏移控制電路14在與實(shí)際讀地址RAD和虛擬讀地址VAD相關(guān)聯(lián)的數(shù)據(jù)組j和j′之間進(jìn)行比較,而不是在實(shí)際讀地址RAD和虛擬讀地址VAD之間進(jìn)行比較,并且隨后在比較結(jié)果的基礎(chǔ)上產(chǎn)生一個(gè)偏移指令。換句話說,由偏移控制電路14所進(jìn)行的比較是在數(shù)據(jù)組之間的,而不是地址之間的。
在這種調(diào)整中,當(dāng)實(shí)際讀出數(shù)據(jù)組j和虛擬讀出數(shù)據(jù)組j′之間的差別或偏差超過與一個(gè)或多個(gè)數(shù)據(jù)組的整個(gè)長度相對應(yīng)的預(yù)定的數(shù)值時(shí),發(fā)出偏移指令。例如,當(dāng)實(shí)際讀出數(shù)據(jù)組j和虛擬讀出數(shù)據(jù)組j′之間的差別或偏差超過與一個(gè)數(shù)據(jù)組的整個(gè)長度相對應(yīng)的預(yù)定的數(shù)值時(shí),發(fā)出偏移指令。如圖3所示,當(dāng)虛擬讀地址VAD的變化斜率大于實(shí)際讀地址RAD的變化斜率,一旦滿足條件j′>j+1則向?qū)嶋H讀地址計(jì)算器16發(fā)出偏移指令,實(shí)際讀地址計(jì)算器16響應(yīng)這一指令利用虛擬讀出數(shù)據(jù)組j′將數(shù)據(jù)組j偏移到下一個(gè)(即j←j′+1),而不是僅僅將j值增加1(即j←j+1);這樣實(shí)際讀地址計(jì)算器16控制實(shí)際讀出數(shù)據(jù)組向前偏移(跳躍)。類似地,如圖4所示,當(dāng)虛擬讀地址VAD的變化斜率小于實(shí)際讀地址RAD的變化斜率,一旦滿足條件j′<j+1則向?qū)嶋H讀地址計(jì)算器16發(fā)出偏移指令,實(shí)際讀地址計(jì)算器16響應(yīng)這一指令利用虛擬讀出數(shù)據(jù)組j′將數(shù)據(jù)組j偏移到下一個(gè)(即j←j′-1),而不是僅僅將j值減少1(即j←j-1);這樣實(shí)際讀地址計(jì)算器16控制實(shí)際讀出數(shù)據(jù)組向后偏移(跳躍)。然而,除上述方式之外還可以以其它適合的方式進(jìn)行控制。下面介紹根據(jù)“相對于標(biāo)準(zhǔn)再現(xiàn)時(shí)間長度的擴(kuò)展/壓縮比”通過全部或部分勻滑轉(zhuǎn)換方法實(shí)施根據(jù)本發(fā)明的TSC控制,而不是用上述的虛擬讀地址。
下面的實(shí)施例可以使用圖1和圖21所示電聲樂器兩種硬件機(jī)構(gòu)中的任意一種,但是波形發(fā)生部分111的構(gòu)成必須變?yōu)閳D29所示的方式。
在圖29中,波形發(fā)生部分111包括一個(gè)波形存儲讀出單元201,它具有一個(gè)時(shí)間軸擴(kuò)展/壓縮功能,以及一個(gè)“CRate”發(fā)生器202。波形發(fā)生部分111通過控制寄存器113(圖1或圖21)接收波形發(fā)生指令,它是音符開(nteo-on)信號形式以及表示待發(fā)音音調(diào)的信息,以及音色信息如鍵碼KC,音色碼TC和圖2中所示的其它信息INF。
波形發(fā)生部分111也接收表示“相對應(yīng)標(biāo)準(zhǔn)再現(xiàn)時(shí)間長度的擴(kuò)展/壓縮定額”的參數(shù)。因?yàn)椴ㄐ未鎯ψx出單元201實(shí)際在時(shí)間軸擴(kuò)展/壓縮比CRate的基礎(chǔ)上執(zhí)行時(shí)間軸擴(kuò)展/壓縮功能,該時(shí)間軸擴(kuò)展/壓縮比CRate基于一個(gè)音發(fā)生時(shí)間長度,它在以一個(gè)對應(yīng)于指定音調(diào)(音調(diào)發(fā)生時(shí)間根據(jù)所需音調(diào)變化,如圖5的波形1402和1404所示)的速率讀出波形數(shù)據(jù)示需要,該“CRate”發(fā)生器202在此用于轉(zhuǎn)換參數(shù)。具體地說,該“CRate”發(fā)生器202接收音調(diào)信息以及相對于標(biāo)準(zhǔn)再現(xiàn)或音發(fā)生時(shí)間長度的擴(kuò)展/壓縮比,并且在根據(jù)所需音調(diào)變化的音發(fā)生時(shí)間長度基礎(chǔ)上計(jì)算出時(shí)間軸擴(kuò)展/壓縮比CRate。將如此計(jì)算出的時(shí)間軸擴(kuò)展/壓縮比CRate送至波形存儲讀出單元201。
圖30是一個(gè)方框圖,它表示了圖29的波形存儲讀出單元201的具體構(gòu)成。在詳細(xì)介紹之前,讓我們解釋一下時(shí)間軸擴(kuò)展/壓縮功能的基本概念,即本發(fā)明所實(shí)施的TSC控制。
首先,時(shí)間軸擴(kuò)展/壓縮比CRate是具體執(zhí)行時(shí)間軸擴(kuò)展/壓縮功能的參數(shù)。具體說,時(shí)間軸擴(kuò)展/壓縮比CRate表示了一個(gè)設(shè)定為原始(音調(diào)控制)波形再現(xiàn)時(shí)間長度的1/CRate的輸出波形時(shí)間長度。當(dāng)然,時(shí)間軸擴(kuò)展/壓縮比CRate并不總固定在一個(gè)值,是可以實(shí)時(shí)改變的,即便是在波形讀出的過程中(即在發(fā)音開始和結(jié)束之間的點(diǎn));這樣比率在局部考慮時(shí)具有了上述含義。CRate=1.0,輸出波形將保持其原始時(shí)間長度;CRate>1.0,輸出波形將被壓縮,CRate<1.0,輸出波形將被擴(kuò)展。
下文描述了波形存儲讀出單元201中的波形存儲器301中存儲的數(shù)據(jù)。波形存儲器301與上述圖2的波形數(shù)據(jù)存儲器10相同,根據(jù)與多個(gè)音調(diào)特征的關(guān)系存儲了多組多周期波形數(shù)據(jù),并且將所存儲的每一組波形數(shù)據(jù)預(yù)先分成多個(gè)數(shù)據(jù)組用于處理。與上述類似,存儲在波形存儲器301中的多周期波形數(shù)據(jù)是經(jīng)過預(yù)先分析的,確定多周期中彼此相位相同的點(diǎn)(同相位點(diǎn))為各數(shù)據(jù)組的開始點(diǎn)。換句話說,在波形數(shù)據(jù)中找到這些同相位點(diǎn),將波形數(shù)據(jù)在同相位點(diǎn)分開定義成數(shù)據(jù)組。在一個(gè)數(shù)據(jù)組中可以包括兩個(gè)或多周期的波形數(shù)據(jù)。簡言之,各相鄰數(shù)據(jù)組之間的分界點(diǎn)為同相位點(diǎn),并且將這些數(shù)據(jù)組限定為足以同其它數(shù)據(jù)組光滑連接。所述同相位點(diǎn)是這樣的點(diǎn),它們的波形幅值相同并位于波形斜率方向上。注意,數(shù)據(jù)組不與或不必與對應(yīng)于波形數(shù)據(jù)基調(diào)的周期相一致。
下面給出詳細(xì)的描述。讓我們假定每個(gè)同相位點(diǎn)具有一個(gè)地址Ai,它由一個(gè)整數(shù)部分和一個(gè)十進(jìn)制小數(shù)部分組成?!癷”表示唯一的數(shù)據(jù)組數(shù),從而“Ai”表示第“i”個(gè)數(shù)據(jù)組的開始點(diǎn)地址。將在下面介紹的順序計(jì)數(shù)器IC表示數(shù)據(jù)組數(shù)i的當(dāng)前計(jì)數(shù)值。因?yàn)楦鱾€(gè)數(shù)據(jù)組的開始點(diǎn)相位相同,即使讀出一個(gè)數(shù)據(jù)組直到最后一個(gè)點(diǎn)然后從另一個(gè)數(shù)據(jù)組的另一個(gè)點(diǎn)讀出,也可以獲得光滑的波形連接。為了將兩個(gè)數(shù)據(jù)組相互連接,除了在同相位點(diǎn)連接外,安排本實(shí)施例進(jìn)一步實(shí)施勻滑轉(zhuǎn)換合成法,從而達(dá)到更加光滑的波形連接。
在波形存儲器中,還存有各個(gè)數(shù)據(jù)組的長度數(shù)據(jù)Ti(Ai+1-Ai)。通過從第“i+1”個(gè)數(shù)據(jù)組的開始點(diǎn)減去第“i”個(gè)數(shù)據(jù)組的開始點(diǎn),計(jì)算出長度數(shù)據(jù)Ti。通過這樣存儲各個(gè)數(shù)據(jù)組的長度數(shù)據(jù),在存儲所有地址Ai時(shí)可以有效地節(jié)約存儲容量。當(dāng)然是由采樣數(shù)表示由Ti代表的每個(gè)數(shù)據(jù)組的長度的(它包括整數(shù)部分和十進(jìn)制小數(shù)部分)。
可以如下計(jì)算每個(gè)數(shù)據(jù)組的開始點(diǎn)地址Ai=A0+∑T其中A0表示了波形數(shù)據(jù)的開始地址(即第0個(gè)數(shù)據(jù)組的開始點(diǎn)地址)而∑T表示對于j=0,1,2…,i-1長度Ti的累計(jì)值。
以下介紹在本發(fā)明中時(shí)間擴(kuò)展/壓縮控制,即TSC控制的基本原理。在本實(shí)施例中,時(shí)間軸擴(kuò)展/壓縮使用一個(gè)“再現(xiàn)周期”作為它的處理時(shí)間單元。該“再現(xiàn)周期”對應(yīng)于一個(gè)對于再現(xiàn)一個(gè)數(shù)據(jù)組和表示一個(gè)單元時(shí)間長度不可缺少的在波形存儲器中波形數(shù)擴(kuò)展/壓縮的時(shí)間周期,它不是以采樣數(shù)表示的。根據(jù)時(shí)間軸擴(kuò)展/壓縮控制的基礎(chǔ),計(jì)算出時(shí)間軸擴(kuò)展/壓縮比CRate的值指定的每個(gè)目標(biāo)讀出點(diǎn)之間的差別和實(shí)際的讀出點(diǎn),從而在每個(gè)再現(xiàn)周期根據(jù)計(jì)算出的差值實(shí)施預(yù)定操作,以使實(shí)際讀出點(diǎn)連續(xù)地跟隨目標(biāo)讀出點(diǎn)。簡言之,預(yù)定操作確定將執(zhí)行以下的哪一個(gè),用于擴(kuò)展再現(xiàn)時(shí)間長度的“擴(kuò)展處理”,用于保持再現(xiàn)時(shí)間長度的“正常處理”和用于壓縮再現(xiàn)時(shí)間長度的“壓縮處理”,并且如下面將詳細(xì)介紹的在每個(gè)再現(xiàn)周期執(zhí)行這樣確定的處理。因?yàn)榭梢杂行У乩每紤]非周期波形段的波形數(shù)據(jù)使TSC控制無效,所以最好有選擇地控制TSC控制的使能/無效條件。
圖31的簡圖說明了本發(fā)明的TSC控制的基本概念。在圖31中,參考標(biāo)記411表示存儲在波形存儲器中的波形數(shù)據(jù)實(shí)例,方框412到416表示從波形存儲器中讀出波形數(shù)據(jù)的示范形式。波形數(shù)據(jù)411由記作A到F的六個(gè)數(shù)據(jù)組組成。垂直的點(diǎn)畫線401表示在預(yù)定音調(diào)再現(xiàn)波形數(shù)據(jù)時(shí)再現(xiàn)周期的界限。這樣,水平軸表示了在擴(kuò)展/壓縮處理中過去的時(shí)間而不是采樣長度,但是過去的時(shí)間在此不是一個(gè)絕對的值。加在波形數(shù)據(jù)401數(shù)據(jù)組A到F下面的數(shù)字表示再現(xiàn)數(shù)據(jù)組的預(yù)定次序。然而,將在圖31中表示再現(xiàn)周期間界限的垂直的點(diǎn)畫線401畫成間距相等,根據(jù)數(shù)據(jù)組的長度各個(gè)再現(xiàn)周期的時(shí)間長度可以不同。類似地,所示與方框412到416相關(guān)的再現(xiàn)周期在水平和垂直方向上可以彼此不同。
在長方形方框412到416中的每個(gè)相鄰的小方框表示了在擴(kuò)展/壓縮處理中一個(gè)再現(xiàn)周期中處理的一個(gè)數(shù)據(jù)單元,并且在每個(gè)這樣的方框或再現(xiàn)周期中進(jìn)行任何擴(kuò)展、正常、壓縮處理(在圖中分別示作“S”、“N”、“C”)。長方形方框412到416表示了根據(jù)時(shí)間軸擴(kuò)展/壓縮比CRate控制六個(gè)數(shù)據(jù)組的波形數(shù)據(jù)411使其擴(kuò)展或壓縮時(shí)的實(shí)例。在圖31的每一個(gè)再現(xiàn)周期中,對兩個(gè)勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)的每一個(gè)在波形數(shù)據(jù)411中讀出預(yù)定的數(shù)據(jù)組中的一個(gè)(在所描述的實(shí)例中為六個(gè)數(shù)據(jù)組)。在兩個(gè)勻滑轉(zhuǎn)換信道中將要讀出的數(shù)據(jù)組可以相同也可以不同。這樣,不管在再現(xiàn)周期中實(shí)施擴(kuò)展、正常、壓縮中的哪一個(gè)處理,本實(shí)施例一直在兩個(gè)勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)(以下為“第一和第二勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)”)之間的勻滑轉(zhuǎn)換合成基礎(chǔ)上產(chǎn)生一個(gè)讀出波形。在圖31中,每個(gè)相鄰的小方框表示了再現(xiàn)周期,在長方形方框412到416中用對角線分成兩個(gè)三角形部分,其中寫出表示兩個(gè)選擇的數(shù)據(jù)組參考標(biāo)記A-F,在第一和第二勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)之間執(zhí)行的勻滑轉(zhuǎn)換合成方法用了這兩個(gè)數(shù)據(jù)組。具體地說,在所舉例的實(shí)施例中,在上面三角形區(qū)域中的數(shù)據(jù)組(在對角線上面)是要讀出的第一勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù),而在下面三角形區(qū)域中的數(shù)據(jù)組(在對角線下面)是要讀出的第二勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)。進(jìn)一步說,加在相鄰小方框上面的參考標(biāo)記“S”、“N”、“C”,表示再現(xiàn)周期,指示根據(jù)再現(xiàn)周期執(zhí)行擴(kuò)展、正常、壓縮處理。漸弱第一個(gè)勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)并漸強(qiáng)第二個(gè)勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)的勻滑轉(zhuǎn)換合成在每個(gè)再現(xiàn)周期的中間結(jié)束。
方框412表示了當(dāng)時(shí)間軸擴(kuò)展/壓縮比CRate為2.0(CRate=2.0)時(shí),對波形數(shù)據(jù)的處理實(shí)例。如圖所示,在第一個(gè)再現(xiàn)周期中,當(dāng)讀出數(shù)據(jù)組A作為第一勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)以及讀出數(shù)據(jù)組B作為第二勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)時(shí)執(zhí)行壓縮(C)處理,從而,如此由數(shù)據(jù)組A和B表示的讀出的勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)需經(jīng)過勻滑轉(zhuǎn)換合成,以提供輸出波形。在第二再現(xiàn)周期中,當(dāng)讀出數(shù)據(jù)組C作為第一勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)以及讀出數(shù)據(jù)組D作為第二勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)時(shí)執(zhí)行壓縮(C)處理,從而,如此由數(shù)據(jù)組C和D表示的讀出的勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)需經(jīng)過勻滑轉(zhuǎn)換合成,以提供輸出波形。進(jìn)一步說,在第三再現(xiàn)周期中,當(dāng)讀出數(shù)據(jù)組E作為第一勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)以及讀出數(shù)據(jù)組F作為第二勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)時(shí)執(zhí)行壓縮(C)處理,從而,如此由數(shù)據(jù)組E和F表示的讀出的勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)需經(jīng)過勻滑轉(zhuǎn)換合成,以提供輸出波形。在此,將執(zhí)行勻滑轉(zhuǎn)換合成的每個(gè)再現(xiàn)周期的時(shí)間長度設(shè)置為與作為第二(即漸強(qiáng))勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)讀出的數(shù)據(jù)組的時(shí)間相一致。從而,在這個(gè)讀出實(shí)例412中,作為第二(即漸強(qiáng))勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)以所需音調(diào)讀出的數(shù)據(jù)組B、D、F的時(shí)間長度成為相應(yīng)的再現(xiàn)周期長度。這樣,如果將各個(gè)數(shù)據(jù)組長度設(shè)置為相同,于是最終輸出波形412在以所需音調(diào)讀出時(shí)的整個(gè)再現(xiàn)時(shí)間可以只是原始存儲波形411在以所需音調(diào)讀出而不經(jīng)過時(shí)間軸擴(kuò)展/壓縮控制時(shí)的整個(gè)再現(xiàn)時(shí)間的大約1/CRate(即大約1/2);即輸出波形412的整個(gè)再現(xiàn)時(shí)間減少了兩倍。
注意,讀出實(shí)例412和下面的讀出實(shí)例413到416是以這樣的方式設(shè)置的,對作為第二勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)的一個(gè)讀出和漸強(qiáng)后面的數(shù)據(jù)組,在下一個(gè)再現(xiàn)周期作為第一勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)讀出和漸弱。例如,在讀出實(shí)例412的第一個(gè)再現(xiàn)周期,作為第二勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)讀出和漸強(qiáng)數(shù)據(jù)組B,于是在第二個(gè)再現(xiàn)周期作為第一勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)讀出和漸弱后面的數(shù)據(jù)組C。經(jīng)過這樣的設(shè)置,從數(shù)據(jù)組B到數(shù)據(jù)組C可以得到光滑的波形連接。
方框413表示了當(dāng)時(shí)間軸擴(kuò)展/壓縮比CRate為1.5(CRate=1.5)時(shí),對波形數(shù)據(jù)的處理實(shí)例。如圖所示,在第一個(gè)再現(xiàn)周期中,當(dāng)讀出數(shù)據(jù)組A作為第一和第二勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)以及讀出的勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)經(jīng)過勻滑轉(zhuǎn)換合成以提供輸出波形時(shí)執(zhí)行正常(N)處理,在第二個(gè)再現(xiàn)周期中,當(dāng)讀出數(shù)據(jù)組B作為第一勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)以及讀出數(shù)據(jù)組C作為第二勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)時(shí)執(zhí)行壓縮(C)處理,從而,如此由數(shù)據(jù)組B和C表示的讀出的勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)需經(jīng)過勻滑轉(zhuǎn)換合成,以提供輸出波形。在第三再現(xiàn)周期中,使用數(shù)據(jù)組D執(zhí)行正常(N)處理,隨后在第四再現(xiàn)周期中使用數(shù)據(jù)組E和F執(zhí)行壓縮(C)處理。這樣,最終輸出波形413在以所需音調(diào)讀出時(shí)的整個(gè)再現(xiàn)時(shí)間可以只是原始存儲波形411在以同樣音調(diào)讀出而不經(jīng)過時(shí)間軸擴(kuò)展/壓縮控制時(shí)的整個(gè)再現(xiàn)時(shí)間的大約1/CRate(即大約1/1.5或2/3);即輸出波形413的整個(gè)再現(xiàn)時(shí)間減少了1.5倍。
方框414表示了當(dāng)時(shí)間軸擴(kuò)展/壓縮比CRate為1.0時(shí),對波形數(shù)據(jù)的處理實(shí)例。如圖所示,在第一到第六再現(xiàn)周期中,分別使用數(shù)據(jù)組A、B、C、D、E和F執(zhí)行正常(N)處理。以這種方式,最終輸出波形414在以所需音調(diào)讀出時(shí)的整個(gè)再現(xiàn)時(shí)間可以只是原始存儲波形411在以同樣音調(diào)讀出而不經(jīng)過時(shí)間軸擴(kuò)展/壓縮控制時(shí)的整個(gè)再現(xiàn)時(shí)間的1/CRate(即大約1/1)。在上述方式中,時(shí)間軸擴(kuò)展/壓縮比CRate為1時(shí)得到的處理結(jié)果通常與沒有進(jìn)行特殊擴(kuò)展/壓縮時(shí)得到的結(jié)果是相同的。通過這樣使用同一數(shù)據(jù)組作為第一和第二勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)進(jìn)行勻滑轉(zhuǎn)換合成,即便是時(shí)間軸擴(kuò)展/壓縮比CRate,可以將該系統(tǒng)安排為一直執(zhí)行勻滑轉(zhuǎn)換合成。這樣的安排避免了確認(rèn)每一個(gè)再現(xiàn)周期。
方框415表示了當(dāng)時(shí)間軸擴(kuò)展/壓縮比CRate為0.75時(shí),對波形數(shù)據(jù)的處理實(shí)例。如圖所示,在第一、第二、第四、第五第六和第八再現(xiàn)周期中,分別使用數(shù)據(jù)組A、B、C、D、E和F執(zhí)行正常(N)處理。在第三個(gè)再現(xiàn)周期中,當(dāng)讀出數(shù)據(jù)組C作為第一勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)以及讀出數(shù)據(jù)組B作為第二勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)時(shí)執(zhí)行擴(kuò)展(S)處理,從而,如此由數(shù)據(jù)組C和B表示的讀出的勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)需經(jīng)過勻滑轉(zhuǎn)換合成,以提供輸出波形。在第七個(gè)再現(xiàn)周期中,當(dāng)讀出數(shù)據(jù)組F作為第一勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)以及讀出數(shù)據(jù)組E作為第二勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)時(shí)執(zhí)行擴(kuò)展(S)處理,從而,如此由數(shù)據(jù)組F和E表示的讀出的勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)需經(jīng)過勻滑轉(zhuǎn)換合成,以提供輸出波形。以這種方式,最終輸出波形415在以所需音調(diào)讀出時(shí)的整個(gè)再現(xiàn)時(shí)間可以只是原始存儲波形411在以同樣音調(diào)讀出而不經(jīng)過時(shí)間軸擴(kuò)展/壓縮控制時(shí)的整個(gè)再現(xiàn)時(shí)間的1/CRate(即大約1/0.75);即輸出波形415的整個(gè)再現(xiàn)時(shí)間增加了1.333倍。
方框416表示了當(dāng)時(shí)間軸擴(kuò)展/壓縮比CRate為0.5時(shí),對波形數(shù)據(jù)的處理實(shí)例。如圖所示,在第一、第三、第五、第七、第九和第十一再現(xiàn)周期中,分別使用數(shù)據(jù)組A、B、C、D、E和F執(zhí)行正常(N)處理。在第二、第四、第六、第八、第十和第十二個(gè)再現(xiàn)周期中,分別使用數(shù)據(jù)組B和A、C和B、D和C、E和D、F和E、以及G和F組合執(zhí)行擴(kuò)展(S)處理。以這種方式,最終輸出波形416在以所需音調(diào)讀出時(shí)的整個(gè)再現(xiàn)時(shí)間可以只是原始存儲波形411在以同樣音調(diào)讀出而不經(jīng)過時(shí)間軸擴(kuò)展/壓縮控制時(shí)的整個(gè)再現(xiàn)時(shí)間的1/CRate(即大約1/0.5)。即輸出波形416的整個(gè)再現(xiàn)時(shí)間增加了2倍。
圖32的簡圖詳細(xì)表示了在每個(gè)再現(xiàn)周期中進(jìn)行的處理,其中參考標(biāo)記501表示了一系列的存儲在波形數(shù)據(jù)存儲器301中的三個(gè)數(shù)據(jù)組Z、A、B和表示這三個(gè)數(shù)據(jù)組Z、A、B長度的TZ、TA和TB。讓我們假設(shè)作為第一勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)讀出數(shù)據(jù)組A。在這種情況下,將要作為第二勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)讀出的數(shù)據(jù)組根據(jù)將要實(shí)施擴(kuò)展(S)處理、正常(N)處理和壓縮(C)處理具體哪一個(gè)而不同。
參考標(biāo)記511表示了在一個(gè)再現(xiàn)周期中實(shí)施擴(kuò)展(S)處理的實(shí)例。如在實(shí)例511中所示,如果在這一處理中作為第一勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)讀出數(shù)據(jù)組A,作為第二勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)讀出數(shù)據(jù)組A前面的數(shù)據(jù)組B。換句話說,如在方框521中所示,531表示作為第一勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)讀出數(shù)據(jù)組A而532表示作為第二勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)讀出數(shù)據(jù)組Z,這樣由數(shù)據(jù)組A和Z表示的兩個(gè)波形區(qū)域經(jīng)過勻滑轉(zhuǎn)換合成。參考標(biāo)記512表示了另一個(gè)實(shí)例,其中在一個(gè)再現(xiàn)周期中不改變再現(xiàn)時(shí)間長度實(shí)施正常(N)處理。如在實(shí)例512所示,如果在這個(gè)處理中作為第一勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)讀出數(shù)據(jù)組A,則作為第二勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)讀出相同的數(shù)據(jù)組A。換句話說,如在方框522中所示,在541表示了作為第一和第二勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)讀出數(shù)據(jù)組A,這樣由同一個(gè)數(shù)據(jù)組A表示的兩個(gè)勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)經(jīng)過勻滑轉(zhuǎn)換合成。參考標(biāo)記513表示了另一個(gè)實(shí)例,其中在一個(gè)再現(xiàn)周期中不改變再現(xiàn)時(shí)間長度實(shí)施壓縮(C)處理。如在實(shí)例513所示,如果在這個(gè)處理中作為第一勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)讀出數(shù)據(jù)組A,則作為第二勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)讀出數(shù)據(jù)組A后面的數(shù)據(jù)組B。換句話說,如在方框523中所示,在551表示了作為第一勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)讀出數(shù)據(jù)組A,552表示作為第二勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)讀出數(shù)據(jù)組B,這樣由數(shù)據(jù)組A和B表示的兩個(gè)波形區(qū)域經(jīng)過勻滑轉(zhuǎn)換合成。
對于上述兩個(gè)勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù),使用由依次累加計(jì)算的地址,在預(yù)定采樣頻率的基礎(chǔ)上,執(zhí)行波形數(shù)據(jù)的讀出,音調(diào)信息(F數(shù))由一個(gè)參數(shù)指定。這樣結(jié)果輸出波形的音調(diào)可以完全與指定的音調(diào)一致。另一方面,通過在每個(gè)再現(xiàn)周期有選擇地進(jìn)行擴(kuò)展、正常和壓縮處理中的任何一種,可以將再現(xiàn)時(shí)間如在圖412到416中的實(shí)例所述地進(jìn)行擴(kuò)展和壓縮。
在圖32中,參考標(biāo)記rp表示了讀指針,它指示將作為第一勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)讀出的數(shù)據(jù)組的開始地址,將結(jié)合圖34具體介紹。參考標(biāo)記rp-now表示了在當(dāng)前再現(xiàn)周期的讀指針的當(dāng)前值,而參考標(biāo)記rp-next表示了在下一個(gè)再現(xiàn)周期的讀指針值。在此,一旦達(dá)到每個(gè)再現(xiàn)周期的端點(diǎn),對于第二勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)的地址成為一個(gè)特殊數(shù)據(jù)組的開始地址,該數(shù)據(jù)組在下一個(gè)再現(xiàn)周期將作為第一勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)讀出。這就允許了以預(yù)定的次序,在相鄰再現(xiàn)周期分界處,從當(dāng)前數(shù)據(jù)組到下一個(gè)數(shù)據(jù)組進(jìn)行偏移。參考實(shí)例412到416再現(xiàn)周期之間的分界可以清楚看到,在各個(gè)再現(xiàn)周期之間的分界處,從當(dāng)前數(shù)據(jù)組到下一個(gè)數(shù)據(jù)組的偏移,如A→B、B→C,…。如在圖32所示,在下一個(gè)再現(xiàn)周期的讀指針RP的值可以從當(dāng)前再現(xiàn)周期中確定。換句話說,在擴(kuò)展(S)處理的情況下,讀指針rp的當(dāng)前值成為讀指針rp-next的值;在正常(N)處理的情況下,讀指針rp當(dāng)前值以及長度TA的和(rp+TA)成為讀指針rp-next的值;或者在壓縮(C)處理的情況下,讀指針rp當(dāng)前值以及長度TA和長度TA和TB的和(rp+TA+TB)成為讀指針rp-next的值。
圖33為一簡圖,它表示了包括開始和循環(huán)部分波形數(shù)據(jù)的實(shí)例。波形數(shù)據(jù)601由五個(gè)數(shù)據(jù)組A到E組成。序號表示了在波形存儲器中各個(gè)數(shù)據(jù)組的位置(次序),周期長度表示了各數(shù)據(jù)組各自的長度TA到TE。讓我們假設(shè),開始和循環(huán)部分之間的分界與數(shù)據(jù)組之間的分界一致。在波形數(shù)據(jù)601中,從波形開始點(diǎn)到TLpst點(diǎn)之間的部分,即數(shù)據(jù)組A和B表示了開始部分,TLpst點(diǎn)對應(yīng)于循環(huán)部分開始點(diǎn)。循環(huán)部分持續(xù)到點(diǎn)Tlpend,并且由數(shù)據(jù)組C、D和E組成。
將包括這些開始和循環(huán)位置的波形數(shù)據(jù)以波形數(shù)據(jù)602的方式設(shè)置;就是說,首先讀出到循環(huán)部分端點(diǎn)的整個(gè)波形數(shù)據(jù),然后以重復(fù)的方式從開始到結(jié)束讀出循環(huán)部分。
因?yàn)橛糜谔幚淼幕咎幚頃r(shí)間單元為一個(gè)再現(xiàn)周期,所以在位置上限定或適當(dāng)設(shè)置循環(huán)部分始末點(diǎn)的位置是必要的。換句話說,循環(huán)部分始末點(diǎn)的位置必須這樣設(shè)置,使得插入的循環(huán)末端點(diǎn)的采樣值(數(shù)據(jù)組E的最后一個(gè)地址)與循環(huán)開始點(diǎn)的采樣值(數(shù)據(jù)組C的第一個(gè)地址)相一致。
現(xiàn)在,參考附圖30具體介紹波形存儲器讀出單元201的構(gòu)成和操作。
在圖30中,波形存儲器讀出單元201包括波形存儲器301、地址計(jì)算器302、循環(huán)中計(jì)數(shù)器303,順序計(jì)數(shù)器304、數(shù)據(jù)組長度寄存器305和306,累積差別寄存器307、讀出“rp”寄存器308、音調(diào)插入部分309和310,乘法器311和312,補(bǔ)償部分313和加法器314。下面介紹上述各部分各自的具體構(gòu)成。
如前所示,波形存儲器301具有預(yù)先存儲的多套多周期波形數(shù)據(jù),對應(yīng)于多個(gè)音,設(shè)置每個(gè)波形數(shù)據(jù)將其分成多個(gè)數(shù)據(jù)組用于處理。在波形存儲器301中,還預(yù)先存儲了對于每套波形數(shù)據(jù)的各個(gè)數(shù)據(jù)組的長度T。將所選擇的一套中的波形數(shù)據(jù)從兩個(gè)獨(dú)立的數(shù)據(jù)小組中,根據(jù)地址計(jì)算器302產(chǎn)生的地址讀出(即作為第一和第二勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù))。用地址、順序計(jì)數(shù)器304的序號IC將數(shù)據(jù)組長度信息T(包括整數(shù)部分和十進(jìn)制小數(shù)部分)讀出。
由順序計(jì)數(shù)器304維持的序號IC是一個(gè)表示數(shù)據(jù)組組數(shù)的順序號,它在作為第一勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)讀出;就是說,序號IC表示正作為第一勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)讀出的每個(gè)數(shù)據(jù)組。使用這個(gè)序號IC作為讀地址(相對地址),讀出當(dāng)前作為第一勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)讀出的數(shù)據(jù)組的長度信息T,并且將讀出長度信息T存儲在“T1”寄存器305中。
“T1”寄存器305用于存儲作為第一勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)讀出的每個(gè)數(shù)據(jù)組的長度信息。同時(shí),將當(dāng)前作為第二勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)在第二勻滑轉(zhuǎn)換信道中讀出的數(shù)據(jù)組的長度信息T存儲在“T2”寄存器306中。在表示在作為第一勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)讀出的數(shù)據(jù)組的組數(shù)的序號IC以及對當(dāng)前正進(jìn)行擴(kuò)展(S)、正常(N)和壓縮(C)中的哪一個(gè)處理的判斷的基礎(chǔ)上,可以得知要存儲在“T2”寄存器中的長度信息就是在當(dāng)前作為第一勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)的數(shù)據(jù)組之前的數(shù)據(jù)組的長度,或者是作為第一勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)的當(dāng)前數(shù)據(jù)組,或者是作為第一勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)的當(dāng)前數(shù)據(jù)組之后的數(shù)據(jù)組。序號IC用作相對地址的原因就是要處理當(dāng)存儲多套多周期波形數(shù)據(jù)時(shí)的情形。換句話說,如果通過改變基礎(chǔ)地址使用這個(gè)相對地址,可以從對應(yīng)于特殊數(shù)據(jù)組的多個(gè)數(shù)據(jù)組長度數(shù)據(jù)中選擇一個(gè)讀出,以便在序號IC的基礎(chǔ)上確定長度數(shù)據(jù)。
當(dāng)波形產(chǎn)生開始時(shí),地址計(jì)算器302將順序計(jì)數(shù)器304的值初始化為“0”。接著在每個(gè)再現(xiàn)周期的終端,地址計(jì)算器302輸出一個(gè)觸發(fā)信號(數(shù)據(jù)組更新信息),響應(yīng)它的變化增加順序計(jì)數(shù)器304的值。具體說,如果在剛結(jié)束的再現(xiàn)周期中執(zhí)行的是正常(S)處理,于是,將與作為第一勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)在剛結(jié)束的再現(xiàn)周期中已經(jīng)讀出的數(shù)據(jù)組相同的數(shù)據(jù)組,在下一個(gè)再現(xiàn)周期中作為第一勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)讀出,并且順序計(jì)數(shù)器304的值保持不變。如果在剛結(jié)束的再現(xiàn)周期中執(zhí)行的是擴(kuò)展(S)處理,于是,將在作為第一勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)在剛結(jié)束的再現(xiàn)周期中已經(jīng)讀出的數(shù)據(jù)組之后的數(shù)據(jù)組,在下一個(gè)再現(xiàn)周期中作為第一勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)讀出,并且順序計(jì)數(shù)器304的值增加1。進(jìn)一步說,如果在剛結(jié)束的再現(xiàn)周期中執(zhí)行的是壓縮(C)處理,于是,將在作為第一勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)在剛結(jié)束的再現(xiàn)周期中,在第一勻滑轉(zhuǎn)換信道中已經(jīng)讀出的數(shù)據(jù)組之前的第二數(shù)據(jù)組,在下一個(gè)再現(xiàn)周期中在第一勻滑轉(zhuǎn)換信道中讀出,并且順序計(jì)數(shù)器304的值增加2。
如前面結(jié)合圖32的簡要描述,讀出(“rp”)寄存器308維持的正作為第一勻滑轉(zhuǎn)換波形區(qū)域數(shù)據(jù)(換句話說,在第一勻滑轉(zhuǎn)換信道內(nèi))讀出的數(shù)據(jù)組的開始地址rp。
周期中計(jì)數(shù)器303在波形發(fā)生部分111產(chǎn)生的波形數(shù)據(jù)的每個(gè)采樣周期中累積再現(xiàn)音調(diào)信息Δph(F數(shù))。周期中計(jì)數(shù)器303產(chǎn)生相位數(shù)據(jù)CC(即周期計(jì)數(shù),每個(gè)包括整數(shù)部分和十進(jìn)制小數(shù)部分)用于讀出由讀出寄存器308指定的數(shù)據(jù)組的各采樣值。由周期中計(jì)數(shù)器303產(chǎn)生的每個(gè)周期計(jì)數(shù)器CC被送至地址計(jì)算器302,它用開始地址rp和多周期計(jì)數(shù)CC為第一和第二勻滑轉(zhuǎn)換波形數(shù)據(jù)區(qū)域計(jì)算讀地址,并將計(jì)算出的讀地址送至波形存儲器301;具體說,(rp+CC)成為第一勻滑轉(zhuǎn)換波形數(shù)據(jù)區(qū)域的讀地址,而(rp+CC+OFST)成為第二勻滑轉(zhuǎn)換波形數(shù)據(jù)區(qū)域的讀地址。在此,如果在當(dāng)前再現(xiàn)周期執(zhí)行擴(kuò)展(S)處理,意味著將在第二勻滑轉(zhuǎn)換信道讀出當(dāng)前在在第一勻滑轉(zhuǎn)換信道讀出的數(shù)據(jù)組之前的數(shù)據(jù)組,而這樣“OFST”=—(前在在第一勻滑轉(zhuǎn)換信道讀出的數(shù)據(jù)組之前的數(shù)據(jù)組的長度)——這個(gè)值現(xiàn)在設(shè)置在“T2”寄存器306——中。如果,在當(dāng)前再現(xiàn)周期執(zhí)行正常(N)處理,意味著將在第二勻滑轉(zhuǎn)換信道讀出與當(dāng)前在在第一勻滑轉(zhuǎn)換信道讀出的數(shù)據(jù)組相同的數(shù)據(jù)組,而這樣“OFST”=“0”。進(jìn)一步說,如果在當(dāng)前再現(xiàn)周期執(zhí)行壓縮(C)處理,意味著將在第二勻滑轉(zhuǎn)換信道讀出當(dāng)前在第一勻滑轉(zhuǎn)換信道讀出的數(shù)據(jù)組之后的數(shù)據(jù)組,而這樣“OFST”=(當(dāng)前在第一勻滑轉(zhuǎn)換信道讀出的數(shù)據(jù)組的長度)——這個(gè)值現(xiàn)在設(shè)置在“T1”寄存器305——中。
地址計(jì)算器302一直將周期計(jì)數(shù)CC和周期長度CL進(jìn)行比較,看是否滿足條件CC>CL。在此,周期長度CL是如果在當(dāng)前再現(xiàn)周期執(zhí)行擴(kuò)展(S)處理,就是當(dāng)前在第一勻滑轉(zhuǎn)換信道讀出的數(shù)據(jù)組之前的數(shù)據(jù)組的長度;如果,在當(dāng)前再現(xiàn)周期執(zhí)行正常(N)處理,就是當(dāng)前在在第一勻滑轉(zhuǎn)換信道讀出的數(shù)據(jù)組的長度;或者如果在當(dāng)前再現(xiàn)周期執(zhí)行壓縮(C)處理,就是在第一勻滑轉(zhuǎn)換信道讀出的數(shù)據(jù)組之后的數(shù)據(jù)組的長度。換句話說,周期長度CL表示了當(dāng)前在第二勻滑轉(zhuǎn)換信道讀出的數(shù)據(jù)組的長度,并且,在由周期長度CL表示的數(shù)據(jù)組長度的基礎(chǔ)上可以判斷出當(dāng)前再現(xiàn)周期的結(jié)尾;就是說,當(dāng)周期計(jì)數(shù)CC超過周期長度CL時(shí)的點(diǎn)就是當(dāng)前再現(xiàn)周期的結(jié)尾。一旦當(dāng)前再現(xiàn)周期結(jié)束,地址計(jì)算器302輸出一個(gè)觸發(fā)信號(數(shù)據(jù)組更新信息),如上所述,為了響應(yīng)它,順序計(jì)數(shù)器304的值增加。換句話說,一旦累積周期計(jì)數(shù)CC值超出在第二勻滑轉(zhuǎn)換信道讀出的數(shù)據(jù)組長度T,將其預(yù)存在初始值(CC-T)中,同時(shí)地址計(jì)算器302產(chǎn)生觸發(fā)信號。
為了得到精確的音調(diào),該音調(diào)具有同它相異步的操作(換句話說具有固定的頻率),對在第一勻滑轉(zhuǎn)換信道中的每個(gè)讀地址(rp+CC)和第二勻滑轉(zhuǎn)換信道中的每個(gè)讀地址(rp+CC+OFST),在采樣值之間進(jìn)行的插入已經(jīng)在讀地址十進(jìn)制小數(shù)部分的基礎(chǔ)上完成。為了這個(gè)目的,與圖2中的插入電路11和12相同,圖30的波形存貯器讀出單元對于每個(gè)勻滑轉(zhuǎn)換信道包括一個(gè)音調(diào)插入部分309和310,從而,在第一和第二勻滑轉(zhuǎn)換信道中,根據(jù)彼此獨(dú)立的整數(shù)部分的差值進(jìn)行線性插入。
乘法器311和312補(bǔ)償部分313和加法器314共同組成勻滑轉(zhuǎn)換電路。在每個(gè)再現(xiàn)周期中,不管在再現(xiàn)周期中執(zhí)行擴(kuò)展、正常和壓縮處理中的哪一個(gè),該勻滑轉(zhuǎn)換電路從第一勻滑轉(zhuǎn)換信道讀出的波形數(shù)據(jù)(即第一勻滑轉(zhuǎn)換波形數(shù)據(jù)區(qū)域)到第二勻滑轉(zhuǎn)換信道讀出的波形數(shù)據(jù)(即第二勻滑轉(zhuǎn)換波形數(shù)據(jù)區(qū)域)進(jìn)行勻滑轉(zhuǎn)換傳輸。地址計(jì)算器302為第二勻滑轉(zhuǎn)換信道產(chǎn)生一個(gè)加權(quán)系數(shù)(周期計(jì)數(shù)CC÷周期長度CL),并且補(bǔ)償部分313產(chǎn)生一個(gè)加權(quán)系數(shù)的補(bǔ)碼(即1-CC÷CL)。在由第二勻滑轉(zhuǎn)換信道讀出的數(shù)據(jù)組的長度T2確定的周期中進(jìn)行勻滑轉(zhuǎn)換合成。
提供差值(“dif”)寄存器307用于存儲累積的理想位置(虛擬讀地址)和實(shí)際位置(實(shí)際讀地址)之間的差值。在此,理想位置對應(yīng)于當(dāng)假設(shè)已經(jīng)根據(jù)時(shí)間軸擴(kuò)展/壓縮比信息CRate執(zhí)行了再現(xiàn)時(shí)間的擴(kuò)展/壓縮時(shí)讀指針的值。理想位置或虛擬讀地址在約定周期內(nèi)的總增量,在該周期已經(jīng)結(jié)束時(shí)等于在第二勻滑轉(zhuǎn)換信道中讀出的數(shù)據(jù)組長度與時(shí)間軸擴(kuò)展/壓縮比信息CRate的相乘的值(即T2×CRate)。另一方面,如果執(zhí)行擴(kuò)展(S)處理,實(shí)際讀地址在約定周期內(nèi)的總增量,在該周期結(jié)束時(shí)等于“0”,如果在約定周期內(nèi)執(zhí)行正常處理(N)則等于“T1”;如果在約定周期內(nèi)執(zhí)行壓縮(C)處理,則等于“T1+T2”。因?yàn)樵诘诙蚧D(zhuǎn)換信道內(nèi)的讀地址成為了下一個(gè)再現(xiàn)周期讀指針rp的值,這個(gè)實(shí)際讀地址的總增量等于在第二勻滑轉(zhuǎn)換信道內(nèi)的讀地址與在再現(xiàn)周期結(jié)尾點(diǎn)的讀指針rp的值的差值。如果再現(xiàn)周期中理想位置或虛擬讀地址VAD的總增量與實(shí)際讀地址的總增量之間的差值由Δdif表示,由地址計(jì)算器302,依據(jù)剛完成的處理是擴(kuò)展(S)、正常(N)和壓縮(C)處理中的哪一個(gè)以不同的方式計(jì)算該Δdif如下如果剛完成的處理是擴(kuò)展(S)處理,Δdif=(T2×CRate);如果剛完成的處理是正常(N)處理,Δdif=(T2×CRate)-T1;或者如果剛完成的處理是壓縮(C)Δdif=(T2×CRate)-(T1+T2)。
地址計(jì)算器302將如此計(jì)算的差值與當(dāng)前累加的差值(dif)相加,從而在剛結(jié)束的再現(xiàn)周期的結(jié)尾處(即在下一個(gè)再現(xiàn)周期的開始處)確定累積的差值(dif)。
進(jìn)一步說,在剛結(jié)束的再現(xiàn)周期的結(jié)尾處確定的累積的差值(dif)的基礎(chǔ)上,地址計(jì)算器302確定將執(zhí)行擴(kuò)展(S)、正常(N)和壓縮(C)處理中的哪一個(gè)。具體說,這一確定是在下面的條件(1)和(2)的基礎(chǔ)上作出的。由于這一確定是在累積的差值的基礎(chǔ)上作出的,將在下一個(gè)再現(xiàn)周期中在第一勻滑轉(zhuǎn)換信道內(nèi)讀出的數(shù)據(jù)組的長度提前讀入“T1”寄存器,而“T2”寄存器保持在剛結(jié)束的再現(xiàn)周期中存儲的值。
條件(1)如果dif≥0(其中,“dif”為一個(gè)正值),比較T1(在下一個(gè)再現(xiàn)周期中在第一勻滑轉(zhuǎn)換信道內(nèi)讀出的數(shù)據(jù)組的長度)和“dif”,之后,(1-1)如果|dif|/T1≥0.5(即累積的差值dif大于數(shù)據(jù)組的長度T1的一半),地址計(jì)算器302確定將執(zhí)行壓縮(C)處理,或者,(1-2)如果不是(即累積的差值dif不大于數(shù)據(jù)組的長度T1的一半),地址計(jì)算器302確定將執(zhí)行正常(N)處理。
條件(2)如果dif<0(其中“dif”為負(fù)值),比較T2(在剛結(jié)束的再現(xiàn)周期中在第二勻滑轉(zhuǎn)換信道內(nèi)讀出的數(shù)據(jù)組的長度)和“dif”,之后,(2-1)如果|dif|/T2≥0.5(即累積的差值dif大于數(shù)據(jù)組的長度T2的一半),地址計(jì)算器302確定將執(zhí)行擴(kuò)展(S)處理,或者,(2-2)如果不是(即累積的差值dif不大于數(shù)據(jù)組的長度T2的一半),地址計(jì)算器302確定將執(zhí)行正常(N)處理。
當(dāng)在所需的再現(xiàn)時(shí)間內(nèi),實(shí)際讀位置在理想讀位置之后的偏移量大于數(shù)據(jù)組長度T1的一半時(shí),上面的條件(1)用于執(zhí)行壓縮處理。當(dāng)在所需的再現(xiàn)時(shí)間內(nèi),實(shí)際讀位置在理想讀位置之前的偏移量大于數(shù)據(jù)組長度T2的一半時(shí),上面的條件(2)用于執(zhí)行擴(kuò)展處理。
圖34在表702中表示了對上面提到的由地址計(jì)算器302執(zhí)行的擴(kuò)展(S)、正常(N)、壓縮(C)處理的內(nèi)容進(jìn)行的總結(jié),方框701表示了存儲在波形存儲器中的連續(xù)的數(shù)據(jù)組Z、A和B。在此,讓我們假設(shè)當(dāng)前正將數(shù)據(jù)組A在第一勻滑轉(zhuǎn)換信道中讀出(換句話說,作為第一勻滑轉(zhuǎn)換波形數(shù)據(jù)區(qū)域),并且數(shù)據(jù)組Z、A和B各自的長度為Tpre,Tnow和Tnext。在這種情況下,在第二勻滑轉(zhuǎn)換信道中讀出的數(shù)據(jù)組(換句話說,第二勻滑轉(zhuǎn)換波形數(shù)據(jù)區(qū)域)如果在當(dāng)前再現(xiàn)周期執(zhí)行擴(kuò)展(S)處理,為數(shù)據(jù)組Z,如果在當(dāng)前再現(xiàn)周期執(zhí)行正常(N)處理,則為數(shù)據(jù)組A,如果在當(dāng)前再現(xiàn)周期執(zhí)行壓縮(C)處理,則為數(shù)據(jù)組B。參考標(biāo)記rp-now表示了在當(dāng)前再現(xiàn)周期內(nèi)“rp”寄存器的值,適用于當(dāng)前再現(xiàn)周期的周期長度CL在“適用的周期長度”欄中表示,而在當(dāng)前再現(xiàn)周期適用于第二勻滑轉(zhuǎn)換信道的OFST在“第二信道OFST”欄中表示。具有開始地址(rp)的其中一個(gè)數(shù)據(jù)組在第一勻滑轉(zhuǎn)換信道中讀出,而具有開始地址(rp+OFST)的其中一個(gè)數(shù)據(jù)組在第二勻滑轉(zhuǎn)換信道中讀出?!皉p更新”欄表示了一旦當(dāng)前再現(xiàn)周期內(nèi)的處理完成,就將“rp”的值更新以繼續(xù)在第二勻滑轉(zhuǎn)換信道的讀出,更新到下一個(gè)再現(xiàn)周期在第一勻滑轉(zhuǎn)換信道將要讀出的數(shù)據(jù)組的開始地址?!癲if的更新”欄表示了當(dāng)當(dāng)前再現(xiàn)周期已經(jīng)結(jié)束時(shí)累積的差值dif的值。這個(gè)“dif”值用于地址計(jì)算器302確定在下一個(gè)再現(xiàn)周期執(zhí)行擴(kuò)展(S)、正常(N)和壓縮(C)處理中的哪一個(gè)。進(jìn)一步說,“順序計(jì)數(shù)的更新”欄表示了將順序計(jì)數(shù)器更新為在第二勻滑轉(zhuǎn)換信道中讀出的數(shù)據(jù)組之后的數(shù)據(jù)組的唯一的組數(shù),該數(shù)據(jù)組將在下一個(gè)再現(xiàn)周期內(nèi)在第一勻滑轉(zhuǎn)換信道中讀出。將適用的周期長度CL設(shè)置為在第二勻滑轉(zhuǎn)換信道內(nèi)讀出的數(shù)據(jù)組的長度信息T2,在由周期長度CL表示的期間的再現(xiàn)周期內(nèi),執(zhí)行勻滑轉(zhuǎn)換合成。
圖35是一個(gè)簡圖,說明了地址計(jì)算器302確定將執(zhí)行擴(kuò)展(S)、正常(N)和壓縮(C)處理中的哪一個(gè)的方式,801的連續(xù)三角形框表示數(shù)據(jù)組的連續(xù),圖35的水平軸表示讀地址而不是時(shí)間。在圖35的(a)部分表示了波形數(shù)據(jù)在第一勻滑轉(zhuǎn)換信道讀出的實(shí)例,而在圖35的(b)部分表示了波形數(shù)據(jù)在第二勻滑轉(zhuǎn)換信道讀出的實(shí)例。
在“擴(kuò)展(S)處理”部分,參考標(biāo)記831表示由理想指針(虛擬讀地址)指出的最后位置,而811表示了由實(shí)際指針(“rp”寄存器)指出的位置。在這種情況下,因?yàn)槔鄯e的差值dif為821表示的dif-old,所以上述的條件(2-1)滿足,從而地址計(jì)算器302確定將執(zhí)行擴(kuò)展(S)處理。在這個(gè)擴(kuò)展(S)處理中,以三角形801表示的漸強(qiáng)波形(圖35的(a))所示的方式在第一勻滑轉(zhuǎn)換信道中讀出波形數(shù)據(jù),同時(shí)以相對的三角形804表示的漸弱波形(圖35的(b))所示的方式在第二勻滑轉(zhuǎn)換信道中讀出波形數(shù)據(jù)。
在“正常(N)處理”部分,參考標(biāo)記832表示由理想指針指出的最后位置,而812表示了由實(shí)際指針指出的位置。在這種情況下,因?yàn)槔鄯e的差值dif為822表示的dif-old,所以上述的條件(2-2)滿足,從而地址計(jì)算器302確定將執(zhí)行正常(N)處理。在這個(gè)正常(N)處理中,以三角形802表示的漸弱波形(圖35的(a))所示的方式在第一勻滑轉(zhuǎn)換信道中讀出波形數(shù)據(jù),同時(shí)以相對的三角形804表示的漸強(qiáng)波形(圖35的(b))所示的方式在第二勻滑轉(zhuǎn)換信道中讀出波形數(shù)據(jù)。
在“壓縮(C)處理”部分,參考標(biāo)記833表示由理想指針指出的最后值,而813表示了由實(shí)際指針指出的位置。在這種情況下,因?yàn)槔鄯e的差值dif為823表示的dif-old,所以上述的條件(1-1)滿足,從而地址計(jì)算器302確定將執(zhí)行壓縮(C)處理。在這個(gè)壓縮(C)處理中,以三角形803表示的漸弱波形(圖35的(a))所示的方式在第一勻滑轉(zhuǎn)換信道中讀出波形數(shù)據(jù),同時(shí)以相對的三角形804表示的漸強(qiáng)波形(圖35的(b))所示的方式在第二勻滑轉(zhuǎn)換信道中讀出波形數(shù)據(jù)。
進(jìn)一步說,在圖35的(c)部分,在下一個(gè)再現(xiàn)周期波形讀出確定的實(shí)例。如果在后面或前面的再現(xiàn)周期,虛擬讀地址已經(jīng)從由理想指針851指定的位置超出852所表示的量,于是累積的差值dif成為823所示的,上述條件(2-1)滿足,從而地址計(jì)算器302確定將執(zhí)行擴(kuò)展(S)處理。如果在前面的再現(xiàn)周期,虛擬讀地址已經(jīng)從由理想指針851指定的位置超出854所表示的量,于是累積的差值dif成為855所示的,上述條件(2-2)滿足,從而地址計(jì)算器302確定將執(zhí)行正常(N)處理。進(jìn)一步說,如果在后面的再現(xiàn)周期,虛擬讀地址已經(jīng)從由理想指針851指定的位置超出856所表示的量,于是累積的差值dif成為857所示的,上述條件(1-1)滿足,從而地址計(jì)算器302確定將執(zhí)行壓縮(C)處理。
關(guān)于圖35,已經(jīng)介紹了用地址計(jì)算器302進(jìn)行選擇,使實(shí)際讀地址向后移動一個(gè)波形周期的擴(kuò)展(S)處理,使實(shí)際讀地址以正常方式增進(jìn)的正常(N)處理和使實(shí)際讀地址躍進(jìn)一個(gè)波形周期的壓縮(C)處理。或者,可以使實(shí)際讀地址先后移動或躍進(jìn)兩個(gè)或更多的周期。圖36表示了實(shí)際讀地址后移動或躍進(jìn)兩個(gè)周期的實(shí)例。
具體說,在圖36中,由理想指針指定的位置確定了在下一個(gè)再現(xiàn)周期將要在第二勻滑轉(zhuǎn)換信道讀出的數(shù)據(jù)組;就是說,選擇起始點(diǎn)靠近理想指針位置的數(shù)據(jù)組在下一個(gè)再現(xiàn)周期將要在第二勻滑轉(zhuǎn)換信道讀出。
假設(shè)在先周期之前的再現(xiàn)周期內(nèi)的理想指針(虛擬讀地址)在區(qū)域905內(nèi)的902位置,在前面的再現(xiàn)周期內(nèi)在第二勻滑轉(zhuǎn)換信道中讀出漸強(qiáng)波形區(qū)域906。這樣,“rp”在當(dāng)前再現(xiàn)周期內(nèi)的907位置,在當(dāng)前再現(xiàn)周期內(nèi)在第一勻滑轉(zhuǎn)換信道中讀出漸弱波形區(qū)域910。
在前面的再現(xiàn)周期內(nèi),理想指針已經(jīng)增加了T2-old×CRate達(dá)到位置904。此刻,累積的差值dif是dif-old1,如912所示,而理想指針位于區(qū)域906內(nèi),從而在當(dāng)前再現(xiàn)周期內(nèi)在第二勻滑轉(zhuǎn)換信道內(nèi)讀出漸強(qiáng)波形區(qū)域911。
以這種方法,在當(dāng)前再現(xiàn)周期內(nèi),在第一勻滑轉(zhuǎn)換信道中讀出的波形區(qū)域910和在第二勻滑轉(zhuǎn)換信道內(nèi)讀出的波形區(qū)域911之間進(jìn)行勻滑轉(zhuǎn)換合成,從而使得讀指針躍進(jìn)兩個(gè)周期達(dá)到908所示的“rp-next位置。
通過改變時(shí)間軸擴(kuò)展/壓縮比CRate的值,虛擬讀地址在每個(gè)再現(xiàn)周期內(nèi)的增量可以比圖36的實(shí)例中的大或小。根據(jù)所述的實(shí)例,在每個(gè)再現(xiàn)周期內(nèi)在第二勻滑轉(zhuǎn)換信道內(nèi)讀出的數(shù)據(jù)組可以自由地向前或向后跳躍。
圖37為一簡圖,它表示了當(dāng)時(shí)間軸擴(kuò)展/壓縮比CRate為1.5時(shí)(如圖31的讀出實(shí)例413)的控制實(shí)例。參考標(biāo)記1001表示讀地址在第一勻滑轉(zhuǎn)換信道內(nèi)增進(jìn)的方式。橫軸表示正常(N)處理和壓縮(C)處理以每再現(xiàn)周期一次處理的次序重復(fù)的次數(shù)??v軸表示地址(ADRS),而線1005表示沿縱軸畫出的數(shù)據(jù)組,以象征指出數(shù)據(jù)組A到F的大概位置。參考標(biāo)記1002表示讀地址在第二勻滑轉(zhuǎn)換信道內(nèi)增進(jìn)的方式。參考標(biāo)記1003表示讀指針rp的數(shù)值變化,參考標(biāo)記1004表示周期計(jì)數(shù)CC的數(shù)值變化,它是以每個(gè)再現(xiàn)周期累積增加的方式變化的。如上所述,讀指針rp增進(jìn)以依次指示數(shù)據(jù)組A、B、D和E。在第一勻滑轉(zhuǎn)換信道內(nèi)以1001所示的方式產(chǎn)生地址,該方式是通過將讀指針rp的值與周期計(jì)數(shù)CC的值相加。在第二勻滑轉(zhuǎn)換信道內(nèi)產(chǎn)生的地址以1002所示方式增進(jìn),以指示數(shù)據(jù)組A、C、D和F。將用這些地址讀出的兩個(gè)波形區(qū)域經(jīng)過勻滑轉(zhuǎn)換合成,這樣以指定的音調(diào)在對應(yīng)于四個(gè)再現(xiàn)周期的再現(xiàn)時(shí)間內(nèi)再現(xiàn)了一個(gè)音波形。
圖38表示了當(dāng)時(shí)間軸擴(kuò)展/壓縮比CRate為1.0時(shí),以原始再現(xiàn)時(shí)間長度再現(xiàn)的實(shí)例,圖39表示了當(dāng)時(shí)間軸擴(kuò)展/壓縮比CRate為0.75時(shí),以壓縮再現(xiàn)時(shí)間長度再現(xiàn)的實(shí)例。
顯然,上述使用按圖29和30的方式安排波形發(fā)生部分111的最佳實(shí)施例可適用于多種目的,如使用圖2的波形發(fā)生部分111的最佳實(shí)施例。
例如,本發(fā)明的控制適用于,使用特征形式來表演樂音的情況,諸如顫音、碎音等,所述特征形式是在對應(yīng)于調(diào)制周期的時(shí)間長度內(nèi)在波形存儲器301內(nèi)記錄的。響應(yīng)每個(gè)音發(fā)生指令,將這樣記錄的施加了調(diào)制的波形數(shù)據(jù)讀出。于是,用本發(fā)明的控制,使實(shí)際讀地址以對應(yīng)于指定音調(diào)的速率增進(jìn)同時(shí)使虛擬讀指針以原始調(diào)制周期和指定的調(diào)制周期之比為基礎(chǔ)的速率增進(jìn),能夠從一套施以調(diào)制的波形數(shù)據(jù)產(chǎn)生具有所需音調(diào)和調(diào)制周期的音。
本發(fā)明的控制還很好地適用于這種情況,在波形存儲器301中記錄了在吉他或其他樂器上的音調(diào)變調(diào)特征基礎(chǔ)上的波形。通過在從波形存儲器301中讀出施加了變調(diào)的波形數(shù)據(jù)時(shí),使用本發(fā)明的控制,根據(jù)所需的音調(diào)控制實(shí)際讀地址的增進(jìn)速率并根據(jù)所需的變調(diào)率控制虛擬讀地址的增進(jìn)速率,能夠從一套施以變調(diào)的波形數(shù)據(jù)產(chǎn)生具有所需音調(diào)和變調(diào)率的音。
進(jìn)一步說,使用本發(fā)明的控制,可以彼此獨(dú)立地控制表示一個(gè)音從開始到結(jié)束的波形數(shù)據(jù)的上升部分長度和下落部分長度,而與音調(diào)無關(guān)。圖40A表示了僅用于上升部分和下落部分的擴(kuò)展和壓縮再現(xiàn)時(shí)間的擴(kuò)展/壓縮比參數(shù)的示范變化。
進(jìn)一步說,通過用一個(gè)振動波形,如噪音或混亂波形,控制虛擬讀地址的變化,可以給PCM音發(fā)生器的波形音色施加一個(gè)在時(shí)間軸擴(kuò)展/壓縮比基礎(chǔ)上變化的調(diào)制。圖40B表示了一個(gè)實(shí)例,其中用一個(gè)隨時(shí)間振動的波形調(diào)制擴(kuò)展/壓縮比,從而得到一個(gè)音色變化。進(jìn)一步說,通過實(shí)行使用這種振動波形的TSC控制可以避免由重復(fù)讀出存儲在波形存儲器301中的波形數(shù)據(jù)的循環(huán)波形段造成的單調(diào)性,如上面關(guān)于圖18的說明。
更進(jìn)一步說,本發(fā)明的TSC控制還可以很好地適用于這種情況,當(dāng)在波形存儲器301中存儲了用在管樂器,吉他或其他樂器上的連音符產(chǎn)生的波形的情況。通過在讀出連音符波形數(shù)據(jù)時(shí)實(shí)施TSC控制,能夠自如地控制從一個(gè)音調(diào)到另一個(gè)音調(diào)的轉(zhuǎn)移(連音時(shí)間)而與音調(diào)無關(guān)。
此外,本發(fā)明的TSC控制可以方便地適用于這種情況,在波形存儲器中存儲了由弦樂器,管樂器或其它上的連音符特征產(chǎn)生的伴有預(yù)先敲擊聲音(或裝飾音)的特征音的波形。通過在讀出波形數(shù)據(jù)時(shí)實(shí)行TSC控制,可以控制預(yù)先敲擊聲音的時(shí)間長度,而與音調(diào)無關(guān)。
進(jìn)一步說,當(dāng)本發(fā)明的TSC控制用于PCM音發(fā)生器,并且以不同的再現(xiàn)音調(diào)讀出同一套波形數(shù)據(jù)時(shí),該TSC控制可以控制各自的音發(fā)生時(shí)間長度使其彼此相等(圖16和17所示的實(shí)例)。
當(dāng)本發(fā)明的TSC控制還是用于PCM音發(fā)生器,它可以從同樣的一套多周期波形數(shù)據(jù)產(chǎn)生多個(gè)具有不同再現(xiàn)時(shí)間長度的音色波形。
此外,通過將當(dāng)本發(fā)明的TSC控制用于PCM音發(fā)生器,可以讀出波形存儲器301中的一套波形數(shù)據(jù),其再現(xiàn)時(shí)間長度根據(jù)指定的音符長度可變地變化。
盡管,在重復(fù)讀出基礎(chǔ)上的再現(xiàn)時(shí)間長度將導(dǎo)致在循環(huán)波形段的單調(diào)音色,本發(fā)明的TSC控制通過適當(dāng)?shù)乜刂茢U(kuò)展/壓縮比可以改變在循環(huán)波形段的音色,從而避免單調(diào)性。除了上述的應(yīng)用外,TSC控制還有多種應(yīng)用。
根據(jù)本發(fā)明,再采樣技術(shù)可以在存入波形存儲器之前用于多周期波形各個(gè)數(shù)據(jù)組各自長度進(jìn)行預(yù)處理。然而,即使在正常(N)處理中實(shí)施勻滑轉(zhuǎn)換合成已經(jīng)在上面介紹了最佳實(shí)施例,從前面顯然可以理解,在正常(N)處理中實(shí)施勻滑轉(zhuǎn)換合成不是必須的,因此可以省略。然而,當(dāng)“表面上“在正常(N)處理中實(shí)施勻滑轉(zhuǎn)換合成時(shí),因?yàn)榭梢詫⑸鲜霰景l(fā)明的控制安排為無條件執(zhí)行勻滑轉(zhuǎn)換合成,而這樣可以省略判斷的需要考慮時(shí)間軸擴(kuò)展/壓縮控制參數(shù)的內(nèi)容,以及是否要進(jìn)行勻滑轉(zhuǎn)換合成。這種安排可以顯著簡化必要的控制和構(gòu)成。
更進(jìn)一步,如上所述,包括在每個(gè)數(shù)據(jù)組中的周期數(shù)可以僅為一個(gè)或兩個(gè)或更多?;蛘?,數(shù)據(jù)組的周期數(shù)可以彼此不同。
此外,關(guān)于控制每個(gè)再現(xiàn)周期虛擬和實(shí)際讀地址的增進(jìn),上面已經(jīng)介紹了實(shí)施例,地址增進(jìn)控制可以以更短或更長的間隔進(jìn)行。在一個(gè)波形再現(xiàn)的過程中,當(dāng)進(jìn)行地址比較控制時(shí),再現(xiàn)周期還可以改變成另一個(gè)。
在上述最佳實(shí)施例中,盡管根據(jù)波形存儲器中的地址數(shù)計(jì)算了累積的差值,在這種情況下,還可以用下面的等式根據(jù)數(shù)據(jù)組數(shù)計(jì)算dif=dif+Δdif在這種情況下,如果dif≥0.5(即如果累積的差值大于再現(xiàn)周期的一半),選擇壓縮(C)處理。
如果dif≤-0.5(即如果累積的差值大于再現(xiàn)周期的一半),選擇擴(kuò)展(S)處理。
否則,(即如果累積的差值小于再現(xiàn)周期的一半),選擇正常(N)處理。
進(jìn)一步說,如下計(jì)算Δdif對于擴(kuò)展(S)處理,Δdif=CRate;對于正常(N)處理,Δdif=CRate-1;以及對于壓縮(C)處理,Δdif=CRate-2。
注意,在上述最佳實(shí)施例中,將各個(gè)數(shù)據(jù)組各自的開始點(diǎn)根據(jù)一種相位值(幅值和變化的斜率)設(shè)置在相位相同的點(diǎn)是很重要的,還可以根據(jù)兩個(gè)或更多相位值將他們設(shè)置在相位相同的點(diǎn),在這種情況下,在一個(gè)相應(yīng)的再現(xiàn)周期的結(jié)尾,一個(gè)數(shù)據(jù)組可以在任何一個(gè)相位值與另一個(gè)數(shù)據(jù)組相連。
進(jìn)一步說,已經(jīng)在上面的最佳實(shí)施例中介紹了在勻滑轉(zhuǎn)換合成中固定使用漸強(qiáng)和漸弱波形數(shù)據(jù)區(qū)域,兩個(gè)波形數(shù)據(jù)區(qū)域可以交替地用作漸強(qiáng)和漸弱波形數(shù)據(jù)區(qū)域。如上所述,可以根據(jù)實(shí)時(shí)的特征操作,可變地設(shè)置TSC控制的參數(shù),或與多種音色和效果相關(guān)地進(jìn)行表示。最好將用于TSC控制的擴(kuò)展/壓縮控制參數(shù)的隨時(shí)間的變化模型化,在模型中,可方便地得到所需的TSC控制隨時(shí)間的變化,并可以進(jìn)行編程,從而可以在一個(gè)預(yù)定的音發(fā)生周期內(nèi)完成時(shí)間軸擴(kuò)展和壓縮(例如,任意選擇的部分周期,諸如一個(gè)音的上升部分或下落部分或整個(gè)音發(fā)生周期)。圖41和42表示了這種TSC控制參數(shù)隨時(shí)間變化的模型的實(shí)例。
具體說,圖41A到41C表示了在利用擴(kuò)展/壓縮比CRate(換句話說,使用圖29和30所示的波形發(fā)生部分111進(jìn)行TSC控制)進(jìn)行TSC控制的方案中,TSC控制參數(shù)(即擴(kuò)展/壓縮比CRate)隨時(shí)間變化的模型。水平時(shí)間軸的開始點(diǎn)表示,例如一個(gè)音發(fā)生開始點(diǎn)。更具體說,圖41A表示了擴(kuò)展/壓縮比CRate是固定的而不是沿時(shí)間變化的實(shí)例。圖41B表示了另一個(gè)實(shí)例,其中擴(kuò)展/壓縮比CRate從開始部分的一個(gè)小值逐漸增加,之后變成在后面持續(xù)部分基本固定的值。用這種方式,執(zhí)行TSC控制,這樣產(chǎn)生的音表示在其開始部分為最大的時(shí)間軸擴(kuò)展,接著逐漸返回到初始的時(shí)間軸位置。圖41C依舊表示了另一個(gè)實(shí)例,其中擴(kuò)展/壓縮比CRate從在開始部分的大值逐漸減小,接著在變成在后面持續(xù)部分基本固定的值。用這種方式,執(zhí)行TSC控制,這樣產(chǎn)生的音表示在其開始部分為最大的時(shí)間軸壓縮,接著逐漸返回到初始的時(shí)間軸位置。
圖41D到圖41F表示了用于使用虛擬讀地址VAD(換句話說,使用圖2所示波形發(fā)生部分111進(jìn)行TSC控制)進(jìn)行TSC控制的方案中,TSC控制參數(shù)(即虛擬讀地址VAD)隨時(shí)間變化的模型。除了使用虛擬讀地址VAD作為TSC控制參數(shù)以外,圖41D、41E和41F的實(shí)例與上述圖41A、41B和41C的實(shí)例分別類似。
最好將圖41所示的TSC控制參數(shù)(即擴(kuò)展/壓縮比CRate或虛擬讀地址VAD)的模型預(yù)先以表格形式存儲在存儲器中。注意,當(dāng)將圖41D、41E和41F實(shí)例中的虛擬讀地址VAD的隨時(shí)間變化模型預(yù)先存儲時(shí),安排虛擬讀地址計(jì)算器17與虛擬讀地址VAD的時(shí)間函數(shù)相乘,該時(shí)間函數(shù)是通過“音調(diào)信息”從表格中讀出的,而不是通過以采樣頻率累積“音調(diào)信息”讀出的。顯然,可以將擴(kuò)展/壓縮比scr(圖2)隨時(shí)間的變化模型以圖41A、41B和41C所示的方式預(yù)先存儲,代替將虛擬讀地址VAD隨時(shí)間的變化模型以圖41D、41E和41F所示的方式直接預(yù)先存儲。
圖42表示了多種實(shí)例,使用一個(gè)數(shù)學(xué)算子,諸如包絡(luò)線發(fā)生器,將其中類似于圖41的TSC控制參數(shù)隨時(shí)間變化模型生成折線圖。具體說,圖42A到42F表示了用實(shí)時(shí)數(shù)學(xué)運(yùn)算創(chuàng)建類似于圖42A到42F的TSC控制參數(shù)隨時(shí)間變化模型的實(shí)例,而不是使用表格或存儲器。
圖41到圖42所示的實(shí)例僅用于描述目的,可以預(yù)先存儲或數(shù)學(xué)創(chuàng)建多種其他的模型,而不僅是那些描述的實(shí)例。
進(jìn)一步說,圖43A和圖43B表示了使用任何如圖41和圖42所示的TSC控制參數(shù)的隨時(shí)間的變化形式的音色控制實(shí)例,各自表示了對應(yīng)于一個(gè)音色的控制信息表的示范設(shè)置情況。
具體說,圖43A表示了對應(yīng)于音色名“A”的多種控制信息實(shí)例。這里,使用圖30所示的波形發(fā)生部分111進(jìn)行TSC控制。根據(jù)這個(gè)實(shí)例,指定“波形數(shù)據(jù)文件1”作為波形數(shù)據(jù)文件說明信息,而指定“CRate變化2”作為TSC控制參數(shù)模型說明信息。這個(gè)控制信息表格也包括多個(gè)設(shè)置信息,諸如音量包絡(luò)線(EG)設(shè)置信息。在此,上述“CRate變化2”說明了一個(gè)圖41A到41C和圖42A到圖42C所示的預(yù)定時(shí)間變化。換句話說,根據(jù)這個(gè)實(shí)例,指定“波形數(shù)據(jù)文件1”的多周期波形數(shù)據(jù),并從波形存儲器301(圖30)作為對應(yīng)于音色名“A”的音波形將其讀出。而以根據(jù)“CRate變化2”的時(shí)間變化方式進(jìn)行TSC控制,從而創(chuàng)建所需的波形。在一些應(yīng)用中,可以指定“CRate變化2”以外的其他CRate變化形式,同時(shí)指定同樣的“波形數(shù)據(jù)文件1”。換句話說,根據(jù)這個(gè)實(shí)例,通過使用不同的CRate變化形式,而使用同樣的數(shù)據(jù)文件,可以提供一個(gè)音色變化的增加的數(shù)。
圖43B表示了對應(yīng)于音色名“B”的多種控制信息實(shí)例。這里,使用圖2所示的波形發(fā)生部分111進(jìn)行TSC控制。根據(jù)這個(gè)實(shí)例,指定“波形數(shù)據(jù)文件2”作為波形數(shù)據(jù)文件說明信息,而指定“VAD變化3”作為TSC控制參數(shù)模型說明信息。這個(gè)控制信息表格也包括多個(gè)設(shè)置信息,諸如音量包絡(luò)線(EG)設(shè)置信息。在此,上述“VAD變化3”說明了一個(gè)圖41D到41F和圖42D到圖42F所示的預(yù)定時(shí)間變化。換句話說,根據(jù)這個(gè)實(shí)例,指定“波形數(shù)據(jù)文件2”的多周期波形數(shù)據(jù),并從波形存儲器10(圖2)中作為對應(yīng)于音色名“B”的音波形將其讀出。而以根據(jù)“VAD變化3”的時(shí)間變化方式進(jìn)行TSC控制,從而創(chuàng)建所需的波形。在這種情況下,也可以指定“VAD變化3”以外的其他VAD變化形式,同時(shí)指定同樣的“波形數(shù)據(jù)文件2”。換句話說,根據(jù)這個(gè)實(shí)例,通過使用不同的VAD變化形式,而使用同樣的數(shù)據(jù)文件,可以提供一個(gè)音色變化的減少的數(shù)。另一方面,在最佳實(shí)施例中已經(jīng)介紹了由專用硬件執(zhí)行的,包括波形發(fā)生部分111的音發(fā)生器單元103,也可以由軟件來實(shí)現(xiàn)。
換句話說,為此,要以這樣的方式建立一個(gè)軟件系統(tǒng),比如一個(gè)“TSC控制程序”,該方式可獲得所需的到此為止關(guān)于圖2到圖43所述的本發(fā)明多種形式TSC控制的一種,并且在存儲器中存儲多周期波形數(shù)據(jù)。于是,通過這樣建立的軟件(TSC控制程序)的運(yùn)行,從波形存儲器中以基于上述TSC控制的方式讀出波形數(shù)據(jù)。
圖44是一個(gè)方框圖,它表示了在計(jì)算機(jī)軟件基礎(chǔ)上的音發(fā)生器所采用的整個(gè)硬件構(gòu)成。該硬件構(gòu)成可以由一臺個(gè)人計(jì)算機(jī)實(shí)現(xiàn)。
在所描述的音發(fā)生器系統(tǒng)中,個(gè)人計(jì)算機(jī)的CPU(中央處理單元)31用作主控制單元,它運(yùn)行預(yù)定的“TSC控制程序”,以執(zhí)行類似于由圖1的音發(fā)生器單元103實(shí)施的TSC控制的TSC控制。必要時(shí),CPU31可以執(zhí)行任何其他程序,包括類似于圖1的音發(fā)生器單元103執(zhí)行的處理程序,現(xiàn)在由TSC控制程序執(zhí)行。
通過數(shù)據(jù)和地址總線將多種組件連接到CPU31上,例如一個(gè)ROM(只讀存儲器)32,RAM(隨機(jī)訪問存儲器)33,網(wǎng)絡(luò)I/O(輸入/輸出裝置)34,計(jì)時(shí)器35,鼠標(biāo)36,鍵盤37,顯示器38,硬盤39,DMAC(直接存儲訪問控制器)40,聲音I/O 41,采樣時(shí)鐘發(fā)生電路42,外部存儲器驅(qū)動器43和MIDI接口48。
聲音I/O 41是一個(gè)聲音輸入/輸出裝置,稱為CODEC,它包括一個(gè)模擬到數(shù)字轉(zhuǎn)換器(ADC),一個(gè)與ADC相連的輸入FIFO(先進(jìn)先出)緩沖器,和一個(gè)與數(shù)字到模擬(DAC)轉(zhuǎn)換器相連的輸出FIFO(先進(jìn)先出)緩沖器。通過外部音頻信號輸入端子45將模擬音頻信號送給聲音I/O 41中的ADC,其中根據(jù)由采樣時(shí)鐘發(fā)生器電路42產(chǎn)生的預(yù)定頻率(例如,48kHz)的采樣時(shí)鐘脈沖Fs,將該信號轉(zhuǎn)換成數(shù)字形式。于是將最終的經(jīng)過A/D轉(zhuǎn)換的音頻信號送入FIFO緩沖器的輸入端,聲音I/O 41將記錄處理需要信號送給DMAC 40。DMAC 40響應(yīng)記錄處理需要信號從輸入緩沖器讀出波形數(shù)據(jù),并將讀出的波形數(shù)據(jù)經(jīng)由總線44存儲在一個(gè)中間存儲器內(nèi),諸如RAM 33。如上所述,如此存儲在RAM中的波形數(shù)據(jù)接著經(jīng)過初步運(yùn)算,可以對其進(jìn)行調(diào)整,從而根據(jù)TSC控制將其適當(dāng)?shù)刈x出并分成多個(gè)數(shù)據(jù)組以便處理。可以將這樣的多套波形數(shù)據(jù)預(yù)存在硬盤39上,這樣,在這個(gè)實(shí)施例中,ROM 32,RAM 33或硬盤39對應(yīng)于圖2的波形存儲器或圖30的波形存儲器301。
可以將“TSC控制程序”存儲在ROM 32、RAM 33或硬盤39中的任何一個(gè)當(dāng)中。
外部記錄介質(zhì)46,諸如軟盤,CD-ROM(光盤只讀存儲器)或MO(磁光盤),與外部存儲器驅(qū)動器43可移動地連接,而外部存儲器驅(qū)動器43從記錄介質(zhì)46讀出并向其寫入數(shù)據(jù)。外部記錄介質(zhì)46可以用于存儲“TSC控制程序”,其他程序,波形數(shù)據(jù)和/或自動執(zhí)行的順序數(shù)據(jù)。
進(jìn)一步說,可以將音發(fā)生器系統(tǒng)通過網(wǎng)絡(luò)I/O34連接到通訊網(wǎng)絡(luò),從而它可以從外部服務(wù)器(未示出)接受“TSC控制程序”,其他程序和/或波形數(shù)據(jù),并將它們存儲在RAM 33,硬盤39或外部存儲介質(zhì)46內(nèi)。
CPU31執(zhí)行存儲在,例如RAM33中的“TSC控制程序”,以實(shí)施如上述實(shí)施例中的TSC控制,從而,從波形存儲器32、33或39中讀出經(jīng)過TSC控制的波形數(shù)據(jù)。接著,CPU 31將讀出的波形數(shù)據(jù)暫時(shí)寫入RAM 33中的輸出緩沖器中。與來自聲音I/O41的再現(xiàn)采樣時(shí)鐘脈沖同步,DMAC根據(jù)傳統(tǒng)的直接存儲處理方案,從輸出緩沖器讀出經(jīng)過TSC控制的波形數(shù)據(jù)的采樣值,每個(gè)時(shí)鐘脈沖一次采樣,并將采樣值送到聲音I/O 41。聲音I/O 41將經(jīng)過TSC控制的波形數(shù)據(jù)依次暫時(shí)寫入那里的輸出FIFO緩沖器。于是將D/A轉(zhuǎn)換結(jié)果波形數(shù)據(jù)通過聲音系統(tǒng)47進(jìn)行聲音再現(xiàn)。
注意,不必將所有的音發(fā)生器單元103的功能用軟件音發(fā)生器實(shí)施并且可以將其安排成一種混合形式,它包括軟件和硬件音發(fā)生器的組合。例如根據(jù)TSC控制從波形存儲器的波形數(shù)據(jù)讀出可以通過軟件處理執(zhí)行,而勻滑轉(zhuǎn)換合成可以由硬件電路執(zhí)行。
如此前所描述的本發(fā)明,提供了如下多種有益的效果。
適用于從波形存儲器讀出的波形數(shù)據(jù)基礎(chǔ)上的音發(fā)生器時(shí),本發(fā)明可以對數(shù)據(jù)讀出速率(音調(diào))隨意進(jìn)行可變的控制,并同時(shí)沿時(shí)間軸對波形數(shù)據(jù)進(jìn)行有選擇的擴(kuò)展和壓縮,而不必考慮讀出速率。這樣,作為一個(gè)獨(dú)立的音控制參數(shù),通過介紹沿時(shí)間軸方向?qū)Σㄐ螖?shù)據(jù)進(jìn)行擴(kuò)展和壓縮,本發(fā)明具有很好的優(yōu)點(diǎn),它向一個(gè)待發(fā)音施加壓縮,并顯著地提高該音的表現(xiàn)力和可控性,通過使多個(gè)不同音調(diào)共同使用所存儲的一套波形數(shù)據(jù),即使用簡單的結(jié)構(gòu),它也可以節(jié)省存儲容量。
進(jìn)一步說,當(dāng)適用于這種情況,在波形存儲器中存儲了多周期波形的高品質(zhì)波形數(shù)據(jù),他們對應(yīng)于任意的特征形式,諸如經(jīng)過如顫音或碎音調(diào)制的,經(jīng)過如音調(diào)變調(diào)或瞬態(tài)音調(diào)波動如瞬態(tài)音或裝飾音,從而通過讀出所存儲的波形數(shù)據(jù)而產(chǎn)生一個(gè)音,本發(fā)明可以沿時(shí)間軸對波形數(shù)據(jù)的讀出位置進(jìn)行擴(kuò)展和壓縮而不必考慮對波形數(shù)據(jù)讀出速率的控制(待發(fā)音的音調(diào)控制)。結(jié)果,本發(fā)明能夠提供一個(gè)時(shí)間軸控制參數(shù),作為附加的音控制參數(shù)用于任意特征形式,這樣得到了對任意調(diào)整形式都適合的音發(fā)生和音控制,它具有數(shù)據(jù)所不曾具備的表現(xiàn)力和可控性。
進(jìn)一步說,為了不考慮波形數(shù)據(jù)讀出速率的控制(待發(fā)音的音調(diào)控制),沿時(shí)間軸在波形數(shù)據(jù)所需部分(整個(gè)或部分)對擴(kuò)展和壓縮讀出位置進(jìn)行控制從而任意地控制所需部分的音再現(xiàn)或音發(fā)生時(shí)間長度,本發(fā)明得到多種音波形的變化形式,從而使得音發(fā)生和音控制具有提高的數(shù)據(jù)所不具備的表現(xiàn)力和可控性。例如,本發(fā)明能夠自由地對所發(fā)音的上升部分或下落部分等其它類似部分的音發(fā)生時(shí)間長度進(jìn)行可變的控制,同時(shí)保持音在一個(gè)所需的音調(diào)。通過可變地控制所發(fā)音的整個(gè)時(shí)間長度同時(shí)保持音在一個(gè)所需的音調(diào),本發(fā)明可以根據(jù)指定的音符長度或其它自由地控制音發(fā)生時(shí)間長度。
通過有選擇地產(chǎn)生的時(shí)間變化特征的時(shí)間軸擴(kuò)展/壓縮控制信息,該時(shí)間變化特征對應(yīng)于指定了音色或其它的信息,本發(fā)明得到了對應(yīng)于指定的音色或其它類似量的音波形的多種變化形式,從而,通過時(shí)間軸控制,從僅一個(gè)多周期波形的波形數(shù)據(jù)建立了多種波形變化形式。
此外,當(dāng)從波形存儲器中以重復(fù)或循環(huán)的方式讀出同一波形部分的波形數(shù)據(jù)時(shí),通過沿時(shí)間軸在波形數(shù)據(jù)所需部分對擴(kuò)展和壓縮讀出位置進(jìn)行控制,從而任意地控制所需部分的音再現(xiàn)或音發(fā)生時(shí)間長度,本發(fā)明得到多種音波形的變化形式,并可以將循環(huán)讀出造成的單調(diào)性最小化,或避免這種單調(diào)性。
另外,對應(yīng)待發(fā)音,通過沿時(shí)間軸在波形數(shù)據(jù)所需部分對擴(kuò)展和壓縮讀出位置進(jìn)行控制,從而施加確定的控制,如振動,本發(fā)明得到了音波形的多種變化形式。
此外,即便在音波形的再現(xiàn)過程中,通過沿時(shí)間軸實(shí)施擴(kuò)展和壓縮波形數(shù)據(jù)的控制,以便沿時(shí)間軸動態(tài)改變壓縮和擴(kuò)展的比值,本發(fā)明通過實(shí)時(shí)控制獲得了音波形的多種變化形式。
另外,當(dāng)有選擇地將多套存儲波形用于產(chǎn)生一個(gè)音時(shí),通過隨時(shí)間的變化,依次將該套轉(zhuǎn)換為用于另一套,本發(fā)明可以以更加多種的形式實(shí)施音控制。
通過在控制過程中進(jìn)行勻滑轉(zhuǎn)換合成,本發(fā)明獲得了具有光滑波形連接的時(shí)間軸擴(kuò)展和壓縮控制。
進(jìn)一步說,當(dāng)要經(jīng)過勻滑轉(zhuǎn)換的波形數(shù)據(jù)組依次改變時(shí),本發(fā)明固定在每個(gè)勻滑轉(zhuǎn)換信道內(nèi)的勻滑轉(zhuǎn)換方向(漸強(qiáng)或漸弱),從而總是從第一勻滑轉(zhuǎn)換信道的波形數(shù)據(jù)到第二勻滑轉(zhuǎn)換信道的波形數(shù)據(jù)進(jìn)行傳輸。使用這樣的安排,可以固定每個(gè)勻滑轉(zhuǎn)換信道的勻滑轉(zhuǎn)換系數(shù)的函數(shù)波形,從而便于形成函數(shù)波形。
最后,即使當(dāng)不進(jìn)行時(shí)間軸擴(kuò)展和壓縮控制時(shí),將本發(fā)明設(shè)置為在兩個(gè)勻滑轉(zhuǎn)換信道讀出的同一個(gè)波形數(shù)據(jù)之間進(jìn)行勻滑轉(zhuǎn)換合成,從而避免波形數(shù)據(jù)的時(shí)間軸擴(kuò)展或壓縮。用這種方式,本發(fā)明表面上在任何時(shí)候都進(jìn)行勻滑轉(zhuǎn)換合成。結(jié)果,可以將本發(fā)明設(shè)置成在任何時(shí)刻都無條件進(jìn)行勻滑轉(zhuǎn)換合成,這樣可以省去判斷的必要,考慮時(shí)間軸擴(kuò)展/壓縮控制參數(shù),是否需要進(jìn)行勻滑轉(zhuǎn)換合成。這種設(shè)置可以明顯地簡化必要的控制和構(gòu)成。
權(quán)利要求
1.一種音發(fā)生裝置,包括一個(gè)波形存儲器,其中存儲有多周期波形的波形數(shù)據(jù);一個(gè)音調(diào)指定部分,它指定待發(fā)音的音調(diào);一個(gè)控制信息發(fā)生部分,它產(chǎn)生控制信息,隨時(shí)間的變化指定要從所述波形存儲器中讀出的所述波形數(shù)據(jù)的地址位置;一個(gè)地址發(fā)生部分,它產(chǎn)生一個(gè)以對應(yīng)于所述音調(diào)發(fā)生部分指定的所述音調(diào)的速率增進(jìn)的讀地址;一個(gè)控制單元,它在由控制信息指定的所述地址位置和由所述地址發(fā)生部分產(chǎn)生的所述讀地址的位置之間進(jìn)行比較,并根據(jù)所述比較的結(jié)果控制讀地址的偏移;以及一個(gè)在由所述控制單元控制的所述讀地址的基礎(chǔ)上讀出所述波形數(shù)據(jù)的部分。
2.如權(quán)利要求1所述的音發(fā)生裝置,其特征在于將存儲在所述波形存儲器中的所述波形數(shù)據(jù)分成多個(gè)數(shù)據(jù)組,并將其以這樣的方式進(jìn)行處理,所述數(shù)據(jù)組的各自第一個(gè)波形數(shù)據(jù)與其它波形數(shù)據(jù)的第一波形數(shù)據(jù)相位一致,并且其中,當(dāng)由所述控制信息指定的所述地址位置與由所述地址發(fā)生部分產(chǎn)生的所述讀地址的位置之間的差值超出了一個(gè)預(yù)定的值時(shí),所述控制單元將所述讀地址偏移一個(gè)與一個(gè)或兩個(gè)數(shù)據(jù)組相對應(yīng)的量。
3.如權(quán)利要求1或2所述的音發(fā)生裝置,其特征在于,它進(jìn)一步包括一個(gè)勻滑轉(zhuǎn)換部分,當(dāng)所述控制單元進(jìn)行讀地址偏移時(shí),該勻滑轉(zhuǎn)換部分在基于所述偏移之前產(chǎn)生的所述讀地址從所述波形存儲器中讀出的所述波形和基于偏移之后產(chǎn)生的所述讀地址從所述波形存儲器中讀出的所述波形之間實(shí)施勻滑轉(zhuǎn)換合成。
4.一種音發(fā)生裝置,包括一個(gè)波形存儲器,其中存儲有多周期波形的波形數(shù)據(jù),該多周期波形數(shù)據(jù)具有施于其上的調(diào)制效果;一個(gè)音調(diào)指定部分,它指定待發(fā)音的音調(diào);一個(gè)產(chǎn)生控制信息以控制時(shí)間軸調(diào)制的部分;一個(gè)控制單元,它隨著時(shí)間的推移,指定從所述波形存儲器中讀出的所述波形數(shù)據(jù)的離散位置,同時(shí)由所述控制單元控制所述波形數(shù)據(jù)的時(shí)間軸,根據(jù)所述控制信息對其進(jìn)行擴(kuò)展或壓縮;以及一個(gè)讀出部分,在由所述控制單元指定的所述所述位置上,以對應(yīng)于所述音調(diào)指定部分指定的所述音調(diào)的速率讀出所述波形數(shù)據(jù)。
5.一種音發(fā)生裝置,包括一個(gè)波形存儲器,其中存儲有多周期波形的波形數(shù)據(jù);一個(gè)音調(diào)指定部分,它指定待發(fā)音的音調(diào);一個(gè)根據(jù)從所述波形存儲器中重復(fù)讀出的所述波形數(shù)據(jù)預(yù)定部分產(chǎn)生控制信息的部分;一個(gè)控制單元,它隨著時(shí)間的推移,指定從所述波形存儲器中讀出的所述波形數(shù)據(jù)的離散位置,同時(shí)由所述控制單元控制所述波形數(shù)據(jù)的時(shí)間軸,根據(jù)所述控制信息對其進(jìn)行擴(kuò)展或壓縮;以及一個(gè)讀出部分,以對應(yīng)于所述音調(diào)指定部分指定的所述音調(diào)的速率,從所述波形存儲器中讀出所述波形數(shù)據(jù),其中,當(dāng)重復(fù)讀出預(yù)定部分時(shí),所述讀出部分在所述控制單元指定的所述位置,以對應(yīng)于所述指定音調(diào)的速率讀出所述波形數(shù)據(jù)。
6.一種音發(fā)生裝置,包括一個(gè)波形存儲器,其中存儲有多周期波形的波形數(shù)據(jù);一個(gè)音調(diào)指定部分,它指定待發(fā)音的音調(diào);一個(gè)產(chǎn)生隨時(shí)間變化的控制信息的部分;一個(gè)控制單元,它隨著時(shí)間的推移,指定從所述波形存儲器中讀出的所述波形數(shù)據(jù)的離散位置,同時(shí)由所述控制單元控制所述波形數(shù)據(jù)的時(shí)間軸,根據(jù)所述控制信息對其進(jìn)行擴(kuò)展或壓縮;以及一個(gè)讀出部分,它在所述控制單元指定的所述位置,以對應(yīng)于所述音調(diào)指定部分指定的所述音調(diào)的速率,從所述波形存儲器中讀出所述波形數(shù)據(jù)。
7.一種音發(fā)生裝置,包括一個(gè)波形存儲器,其中存儲有多周期波形的波形數(shù)據(jù),所述波形數(shù)據(jù)在基于預(yù)定特征形式的預(yù)定周期內(nèi)具有施于其上的音特征變化形式;一個(gè)音調(diào)指定部分,它指定待發(fā)音的音調(diào);一個(gè)產(chǎn)生控制信息,以便控制在預(yù)定特征形式基礎(chǔ)上的音發(fā)生周期的部分;一個(gè)控制單元,它隨著時(shí)間的推移,指定從所述波形存儲器中讀出的所述波形數(shù)據(jù)的離散位置,同時(shí)由所述控制單元控制所述波形數(shù)據(jù)的時(shí)間軸,根據(jù)所述控制信息對其進(jìn)行擴(kuò)展或壓縮;以及一個(gè)讀出部分,它在所述控制單元指定的所述位置,以對應(yīng)于所述音調(diào)指定部分指定的所述音調(diào)的速率,從所述波形存儲器中讀出所述波形數(shù)據(jù)。
8.權(quán)利要求7所述的音發(fā)生裝置,其特征在于施加在所述波形數(shù)據(jù)上的音特征變化至少是音調(diào)、音色和音量中間的一個(gè)的變化。
9.權(quán)利要求7或8所述的音發(fā)生裝置,其特征在于所述控制信息指定了在預(yù)定特征形式基礎(chǔ)上的音發(fā)生周期的開始點(diǎn)和結(jié)束點(diǎn)或指定了其中的一個(gè),以及變化的時(shí)間長度。
10.權(quán)利要求7或8所述的音發(fā)生裝置,其特征在于所述控制信息指定了在預(yù)定特征形式基礎(chǔ)上的音發(fā)生周期的開始點(diǎn)和結(jié)束點(diǎn)其中的一個(gè),以及變化的速率。
11.一種音發(fā)生裝置,包括一個(gè)波形存儲器,其中存儲有表示第一波形的第一波形數(shù)據(jù),表示第一波形的第一波形數(shù)據(jù),以及多周期第三波形的第三波形數(shù)據(jù),該第三波形數(shù)據(jù)具有施加在其上的音特征變化從而將所述第一和第二波形數(shù)據(jù)相互連接;一個(gè)音調(diào)指定部分,它指定待發(fā)音的音調(diào);一個(gè)這樣的部分,當(dāng)執(zhí)行從所述第一波形到所述第二波形的變換時(shí),該部分執(zhí)行控制,從而將所述第一和所述第二波形讀出,同時(shí)將第三波形插入其中;一個(gè)產(chǎn)生控制信息以控制使用所述第三波形的時(shí)間;一個(gè)控制單元,它隨著時(shí)間的推移,指定從所述波形存儲器中讀出的至少一部分所述第三波形的離散位置,同時(shí)由所述控制單元控制所述第三波形的時(shí)間軸,根據(jù)所述控制信息對其進(jìn)行擴(kuò)展或壓縮;以及一個(gè)讀出部分,以對應(yīng)于所述音調(diào)指定部分指定的所述音調(diào)的速率,從所述波形存儲器中讀出所述波形數(shù)據(jù),其中讀出第三波形數(shù)據(jù),所述讀出部分在所述控制單元指定的位置,以對應(yīng)于所述指定的音調(diào)的速率,將所述第三波形數(shù)據(jù)讀出。
12.一種音發(fā)生裝置,包括一個(gè)波形存儲器,其中存儲有多周期波形的波形數(shù)據(jù);一個(gè)音調(diào)指定部分,它指定待發(fā)音的音調(diào);一個(gè)產(chǎn)生與預(yù)定的部分音發(fā)生周期相一致的控制信息的部分;一個(gè)控制單元,它隨著時(shí)間的推移,指定從所述波形存儲器中讀出的所述波形數(shù)據(jù)的離散位置,同時(shí)由所述控制單元控制所述波形數(shù)據(jù)的時(shí)間軸,根據(jù)所述控制信息對其進(jìn)行擴(kuò)展或壓縮;以及一個(gè)讀出部分,它在所述控制單元指定的所述位置,以對應(yīng)于所述音調(diào)指定部分指定的所述音調(diào)的速率,從所述波形存儲器中讀出所述波形數(shù)據(jù)。
13.一種音發(fā)生裝置,包括一個(gè)波形存儲器,其中存儲有多周期波形的波形數(shù)據(jù);一個(gè)音調(diào)指定部分,它指定待發(fā)音的音調(diào);一個(gè)音色指定部分,它指定待發(fā)音的音色;一個(gè)從音發(fā)生開始點(diǎn)開始隨時(shí)間的推移產(chǎn)生對應(yīng)于所述音色指定部分指定的音色而變化的控制信息的部分;一個(gè)控制單元,它隨著時(shí)間的推移,指定從所述波形存儲器中讀出的所述波形數(shù)據(jù)的離散位置,同時(shí)由所述控制單元控制所述波形數(shù)據(jù)的時(shí)間軸,根據(jù)所述控制信息對其進(jìn)行擴(kuò)展或壓縮;以及一個(gè)讀出部分,以對應(yīng)于所述音調(diào)指定部分指定的所述音調(diào)的速率,從所述波形存儲器中讀出對應(yīng)于所述指定的音色的所述多周期波形數(shù)據(jù),其中所述讀出部分在所述控制單元指定的位置,以對應(yīng)于所述指定的音調(diào)的速率,將所述波形數(shù)據(jù)讀出,其中存儲在所述波形存儲器中的多周期波形的波形數(shù)據(jù)由至少兩個(gè)不同的音色共用,并且以不同方式對兩個(gè)不同的音色的控制信息進(jìn)行設(shè)置。
14.一種音發(fā)生裝置,包括一個(gè)波形存儲器,其中存儲有多周期波形的波形數(shù)據(jù);一個(gè)音調(diào)指定部分,它指定待發(fā)音的音調(diào);一個(gè)在音發(fā)生過程中實(shí)時(shí)地產(chǎn)生控制信息的部分;一個(gè)控制單元,它隨著時(shí)間的推移,指定從所述波形存儲器中讀出的所述波形數(shù)據(jù)的離散位置,同時(shí)由所述控制單元控制所述波形數(shù)據(jù)的時(shí)間軸,根據(jù)所述控制信息對其進(jìn)行擴(kuò)展或壓縮;以及一個(gè)讀出部分,以對應(yīng)于所述音調(diào)指定部分指定的所述音調(diào)的速率,在所述控制單元指定的位置,從所述波形存儲器中讀出所述波形數(shù)據(jù)。
15.一種音發(fā)生裝置,包括一個(gè)波形存儲器,其中存儲有多組不同的多周期波形的波形數(shù)據(jù);一個(gè)音調(diào)指定部分,它指定待發(fā)音的音調(diào);一個(gè)波形指定部分,它指定任何一組波形數(shù)據(jù),所述波形指定部分隨時(shí)間的推移,將指定的組依次切換為另一組;一個(gè)產(chǎn)生控制信息的部分;一個(gè)控制單元,它隨著時(shí)間的推移,指定從所述波形存儲器中讀出的所述一組波形數(shù)據(jù)的離散位置,該組波形數(shù)據(jù)是有所述波形指定部分指定的,同時(shí)由所述控制單元控制所述波形數(shù)據(jù)的時(shí)間軸,根據(jù)所述控制信息對其進(jìn)行擴(kuò)展或壓縮;以及一個(gè)讀出部分,以對應(yīng)于所述音調(diào)指定部分指定的所述音調(diào)的速率,在所述控制單元指定的位置,從所述波形存儲器中讀出所述波形數(shù)據(jù)。
16.一種音發(fā)生裝置,包括一個(gè)波形存儲器,其中存儲有多組不同的多周期波形的波形數(shù)據(jù);一個(gè)音調(diào)指定部分,它指定待發(fā)音的音調(diào);一個(gè)產(chǎn)生控制信息,以控制發(fā)出一個(gè)音的時(shí)間的部分;一個(gè)控制單元,它隨著時(shí)間的推移,指定從所述波形存儲器中讀出的所述波形數(shù)據(jù)的離散位置,同時(shí)由所述控制單元控制所述波形數(shù)據(jù)的時(shí)間軸,根據(jù)所述控制信息對其進(jìn)行擴(kuò)展或壓縮;以及一個(gè)讀出部分,以對應(yīng)于所述音調(diào)指定部分指定的所述音調(diào)的速率,在所述控制單元指定的位置,從所述波形存儲器中讀出所述波形數(shù)據(jù)。
17.一種在從波形存儲器中讀出的基礎(chǔ)上產(chǎn)生一個(gè)音的方法,所述波形存儲器中存儲了多周期的波形數(shù)據(jù),所述方法包括一個(gè)指定待發(fā)音音調(diào)的步驟;一個(gè)產(chǎn)生控制信息的步驟,該步驟在一個(gè)時(shí)間函數(shù)中指定一個(gè)從所述波形存儲器中讀出的波形數(shù)據(jù)的地址位置;一個(gè)產(chǎn)生讀地址的步驟,該讀地址以對應(yīng)于所述指定音調(diào)的步驟指定的音調(diào)的速率增進(jìn);一個(gè)控制步驟,在由控制信息指定的地址位置和由所述產(chǎn)生讀地址的步驟產(chǎn)生的讀地址位置之間進(jìn)行比較,并且根據(jù)比較的結(jié)果控制讀地址的偏移;以及一個(gè)在由控制步驟控制的讀地址的基礎(chǔ)上讀出波形數(shù)據(jù)的步驟。
18.如權(quán)利要求17所述的方法,其特征在于,將存儲在所述波形存儲器中的所述波形數(shù)據(jù)分成多個(gè)數(shù)據(jù)組,并以這樣的方式對其進(jìn)行處理,所述數(shù)據(jù)組各自的引導(dǎo)波形數(shù)據(jù)彼此相位一致,以及其中,當(dāng)由控制信息指定的地址位置和所述產(chǎn)生讀地址的位置之間的差值超過一個(gè)預(yù)定的值時(shí),所述偏移步驟將讀地址偏移一個(gè)與一個(gè)或更多數(shù)據(jù)組相對應(yīng)的量。
19.如權(quán)利要求17所述的方法,其特征在于進(jìn)一步包括一個(gè)這樣的步驟,當(dāng)由所述偏移步驟進(jìn)行讀地址偏移時(shí),在基于所述偏移前產(chǎn)生的讀地址從所述波形存儲器中讀出的波形數(shù)據(jù)和基于所述偏移后產(chǎn)生的讀地址從所述波形存儲器中讀出的波形數(shù)據(jù)之間進(jìn)行勻滑轉(zhuǎn)換合成。
20.一種在從波形存儲器中讀出的基礎(chǔ)上產(chǎn)生一個(gè)音的方法,所述波形存儲器中存儲了多周期的波形數(shù)據(jù),所述方法包括一個(gè)指定待發(fā)音音調(diào)的步驟;一個(gè)產(chǎn)生控制信息的步驟;一個(gè)控制步驟,它隨著時(shí)間的推移,指定從所述波形存儲器中讀出的所述波形數(shù)據(jù)的離散位置,同時(shí)由所述控制步驟控制所述波形數(shù)據(jù)的時(shí)間軸,根據(jù)所述控制信息對其進(jìn)行擴(kuò)展或壓縮;以及一個(gè)讀出步驟,以對應(yīng)于所述音調(diào)指定步驟指定的所述音調(diào)的速率,在所述控制步驟指定的位置,從所述波形存儲器中讀出所述波形數(shù)據(jù),從而,由所述控制步驟,根據(jù)控制信息沿時(shí)間軸對所產(chǎn)生的音進(jìn)行擴(kuò)展和壓縮,上述所產(chǎn)生的音具有指定的音調(diào)和經(jīng)過特征控制的波形數(shù)據(jù)。
21.一種機(jī)械易讀的存儲介質(zhì),它包括一系列由計(jì)算機(jī)執(zhí)行的程序指令,該指令用于在從波形存儲器中讀出的波形數(shù)據(jù)的基礎(chǔ)上產(chǎn)生一個(gè)音,所述波形存儲器中存儲了多周期波形的波形數(shù)據(jù),所述程序包括一個(gè)指定待發(fā)音的音調(diào)的裝置;一個(gè)產(chǎn)生控制信息的裝置,它隨時(shí)間的變化指定從要所述波形存儲器中讀出的所述波形數(shù)據(jù)的地址位置;一個(gè)產(chǎn)生一個(gè)以對應(yīng)于所述音調(diào)發(fā)生部分指定的所述音調(diào)的速率增進(jìn)的讀地址的裝置;控制裝置,它在由控制信息指定的所述地址位置和由所述地址發(fā)生裝置產(chǎn)生的所述讀地址的位置之間進(jìn)行比較,并根據(jù)所述比較的結(jié)果控制讀地址的偏移;以及一個(gè)在由所述控制裝置控制的所述讀地址的基礎(chǔ)上讀出所述波形數(shù)據(jù)的裝置。
22.一種機(jī)械易讀的存儲介質(zhì),它包括一系列由計(jì)算機(jī)執(zhí)行的程序指令,該指令用于在從波形存儲器中讀出的波形數(shù)據(jù)的基礎(chǔ)上產(chǎn)生一個(gè)音,所述波形存儲器中存儲了多周期波形的波形數(shù)據(jù),所述程序包括一個(gè)指定待發(fā)音的音調(diào)的裝置;用于產(chǎn)生控制信息的部分;控制裝置,它隨著時(shí)間的推移,指定從所述波形存儲器中讀出的所述波形數(shù)據(jù)的離散位置,同時(shí)由所述控制步驟控制所述波形數(shù)據(jù)的時(shí)間軸,根據(jù)所述控制信息對其進(jìn)行擴(kuò)展或壓縮;以及用于以對應(yīng)于所述音調(diào)指定裝置指定的所述音調(diào)的速率,在所述控制裝置指定的位置,從所述波形存儲器中讀出所述波形數(shù)據(jù)的裝置。
23.一種音發(fā)生裝置,包括一個(gè)波形發(fā)生部分,它在兩個(gè)信道內(nèi)產(chǎn)生波形數(shù)據(jù);一個(gè)波形指定部分,它指定所述波形發(fā)生部分的所述兩個(gè)個(gè)信道中的第一個(gè)中產(chǎn)生的波形數(shù)據(jù),以及所述波形發(fā)生部分的所述兩個(gè)個(gè)信道中的第二個(gè)中產(chǎn)生的波形數(shù)據(jù);一個(gè)勻滑轉(zhuǎn)換合成部分,它執(zhí)行勻滑轉(zhuǎn)換合成,從而從所述第一信道中產(chǎn)生的波形數(shù)據(jù)到從所述第二信道中產(chǎn)生的波形數(shù)據(jù)進(jìn)行變換;一個(gè)第一控制部分,它依次指示所述波形發(fā)生部分產(chǎn)生具有任意長度的附加的波形數(shù)據(jù),并控制所述勻滑轉(zhuǎn)換合成部分在一個(gè)對應(yīng)于附加波形數(shù)據(jù)長度的周期內(nèi),執(zhí)行所述勻滑轉(zhuǎn)換合成;以及一個(gè)第二控制部分,它在所述勻滑轉(zhuǎn)換合成部分完成所述勻滑轉(zhuǎn)換合成后,以這樣的方式控制波形指定部分的指定,將到此為止在第二信道內(nèi)所產(chǎn)生的波形數(shù)據(jù)在所述第一信道內(nèi)產(chǎn)生,并且在所述第二信道內(nèi)產(chǎn)生所述附加波形數(shù)據(jù)。
24.一種音發(fā)生裝置,包括一個(gè)波形存儲器,它存有多周期的波形數(shù)據(jù)一個(gè)音調(diào)指定部分,它產(chǎn)生待發(fā)音的音調(diào);一個(gè)波形指定部分,它隨時(shí)間的推移,指定從所述波形存儲器中讀出的所述波形數(shù)據(jù)的離散位置,同時(shí)控制所述波形數(shù)據(jù)的時(shí)間軸,對其進(jìn)行擴(kuò)展或壓縮,從而在當(dāng)前指定的位置識別第一波形數(shù)據(jù)并在后面的位置識別第二波形數(shù)據(jù),已經(jīng)相對于當(dāng)前指定的位置對該位置進(jìn)行了控制,將其進(jìn)行了擴(kuò)展和壓縮;一個(gè)讀出部分,它從波形存儲器中讀出由所述波形指定部分指定的所述第一和第二波形數(shù)據(jù),以通過所述第一和第二信道分別輸出該第一和第二波形數(shù)據(jù);一個(gè)勻滑轉(zhuǎn)換合成部分,它一直執(zhí)行勻滑轉(zhuǎn)換合成,從而從所述第一信道提供的波形數(shù)據(jù)到所述第二信道提供的波形數(shù)據(jù)進(jìn)行變換;一個(gè)控制部分,它在所述勻滑轉(zhuǎn)換合成部分完成所述勻滑轉(zhuǎn)換合成后,以這樣的方式控制波形指定部分的指定,將到此為止在第二信道內(nèi)所產(chǎn)生的波形數(shù)據(jù)由所述讀出部分通過所述第一信道輸出,并由所述讀出部分通過所述第二信道輸出在新位置的波形數(shù)據(jù),所述新位置是相對于第二波形數(shù)據(jù)進(jìn)行了控制,對其進(jìn)行了擴(kuò)展或壓縮的位置。
25.一種音發(fā)生裝置,包括一個(gè)波形存儲器,它存有多周期的波形數(shù)據(jù)一個(gè)音調(diào)指定部分,它產(chǎn)生待發(fā)音的音調(diào);一個(gè)波形指定部分,它隨時(shí)間的推移,指定從所述波形存儲器中讀出的所述波形數(shù)據(jù)的離散位置,同時(shí)控制所述波形數(shù)據(jù)的時(shí)間軸,對其進(jìn)行擴(kuò)展或壓縮,從而在當(dāng)前指定的位置識別第一波形數(shù)據(jù)并在后面的位置識別第二波形數(shù)據(jù),已經(jīng)相對于當(dāng)前指定的位置對該位置進(jìn)行了控制,將其進(jìn)行了擴(kuò)展和壓縮;一個(gè)讀出部分,它從波形存儲器中讀出由所述波形指定部分指定的所述第一和第二波形數(shù)據(jù),以通過所述第一和第二信道分別輸出該第一和第二波形數(shù)據(jù);一個(gè)勻滑轉(zhuǎn)換合成部分,它執(zhí)行勻滑轉(zhuǎn)換合成,從而從所述第一信道提供的波形數(shù)據(jù)到所述第二信道提供的波形數(shù)據(jù)進(jìn)行變換;以及一個(gè)控制單元,它在所述勻滑轉(zhuǎn)換合成部分完成所述勻滑轉(zhuǎn)換合成后,以這樣的方式控制波形指定部分的指定,由所述讀出部分通過第一和第二信道中已經(jīng)使用的同樣的一個(gè)信道繼續(xù)讀出所述第二波形數(shù)據(jù),并由所述讀出部分通過所述第一和第二信道中的另一個(gè)信道輸出新位置的波形數(shù)據(jù),所述新位置是相對于第二波形數(shù)據(jù)進(jìn)行了控制,對其進(jìn)行了擴(kuò)展或壓縮的位置,并且還改變了在所述勻滑轉(zhuǎn)換合成部分內(nèi)的勻滑轉(zhuǎn)換方向。
26.一種音發(fā)生裝置,包括一個(gè)波形存儲器,它存有多周期的波形數(shù)據(jù);一個(gè)音調(diào)指定部分,它產(chǎn)生待發(fā)音的音調(diào);一個(gè)控制單元,它隨著時(shí)間的推移,指定從所述波形存儲器中讀出的所述波形數(shù)據(jù)的離散位置,同時(shí)由所述控制單元控制所述波形數(shù)據(jù)的時(shí)間軸,對其進(jìn)行擴(kuò)展或壓縮;一個(gè)波形指定部分,它相應(yīng)所述控制單元的指定,當(dāng)進(jìn)行波形數(shù)據(jù)的擴(kuò)展時(shí),在當(dāng)前位置指定波形數(shù)據(jù)的第一部分并在當(dāng)前位置之后的位置指定波形數(shù)據(jù)的第二部分,當(dāng)進(jìn)行波形數(shù)據(jù)的壓縮時(shí),在當(dāng)前位置指定波形數(shù)據(jù)的第一部分,并在當(dāng)前位置之前的位置指定波形數(shù)據(jù)的第二部分,并且在不進(jìn)行波形數(shù)據(jù)的用處和壓縮時(shí),在當(dāng)前位置指定波形數(shù)據(jù)的同一部分作為波形數(shù)據(jù)的第一和第二部分;一個(gè)讀出部分,它以對應(yīng)于所述音調(diào)指定部分指定的音調(diào)的速率,從波形存儲器中讀出由所述控制單元指定的所述波形數(shù)據(jù)的第一和第二部分;一個(gè)勻滑轉(zhuǎn)換合成部分,它執(zhí)行勻滑轉(zhuǎn)換合成,從而從所述波形數(shù)據(jù)的第一部分到所述波形數(shù)據(jù)的第二部分進(jìn)行變換。
27.一種波形數(shù)據(jù)勻滑轉(zhuǎn)換方法包括一個(gè)產(chǎn)生第一波形數(shù)據(jù)的多個(gè)周期的步驟;一個(gè)這樣的步驟,以預(yù)定的定時(shí),開始第二波形數(shù)據(jù)的發(fā)生,該第二波形數(shù)據(jù)具有與以所述預(yù)定定時(shí)產(chǎn)生的第一波形數(shù)據(jù)相同的相位;一個(gè)產(chǎn)生這樣一個(gè)第一參數(shù)的步驟,它經(jīng)過一個(gè)預(yù)定的周期,從初始值1減少到最終值0,并且同時(shí)產(chǎn)生一個(gè)第二參數(shù),它經(jīng)過一個(gè)預(yù)定的周期,從初始值0增加到最終值1;以及一個(gè)步驟,控制所述預(yù)定周期的長度,使其與所述第二波形數(shù)據(jù)的一個(gè)周期長度相一致。我們建議的附加權(quán)利要求
28.一種波形再現(xiàn)裝置,包括一個(gè)波形存儲器,它存有多周期部分的波形數(shù)據(jù);一個(gè)音發(fā)生指令部分,它指示一個(gè)音調(diào)發(fā)生并指定所述音的音調(diào);一個(gè)部分,產(chǎn)生控制數(shù)據(jù)以控制所述波形部分的讀出位置的增進(jìn);一個(gè)地址發(fā)生部分,它產(chǎn)生以對應(yīng)于所述音發(fā)生指令部分指定的音調(diào)的速率增進(jìn)的讀地址;一個(gè)讀出部分,它在所述讀地址的基礎(chǔ)上,從所述波形存儲器中讀出所述波形部分的所述波形數(shù)據(jù);一個(gè)控制單元,它在以所述控制數(shù)據(jù)為基礎(chǔ)指定的所述讀出位置的增進(jìn)和由所述地址發(fā)生部分產(chǎn)生的所述讀地址的位置的增進(jìn)之間進(jìn)行比較,并且在比較結(jié)果的基礎(chǔ)上選擇指定一個(gè)接著要讀出的波形部分的地址,從而實(shí)施控制,這樣所述的地址發(fā)生部分在某點(diǎn)產(chǎn)生所選擇的指定波形部分的地址,在所述的點(diǎn),在讀地址基礎(chǔ)上讀出的波形數(shù)據(jù)的相位與所選擇的地址指定的波形數(shù)據(jù)的相位相一致;以及一個(gè)在由所述讀出部分讀出的波形數(shù)據(jù)的基礎(chǔ)上再現(xiàn)一個(gè)波形的部分。
29.一個(gè)波形再現(xiàn)裝置,包括一個(gè)波形存儲器,它存有多周期部分的波形數(shù)據(jù);一個(gè)音發(fā)生指令部分,它指示一個(gè)音調(diào)發(fā)生并指定所述音的音調(diào);一個(gè)部分,產(chǎn)生隨時(shí)間變化的控制數(shù)據(jù)以控制所述波形部分的讀出位置的增進(jìn);一個(gè)地址發(fā)生部分,它產(chǎn)生以對應(yīng)于所述音發(fā)生指令部分指定的音調(diào)的速率增進(jìn)的讀地址;一個(gè)讀出部分,它在所述讀地址的基礎(chǔ)上,從所述波形存儲器中讀出所述波形部分的所述波形數(shù)據(jù);一個(gè)控制單元,對于每個(gè)預(yù)定再現(xiàn)周期,它在以所述控制數(shù)據(jù)為基礎(chǔ)指定虛擬波形部分位置的增進(jìn)和由所述地址發(fā)生部分產(chǎn)生的所述讀地址指定的波形部分位置的增進(jìn)之間進(jìn)行比較,并且在比較結(jié)果的基礎(chǔ)上選擇指定一個(gè)接著要讀出的波形部分,從而實(shí)施控制,這樣所述的地址發(fā)生部分在下一個(gè)再現(xiàn)周期中開始產(chǎn)生所述指定波形部分的地址;以及一個(gè)在由所述讀出部分讀出的波形數(shù)據(jù)的基礎(chǔ)上再現(xiàn)一個(gè)波形的部分。
30.如權(quán)利要求28或29所述的波形再現(xiàn)裝置,其特征在于,通過勻滑轉(zhuǎn)換將在一個(gè)時(shí)刻所選擇的所述波形部分和在另一個(gè)時(shí)刻所選擇的所述波形部分相互連接。
31.一種波形再現(xiàn)方法,它利用存儲有多周期波形部分?jǐn)?shù)據(jù)的存儲器再現(xiàn)波形,所述方法包括一個(gè)音發(fā)生指令步驟,指示一個(gè)音的產(chǎn)生并指定所述音的音調(diào);一個(gè)步驟,產(chǎn)生控制數(shù)據(jù)以控制所述波形部分的讀出位置的增進(jìn);一個(gè)地址發(fā)生步驟,它產(chǎn)生以對應(yīng)于所述音發(fā)生指令步驟指定的音調(diào)的速率增進(jìn)的讀地址;一個(gè)讀出步驟,它在所述讀地址的基礎(chǔ)上,從所述波形存儲器中讀出所述波形部分的所述波形數(shù)據(jù);一個(gè)控制步驟,它在以所述控制數(shù)據(jù)為基礎(chǔ)指定的所述讀出位置的增進(jìn)和由所述地址發(fā)生步驟產(chǎn)生的所述讀地址的位置的增進(jìn)之間進(jìn)行比較,并且在比較結(jié)果的基礎(chǔ)上選擇指定一個(gè)接著要讀出的波形部分的地址,從而實(shí)施控制,這樣所述的地址發(fā)生步驟在某點(diǎn)產(chǎn)生所選擇的指定波形部分的地址,所述的點(diǎn)為在讀地址基礎(chǔ)上讀出的波形數(shù)據(jù)的相位與所選擇的地址指定的波形數(shù)據(jù)的相位相一致;以及一個(gè)在由所述讀出部分讀出的波形數(shù)據(jù)的基礎(chǔ)上再現(xiàn)一個(gè)波形的部分。
32.一種機(jī)械易讀的存儲介質(zhì),它包括一系列由計(jì)算機(jī)執(zhí)行的程序指令,該指令用于在從波形存儲器中讀出的波形數(shù)據(jù)的基礎(chǔ)上產(chǎn)生一個(gè)音,所述波形存儲器中存儲了多周期波形的波形數(shù)據(jù),所述介質(zhì)包括;一個(gè)音發(fā)生指令裝置,指示一個(gè)音的產(chǎn)生并指定所述音的音調(diào);一個(gè)裝置,產(chǎn)生控制數(shù)據(jù)以控制所述波形部分的讀出位置的增進(jìn);地址發(fā)生裝置,它產(chǎn)生以對應(yīng)于所述音發(fā)生指令裝置指定的音調(diào)的速率增進(jìn)的讀地址;讀出裝置,它在所述讀地址的基礎(chǔ)上,從所述波形存儲器中讀出所述波形部分的所述波形數(shù)據(jù);控制裝置,它在以所述控制數(shù)據(jù)為基礎(chǔ)指定的所述讀出位置的增進(jìn)和由所述地址發(fā)生裝置產(chǎn)生的所述讀地址的位置的增進(jìn)之間進(jìn)行比較,并且在比較結(jié)果的基礎(chǔ)上選擇指定一個(gè)接著要讀出的波形部分的地址,從而實(shí)施控制,這樣所述的地址發(fā)生步驟在某點(diǎn)產(chǎn)生所選擇的指定波形部分的地址,所述的點(diǎn)為在讀地址基礎(chǔ)上讀出的波形數(shù)據(jù)的相位與所選擇的地址指定的波形數(shù)據(jù)的相位相一致;以及在由所述讀出裝置讀出的波形數(shù)據(jù)的基礎(chǔ)上再現(xiàn)一個(gè)波形的裝置。
33.一種波形再現(xiàn)方法,它利用存儲有多周期波形部分?jǐn)?shù)據(jù)的存儲器再現(xiàn)波形,所述方法包括一個(gè)音發(fā)生指令步驟,指示一個(gè)音的產(chǎn)生并指定所述音的音調(diào);產(chǎn)生隨時(shí)間變化的控制數(shù)據(jù)以控制所述波形部分的讀出位置的增進(jìn)的一個(gè)步驟;一個(gè)地址發(fā)生步驟,它產(chǎn)生以對應(yīng)于所述音發(fā)生指令步驟指定的音調(diào)的速率增進(jìn)的讀地址;一個(gè)讀出步驟,它在所述讀地址的基礎(chǔ)上,從所述波形存儲器中讀出所述波形部分的所述波形數(shù)據(jù);一個(gè)控制步驟,對于每個(gè)預(yù)定再現(xiàn)周期,它在以所述控制數(shù)據(jù)為基礎(chǔ)指定虛擬波形部分位置的增進(jìn)和由所述地址發(fā)生步驟產(chǎn)生的所述讀地址指定的波形部分位置的增進(jìn)之間進(jìn)行比較,并且在比較結(jié)果的基礎(chǔ)上選擇指定一個(gè)接著要讀出的波形部分,從而實(shí)施控制,這樣所述的地址發(fā)生部分在下一個(gè)再現(xiàn)周期中開始產(chǎn)生所述指定波形部分的地址;以及在由所述讀出部分讀出的波形數(shù)據(jù)的基礎(chǔ)上再現(xiàn)一個(gè)波形一個(gè)步驟。
34.一種機(jī)械易讀的存儲介質(zhì),它包括一系列由計(jì)算機(jī)執(zhí)行的程序指令,該指令用于在從波形存儲器中讀出的波形數(shù)據(jù)的基礎(chǔ)上產(chǎn)生一個(gè)音,所述波形存儲器中存儲了多周期波形的波形數(shù)據(jù),所述介質(zhì)包括音發(fā)生指令裝置,指示一個(gè)音的產(chǎn)生并指定所述音的音調(diào);產(chǎn)生隨時(shí)間變化的控制數(shù)據(jù)以控制所述波形部分的讀出位置的增進(jìn)的裝置;地址發(fā)生裝置,它產(chǎn)生以對應(yīng)于所述音發(fā)生指令裝置指定的音調(diào)的速率增進(jìn)的讀地址;讀出裝置,它在所述讀地址的基礎(chǔ)上,從所述波形存儲器中讀出所述波形部分的所述波形數(shù)據(jù);控制裝置,對于每個(gè)預(yù)定再現(xiàn)周期,它在以所述控制數(shù)據(jù)為基礎(chǔ)指定虛擬波形部分位置的增進(jìn)和由所述地址發(fā)生裝置產(chǎn)生的所述讀地址指定的波形部分位置的增進(jìn)之間進(jìn)行比較,并且在比較結(jié)果的基礎(chǔ)上選擇指定一個(gè)接著要讀出的波形部分,從而實(shí)施控制,這樣所述的地址發(fā)生部分在下一個(gè)再現(xiàn)周期中開始產(chǎn)生所述指定波形部分的地址;以及在由所述讀出部分讀出的波形數(shù)據(jù)的基礎(chǔ)上再現(xiàn)一個(gè)波形的裝置。
全文摘要
指定待發(fā)音的音調(diào),并同時(shí)產(chǎn)生用于時(shí)間軸擴(kuò)展/壓縮的控制信息。指定從存儲器讀出的波形數(shù)據(jù)的離散位置,同時(shí)控制所述波形數(shù)據(jù)的時(shí)間軸,根據(jù)控制信息將其擴(kuò)展或壓縮,并且以對應(yīng)于指定音調(diào)的速率在指定位置讀出部分所述波形數(shù)據(jù)。這樣可變地控制從存儲器讀出波形的速率以產(chǎn)生所需的音調(diào),在這個(gè)時(shí)間內(nèi)可以容易控制波形存儲器將其沿時(shí)間軸擴(kuò)展或壓縮,而不必考慮所述的讀出速率和音調(diào)控制。通過給多種特征形式實(shí)施該時(shí)間軸擴(kuò)展/壓縮控制,能夠明顯地提高所發(fā)音的表現(xiàn)力和可控性。
文檔編號G10H7/00GK1197974SQ9810691
公開日1998年11月4日 申請日期1998年1月26日 優(yōu)先權(quán)日1997年1月31日
發(fā)明者鈴木秀雄 申請人:雅馬哈株式會社