專利名稱:用于產生音樂數據的裝置和方法
技術領域:
本發(fā)明一般涉及用于產生音樂數據的裝置和方法,以及用于給出音樂數據的媒體,更具體地,涉及音樂數據產生裝置、產生方法以及媒體用于給出一種程序用以產生適于在多個計算單元中進行同步控制處理的音樂數據。
然而,當每個計算單元被動接收中斷時,有必要在每個計算單元中引入一個處理過程值,該值不同于正常的處理流,并且中斷處理自身對于計算單元來說變得復雜而麻煩(例如,存儲工作寄存器等等)。此外,在每個計算單元通過頻繁訪問主存儲器并連續(xù)確認對應于同步信息的特定變量而主動操作的情況中,由于幾個計算單元頻繁并連續(xù)地訪問主存儲器的公共部分(主總線),由于這種訪問過程的復雜性,一個計算單元的訪問過程常常與其它計算單元對主存儲器的訪問過程互相干擾。
本發(fā)明的上述和其它的目標是通過一種音樂數據產生裝置實現(xiàn)的,該裝置包括多個計算單元,每個都包括一個狀態(tài)保持部分用于執(zhí)行對其自己資源和分支過程的訪問并對音樂產生所必須的數據進行特定的操作;存儲器裝置,該裝置存儲所述多個計算單元的操作過程的完成結果;以及分配裝置,該裝置將存儲在所述存儲器裝置中的完成結果分配到所述計算單元的狀態(tài)保持部分中。
根據本發(fā)明,音樂數據產生方法包括多個操作步驟,這些步驟中有一個狀態(tài)保持函數用來執(zhí)行對其自己資源和分支過程的訪問,并對音樂產生所必須的數據的進行特定的操作;存儲所述多個操作步驟的操作過程完成結果的步驟;以及將所述存儲步驟存儲的完成結果分配到所述操作理步驟的狀態(tài)保持函數中的步驟。
本發(fā)明的音樂數據提供媒體包括一個程序,該程序使得音樂數據產生裝置執(zhí)行下述的過程多個操作步驟,這些步驟有一個狀態(tài)保持函數,該函數可以執(zhí)行對其自己資源和分支過程的訪問,并對音樂產生所必須的數據進行特定的操作;用于存儲所述多個操作步驟的操作過程的完成結果的存儲步驟;用于將所述存儲步驟存儲的完成結果分配到所述操作步驟的狀態(tài)保持函數中的分配步驟。
在本發(fā)明中,會對產生音樂所必須的數據執(zhí)行特定的算法操作,某些,例如分別表示算法操作完成的標志被存儲,并且根據所存儲的標志確定是否所有的處理已經完成了,確定的結果被給出。
優(yōu)選實施方案的詳細描述下面將參考附圖解釋本發(fā)明的音樂數據產生裝置的一個實施方案。
圖1表示了音樂數據產生裝置1的配置,在該裝置中應用了本發(fā)明。計算單元部分2由多個計算單元組成,并根據內部存儲的預定計算機程序執(zhí)行各種處理。主存儲器部分3包括同步通知信息部分,音樂樂譜數據保持部分10,波形數據保持部分11和生成音樂數據保持部分12。計算單元部分2的每個計算單元產生對應于各種類型輸入數據的音樂數據,其中的輸入數據類型例如有保持在主存儲器部分3中的音樂樂譜數據保持部分10的音樂樂譜數據以及波形數據保持部分11中的波形數據,然后計算單元在音樂數據保持部分12中保持所產生的音樂數據。主存儲器部分3正確地存儲并保持各種類型的數據和程序。主存儲器部分3的同步通知信息標識部分9更新并保持對應于來自計算單元部分2的每個計算單元的特定命令的邏輯值。該裝置還包括主存儲器同步通知標識相關部分4,該部分監(jiān)視(接收)來自主存儲器部分3的同步通知信息標識部分9的邏輯值,并將它們提供給同步通知信息處理部分5的同步通知信息切換部分13。
同步通知信息處理部分5的同步通知信息切換部分13選擇主存儲器同步通知標識相關部分4或同步通知信息處理部分的同步通知信息預置值部分15,并將其連接到同步通知信息操作部分14。同步通知信息預置值部分15存儲真邏輯值“1”,并且當其自身連接到其它的裝置時,將該值輸出到與其連接的裝置。同步通知信息操作部分14在收到同步通知信息或同步通知信息預置值部分15的預置值時,計算邏輯積(計算同步信息),并將操作結果輸出到計算單元部分2的每個計算單元。
本發(fā)明的裝置還包括D/A轉換部分6,該部分接收數字信號,這些數字信號對應于保持在主存儲器部分3的生成音樂數據保持部分12中的生成音樂數據,并將數字信號轉換成能夠正常再生的模擬信號,然后將該信號輸出到該裝置的輸出放大部分7。輸出放大部分7最終輸出一個模擬信號,該模擬信號對應于由D/A轉換部分6提供給外部揚聲器等等的音樂數據。時間管理部分8通知計算單元部分2時間,計算單元部分2根據該時間提示進行音樂數據產生過程。
圖2是圖1中裝置的重要部分的詳細配置圖。組成計算單元部分2的計算單元31到33,基于從圖1中時間管理部分8收到通知的時間,按照計算單元間特定的時序執(zhí)行各自的音樂數據產生過程。當該過程完成之后,處理后的數據通過主總線41傳遞給主存儲器部分3,并保持在該部分中,而對應于處理完成的標志存儲在主存儲部分3的同步通知信息標識部分9的相應存儲部分中。計算單元31到33的每一個都監(jiān)視狀態(tài)保持部分34到36的各個同步比特的值,并確定由其它計算單元并行進行的處理過程是否已經完成了(即,是否實現(xiàn)了與其它計算單元的處理過程的同步)。當在計算單元31到33中已經確認所有并行執(zhí)行的過程已經完成(實現(xiàn)同步)時,計算單元就利用在主存儲器部分3存儲的數據執(zhí)行各自的下一個處理。這里計算單元31到33能夠在狀態(tài)保持部分34到35中執(zhí)行對其自己資源的訪問,并且,根據同步比特的值,并通過類似于分支操作的處理過程控制通知和處理過程的變換。
當主存儲器部分3的同步通知信息標識部分9從計算單元部分2的計算單元31到33接收對應于前面提到的音樂數據產生過程完成的標志時,會建立對應于這種情況的真邏輯值“1”,這些標志對應于每個計算單元(即,在初始狀態(tài),設置假邏輯值“0”,然后更新并保持)。主存儲器同步通知標識相關部分4監(jiān)視這些標志,并將它們提供給同步通知信息處理部分5的同步通知信息切換部分13。在下面的描述中,為了方便起見,計算單元31到33的標志被稱作A,B和C。
同步通知信息處理部分5的同步通知信息切換部分13根據來自CPU42的控制信號,從主存儲器同步通知標識相關部分4中選擇標志A,B,C或選擇同步通知信息預置值部分5輸出的邏輯值“1”,并將該值輸出給作為與電路的同步通知信息操作部分14。
如圖3給出的,當計算單元31到33執(zhí)行的處理必須要同步時,CPU42,例如將所有標志A,B和C輸出到同步通知信息操作部分14。另一方面,例如,在計算單元31到33中,當計算單元31的處理并不需要與其它計算單元32和33同步時,如圖4所示,對應于計算單元32和33的標志B和C繼續(xù)輸入到同步通知信息操作部分14,但是,替代對應于計算單元31的標志A的是,同步通知信息預置值部分15輸出的“1”被輸入到同步通知信息操作部分14。換句話說,在這種情況中,對應于計算單元31的標志A被設置為虛擬值(強迫)1。
再次參考圖2,下面將進一步描述該圖。當同步通知信息操作部分14被提供標志A,B和C(或預置為“1”的標志)時,將計算其邏輯積。當所有的標志A,B和C都變?yōu)椤?”時,邏輯積的結果為“1”,否則為“0”。該操作結果被輸出到計算單元部分2的計算單元31到33的狀態(tài)保持部分34到36,并且其同步比特也根據該結果而更新。因此,通過監(jiān)視作為其自己資源的各自狀態(tài)保持部分34到36的狀態(tài),計算單元31到33能夠確定是否已經實現(xiàn)了與其它計算單元的同步。
圖5是通過計算單元部分2的計算單元31來解釋控制音樂數據同步過程的流程圖(計算單元32和33執(zhí)行類似的過程)。首先,在步驟S1,計算單元部分2的計算單元31發(fā)送假邏輯值標志“0”作為對應其自身的標志,用于通過主總線41更新或重置主存儲器部分3的同步通知信息標識部分9。根據這一點,標志“0”表示由計算單元31執(zhí)行的音樂數據產生過程還沒有完成,該標志被輸入到主存儲器同步通知標識相關部分4,并且,通過同步通知信息切換部分13,輸入到同步通知信息操作部分14。
在步驟S2,計算單元從音樂樂譜保持部分10或波形數據保持部分11讀出特定的音樂樂譜數據或波形數據(根據計算單元31執(zhí)行的操作而讀不同的數據)。通過對該數據執(zhí)行特定的操作過程,計算單元31產生音樂數據,在步驟S3,計算單元31保持等待直到音樂數據產生過程完成,當音樂數據產生過程完成時,流程進行到步驟S4,在此,計算單元31通過主總線41將所產生的音樂數據傳送給保持同類數據的主存儲器部分3。
在步驟S5,計算單元31將真邏輯值“1”輸出到主存儲器部分3的同步通知信息標識部分9作為標志,表示該單元中的音樂數據產生過程已經完成了,同時將步驟S1中預置為“0”的值更新為“1”。在步驟S6,計算單元31讀取狀態(tài)保持部分34的同步比特的邏輯值。每個計算單元的標志值反映了該邏輯值,如上面解釋的。
在步驟S7,計算單元31保持等待,直到狀態(tài)保持部分34的同步比特的邏輯值變?yōu)椤?”(與計算單元部分2的其它計算單元32,33的同步實現(xiàn)了)。當狀態(tài)保持部分34的同步比特邏輯值從0變?yōu)?時,流程進行到步驟S8,在此確定是否過程已經完成。如果確定過程還沒有完成,流程返回到步驟S1,計算單元31重復后續(xù)的過程。如果確定處理已經完成,計算單元31結束其所有的過程。
圖6是另一個流程圖,在該圖中,包括圖5中流程圖的所有過程都被簡化了。如圖6給出的,假定時間管理部分8(步驟S10)發(fā)出時間通知,圖5中描述的過程,即音樂產生過程(步驟S11)和圖6中的同步等待過程(步驟S12)被執(zhí)行,然后,通過建立同步,執(zhí)行數據狀態(tài)(音樂樂譜數據和波形數據)的更新(步驟S13)。
為用戶提供計算機程序以實現(xiàn)上述過程的本發(fā)明的音樂數據提供媒體,除了如磁盤和CD-ROMs這樣的信息記錄媒體之外,還可以是網絡傳輸媒體,如互聯(lián)網,數字衛(wèi)星等。
盡管已經描述了主存儲器同步通知標識相關部分4,同步通知信息切換部分13,以及同步通知信息操作部分14是通過狀態(tài)保持部分34,35和36的同步比特來設置主存儲部分3的同步通知信息標識部分9中的標志而被控制的,狀態(tài)保持部分34,35,36的同步比特也可以基于所存儲的標識或對應于標志的標識信號的完成結果而改變。
此外,根據本發(fā)明,對應于計算單元個數的多個完成結果通過標志來傳送,例如,根據同步通知信息操作部分14。
然而,多個完成結果可以在接近計算單元的部分,如主存儲器部分3中處理,已經被同步的完成結果而不是多個完成結果可以在預處理階段被傳送。
用這種方法,根據本發(fā)明的音樂數據產生裝置,音樂數據產生方法和音樂數據提供媒體,由于對產生音樂必需的數據進行了特定的處理,例如,表示處理完成的各個標志被存儲,那麼根據所存儲的標志,可以確定是否所有的處理已經完成了,并給出判斷結果。因此,每個計算單元的處理復雜度可以降低,對于主存儲器部分中公共區(qū)域的訪問也會減少,因而可以實現(xiàn)更有效的音樂數據產生過程。
權利要求
1.一種音樂數據產生裝置包括多個操作裝置,每個包括一個狀態(tài)保持部分,該部分允許對其自己資源和分支過程進行訪問,并對產生音樂所必須的數據進行特定的操作;存儲裝置,它存儲所述多個操作裝置的操作過程的完成結果;分配裝置,該裝置將存儲在所述存儲裝置中的完成結果分配到與所述多個操作裝置的狀態(tài)保持部分中。
2.一種音樂數據產生裝置,包括多個操作裝置,每個包括一個狀態(tài)保持部分,該部分允許對其自己資源和分支過程進行訪問并對產生音樂所必須的數據進行特定的操作;存儲裝置,其數目對應于所述多個操作裝置的數目,并存儲多個操作過程的完成結果;判斷裝置,該裝置根據存儲在所述存儲裝置中的多個完成結果判斷是否所述多個操作裝置的所有過程已經完成了;分配裝置,它接收所述判斷裝置的判斷結果并將其分配給所述多個操作裝置的狀態(tài)保持部分。
3.一種音樂產生裝置包括多個操作裝置,每個包括一個狀態(tài)保持部分,該部分允許對其自己資源和分支過程進行訪問并對產生音樂所必須的數據進行特定的操作;存儲裝置,存儲表示所述多個操作裝置的操作過程完成結果的標志;分配裝置,該裝置將以標志的形式存儲在所述存儲裝置的完成結果分配給所述多個操作裝置的狀態(tài)保持部分。
4.一種音樂數據產生裝置包括多個操作裝置,每個包括一個狀態(tài)保持部分,該部分允許對其自己資源和分支過程進行訪問并對產生音樂所必須的數據進行特定的操作;存儲裝置,存儲表示所述多個操作裝置的操作過程完成結果的多個標志;判斷裝置,該裝置根據存儲在所述存儲裝置中的多個標志判斷是否所述多個操作裝置的所有過程已經完成了;以及分配裝置,它接收所述判斷裝置的判斷結果并將其分配給所述多個操作裝置的狀態(tài)保持部分。
5.一種音樂數據產生方法包括多個操作步驟,每個包括一個狀態(tài)保持部分,該部分允許對其自己資源和分支過程進行訪問,并對產生音樂所必須的數據進行特定的操作;存儲步驟,它存儲所述多個操作步驟的操作過程的完成結果;分配步驟,該步驟將所述存儲步驟中存儲的完成結果分配到所述多個操作步驟的狀態(tài)保持函數中。
6.一種音樂數據產生方法包括多個操作步驟,每個包括一個狀態(tài)保持部分,該部分允許對其自己資源和分支過程進行訪問并對產生音樂所必須的數據進行特定的操作;存儲步驟,存儲對應于所述多個操作步驟的數目的多個操作過程的完成結果;判斷步驟,該步驟根據在所述存儲步驟中存儲的多個完成結果判斷是否所述多個操作步驟的所有過程已經完成了;分配步驟,它接收所述判斷步驟的判斷結果并將其分配給所述多個操作步驟的狀態(tài)保持函數。
7.一種音樂數據產生方法包括多個操作步驟,每個包括一個狀態(tài)保持部分,該部分允許對其自己資源和分支過程進行訪問并對產生音樂所必須的數據進行特定的操作;存儲步驟,存儲表示所述多個操作步驟的操作過程的完成結果的標志;分配步驟,該步驟根據在所述存儲步驟存儲的標志將完成結果分配給所述多個操作步驟的狀態(tài)保持函數。
8.一種音樂數據產生方法,包括多個操作步驟,每個包括一個狀態(tài)保持部分,該部分允許對其自己資源和分支過程進行訪問并對產生音樂所必須的數據進行特定的操作;存儲步驟,存儲表示所述多個操作步驟的操作過程的完成結果的多個標志;判斷步驟,該步驟根據在所述存儲步驟中存儲的多個標志判斷是否所述多個操作步驟的所有過程已經完成了;分配步驟,它接收所述判斷步驟的判斷結果并將其分配給所述多個操作步驟的狀態(tài)保持函數。
9.用于給出一種程序的媒體,所說程序使得音樂數據產生裝置執(zhí)行音樂數據產生過程,包括多個操作步驟,每個包括一個狀態(tài)保持部分,該部分允許對其自己資源和分支過程進行訪問,并對產生音樂所必須的數據進行特定的操作;存儲步驟,它存儲所述多個操作步驟的操作過程的完成結果;分配步驟,該步驟將所述存儲步驟中存儲的完成結果分配到所述多個操作步驟的狀態(tài)保持函數中。
10.用于給出一種程序的媒體,所說程序使得音樂數據產生裝置執(zhí)行音樂數據產生過程,該程序包括多個操作步驟,每個包括一個狀態(tài)保持部分,該部分允許對其自己資源和分支過程進行訪問并對產生音樂所必須的數據進行特定的操作;存儲步驟,存儲對應于所述多個操作步驟的數目的多個操作過程的完成結果;判斷步驟,該步驟根據在所述存儲步驟中存儲的多個完成結果判斷是否所述多個操作步驟的所有過程已經完成了;分配步驟,它接收所述判斷步驟的判斷結果并將其分配給所述多個操作步驟的狀態(tài)保持函數。
11.用于給出一種程序的媒體,所說程序使得音樂數據產生裝置執(zhí)行音樂數據產生過程,該程序包括多個操作步驟,每個包括一個狀態(tài)保持部分,該部分允許對其自己資源和分支過程進行訪問并對產生音樂所必須的數據進行特定的操作;存儲步驟,存儲表示所述多個操作步驟的操作過程的完成結果的標志;分配步驟,該步驟根據在所述存儲步驟存儲的標志將完成結果分配給所述多個操作步驟的狀態(tài)保持函數。
12.用于給出一種程序的媒體,所說程序使得音樂數據產生裝置執(zhí)行音樂數據產生過程,該程序包括多個操作步驟,每個包括一個狀態(tài)保持部分,該部分允許對其自己資源和分支過程進行訪問并對產生音樂所必須的數據進行特定的操作;存儲步驟,存儲表示所述多個操作步驟的操作過程的完成結果的多個標志;判斷步驟,該步驟根據在所述存儲步驟中存儲的多個標志判斷是否所述多個操作步驟的所有過程已經完成了;分配步驟,它接收所述判斷步驟的判斷結果并將其分配給所述多個操作步驟的狀態(tài)保持函數。
全文摘要
本發(fā)明的目標是,在音樂數據產生裝置中,降低每個計算單元的處理過程復雜度并且能訪問主存儲單元的共享區(qū)域,以及更有效地產生音樂數據。根據當前的音樂數據產生裝置,操作設備單元(2)的計算單元(31到33)對存儲在主存儲器(3)中的、產生音樂所必須的數據進行特定的操作,并且在主存儲器(3)的同步通知信息標識部分(9)中存儲“1”作為表明操作過程已經完成的各個標志。同步通知信息處理部分(5)有一個同步通知信息切換部分(13),該部分響應來自CPU(42)的控制信號,根據是否所有的存儲標志“1”已經被收到來確定是否計算單元(31到33)的所有處理已經完成。該裝置還包括同步通知信息處理部分(4),該部分接收判斷結果,并將它們提供給計算單元(31到33)的狀態(tài)保持部分。
文檔編號G06F9/52GK1291323SQ9980303
公開日2001年4月11日 申請日期1999年12月16日 優(yōu)先權日1998年12月17日
發(fā)明者山上馨 申請人:索尼電腦娛樂公司