亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

聲音波形合成器的制作方法

文檔序號(hào):2821293閱讀:319來(lái)源:國(guó)知局
專(zhuān)利名稱:聲音波形合成器的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種聲音波形合成器,用于合成波形數(shù)據(jù),以產(chǎn)生諸如音樂(lè)聲或聲音的聲音波形。
背景技術(shù)
具有波形存儲(chǔ)器型(波形表型)聲音產(chǎn)生系統(tǒng)的電子音樂(lè)設(shè)備是眾所周知的,該電子音樂(lè)設(shè)備根據(jù)演奏數(shù)據(jù)、將波形數(shù)據(jù)處理為材料,以合成音樂(lè)聲波形。
圖4(a)、4(b)和4(c)所示為,某些具有波形存儲(chǔ)器型聲音產(chǎn)生系統(tǒng)的電子音樂(lè)設(shè)備的框圖。
在圖4(a)中,用于聲音產(chǎn)生控制的中央處理器(CPU)102、工作RAM(隨機(jī)存儲(chǔ)器)103和聲音產(chǎn)生LSI(大規(guī)模集成電路)連接到CPU中線101。聲音產(chǎn)生LSI 104通過(guò)波形存儲(chǔ)器總線105連接到波形ROM(只讀存儲(chǔ)器)106。
用于操作CPU 102的處理程序被加載在工作RAM 103中。另一方面,演奏數(shù)據(jù)(音樂(lè)波形控制信息)通過(guò)CPU總線101,從未顯示的鍵盤(pán)等被輸入到工作RAM 103中。CPU 102根據(jù)演奏數(shù)據(jù)生成聲音產(chǎn)生參數(shù)(控制參數(shù)),并將該參數(shù)輸出到聲音產(chǎn)生LSI 104。聲音產(chǎn)生LSI 104根據(jù)聲音產(chǎn)生參數(shù),從波形ROM 106讀出波形數(shù)據(jù),作為材料。然后,聲音產(chǎn)生LSI 104處理波形數(shù)據(jù),以合成音樂(lè)聲波形。合成的音樂(lè)聲波形被編碼器/解碼器(CODEC)(未顯示)轉(zhuǎn)換為模擬信號(hào),以產(chǎn)生音樂(lè)聲信號(hào)。
如圖4(b)所示,可以使用數(shù)字信號(hào)處理器(DSP)107代替聲音產(chǎn)生LSI,來(lái)用于聲音產(chǎn)生。
DSP是數(shù)字信號(hào)處理專(zhuān)用的微處理器。DSP的特征在于,高速加法和乘法運(yùn)算。DSP也能夠用其它系統(tǒng)代替聲音產(chǎn)生系統(tǒng),或者通過(guò)改變微程序代碼,來(lái)使聲音產(chǎn)生系統(tǒng)升級(jí)。由DSP 107合成的音樂(lè)聲波形被CODEC(未顯示)轉(zhuǎn)換為模擬信號(hào),從而模擬信號(hào)將被輸出。
DSP 107可以是以下類(lèi)型DSP 107在信號(hào)處理中使用的經(jīng)過(guò)處理的波形數(shù)據(jù)與信號(hào)處理程序指令之間共享總線(DSP總線108和工作RAM110)。
然而,因?yàn)镃PU 102和DSP 107都具有分配總線訪問(wèn)權(quán)的功能,即所謂的仲裁(arbitration)功能,因此它們不能共享總線。
共享存儲(chǔ)器連接兩條總線一般是眾所周知的,如待審公開(kāi)的日本專(zhuān)利申請(qǐng)No.6-59678中所披露的。因此,共享存儲(chǔ)器109被提供在圖4(b)中,同時(shí)工作RAM 110連接到DSP總線108。
另一方面,波形ROM 106按比例被擴(kuò)大以增大容量,以便存儲(chǔ)足以重現(xiàn)高質(zhì)量音樂(lè)聲波形的波形數(shù)據(jù)。
然而,對(duì)于這種大容量波形ROM存儲(chǔ)各種樂(lè)器的各種音色的波形數(shù)據(jù),存在成本限制。
為了解決該問(wèn)題,還有另一種結(jié)構(gòu),如圖4(c)所示,其中硬盤(pán)驅(qū)動(dòng)器(HDD)113通過(guò)硬盤(pán)控制器(HDC)112連接到CPU總線101,同時(shí)使用波形RAM 111。
在該情況下,CPU 102在開(kāi)始音樂(lè)演奏之前,將波形數(shù)據(jù)從HDD 113傳送到工作RAM 103。然后,CPU 102將波形數(shù)據(jù)傳送被存儲(chǔ)到波形RAM111中。尤其是,CPU 102訪問(wèn)HDD 113,以便將所需樂(lè)器的音色的波形數(shù)據(jù)從HDD 113、通過(guò)工作RAM 103傳送到波形RAM 111。然而,當(dāng)將音色改變?yōu)榱硪环N音色時(shí),需要將另一種樂(lè)器的音色的波形數(shù)據(jù)傳送給波形RAM 111。這造成了需要花費(fèi)時(shí)間來(lái)改變波形數(shù)據(jù)的另一個(gè)問(wèn)題。在合理的成本下,波形RAM 111中可存儲(chǔ)的數(shù)據(jù)量也有限制。
因此,有另一種被稱為采樣器方法的方法。在開(kāi)始演奏之后的音樂(lè)聲合成處理中,音樂(lè)聲合成所需的波形數(shù)據(jù)從HDD 113、逐一地通過(guò)工作RAM 103被提供給波形RAM 111。根據(jù)該系統(tǒng),用戶能夠存取實(shí)際上無(wú)限量的波形數(shù)據(jù)。該系統(tǒng)被實(shí)施為,在個(gè)人計(jì)算機(jī)上運(yùn)行的“采樣器”程序。
然而,因?yàn)閺慕邮兆x取波形數(shù)據(jù)的請(qǐng)求到實(shí)際從HDD 113讀取數(shù)據(jù)的等待時(shí)間太重要,以致于不能忽視,因此音樂(lè)聲合成所需的大量波形數(shù)據(jù)需要被讀出,并被預(yù)先存儲(chǔ)在工作RAM 103中。
CPU總線101主要用于聲音產(chǎn)生參數(shù)合成。該處理需要具有復(fù)雜算法的大規(guī)模程序,該程序的處理量很大。
然而,系統(tǒng)中并入的CPU總線比個(gè)人計(jì)算機(jī)用的CPU總線慢。進(jìn)一步,該CPU總線的速度僅僅是CPU的內(nèi)部操作速度的一小部分。CPU 102被設(shè)計(jì)成,在其最忙的時(shí)候、在最壞的情況下使用70%至80%的數(shù)據(jù)傳送能力來(lái)執(zhí)行命令“取出”。
因此,如果CPU總線101的數(shù)據(jù)傳送能力被HDC 112與工作RAM 103之間的波形數(shù)據(jù)傳送占據(jù)得太多,則CPU 102不能提供足夠的計(jì)算能力。
如待審公開(kāi)的日本專(zhuān)利申請(qǐng)No.6-51776中所披露的音樂(lè)聲數(shù)據(jù)記錄/重現(xiàn)設(shè)備是眾所周知的,其中HDD連接到與重現(xiàn)側(cè)的總線和CPU總線不同的總線,使得從HDD讀出的波形數(shù)據(jù)將通過(guò)共享緩沖器被傳送給重現(xiàn)側(cè)的總線。
圖5所示為,常規(guī)音樂(lè)聲數(shù)據(jù)記錄/重現(xiàn)設(shè)備的框圖。在該配置中,用于將波形數(shù)據(jù)記錄在HDD上的其它塊沒(méi)有顯示。
個(gè)人計(jì)算機(jī)121和重現(xiàn)控制設(shè)備122通過(guò)串行電纜連接。此外,個(gè)人計(jì)算機(jī)121、重現(xiàn)控制設(shè)備122與HDD 123分別通過(guò)小型計(jì)算機(jī)系統(tǒng)接口(SCSI)連接。
個(gè)人計(jì)算機(jī)121允許用戶對(duì)文件名執(zhí)行選擇和設(shè)置操作,并通過(guò)串行電纜將用于指定數(shù)據(jù)文件的位置的信息發(fā)送給重現(xiàn)控制設(shè)備122。
重現(xiàn)控制設(shè)備122通過(guò)SCSI總線讀出HDD 123中存儲(chǔ)的音樂(lè)聲波形數(shù)據(jù),以便重現(xiàn)音樂(lè)聲波形數(shù)據(jù)。
在重現(xiàn)設(shè)備122中,主要由CPU 126、RAM 127和ROM 128組成的微型計(jì)算機(jī)連接到CPU總線125。串行輸入/輸出接口124、SCSI接口129、重現(xiàn)/傳送控制器130和聲音發(fā)生器131也連接到CPU總線125。這些部件的操作受CPU 126控制。
重現(xiàn)/傳送控制器130擁有捕獲緩沖器134。捕獲緩沖器134通過(guò)波形數(shù)據(jù)總線132連接到SCSI接口,并通過(guò)總線133連接到重現(xiàn)緩沖器135。
從HDD 123中讀出的音樂(lè)聲波形數(shù)據(jù)被存儲(chǔ)在捕獲緩沖器134中。在除去不必要的頭部分、并重新排列數(shù)據(jù)之后,捕獲緩沖器134把作為重現(xiàn)和讀取用的合適單元的一塊音樂(lè)聲波形數(shù)據(jù)(16K字),傳送給重現(xiàn)緩沖器135(兩個(gè)4K字)。分別通過(guò)系統(tǒng)時(shí)鐘脈沖1或0,來(lái)切換捕獲緩沖器134的寫(xiě)/讀操作。
重現(xiàn)聲音發(fā)生器131響應(yīng)采樣時(shí)鐘,來(lái)從重現(xiàn)緩沖器135讀出并輸出一塊音樂(lè)聲波形數(shù)據(jù)。在該處理期間,可以控制讀波形的間隔。
如待審公開(kāi)的日本專(zhuān)利申請(qǐng)No.6-51776中所披露的,捕獲緩沖器134被提供在波形數(shù)據(jù)總線132與波形重現(xiàn)總線133之間的這種結(jié)構(gòu)允許這兩個(gè)總線彼此獨(dú)立地傳送音樂(lè)聲波形。
待審公開(kāi)的日本專(zhuān)利申請(qǐng)No.6-51776中所披露的傳送功能是,從HDD 123讀出并重現(xiàn)預(yù)定塊大小的波形數(shù)據(jù)。
換句話說(shuō),待審公開(kāi)的日本專(zhuān)利申請(qǐng)No.6-51776沒(méi)有教導(dǎo),當(dāng)音樂(lè)聲波形合成所需的波形數(shù)據(jù)量隨諸如演奏數(shù)據(jù)(音樂(lè)波形控制信息)的時(shí)變因素而變時(shí),每個(gè)總線怎樣傳送從諸如HDD 123的、具有長(zhǎng)等待時(shí)間的存儲(chǔ)器中讀出的波形數(shù)據(jù)。

發(fā)明內(nèi)容
提出本發(fā)明以便解決上述問(wèn)題,并且本發(fā)明的目的是提供一種能夠從存儲(chǔ)介質(zhì)讀取波形數(shù)據(jù)、并有效地將波形數(shù)據(jù)傳送給信號(hào)處理部分的聲音波形合成器。
在本發(fā)明的一個(gè)方面,提供一種聲音波形合成器設(shè)備,用于根據(jù)從外部提供的波形控制信息和存儲(chǔ)介質(zhì)中存儲(chǔ)的波形數(shù)據(jù)來(lái)執(zhí)行聲音波形合成。該聲音波形合成器設(shè)備包括波形數(shù)據(jù)提供部分、波形緩沖器、波形數(shù)據(jù)處理部分和控制數(shù)據(jù)處理部分。波形數(shù)據(jù)提供部分接收第一傳送請(qǐng)求,并響應(yīng)第一傳送請(qǐng)求來(lái)從用于提供波形數(shù)據(jù)的存儲(chǔ)介質(zhì)讀取波形數(shù)據(jù)。波形緩沖器連接到波形數(shù)據(jù)提供部分,用于存儲(chǔ)從波形數(shù)據(jù)提供部分提供的波形數(shù)據(jù)。波形數(shù)據(jù)處理部分接收第二傳送請(qǐng)求、并連接到波形緩沖器,以便響應(yīng)第二傳送請(qǐng)求來(lái)將波形數(shù)據(jù)從波形緩沖器傳送給波形數(shù)據(jù)處理部分。波形數(shù)據(jù)處理部分根據(jù)傳送的波形數(shù)據(jù)和給定的控制參數(shù)來(lái)執(zhí)行聲音波形合成,同時(shí)通知聲音波形合成的狀態(tài)和聲音波形合成的進(jìn)展??刂茢?shù)據(jù)處理部分根據(jù)從波形數(shù)據(jù)處理部分通知的聲音波形合成的進(jìn)展來(lái)生成第一傳送請(qǐng)求,并向波形數(shù)據(jù)提供部分發(fā)送第一傳送請(qǐng)求??刂茢?shù)據(jù)處理部分從外部接收波形控制信息,并根據(jù)波形控制信息以及從波形數(shù)據(jù)處理部分通知的聲音波形合成的狀態(tài)來(lái)生成控制參數(shù)??刂茢?shù)據(jù)處理部分把基于第一傳送請(qǐng)求的第二傳送請(qǐng)求和生成的控制參數(shù)一起發(fā)送給波形數(shù)據(jù)處理部分。
優(yōu)選地,波形數(shù)據(jù)處理部分包括第一總線、連接到第一總線用于存儲(chǔ)波形數(shù)據(jù)的第一存儲(chǔ)器、以及連接到第一總線用于在聲音波形合成期間處理波形數(shù)據(jù)的數(shù)字信號(hào)處理器,而波形數(shù)據(jù)提供部分包括第二總線、用于從存儲(chǔ)介質(zhì)讀取波形數(shù)據(jù)并將讀取的波形數(shù)據(jù)供給第二總線的讀裝置、以及連接到第二總線用于存儲(chǔ)波形數(shù)據(jù)的第二存儲(chǔ)器,以致于波形緩沖器連接在第一總線與第二總線之間,以便通過(guò)波形緩沖器將波形數(shù)據(jù)從波形數(shù)據(jù)提供部分的第二存儲(chǔ)器傳送到波形數(shù)據(jù)處理部分的第一存儲(chǔ)器。
在這種情況下,控制數(shù)據(jù)處理部分進(jìn)一步根據(jù)波形控制信息來(lái)生成讀請(qǐng)求,并將讀請(qǐng)求發(fā)送給波形數(shù)據(jù)提供部分的讀裝置。當(dāng)讀裝置收到讀請(qǐng)求時(shí),讀裝置操作,以便從存儲(chǔ)介質(zhì)讀出波形數(shù)據(jù)并將讀出的波形數(shù)據(jù)傳送到第二存儲(chǔ)器。
進(jìn)一步,波形數(shù)據(jù)提供部分包括控制器,該控制器用于這樣控制第二總線,以致于從第二存儲(chǔ)器到波形緩沖器的波形數(shù)據(jù)傳送被給予比從存儲(chǔ)介質(zhì)到第二存儲(chǔ)器的波形數(shù)據(jù)傳送更高的優(yōu)先級(jí)。
進(jìn)一步,控制數(shù)據(jù)處理部分在波形控制信息到控制數(shù)據(jù)處理部分的輸入開(kāi)始之前,向波形數(shù)據(jù)提供部分的讀裝置發(fā)送讀請(qǐng)求,使得在聲音波形合成之前波形數(shù)據(jù)將被從存儲(chǔ)介質(zhì)傳送到第二存儲(chǔ)器。
優(yōu)選地,波形數(shù)據(jù)處理部分與給定幀周期同步地、根據(jù)波形數(shù)據(jù)逐幀地執(zhí)行聲音波形合成、以合成聲音波形,以致于每一幀都包含多個(gè)聲音波形樣本,以及其中,當(dāng)波形數(shù)據(jù)提供部分收到第一傳送請(qǐng)求時(shí),波形數(shù)據(jù)提供部分操作,以便和幀周期相一致地將波形數(shù)據(jù)從存儲(chǔ)介質(zhì)傳送到波形緩沖器。
在本發(fā)明的另一方面,提供一種對(duì)由波形數(shù)據(jù)提供部分、波形緩沖器、波形數(shù)據(jù)處理部分和控制數(shù)據(jù)處理部分組成、并用于根據(jù)波形控制信息和波形數(shù)據(jù)來(lái)執(zhí)行聲音波形合成的聲音波形合成器設(shè)備進(jìn)行操作的方法。通過(guò)以下步驟來(lái)執(zhí)行本發(fā)明的方法當(dāng)從控制數(shù)據(jù)處理部分收到第一傳送請(qǐng)求時(shí),操作波形數(shù)據(jù)提供部分,以便響應(yīng)該第一傳送請(qǐng)求而從存儲(chǔ)介質(zhì)讀取波形數(shù)據(jù)、并將讀出的波形數(shù)據(jù)提供給波形緩沖器;操作波形緩沖器,以便存儲(chǔ)來(lái)自于波形數(shù)據(jù)提供部分的波形數(shù)據(jù);當(dāng)從控制數(shù)據(jù)處理部分收到第二傳送請(qǐng)求時(shí),操作波形數(shù)據(jù)處理部分,以便響應(yīng)該第二傳送請(qǐng)求而將波形數(shù)據(jù)從波形緩沖器傳送到波形數(shù)據(jù)處理部分;操作波形數(shù)據(jù)處理部分,以便根據(jù)傳送的波形數(shù)據(jù)和從控制數(shù)據(jù)處理部分供給的控制參數(shù)來(lái)執(zhí)行聲音波形合成,同時(shí)將聲音波形合成的狀態(tài)和聲音波形合成的進(jìn)展通知給控制數(shù)據(jù)處理部分;操作控制數(shù)據(jù)處理部分,以便根據(jù)從波形數(shù)據(jù)處理部分通知的聲音波形合成的進(jìn)展來(lái)生成第一傳送請(qǐng)求,以及將第一傳送請(qǐng)求發(fā)送給波形數(shù)據(jù)提供部分;當(dāng)收到波形控制信息時(shí),操作控制數(shù)據(jù)處理部分,以便根據(jù)波形控制信息和從波形數(shù)據(jù)處理部分通知的聲音波形合成的狀態(tài)來(lái)生成控制參數(shù);以及操作控制數(shù)據(jù)處理部分,以便把基于第一傳送請(qǐng)求的第二傳送請(qǐng)求和生成的控制參數(shù)一起發(fā)送給波形數(shù)據(jù)處理部分。
在該結(jié)構(gòu)中,波形緩沖器的使用使在聲音波形合成處理期間、彼此獨(dú)立地控制由波形數(shù)據(jù)處理部分執(zhí)行的聲音波形合成以及由波形數(shù)據(jù)提供部分執(zhí)行的從存儲(chǔ)介質(zhì)的波形數(shù)據(jù)讀取成為可能。因?yàn)椴ㄐ螖?shù)據(jù)處理部分能夠在方便的定時(shí)從波形緩沖器傳送波形數(shù)據(jù),因此能夠減小從存儲(chǔ)介質(zhì)的波形數(shù)據(jù)讀取對(duì)聲音波形合成處理的影響。
在該結(jié)構(gòu)中,在聲音波形合成處理期間,數(shù)字信號(hào)處理器、第一存儲(chǔ)器和波形緩沖器之間的第一總線上的傳送與存儲(chǔ)介質(zhì)讀裝置、傳送控制器、第二存儲(chǔ)器和波形緩沖器之間的第二總線上的波形數(shù)據(jù)等的傳送彼此獨(dú)立地受控制。它允許信號(hào)處理器在方便的定時(shí)、在第一存儲(chǔ)器與波形緩沖器之間高效地傳送波形數(shù)據(jù)。
進(jìn)一步,因?yàn)榈诙偩€這樣受控制,以致于從第二存儲(chǔ)器到波形緩沖器的波形數(shù)據(jù)傳送被給予比從存儲(chǔ)介質(zhì)到第二存儲(chǔ)器的波形數(shù)據(jù)傳送更高的優(yōu)先級(jí),因此能夠減小從存儲(chǔ)介質(zhì)的傳送對(duì)聲音波形合成處理的影響。
另外,存儲(chǔ)介質(zhì)讀裝置分別執(zhí)行從存儲(chǔ)介質(zhì)到第二存儲(chǔ)器的波形數(shù)據(jù)傳送以及從第二存儲(chǔ)器到波形緩沖器的波形數(shù)據(jù)傳送。這使高效地傳送具有比第二存儲(chǔ)器更長(zhǎng)的延遲的存儲(chǔ)介質(zhì)中存儲(chǔ)的波形數(shù)據(jù)成為可能。
進(jìn)一步,因?yàn)橐粠ㄐ螖?shù)據(jù)作為單位被合成,因此要被波形數(shù)據(jù)處理部分處理的波形數(shù)據(jù)量在時(shí)間上變得均勻。換句話說(shuō),因?yàn)榻?jīng)過(guò)處理的波形數(shù)據(jù)量沒(méi)有在幀間變化得這么多,因此能夠穩(wěn)定地操作波形數(shù)據(jù)處理部分。
另外,與給定幀周期同步地執(zhí)行由波形數(shù)據(jù)處理部分執(zhí)行的波形數(shù)據(jù)傳送和由波形數(shù)據(jù)提供部分執(zhí)行的波形數(shù)據(jù)傳送,使得一次傳送的波形數(shù)據(jù)量變得合理地大,由此能夠利用更少的開(kāi)銷(xiāo)進(jìn)行高效傳送。
根據(jù)本發(fā)明,波形緩沖器的使用使得有可能在產(chǎn)生音樂(lè)聲的操作期間,從諸如硬盤(pán)的、具有長(zhǎng)等待時(shí)間的大容量存儲(chǔ)介質(zhì)讀取并傳送波形數(shù)據(jù)到波形數(shù)據(jù)處理部分。因此,甚至能夠?qū)崟r(shí)地合成高質(zhì)量音樂(lè)聲。
在數(shù)據(jù)讀取和傳送操作期間,能夠高效地利用信號(hào)處理器所連接的總線的數(shù)據(jù)傳送能力。
在數(shù)據(jù)讀取和傳送操作期間,以幀單位傳送波形數(shù)據(jù),從而能夠高效地利用數(shù)據(jù)傳送能力。
結(jié)果,能夠防止波形數(shù)據(jù)處理部分的處理能力的降低,以及因此獲得了足以用于實(shí)際用途的大量同時(shí)產(chǎn)生的聲音。


圖1所示為,用于說(shuō)明本發(fā)明的一個(gè)優(yōu)選實(shí)施例的功能結(jié)構(gòu)的框圖。
圖2所示為,圖1所示的實(shí)施例被應(yīng)用于波形存儲(chǔ)器聲音產(chǎn)生系統(tǒng)的電子音樂(lè)設(shè)備的特定例子的框圖。
圖3-1和3-2所示為,用于說(shuō)明圖2的特定例子中的各個(gè)部件的處理時(shí)間的例子的順序圖。
圖4(a)、4(b)和4(c)所示為,某些具有波形存儲(chǔ)器聲音產(chǎn)生系統(tǒng)的電子音樂(lè)設(shè)備的框圖。
圖5所示為,常規(guī)音樂(lè)聲數(shù)據(jù)記錄/重現(xiàn)設(shè)備的框圖。
具體實(shí)施例方式
圖1所示為,用于說(shuō)明本發(fā)明的一個(gè)優(yōu)選實(shí)施例的功能結(jié)構(gòu)的框圖。
該實(shí)施例提供聲音波形合成器作為電子音樂(lè)設(shè)備等,用于根據(jù)波形控制信息和存儲(chǔ)器中存儲(chǔ)的波形數(shù)據(jù)來(lái)執(zhí)行聲音波形合成。在聲音波形合成器中,由附圖標(biāo)記1表示的部分是控制數(shù)據(jù)處理單元,由附圖標(biāo)記2表示的部分是波形數(shù)據(jù)處理單元,由附圖標(biāo)記3表示的部分是波形數(shù)據(jù)提供單元,以及由附圖標(biāo)記5表示的部分是接口單元。
波形數(shù)據(jù)提供單元3連接到諸如HDD的波形數(shù)據(jù)存儲(chǔ)器4。
接口單元5將控制數(shù)據(jù)處理單元1、波形數(shù)據(jù)處理單元2和波形數(shù)據(jù)提供單元3相互連接起來(lái)。波形緩沖器6連接波形數(shù)據(jù)處理單元2和波形數(shù)據(jù)提供單元3,為波形數(shù)據(jù)的傳送提供緩沖中繼。這允許波形數(shù)據(jù)處理單元2合成聲音波形以及波形數(shù)據(jù)提供單元3單獨(dú)地讀出波形數(shù)據(jù),而不造成相互干擾。
可以采用多種方法,用于控制數(shù)據(jù)處理單元1與波形數(shù)據(jù)處理單元2之間的接口以及控制數(shù)據(jù)處理單元1與波形數(shù)據(jù)提供單元3之間的接口。在所示的例子中,這些接口是直接連接。
控制數(shù)據(jù)處理單元1、波形數(shù)據(jù)處理單元2和波形數(shù)據(jù)提供單元3彼此獨(dú)立地執(zhí)行內(nèi)部處理。然而,在所示的例子中,這些操作被合并到與預(yù)定的多個(gè)采樣周期相對(duì)應(yīng)的幀周期單位(unit)中。
波形數(shù)據(jù)處理單元2具有信號(hào)處理總線(第一總線)20,數(shù)字信號(hào)處理器21和存儲(chǔ)器(第一存儲(chǔ)器)22連接到該信號(hào)處理總線20。信號(hào)處理單元21也具有內(nèi)置的傳送控制器(第一傳送控制器)23。信號(hào)處理單元21的輸出連接到聲音波形輸出單元(未顯示)。
波形數(shù)據(jù)處理單元2根據(jù)獲取的控制參數(shù)和傳送的波形數(shù)據(jù),來(lái)逐幀地合成一幀聲音波形。合成的聲音波形的多個(gè)樣本被提供給聲音波形輸出單元,每采樣周期從該聲音波形輸出單元輸出聲音波形的一個(gè)樣本。
可以響應(yīng)于幀同步(sync)信號(hào)從聲音波形輸出單元的供給,來(lái)執(zhí)行基于幀的聲音波形合成。在該情況下,幀同步信號(hào)與預(yù)定的多個(gè)采樣時(shí)鐘脈沖相對(duì)應(yīng)。
波形數(shù)據(jù)處理單元2從控制數(shù)據(jù)處理單元1獲取至少當(dāng)前幀周期的聲音波形合成所需的控制參數(shù)。同時(shí),傳送控制器23把至少當(dāng)前幀周期的聲音波形合成所需的波形數(shù)據(jù),從波形緩沖器6傳送到存儲(chǔ)器22。
可以根據(jù)聲音波形合成的進(jìn)展,以幀周期單位來(lái)執(zhí)行控制參數(shù)的獲取和波形數(shù)據(jù)的傳送。
幀周期單位表示這樣的時(shí)間間隔,該時(shí)間間隔是一個(gè)幀周期的整數(shù)倍。整數(shù)倍的值可以在不同的時(shí)期變化。
波形數(shù)據(jù)處理單元2也可以對(duì)聲音波形的每一個(gè)樣本執(zhí)行聲音波形合成。然而,用于聲音波形合成的波形數(shù)據(jù)的樣本數(shù)隨諸如間隔的條件而變。因此,臨時(shí)提供的波形數(shù)據(jù)量可能不足,并且這可能在合成的波形中造成噪聲。優(yōu)選地,信號(hào)處理單元21逐幀地執(zhí)行處理,每一幀具有合理的大小,這是因?yàn)樗軌蛞种票匦璨ㄐ螖?shù)據(jù)的變化。
此外,如果針對(duì)聲音波形的每一個(gè)樣本執(zhí)行聲音波形合成,則可能必須逐個(gè)樣本地傳送波形數(shù)據(jù)。在這種情況下,每當(dāng)傳送波形數(shù)據(jù)的一個(gè)樣本時(shí),都需要一定量的開(kāi)銷(xiāo)。相反,如果逐幀地執(zhí)行聲音波形合成,則也可以每幀周期在信號(hào)處理總線20或波形數(shù)據(jù)總線30上傳送波形數(shù)據(jù),由此實(shí)現(xiàn)高速、高效的數(shù)據(jù)傳送。
波形數(shù)據(jù)處理單元2逐幀地合成聲音波形,并且這引入了一幀的延遲。然而,這種延遲將尤其無(wú)關(guān)緊要,除非一個(gè)幀周期極長(zhǎng)。
以下描述波形數(shù)據(jù)處理單元2的特定結(jié)構(gòu)。
信號(hào)處理器21根據(jù)存儲(chǔ)器22中存儲(chǔ)的控制參數(shù)和波形數(shù)據(jù),來(lái)逐幀地合成聲音波形,同時(shí)信號(hào)處理器21向控制數(shù)據(jù)處理單元1通知聲音波形合成的狀態(tài)和進(jìn)展。
一旦從控制數(shù)據(jù)處理單元1收到波形數(shù)據(jù)傳送請(qǐng)求(第二傳送請(qǐng)求)的通知,傳送控制器23就把波形數(shù)據(jù)從波形緩沖器6傳送給存儲(chǔ)器22。
即使在信號(hào)處理總線20上的波形數(shù)據(jù)傳送期間,信號(hào)處理器21也能夠執(zhí)行內(nèi)部信號(hào)處理。
由信號(hào)處理器21合成的聲音波形的多個(gè)樣本被提供給聲音波形輸出單元(未顯示),并且在每一采樣周期逐個(gè)樣本地被輸出。
可以每幀周期、連同聲音波形合成處理一起通知聲音波形合成的狀態(tài)和進(jìn)展。
控制數(shù)據(jù)處理單元1具有控制參數(shù)生成器11和請(qǐng)求生成器12,波形控制信息被輸入到控制參數(shù)生成器11和請(qǐng)求生成器12。在電子音樂(lè)設(shè)備的情況下,輸入的波形控制信息是從鍵盤(pán)輸出的或從音樂(lè)數(shù)據(jù)存儲(chǔ)器讀出的演奏信息。
如上所述,每當(dāng)一個(gè)聲音的波形被合成時(shí),波形數(shù)據(jù)處理單元2就逐片地使用從波形緩沖器6傳送的波形數(shù)據(jù)。因此,波形數(shù)據(jù)處理單元2需要這樣一片新的波形數(shù)據(jù),以致于這一片新的波形數(shù)據(jù)按次序位于緊接著合成的聲音波形數(shù)據(jù)片之后。此外,當(dāng)命令產(chǎn)生一種不同的聲音時(shí),直到那時(shí)為止使用的波形數(shù)據(jù)變得不必要,并且需要傳送一種新的波形數(shù)據(jù)。
在這種情況下,控制數(shù)據(jù)處理單元1的請(qǐng)求生成器12從信號(hào)處理器21接收聲音波形合成的進(jìn)展的通知,并從存儲(chǔ)器22中存儲(chǔ)的、被波形數(shù)據(jù)處理單元2獲取的波形數(shù)據(jù),來(lái)計(jì)算進(jìn)一步聲音波形合成所需的剩余波形數(shù)據(jù)量。然后,請(qǐng)求生成器12將請(qǐng)求從計(jì)算結(jié)果確定的、如聲音波形合成新近需要的波形數(shù)據(jù)的第一傳送請(qǐng)求的通知,發(fā)送給波形數(shù)據(jù)提供單元3。第一傳送請(qǐng)求包括用于指定要提供的波形數(shù)據(jù)的某些片的信息。
然后,請(qǐng)求生成器12把根據(jù)第一傳送請(qǐng)求生成的第二傳送請(qǐng)求的通知,發(fā)送給波形數(shù)據(jù)處理單元2,使得被請(qǐng)求的波形數(shù)據(jù)將從波形緩沖器6被傳送給信號(hào)處理器21。
可以每幀周期、連同聲音波形合成處理一起發(fā)送第一傳送請(qǐng)求和第二傳送請(qǐng)求。在這種情況下,波形數(shù)據(jù)處理單元2可以提供幀同步信號(hào)。
如果波形數(shù)據(jù)處理單元2不需要新波形數(shù)據(jù),則第一傳送請(qǐng)求和第二傳送請(qǐng)求都不用通知。
也可以在聲音波形合成所需的波形數(shù)據(jù)量和存儲(chǔ)器22中的剩余量變得相等或者少于預(yù)定量時(shí),發(fā)送第一傳送請(qǐng)求和第二傳送請(qǐng)求。
另外,可以根據(jù)聲音波形合成已經(jīng)消耗的波形數(shù)據(jù)量,而不是剩余波形數(shù)據(jù)量,來(lái)發(fā)送第一傳送請(qǐng)求和第二傳送請(qǐng)求。
請(qǐng)求生成器12向存儲(chǔ)介質(zhì)讀控制器(讀裝置)31發(fā)送以下讀請(qǐng)求預(yù)先從波形數(shù)據(jù)存儲(chǔ)器(存儲(chǔ)介質(zhì))4讀出由輸入的波形控制信號(hào)預(yù)期為進(jìn)一步聲音波形合成新近需要的波形數(shù)據(jù)??勺x取的波形數(shù)據(jù)量被確定為,不超過(guò)波形數(shù)據(jù)已從存儲(chǔ)器32被傳送給波形緩沖器6之后的可用存儲(chǔ)空間。
另一方面,控制參數(shù)生成器11根據(jù)波形控制信息和聲音波形合成的狀態(tài)來(lái)生成控制參數(shù),并將生成的控制參數(shù)通知給波形數(shù)據(jù)處理單元2。也可以每幀周期、連同聲音波形合成處理一起發(fā)送控制參數(shù)的通知。
一旦收到第一傳送請(qǐng)求,波形數(shù)據(jù)提供單元3就將聲音波形合成新近需要的波形數(shù)據(jù)從存儲(chǔ)器32傳送給波形緩沖器6。
然后,一旦收到第二傳送請(qǐng)求,波形數(shù)據(jù)處理單元2就將波形數(shù)據(jù)從波形緩沖器6傳送給存儲(chǔ)器22。
以下描述波形數(shù)據(jù)提供單元3的特定結(jié)構(gòu)。
波形數(shù)據(jù)提供單元3具有波形數(shù)據(jù)總線(第二總線)30,存儲(chǔ)介質(zhì)讀控制器(讀裝置)31、存儲(chǔ)器(第二存儲(chǔ)器)32和傳送控制器(第二傳送控制器)33連接到波形數(shù)據(jù)總線30。
一旦收到上述第一傳送請(qǐng)求,傳送控制器33就選擇存儲(chǔ)器32中存儲(chǔ)的波形數(shù)據(jù)的至少一部分,以便將選中的波形數(shù)據(jù)部分從存儲(chǔ)器32傳送給波形緩沖器6。
然后,一旦收到上述讀請(qǐng)求,存儲(chǔ)介質(zhì)讀控制器31就從波形數(shù)據(jù)存儲(chǔ)器4的存儲(chǔ)器讀出波形數(shù)據(jù),以便將讀出的波形傳送給存儲(chǔ)器32。
總線仲裁被執(zhí)行,以便以這樣一種方式來(lái)仲裁波形數(shù)據(jù)總線30上的總線傳送,使得從存儲(chǔ)器32的波形數(shù)據(jù)傳送被給予比去往存儲(chǔ)器32的波形數(shù)據(jù)傳送更高的優(yōu)先級(jí),以避免通過(guò)波形緩沖器6被傳送給波形數(shù)據(jù)處理單元2的、用于聲音波形合成的波形數(shù)據(jù)的缺少。
如果每幀周期在波形數(shù)據(jù)總線上傳送波形數(shù)據(jù),則突發(fā)方式(burstmode)傳送成為可能,由此實(shí)現(xiàn)高速、高效的傳送??梢灾苯禹憫?yīng)于每幀周期通知的第一傳送請(qǐng)求,來(lái)執(zhí)行這種傳送。作為替換,可以通過(guò)來(lái)自波形數(shù)據(jù)處理單元2等的幀同步信號(hào)的提供,來(lái)執(zhí)行這種傳送。
控制數(shù)據(jù)處理單元1可以在開(kāi)始上述波形控制信息的輸入之前,向存儲(chǔ)介質(zhì)讀控制器31發(fā)送讀請(qǐng)求的通知,使得預(yù)期在開(kāi)始波形控制信息的輸入的時(shí)候需要的波形數(shù)據(jù)預(yù)先從波形數(shù)據(jù)存儲(chǔ)器4被傳送到存儲(chǔ)器32。
在這種情況下,一旦波形控制信息的輸入開(kāi)始,則會(huì)話開(kāi)始之后聲音波形合成所需的波形數(shù)據(jù)能夠立刻從存儲(chǔ)器32被傳送給波形緩沖器6。
當(dāng)波形數(shù)據(jù)處理單元2同時(shí)在多個(gè)通道上合成兩個(gè)或多個(gè)聲音波形時(shí),控制數(shù)據(jù)處理單元1被通知關(guān)于基于通道的聲音波形合成的狀態(tài)和進(jìn)展的信息??刂茀?shù)生成器11向波形數(shù)據(jù)處理單元1通知每個(gè)通道的控制參數(shù),而請(qǐng)求生成器12通知每個(gè)通道的第一和第二請(qǐng)求。波形數(shù)據(jù)提供單元3讀出每個(gè)通道的波形數(shù)據(jù),并將每個(gè)通道的波形數(shù)據(jù)提供給波形緩沖器6。
以上描述了,以幀周期單位、連同聲音波形合成處理一起通知控制參數(shù)、第二傳送請(qǐng)求、聲音波形合成的狀態(tài)、聲音波形合成的進(jìn)展、以及第一傳送請(qǐng)求。然而,不必以幀周期單位通知它們。
另一方面,優(yōu)選地應(yīng)該以幀周期單位,來(lái)執(zhí)行從波形數(shù)據(jù)提供單元3到波形緩沖器6的波形數(shù)據(jù)傳送以及從波形緩沖器6到波形數(shù)據(jù)處理單元2的波形數(shù)據(jù)傳送。這是因?yàn)椋绻詭芷趩挝粋魉筒ㄐ螖?shù)據(jù),則一次傳送的波形數(shù)據(jù)量變得適度的大,以及因此開(kāi)銷(xiāo)量變得相對(duì)地小。此外,因?yàn)橥话l(fā)方式傳送成為可能,因此傳送效率也提高了。
圖2所示為,圖1所示的實(shí)施例被應(yīng)用于波形存儲(chǔ)器聲音產(chǎn)生系統(tǒng)的電子音樂(lè)設(shè)備的特定例子的框圖。在圖2中,類(lèi)似于圖1中的部分被給予相同的附圖標(biāo)記。
電子音樂(lè)設(shè)備是由用于控制數(shù)據(jù)處理的CPU總線41、與圖1中的信號(hào)處理總線20相對(duì)應(yīng)的DSP總線42、以及與圖1中的波形數(shù)據(jù)總線30相對(duì)應(yīng)的HDD總線43組成的三總線結(jié)構(gòu)。通過(guò)接口單元5中的共享存儲(chǔ)塊45,來(lái)執(zhí)行這些總線之間的數(shù)據(jù)傳送。這減少了一條總線上的訪問(wèn)競(jìng)爭(zhēng)的發(fā)生,以及因此減少了總線上的通信堵塞。
控制數(shù)據(jù)處理單元1、波形數(shù)據(jù)處理單元2和波形數(shù)據(jù)處理單元3通過(guò)接口5、以幀周期單位操作。
接口單元5具有共享存儲(chǔ)塊45和用于IRQ#2的硬件中斷線。另一方面,IRQ#1是從CODEC 52到DSP 50的硬件中斷,每64個(gè)樣本(一幀)產(chǎn)生IRQ#1。IRQ#1是用于DSP 50中幀處理的觸發(fā)器。另一方面,IRQ#2是從DSP 50到CPU 46的硬件中斷,每幀周期、但是在不同于IRQ#1的定時(shí)、產(chǎn)生IRQ#2。換句話說(shuō),IRQ#2是用于CPU 46中幀處理的觸發(fā)器。
控制數(shù)據(jù)處理單元1擁有CPU總線41。實(shí)施圖1中所示的控制參數(shù)生成器11和請(qǐng)求生成器12的功能的CPU 46和工作RAM 47、用于輸入演奏信息(波形控制信息)的樂(lè)器數(shù)字接口(MIDI)48、用于在加電時(shí)把CPU控制程序加載到工作RAM 47中的引導(dǎo)ROM 49等連接到CPU總線41。如果CPU 46包括MIDI接口,則可以用CPU 46的MIDI接口代替MIDI接口48。在圖2中沒(méi)有顯示與本發(fā)明無(wú)關(guān)的其它塊,例如輸入操作子、顯示器、輸入/輸出(I/O)接口、效果器LSI等。
CPU 46從工作RAM 47讀出處理程序,讀和寫(xiě)工作RAM以便臨時(shí)存儲(chǔ)數(shù)據(jù),以及如果需要,讀和寫(xiě)共享存儲(chǔ)塊45。CPU 46占有CPU總線41。
一旦工作RAM 47上的處理程序被執(zhí)行,CPU總線41的大部分?jǐn)?shù)據(jù)傳送能力就都用于CPU 46去讀命令“取出”。
波形數(shù)據(jù)處理單元2連接到DSP總線42,波形數(shù)據(jù)處理單元2通過(guò)該DSP總線42與用作圖1中的信號(hào)處理單元50的DSP 50、用作存儲(chǔ)器22的工作RAM 51、用于在通電時(shí)把控制程序加載到工作RAM 51中的引導(dǎo)ROM 51等相連。DSP 50連接到用作聲音波形輸出單元的CODEC 52。
DSP 50從工作RAM 51讀出控制程序,讀和寫(xiě)工作RAM 51以便臨時(shí)存儲(chǔ)數(shù)據(jù),以及如果需要,讀和寫(xiě)共享存儲(chǔ)塊45。DSP 50占有DSP總線42。
由DSP 50執(zhí)行的聲音波形合成處理具有基于重復(fù)處理(循環(huán)處理)的相對(duì)簡(jiǎn)單處理算法。尤其是,因?yàn)榕c程序中的重復(fù)處理相對(duì)應(yīng)的操作需要這樣小的存儲(chǔ)空間,以致于它們能夠被存儲(chǔ)在DSP 50中的命令高速緩存中,因此命令“取出”幾乎不需要DSP總線42的頻帶。大多數(shù)傳送能力用于從波形共享存儲(chǔ)器58到工作RAM 51的波形數(shù)據(jù)傳送、以及DSP 50與工作RAM 51之間的經(jīng)過(guò)處理的數(shù)據(jù)的傳送。
工作RAM 51為每一通道臨時(shí)存儲(chǔ)并保存在數(shù)量上與能夠同時(shí)產(chǎn)生聲音的通道的最大數(shù)量相對(duì)應(yīng)的波形數(shù)據(jù)的某些片。每個(gè)通道由能夠存儲(chǔ)“管理信息”和“部分波形的4096個(gè)樣本”的緩沖器構(gòu)成。
DSP 50也可以在不通過(guò)CODEC 52的情況下輸出數(shù)字波形數(shù)據(jù)。如果效果器LSI連接到CPU總線41、并且受CPU 46控制,則在DSP 50中合成的音樂(lè)聲波形數(shù)據(jù)將被提供給效果器LSI的輸入端。在該情況下,效果器給予波形數(shù)據(jù)以效果,對(duì)波形數(shù)據(jù)進(jìn)行D/A(數(shù)模)轉(zhuǎn)換,并輸出波形數(shù)據(jù)。
另一方面,波形數(shù)據(jù)提供單元3連接到HDD總線43,波形數(shù)據(jù)提供單元3通過(guò)HDD總線43與用作圖1中的存儲(chǔ)介質(zhì)讀控制器31的HDC 59、用作存儲(chǔ)器32的工作RAM 60、以及用作傳送控制器33的直接存儲(chǔ)器存取控制器(DMAC)61相連。
在該情況下,使用能夠存儲(chǔ)成批數(shù)據(jù)的大容量HDD 44來(lái)代替圖1中的波形數(shù)據(jù)存儲(chǔ)器4,雖然大容量HDD 44具有長(zhǎng)等待時(shí)間。
HDD 44不僅能夠存儲(chǔ)大量波形數(shù)據(jù),而且能夠高速地傳送波形數(shù)據(jù)。當(dāng)HDD 44是最新型時(shí),按一般規(guī)律,順序存取速率大約為30至40 Mbps,并且隨機(jī)存取速率大約為10至20Mbps。
然而,從接收讀請(qǐng)求到開(kāi)始讀的延遲時(shí)間很長(zhǎng),大約為10ms。因此,如果用戶想要實(shí)時(shí)地產(chǎn)生音樂(lè)聲,則直到發(fā)生開(kāi)始為止的延遲時(shí)間將必須在10ms之內(nèi)。
為此,預(yù)先從HDD 44讀出波形數(shù)據(jù),并將讀出的波形數(shù)據(jù)臨時(shí)存儲(chǔ)在工作RAM 60中。
HDD總線43主要用于從HDD 44到工作RAM 60的波形數(shù)據(jù)傳送以及從工作RAM 60到波形緩沖器58的波形數(shù)據(jù)傳送。
因此,在不同的傳送周期期間,至少一部分波形數(shù)據(jù)在HDD總線43上被傳送兩次。
因?yàn)閺腍DD 44和工作RAM 60傳送的波形數(shù)據(jù)是預(yù)期為新近需要的波形數(shù)據(jù),因此不是波形數(shù)據(jù)的所有片都需要從工作RAM 60被傳送給波形緩沖器58。情況是,每單位時(shí)間從工作RAM 60傳送到波形緩沖器58的波形數(shù)據(jù)量(總線頻帶的使用率)低于每單位時(shí)間從HDD 44傳送到工作RAM 60的波形數(shù)據(jù)量。
每單位時(shí)間將波形數(shù)據(jù)從工作RAM 60傳送到波形緩沖器58的次數(shù)(例如,一幀一次)也大于每單位時(shí)間將波形數(shù)據(jù)從HDD 44傳送到工作RAM 60的次數(shù),即每次的傳送量小。
因此,規(guī)定DSP總線42和HDD總線43共享傳送波形數(shù)據(jù)的負(fù)荷,以減輕DSP總線42的負(fù)荷。
工作RAM 60由存儲(chǔ)器和環(huán)形緩沖器構(gòu)成。存儲(chǔ)器為所有音色的所有鍵控代碼(keycode)的每一個(gè)(在鍵盤(pán)上演奏的所有鍵的音調(diào)的每一個(gè)),靜態(tài)地存儲(chǔ)能夠在系統(tǒng)啟動(dòng)時(shí)發(fā)聲的第一部分波形數(shù)據(jù)。所提供的環(huán)形緩沖器的數(shù)量和能夠同時(shí)產(chǎn)生聲音的通道的最大數(shù)量一樣。靜態(tài)存儲(chǔ)器可以在通道之間被共享。
環(huán)形緩沖器分別具有恒定的存儲(chǔ)容量,其中讀地址和寫(xiě)地址是循環(huán)的。新波形數(shù)據(jù)按次序被寫(xiě)到以前的數(shù)據(jù)上。每一個(gè)環(huán)形數(shù)據(jù)都存儲(chǔ)例如一又二分之一秒的波形數(shù)據(jù)。
用于工作RAM 60的管理信息被CPU 46保存在控制數(shù)據(jù)處理單元1那一側(cè)。
共享存儲(chǔ)塊45連接在兩條總線之間,以便在邏輯上連接這兩條總線。可以從這兩條總線來(lái)存取共享存儲(chǔ)塊45,用作總線之間的數(shù)據(jù)傳送的聯(lián)絡(luò)。可以在任何定時(shí)異步地從每條總線讀或?qū)懝蚕泶鎯?chǔ)塊45。
可以利用雙端口RAM、先進(jìn)先出存儲(chǔ)器(FIFO),或者利用用于響應(yīng)高速時(shí)鐘在兩條總線之間切換RAM的分時(shí)機(jī)制,來(lái)實(shí)施共享存儲(chǔ)塊45。共享存儲(chǔ)塊45由專(zhuān)用硬件構(gòu)成。也可以利用現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)來(lái)實(shí)施共享存儲(chǔ)塊45的功能。在該情況下,共享存儲(chǔ)塊45能夠結(jié)合DMAC61的功能。
在接口單元5中,分別通過(guò)波形緩沖共享存儲(chǔ)器58、聲音產(chǎn)生參數(shù)共享存儲(chǔ)器54、聲音產(chǎn)生狀態(tài)共享存儲(chǔ)器55、讀請(qǐng)求共享存儲(chǔ)器56和傳送請(qǐng)求共享存儲(chǔ)器57,來(lái)執(zhí)行關(guān)于聲音產(chǎn)生參數(shù)和聲音產(chǎn)生狀態(tài)的信息的傳送、以及由圖1中的波形緩沖器6執(zhí)行的波形數(shù)據(jù)的傳送。
聲音產(chǎn)生參數(shù)共享存儲(chǔ)器54和聲音產(chǎn)生狀態(tài)共享存儲(chǔ)器55連接在CPU總線41與DSP總線42之間。讀請(qǐng)求共享存儲(chǔ)器56和傳送請(qǐng)求共享存儲(chǔ)器57連接在CPU總線41與HDD總線43之間。波形緩沖共享存儲(chǔ)器58連接在HDD總線43與DSP總線42之間。
利用環(huán)形緩沖器來(lái)實(shí)施波形緩沖共享存儲(chǔ)器58;波形緩沖共享存儲(chǔ)器58保存工作RAM 60中存儲(chǔ)的波形數(shù)據(jù)的一部分。
用于波形緩沖共享存儲(chǔ)器58的管理信息被CPU 46保存。環(huán)形緩沖器只存儲(chǔ)波形數(shù)據(jù)。
以下描述聲音產(chǎn)生參數(shù)。
圖2中的“聲音產(chǎn)生參數(shù)”包括用于命令“從波形緩沖共享存儲(chǔ)器58傳送到工作RAM 51”(圖1中的第二傳送請(qǐng)求)的參數(shù)以及“正常聲音產(chǎn)生參數(shù)”(圖1中的控制參數(shù))。
“正常聲音產(chǎn)生參數(shù)”包括鍵開(kāi)啟(key-on)、音符號(hào)(note number)、包絡(luò)電平等。
聲音產(chǎn)生參數(shù)以幀周期單位被更新,并且以“分組大小+分組主體(16位×n)”(n為正整數(shù))的格式從聲音產(chǎn)生參數(shù)共享存儲(chǔ)器54的第一部分被寫(xiě)入。如果在幀周期中沒(méi)有聲音參數(shù)要傳送,將寫(xiě)入“0”作為分組大小。可以將兩個(gè)或多個(gè)產(chǎn)生參數(shù)存儲(chǔ)在上述分組主體中。
以下描述“傳送請(qǐng)求”。
當(dāng)發(fā)出從工作RAM 60到波形緩沖共享存儲(chǔ)器58的傳送的請(qǐng)求時(shí),通知“傳送請(qǐng)求”。
傳送請(qǐng)求由“工作RAM 60上的傳送的起始地址”+“傳送大小”+“目的方的發(fā)聲通道”組成。
以下描述“聲音產(chǎn)生狀態(tài)”。
圖2中的“聲音產(chǎn)生狀態(tài)”包括指示“音樂(lè)聲波形合成的進(jìn)展”(圖1中的聲音波形合成的進(jìn)展)的信息,以及關(guān)于“正常聲音產(chǎn)生狀態(tài)”(圖1中的聲音波形合成的狀態(tài))的信息。
指示“正常聲音產(chǎn)生狀態(tài)”的信息包括鍵開(kāi)啟狀態(tài)、當(dāng)前包絡(luò)電平狀態(tài)等,象為現(xiàn)有的音調(diào)發(fā)生器規(guī)定的一樣。
另一方面,指示“音樂(lè)聲波形合成的進(jìn)展”的信息是關(guān)于當(dāng)前為音樂(lè)聲合成而處理的波形數(shù)據(jù)的位置的信息。波形位置是相對(duì)于被設(shè)置為作為參考點(diǎn)的“0”的音符開(kāi)位置的發(fā)聲位置。例如,波形位置被表示為累積樣本數(shù)。
聲音產(chǎn)生狀態(tài)共享存儲(chǔ)器55是這樣的映射,以便指示能夠同時(shí)產(chǎn)生聲音的通道的每一個(gè)的每個(gè)聲音產(chǎn)生的狀態(tài)。該存儲(chǔ)器被預(yù)先分配了其存儲(chǔ)器地址。
圖3-1和3-2是用于說(shuō)明圖2的特定例子中的各個(gè)部件的處理時(shí)間的例子的順序圖。
操作序列被分成以下5個(gè)部分響應(yīng)于MIDI事件而執(zhí)行的處理,與HDD讀有關(guān)的處理,響應(yīng)于IRQ#2而執(zhí)行的處理,響應(yīng)于IRQ#1而執(zhí)行的處理,以及CODEC處理。
在圖3-1和3-2中,響應(yīng)于MIDI事件而執(zhí)行的處理和與HDD讀有關(guān)的處理在不同于其它處理的時(shí)間單位中進(jìn)行。
DSP 50以幀周期單位執(zhí)行音樂(lè)聲合成的處理。如果采樣時(shí)鐘為44.1kHz、并且一幀為64個(gè)樣本,則一個(gè)幀周期大約為1.45毫秒。
假定操作CPU 46所需的程序和數(shù)據(jù)被存儲(chǔ)在引導(dǎo)ROM 49中。在該情況下,在系統(tǒng)啟動(dòng)時(shí)這些程序和數(shù)據(jù)被傳送給工作RAM 47,以便開(kāi)始程序的執(zhí)行。
類(lèi)似,操作DSP 50所需的程序和數(shù)據(jù)被存儲(chǔ)在引導(dǎo)ROM 53中,并且被傳送給工作RAM 51,以便開(kāi)始程序的執(zhí)行。
當(dāng)要實(shí)時(shí)地產(chǎn)生音樂(lè)聲時(shí),大約在系統(tǒng)啟動(dòng)時(shí)讀請(qǐng)求從CPU 46被通知,使得能夠用于產(chǎn)生聲音的所有波形數(shù)據(jù)的第一片將預(yù)先通過(guò)HDC 59、從HDD 44被傳送到RAM 60,并且在音樂(lè)聲合成處理期間被保存在RAM60中。
以下取簡(jiǎn)單的演奏信息作為例子,來(lái)描述從接收演奏信息“音符開(kāi)”以開(kāi)始產(chǎn)生一個(gè)聲音直到接收演奏信息“音符關(guān)”的一序列操作。在該例子中,中途通過(guò)該操作序列來(lái)接收演奏信息“聲調(diào)”,以改變音量。
如圖3-1(a)所示,演奏信息(波形控制信息)片71、75和77被接收作為MIDI數(shù)據(jù),并且被輸入到工作RAM 47中。然后,如圖3-1(b)所示,CPU 46使用諸如音符開(kāi)、音符關(guān)、控制改變和音調(diào)彎曲的MIDI事件,來(lái)作為用于生成聲音產(chǎn)生參數(shù)的觸發(fā)器。
雖然未顯示,但是也響應(yīng)于聲音產(chǎn)生期間的5至20毫秒的時(shí)間中斷,來(lái)生成聲音產(chǎn)生參數(shù)。
根據(jù)類(lèi)似于MIDI數(shù)據(jù)的演奏數(shù)據(jù)來(lái)生成聲音產(chǎn)生參數(shù),并且“正常聲音產(chǎn)生狀態(tài)”(聲音波形合成的狀態(tài))包括如上所述的鍵開(kāi)啟狀態(tài)、當(dāng)前的幅度包絡(luò)狀態(tài)。
CPU 46在工作RAM 47上生成聲音產(chǎn)生參數(shù)72、76和78。生成處理所需的時(shí)間不是恒定的。
CPU 46控制HDD 44的讀。然后,CPU 46根據(jù)收到的MIDI數(shù)據(jù),來(lái)確定預(yù)期為進(jìn)一步音樂(lè)聲波形合成新近需要的波形數(shù)據(jù)。
如圖3-1(c)所示,用于將預(yù)期為新近需要的波形數(shù)據(jù)從HDD 44讀到工作RAM 60的讀請(qǐng)求73,從工作RAM 47被傳送到讀請(qǐng)求共享存儲(chǔ)器56。
例如,當(dāng)MIDI數(shù)據(jù)被收到以便開(kāi)始產(chǎn)生具有某一音調(diào)的聲音時(shí),以該音調(diào)發(fā)聲的音樂(lè)聲的波形的波形數(shù)據(jù)、以及隨來(lái)自聲音的原始音調(diào)的音調(diào)彎曲操作而變的可能音調(diào)范圍(例如,實(shí)際音符的音調(diào)之上或之下的兩個(gè)八音度)內(nèi)的音樂(lè)聲的波形的波形數(shù)據(jù)的所有片,從HDD 44一個(gè)接一個(gè)地被讀出,并且被預(yù)先存儲(chǔ)在工作RAM 60中。
然后,如圖3-1(d)所示,HDC 59訪問(wèn)讀請(qǐng)求共享存儲(chǔ)器56,以讀出讀請(qǐng)求共享存儲(chǔ)器56中存儲(chǔ)的讀請(qǐng)求74。
然后,如圖3-1(e)所示,HDC 59根據(jù)來(lái)自HDD 44的讀請(qǐng)求來(lái)讀出波形數(shù)據(jù),并將波形數(shù)據(jù)傳送給工作RAM 60。
CPU 46的任務(wù)被阻塞,直到所請(qǐng)求的在定時(shí)79的讀完成為止,如圖3-1(c)所示。一旦波形數(shù)據(jù)的讀完成了,它就允許CPU 46將下一個(gè)讀請(qǐng)求80傳送給讀請(qǐng)求共享存儲(chǔ)器56。
以下描述響應(yīng)于IRQ#2而執(zhí)行的處理。
如圖3-2(k)所示,中斷信號(hào)(IRQ#2)91從DSP 50被通知給CPU 46。然后,如圖3-2(f)所示,CPU 46從聲音產(chǎn)生狀態(tài)共享存儲(chǔ)器55讀出當(dāng)前幀(1)中的聲音產(chǎn)生狀態(tài)(“正常聲音產(chǎn)生狀態(tài)”和音樂(lè)聲波形合成的進(jìn)展)92的信息,并將其寫(xiě)到工作RAM 47。
CPU 46根據(jù)聲音產(chǎn)生狀態(tài)(音樂(lè)聲波形合成的進(jìn)展)92,來(lái)計(jì)算作為下一幀(2)以及接著該下一幀之后的更多幀所需的、工作RAM 51中剩余的波形數(shù)據(jù)量,并傳送新近需要的波形數(shù)據(jù),即使有的話。
然后,如圖3-2(g)所示,CPU 46向傳送請(qǐng)求共享存儲(chǔ)器57發(fā)送用于將波形數(shù)據(jù)從工作RAM 60傳送到波形緩沖器58的“傳送請(qǐng)求”93的通知。要傳送的波形數(shù)據(jù)對(duì)應(yīng)于稍后要傳送到工作RAM 51的那些波形數(shù)據(jù)。
然后,如圖3-2(h)所示,波形數(shù)據(jù)提供單元3那一側(cè)的DMAC 61訪問(wèn)傳送請(qǐng)求共享存儲(chǔ)器57,以獲取“傳送請(qǐng)求”94。一般來(lái)說(shuō),雖然DMAC不訪問(wèn)存儲(chǔ)器以讀出數(shù)據(jù),但是因?yàn)镈MAC 61是專(zhuān)用型DMAC或者共享存儲(chǔ)塊45具有向DMAC 61通知請(qǐng)求的功能,因此DMAC 61能夠獲取“傳送請(qǐng)求”。
然后,如圖3-2(i)所示,DMAC 61將波形數(shù)據(jù)從工作RAM 60傳送給波形緩沖共享存儲(chǔ)器58。傳送請(qǐng)求的任務(wù)被阻塞,直到由如圖3-2(g)所示的“傳送請(qǐng)求”通知的傳送完成為止。
最后,如圖3-2(j)所示,CPU 46根據(jù)演奏信息和“正常聲音產(chǎn)生狀態(tài)”(聲音波形合成的狀態(tài))來(lái)生成聲音產(chǎn)生參數(shù),并將工作RAM 47中存儲(chǔ)的聲音產(chǎn)生參數(shù)傳送給聲音產(chǎn)生參數(shù)共享存儲(chǔ)器54。
以下描述響應(yīng)于IRQ#1而執(zhí)行的處理。
如圖3-2(p)所示,每幀產(chǎn)生中斷信號(hào)(IRQ#1)81、86、...,并且這些中斷信號(hào)(IRQ#1)81、86、...被提供給DSP 50。
然后,如圖3-2(1)所示,DSP 50將聲音產(chǎn)生參數(shù)82、87、...從聲音產(chǎn)生參數(shù)共享存儲(chǔ)器54傳送給工作RAM 51。
聲音產(chǎn)生參數(shù)的數(shù)據(jù)量小,因此DSP 50可以將它們傳送到DSP 50的內(nèi)部RAM,而不是傳送到工作RAM 51。
然后,如圖3-2(m)所示,DSP 50將當(dāng)前幀(1)中的最新聲音產(chǎn)生狀態(tài)83、88、...從工作RAM 51傳送到聲音產(chǎn)生狀態(tài)共享存儲(chǔ)器55。如上所述,被傳送的聲音產(chǎn)生狀態(tài)在如圖3-2(f)所示的定時(shí)被傳送到控制數(shù)據(jù)處理單元1那一側(cè)的RAM 47。
聲音產(chǎn)生狀態(tài)的數(shù)據(jù)量小,因此DSP 50可以將它們傳送到DSP 50的內(nèi)部RAM,而不是傳送到工作RAM 51。
然后,如圖3-2(n)所示,DSP 50將波形緩沖共享存儲(chǔ)器58中存儲(chǔ)的波形數(shù)據(jù)84、89傳送到工作RAM 51。這些傳送可以直接受DSP 50自己控制。作為替換,如果DSP 50具有如同實(shí)施例中的內(nèi)置DMAC(傳送控制器23),則該內(nèi)置DMAC可以根據(jù)來(lái)自DSP 50的主單元的指令來(lái)控制這些傳送。
波形緩沖共享存儲(chǔ)器58中存儲(chǔ)的波形數(shù)據(jù)是如圖3-1(e)所示響應(yīng)于圖3-1(c)中的讀請(qǐng)求73而被讀入工作RAM 60中、并且在圖3-2(i)中的定時(shí)95被存儲(chǔ)在波形緩沖共享存儲(chǔ)器58中的波形數(shù)據(jù)。在此注意,在圖3-1(e)中讀出的波形數(shù)據(jù)沒(méi)有在圖3-1和3-2中顯示出,這是因?yàn)樵趲?1)的周期之前它們已經(jīng)被讀出。
換句話說(shuō),在工作RAM 60中預(yù)先存儲(chǔ)的波形數(shù)據(jù)當(dāng)中,下一幀(2)以及接著該下一幀之后的更多幀所需的波形數(shù)據(jù)是根據(jù)圖3-2(f)所示的當(dāng)前幀(1)中的最新聲音產(chǎn)生狀態(tài)(音樂(lè)聲合成的進(jìn)展)92來(lái)確定的,并且被存儲(chǔ)在波形緩沖共享存儲(chǔ)器58中。
因此,圖3-2(n)中被傳送到工作RAM 51的波形數(shù)據(jù)84是下一幀(2)以及接著該下一幀之后的更多幀所需的波形數(shù)據(jù)。
然后,因?yàn)榇_定了在幀(2)周期內(nèi)不需要新波形數(shù)據(jù),因此沒(méi)有生成用于波形數(shù)據(jù)傳送的請(qǐng)求如,圖3-2(g)所示。結(jié)果,沒(méi)有波形數(shù)據(jù)被傳送到波形緩沖共享存儲(chǔ)器58,如圖3-2(i)所示,以及因此沒(méi)有波形數(shù)據(jù)被傳送到工作RAM 51,如圖3-2(n)所示。
然后,如圖3-2(o)所示,DSP 50讀出工作RAM 51中存儲(chǔ)的聲音產(chǎn)生參數(shù)(正常聲音產(chǎn)生參數(shù))82和和波形數(shù)據(jù)84,并根據(jù)讀取的參數(shù)和波形數(shù)據(jù)、在RAM 51上執(zhí)行下一幀(2)的64個(gè)樣本的音樂(lè)聲合成。
DSP 50按次序一個(gè)接一個(gè)地對(duì)能夠同時(shí)產(chǎn)生聲音的通道的每一個(gè)執(zhí)行一幀的音樂(lè)聲合成,并將新合成的通道的音樂(lè)聲波形數(shù)據(jù)添加到累積的波形上。
CODEC 52逐個(gè)樣本地對(duì)工作RAM 51中存儲(chǔ)的一幀的音樂(lè)聲波形數(shù)據(jù)進(jìn)行數(shù)模轉(zhuǎn)換,以便輸出合成的聲音。
在以上說(shuō)明中,波形數(shù)據(jù)從波形緩沖共享存儲(chǔ)器58到工作RAM 51的傳送周期、以及波形數(shù)據(jù)從DSP 50到工作RAM 51的傳送周期不在DSP總線42上重疊,如圖3-2(l)和3-2(n)所示,這是因?yàn)镈SP 50執(zhí)行總線仲裁,使得它們被輪流執(zhí)行。
另一方面,HDD總線這樣受控制,使得圖3-2(i)所示的借助于DMAC61從工作RAM 60到波形緩沖共享存儲(chǔ)器58的波形數(shù)據(jù)傳送被給予比圖3-1(e)所示的從HDC 59到工作RAM 60的波形數(shù)據(jù)傳送更高的優(yōu)先級(jí)。
因此,如果發(fā)生訪問(wèn)競(jìng)爭(zhēng),總線仲裁將被執(zhí)行,以便中斷從HDC 59到工作RAM 60的波形數(shù)據(jù)傳送,以及允許從工作RAM 60到波形緩沖共享存儲(chǔ)器58的波形數(shù)據(jù)傳送。
該優(yōu)先級(jí)控制被執(zhí)行,以便防止從HDD 44讀受到由波形數(shù)據(jù)處理單元2執(zhí)行的音樂(lè)聲波形合成處理的影響。
假設(shè)沒(méi)有提供波形緩沖共享存儲(chǔ)器58、并且HDD總線43直接連接到圖2中的DSP總線42。在該情況下,如果DSP 50執(zhí)行總線仲裁,則從HDC 59傳送給工作RAM 60的實(shí)際需要的波形數(shù)據(jù)的一部分將從工作RAM 60被重新傳送給工作RAM 51。這造成了最多兩倍于預(yù)定傳送量的波形數(shù)據(jù)量流動(dòng)。因?yàn)镈SP總線42預(yù)期傳送相當(dāng)多的數(shù)據(jù),因此DSP總線42上的通信堵塞造成了傳送延遲,這導(dǎo)致了對(duì)由DSP 50執(zhí)行的音樂(lè)聲波形合成處理的障礙。
相反,具有波形緩沖共享存儲(chǔ)器58的結(jié)構(gòu)不削弱DSP總線422的數(shù)據(jù)傳送能力。
此外在以上說(shuō)明中,如圖3(c)所示,與圖3-1(e)所示的波形數(shù)據(jù)讀操作的完成同步地發(fā)出讀請(qǐng)求。作為替換,可以將用于存儲(chǔ)讀操作完成的通知的共享存儲(chǔ)器新提供在共享存儲(chǔ)塊45中,使得讀操作完成的通知將通過(guò)該共享存儲(chǔ)器從HDC 59被發(fā)送到CPU 46,由此與讀操作異步地發(fā)出讀請(qǐng)求。
同樣,可以將用于存儲(chǔ)波形傳送操作完成的通知的共享存儲(chǔ)器新提供在共享存儲(chǔ)塊45中,使得波形傳送操作完成的通知將通過(guò)該共享存儲(chǔ)器從HDC 59被發(fā)送到CPU 46,由此與波形傳送操作異步地發(fā)出傳送請(qǐng)求。
此外在以上說(shuō)明中,使用了讀請(qǐng)求共享存儲(chǔ)器56,如圖3(c)和3(d)所示。作為替換,可以使用中斷信號(hào)來(lái)將讀請(qǐng)求的通知從CPU 46發(fā)送到HDC 59。
同樣,也可以使用這種中斷信號(hào)代替?zhèn)魉驼?qǐng)求共享存儲(chǔ)器57的使用,來(lái)發(fā)送傳送請(qǐng)求的通知。
此外,在以上說(shuō)明中,共享存儲(chǔ)器用于通知聲音產(chǎn)生參數(shù)和聲音產(chǎn)生狀態(tài)。作為替換,DSP總線可以擁有類(lèi)似于圖5中的重現(xiàn)聲音發(fā)生器131的I/O端口,DSP總線通過(guò)該I/O端口連接到CPU總線41。在該情況下,因?yàn)檫@種I/O端口連接到DSP總線42和CPU總線41兩者,因此不需要提供聲音產(chǎn)生參數(shù)共享存儲(chǔ)器54和聲音產(chǎn)生狀態(tài)共享存儲(chǔ)器55。
同樣,HDC 59和DMAC 61也可以分別擁有類(lèi)似于圖5中的SCSI接口129的I/O端口,HDC 59和DMAC 61通過(guò)各自I/O端口連接到CPU總線41。在該情況下,也不需要提供分別用于通知讀請(qǐng)求和傳送請(qǐng)求的共享存儲(chǔ)器。
此外在以上說(shuō)明中,CPU 46的操作所需的處理程序和DSP 50的操作所需的處理程序分別被存儲(chǔ)在引導(dǎo)ROM 49和53中,并且在系統(tǒng)啟動(dòng)時(shí)分別被加載到工作RAM 47和51中。
作為替換,引導(dǎo)ROM 49和53可以只存儲(chǔ)引導(dǎo)加載程序,以便允許處理程序被存儲(chǔ)在HDD 44中。在該情況下,引導(dǎo)加載程序在系統(tǒng)啟動(dòng)時(shí)從HDD 44讀出每一個(gè)程序,并將其加載到工作RAM 47或51中。
為了從HDD 44加載程序,只需要將用于程序傳送的數(shù)據(jù)緩沖器提供在共享存儲(chǔ)塊45中。
此外,以上說(shuō)明取HDD作為波形數(shù)據(jù)存儲(chǔ)器的例子,但是波形數(shù)據(jù)存儲(chǔ)器可以是其它任何大容量存儲(chǔ)器,即使需要花費(fèi)長(zhǎng)時(shí)間從其存儲(chǔ)介質(zhì)讀取數(shù)據(jù)。例如,它可以是用于諸如只讀光盤(pán)(CD-ROM)、磁光盤(pán)(MO)和數(shù)字通用光盤(pán)(DVD)的存儲(chǔ)介質(zhì)的重現(xiàn)裝置,或者可以是具有大存取延遲的低速RAM。它也可以是USB 2.0閃存或者其它的閃速ROM。
以上描述了實(shí)施輸入的諸如MIDI消息的演奏信息被處理、以合成音樂(lè)聲波形的情況下的特定例子。
然而,存儲(chǔ)器中存儲(chǔ)的諸如標(biāo)準(zhǔn)MIDI文件(SMF)的音樂(lè)數(shù)據(jù)也能夠被重現(xiàn),以合成音樂(lè)聲波形。在該情況下,如果根據(jù)音樂(lè)數(shù)據(jù)中包括的時(shí)間信息(持續(xù)時(shí)間信息)將音樂(lè)數(shù)據(jù)轉(zhuǎn)換成實(shí)時(shí)MIDI數(shù)據(jù),則能夠以如同以上特定例子一樣的方式來(lái)合成音樂(lè)聲波形。
作為替換,可以以這樣一種方式將時(shí)間信息包括在聲音產(chǎn)生參數(shù)(控制參數(shù))中,以致于時(shí)間信息被通知給DSP 50,并被DSP 50解釋以便合成音樂(lè)聲波形。
在該情況下,因?yàn)榭梢灶A(yù)先確定直到發(fā)聲開(kāi)始為止的延遲時(shí)間,因此也能夠減小工作RAM的容量。
此外,基于在波形存儲(chǔ)器聲音產(chǎn)生系統(tǒng)中產(chǎn)生音樂(lè)聲波形的假設(shè),進(jìn)行了以上說(shuō)明。然而,本發(fā)明可應(yīng)用于使用波形數(shù)據(jù)作為材料的其它任何聲音產(chǎn)生系統(tǒng)。
例如,本發(fā)明可應(yīng)用于多重演奏AEM(articulation element modeling)聲音產(chǎn)生系統(tǒng)。
此外,本發(fā)明不限于模擬聲樂(lè)器的聲音的音樂(lè)聲波形的合成。本發(fā)明可以使用人工生成的音樂(lè)聲波形。本發(fā)明進(jìn)一步可應(yīng)用于唱歌或播音的人聲的合成,只要系統(tǒng)用于合成聲音波形??傊景l(fā)明可應(yīng)用于包括音樂(lè)聲信號(hào)和人聲的聲音的合成。
權(quán)利要求
1.一種聲音波形合成器設(shè)備,用于根據(jù)從外部提供的波形控制信息和存儲(chǔ)介質(zhì)中存儲(chǔ)的波形數(shù)據(jù)來(lái)執(zhí)行聲音波形合成,該聲音波形合成器設(shè)備包括波形數(shù)據(jù)提供部分,該波形數(shù)據(jù)提供部分接收第一傳送請(qǐng)求,并響應(yīng)第一傳送請(qǐng)求來(lái)從用于提供波形數(shù)據(jù)的存儲(chǔ)介質(zhì)讀取波形數(shù)據(jù);波形緩沖器,該波形緩沖器連接到波形數(shù)據(jù)提供部分,用于存儲(chǔ)從波形數(shù)據(jù)提供部分提供的波形數(shù)據(jù);波形數(shù)據(jù)處理部分,該波形數(shù)據(jù)處理部分接收第二傳送請(qǐng)求、并連接到波形緩沖器,用于響應(yīng)第二傳送請(qǐng)求來(lái)將波形數(shù)據(jù)從波形緩沖器傳送給波形數(shù)據(jù)處理部分,波形數(shù)據(jù)處理部分根據(jù)傳送的波形數(shù)據(jù)和給定的控制參數(shù)來(lái)執(zhí)行聲音波形合成,同時(shí)通知聲音波形合成的狀態(tài)和聲音波形合成的進(jìn)展;以及控制數(shù)據(jù)處理部分,該控制數(shù)據(jù)處理部分根據(jù)從波形數(shù)據(jù)處理部分通知的聲音波形合成的進(jìn)展來(lái)生成第一傳送請(qǐng)求,并向波形數(shù)據(jù)提供部分發(fā)送第一傳送請(qǐng)求,該控制數(shù)據(jù)處理部分從外部接收波形控制信息,并根據(jù)波形控制信息以及從波形數(shù)據(jù)處理部分通知的聲音波形合成的狀態(tài)來(lái)生成控制參數(shù),該控制數(shù)據(jù)處理部分把基于第一傳送請(qǐng)求的第二傳送請(qǐng)求和生成的控制參數(shù)一起發(fā)送給波形數(shù)據(jù)處理部分。
2.根據(jù)權(quán)利要求1所述的聲音波形合成器設(shè)備,其中波形數(shù)據(jù)處理部分包括第一總線、連接到第一總線用于存儲(chǔ)波形數(shù)據(jù)的第一存儲(chǔ)器、以及連接到第一總線并用于在聲音波形合成期間處理波形數(shù)據(jù)的數(shù)字信號(hào)處理器,而波形數(shù)據(jù)提供部分包括第二總線、用于從存儲(chǔ)介質(zhì)讀取波形數(shù)據(jù)并將讀取的波形數(shù)據(jù)供給第二總線的讀裝置、以及連接到第二總線并用于存儲(chǔ)波形數(shù)據(jù)的第二存儲(chǔ)器,以致波形緩沖器連接在第一總線與第二總線之間,以便通過(guò)波形緩沖器將波形數(shù)據(jù)從波形數(shù)據(jù)提供部分的第二存儲(chǔ)器傳送到波形數(shù)據(jù)處理部分的第一存儲(chǔ)器。
3.根據(jù)權(quán)利要求2所述的聲音波形合成器設(shè)備,其中控制數(shù)據(jù)處理部分進(jìn)一步根據(jù)波形控制信息來(lái)生成讀請(qǐng)求,并將讀請(qǐng)求發(fā)送給波形數(shù)據(jù)提供部分的讀裝置,以及其中,當(dāng)讀裝置收到讀請(qǐng)求時(shí),讀裝置操作,以便從存儲(chǔ)介質(zhì)讀出波形數(shù)據(jù)并將讀出的波形數(shù)據(jù)傳送到第二存儲(chǔ)器。
4.根據(jù)權(quán)利要求3所述的聲音波形合成器設(shè)備,其中波形數(shù)據(jù)提供部分包括控制器,該控制器用于這樣控制第二總線,以致從第二存儲(chǔ)器到波形緩沖器的波形數(shù)據(jù)傳送被給予比從存儲(chǔ)介質(zhì)到第二存儲(chǔ)器的波形數(shù)據(jù)傳送更高的優(yōu)先級(jí)。
5.根據(jù)權(quán)利要求3所述的聲音波形合成器設(shè)備,其中控制數(shù)據(jù)處理部分在波形控制信息到控制數(shù)據(jù)處理部分的輸入開(kāi)始之前,向波形數(shù)據(jù)提供部分的讀裝置發(fā)送讀請(qǐng)求,使得在聲音波形合成之前波形數(shù)據(jù)將被從存儲(chǔ)介質(zhì)傳送到第二存儲(chǔ)器。
6.根據(jù)權(quán)利要求1所述的聲音波形合成器設(shè)備,其中波形數(shù)據(jù)處理部分與給定幀周期同步地根據(jù)波形數(shù)據(jù)逐幀地執(zhí)行聲音波形合成,以合成聲音波形,以致每一幀都包含多個(gè)聲音波形樣本,以及其中,當(dāng)波形數(shù)據(jù)提供部分收到第一傳送請(qǐng)求時(shí),波形數(shù)據(jù)提供部分操作,以便和幀周期相一致地將波形數(shù)據(jù)從存儲(chǔ)介質(zhì)傳送到波形緩沖器。
7.一種對(duì)由波形數(shù)據(jù)提供部分、波形緩沖器、波形數(shù)據(jù)處理部分和控制數(shù)據(jù)處理部分組成、并用于根據(jù)波形控制信息和波形數(shù)據(jù)來(lái)執(zhí)行聲音波形合成的聲音波形合成器設(shè)備進(jìn)行操作的方法,所述方法包括以下步驟當(dāng)從控制數(shù)據(jù)處理部分收到第一傳送請(qǐng)求時(shí),操作波形數(shù)據(jù)提供部分,以便響應(yīng)該第一傳送請(qǐng)求而從存儲(chǔ)介質(zhì)讀取波形數(shù)據(jù)、并將讀出的波形數(shù)據(jù)提供給波形緩沖器;操作波形緩沖器,以便存儲(chǔ)來(lái)自于波形數(shù)據(jù)提供部分的波形數(shù)據(jù);當(dāng)從控制數(shù)據(jù)處理部分收到第二傳送請(qǐng)求時(shí),操作波形數(shù)據(jù)處理部分,以便響應(yīng)該第二傳送請(qǐng)求而將波形數(shù)據(jù)從波形緩沖器傳送到波形數(shù)據(jù)處理部分;操作波形數(shù)據(jù)處理部分,以便根據(jù)傳送的波形數(shù)據(jù)和從控制數(shù)據(jù)處理部分供給的控制參數(shù)來(lái)執(zhí)行聲音波形合成,同時(shí)將聲音波形合成的狀態(tài)和聲音波形合成的進(jìn)展通知給控制數(shù)據(jù)處理部分;操作控制數(shù)據(jù)處理部分,以便根據(jù)從波形數(shù)據(jù)處理部分通知的聲音波形合成的進(jìn)展來(lái)生成第一傳送請(qǐng)求,以及將第一傳送請(qǐng)求發(fā)送給波形數(shù)據(jù)提供部分;當(dāng)收到波形控制信息時(shí),操作控制數(shù)據(jù)處理部分,以便根據(jù)波形控制信息和從波形數(shù)據(jù)處理部分通知的聲音波形合成的狀態(tài)來(lái)生成控制參數(shù);以及操作控制數(shù)據(jù)處理部分,以便把基于第一傳送請(qǐng)求的第二傳送請(qǐng)求和生成的控制參數(shù)一起發(fā)送給波形數(shù)據(jù)處理部分。
全文摘要
一種聲音波形合成器,其中波形數(shù)據(jù)提供部分響應(yīng)第一傳送請(qǐng)求,來(lái)把波形數(shù)據(jù)從用于提供波形數(shù)據(jù)的存儲(chǔ)介質(zhì)讀到波形緩沖器。波形數(shù)據(jù)處理部分響應(yīng)第二傳送請(qǐng)求,來(lái)從波形緩沖器檢索波形數(shù)據(jù)。波形數(shù)據(jù)處理部分根據(jù)檢索的波形數(shù)據(jù)和給定的控制參數(shù)來(lái)執(zhí)行聲音波形合成,同時(shí)將聲音波形合成的狀態(tài)和進(jìn)展通知給控制數(shù)據(jù)處理部分??刂茢?shù)據(jù)處理部分根據(jù)通知的聲音波形合成的進(jìn)展,來(lái)發(fā)出第一傳送請(qǐng)求??刂茢?shù)據(jù)處理部分從外部接收波形控制信息,并根據(jù)波形控制信息和通知的聲音波形合成的狀態(tài)來(lái)生成控制參數(shù)??刂茢?shù)據(jù)處理部分把基于第一傳送請(qǐng)求的第二傳送請(qǐng)求和生成的控制參數(shù)一起發(fā)送給波形數(shù)據(jù)處理部分。
文檔編號(hào)G10H7/02GK1674090SQ20051005599
公開(kāi)日2005年9月28日 申請(qǐng)日期2005年3月24日 優(yōu)先權(quán)日2004年3月26日
發(fā)明者田邑元一 申請(qǐng)人:雅馬哈株式會(huì)社
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1