專利名稱:樂音產(chǎn)生控制裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明與樂音產(chǎn)生控制裝置有關(guān),該裝置通過把音高數(shù)據(jù)送到構(gòu)成樂音信號產(chǎn)生電路的樂音產(chǎn)生信道中的一個信道來控制樂音信號的產(chǎn)生,還通過把存貯在音色參量存貯器中的音色控制參量加到樂音信號產(chǎn)生電路來控制樂音信號的音色。
一種常規(guī)的這類裝置在日本專利公報昭59-189394上有說明。它采用在一個樂音信號產(chǎn)生電路中有多個樂音信號產(chǎn)生信道。每個信道在演湊前指定給一個音群(如旋律、和弦、倍司等)。一旦指定以后,在演湊中信道的配置就是固定的,而每個音群的音色數(shù)據(jù)加到一個預(yù)定的信道。例如,對于一個旋律部分的音高數(shù)據(jù)加到分配給旋律的樂音信號產(chǎn)生信道;對于一個和弦的音高數(shù)據(jù)傳送到分配給和弦的樂音信號產(chǎn)生信道,因此根據(jù)音群產(chǎn)生不同的音色。
常規(guī)的裝置對于每個音群具有數(shù)目固定有限的樂音信號產(chǎn)生信道。這就限定了在一個音群中所能產(chǎn)生的音的最多個數(shù),降低了樂音信號產(chǎn)生信道的利用效率;即使有一個音群具有幾個空閑的信道,但這些信道卻不能由其它音群使用。例如,當(dāng)屬于旋律群的樂音數(shù)超過最大數(shù)時,這個旋律群就不能處理某些旋律音,即使屬于其它音群的信道還空著。
為了解決這個缺點,一種可能的方法是將與要產(chǎn)生的樂音相應(yīng)的音高數(shù)據(jù)速同控制樂音音色的音色控制參量一起,加到每一個樂音信號產(chǎn)生信道,這樣,樂音信號的產(chǎn)生和音色的控制在每一個信道同時進(jìn)行。
然而,用來產(chǎn)生每個樂音信號的音色控制參量目前已經(jīng)增多以獲得高質(zhì)量的樂音。因此如果每次動音高數(shù)據(jù)要把這些數(shù)目很大的參量傳遞到樂音信號產(chǎn)生信道,樂音信號的產(chǎn)生就會遲延,因為傳送這些參量需要許多時間,而這又減慢了其它處理。
因此本發(fā)明的目的是提供一種樂音產(chǎn)生控制裝置,這種裝置不會引起很長的樂音信號遲延,並且同時還改善了樂音信號產(chǎn)生信道的效率。
按照本發(fā)明的一個觀點提出了一種樂音產(chǎn)生控制裝置,其組成為具有多個用來產(chǎn)生樂音信號的樂音信號產(chǎn)生信道的樂音信號產(chǎn)生裝置,該裝置根據(jù)加到每個樂音信號產(chǎn)生信道的音高信息控制樂音信號的產(chǎn)生,而且還根據(jù)音色參量控制樂音信號的音色;
用來存貯音色參量的音色參量存貯裝置;
用來輸入表示樂音信號音高的第一信息和用來輸入表示樂音信號音色的第二信息的輸入裝置;
用來根據(jù)一個預(yù)定規(guī)則選擇一個樂音信號產(chǎn)生信道、將主要信息分配給所選定的樂音信號產(chǎn)生信道的分配裝置;
用來將所分配的第一信息加到樂音信號產(chǎn)生裝置以根據(jù)主要信息控制由所選定的樂音信號產(chǎn)生信號引起的樂音信號的產(chǎn)生、將相應(yīng)于第二信息的音色控制參數(shù)加到音色參數(shù)存貯裝置以控制樂音信號音色的輸出裝置;以及用來在第二信息所表示的音色與前在所選樂音信號產(chǎn)生信道產(chǎn)生的音色相同時阻止音色控制參量輸出到該樂音信號發(fā)生裝置的輸出阻止裝置。
根據(jù)本發(fā)明更具體的觀點提出了一種樂音產(chǎn)生控制裝置還包括具有多個存貯區(qū)、每個存貯區(qū)對應(yīng)樂音信號產(chǎn)生信道中的一個信道的音色信息存貯裝置,該裝置按照第一信號的指派更新代表在每個樂音信號產(chǎn)生信道產(chǎn)生的樂音信號的音色的音色信息,並且將更新了的音色信息儲存到每個存貯區(qū);以及用來控制指派裝置使第一信息被指派到前就產(chǎn)生音色與第二信息相同的樂音信號產(chǎn)生信道的優(yōu)先指派控制裝置。
圖1是按本發(fā)明的一具體構(gòu)成、利用樂音產(chǎn)生控制裝置的樂音信號產(chǎn)生裝置的方塊圖。
圖2是進(jìn)入圖1中所示的輸入緩存電路12的數(shù)據(jù)格式圖。
圖3是主程序流程圖。
圖4是定時器中斷程序流程圖。
圖5是事件程序流程圖。
圖6A至6C是鍵通程序流程圖。
圖7是鍵斷程序流程圖。
下面將參照附圖對本發(fā)明進(jìn)行說明。
圖1是利用本發(fā)明的樂音產(chǎn)生控制裝置的樂音信號產(chǎn)生裝置的方塊圖。
樂音信號產(chǎn)生裝置包括有輸入緩存電路12,樂音信號產(chǎn)生電路13,和音色參數(shù)存儲器14,其中每一個都與母線11相連。
輸入緩存電路12被連到諸如電子樂器或自動音樂演湊裝置這樣的裝置。這種樂器或裝置帶有一個如鍵盤或者能順序讀出所存演湊數(shù)據(jù)的演湊數(shù)據(jù)存儲器的輸入裝置,並把與事件有關(guān)的數(shù)據(jù)送給輸入緩存電路12。當(dāng)數(shù)據(jù)進(jìn)來時輸入緩存電路12轉(zhuǎn)而再把這些數(shù)據(jù)送到母線11並在母線上設(shè)置一個申請信號REQ。這些數(shù)據(jù)表示在圖2中並在下面加以說明。下標(biāo)H表示十六進(jìn)制表示法,通信信道號代表音樂部分,例如,第一旋律部分,第二旋律部分,第一伴奏部分和第二伴奏部分等。這樣,相應(yīng)于每個通信信道的音色數(shù)據(jù)就代表每個部分的音色。這就是說,通信信道號代表每一部分的可變音色。
鍵通數(shù)據(jù)(Keg-ondata)鍵通數(shù)據(jù)由3個字節(jié)組成(一個字節(jié)由8位構(gòu)成)。第一字節(jié)分分兩部分上4位和低4位。上4位含鑒別碼“9H”,它表示后面的數(shù)據(jù)與鍵通事件有關(guān),下4位代表通信信道號。第二字節(jié)包含鍵碼數(shù)據(jù),它代表一個要產(chǎn)生的音高,其最高位MSB是0,下面7位代表音高。第三字節(jié)表示要產(chǎn)生的樂音的強(qiáng)度,其最高位MSB是0,以下7位含有代表樂音強(qiáng)度的演奏(touch)數(shù)據(jù)。
鍵斷數(shù)據(jù)(Keg-offdata)鍵斷數(shù)據(jù)由兩個字節(jié)組成。第一字節(jié)分為兩部分,上4位和下4位。上4位含有鑒別碼8H,它表示其后的數(shù)據(jù)與鍵斷事件有關(guān),下4位表示通信信道號。第二字節(jié)為鍵碼數(shù)據(jù),它代表已產(chǎn)生的音高,其最高位MSB是0,以下7比特代表音高。
截止界限數(shù)據(jù)(Truncation-limitdata)截止界限數(shù)據(jù)由3個字節(jié)組成第一字節(jié)分為兩部分上4位和下4位。上4位含有鑒別碼“DH”,它表示后面數(shù)據(jù)是截限數(shù)據(jù),下4位表示通信信道號。第二字節(jié)含有音色數(shù)據(jù),它代表與截止數(shù)據(jù)有關(guān)的音色,其最高位MSB是0,以下7位表示音色名。第三字節(jié)代表截止值,最高位MSB是0,以下7位含有截止值,它代表樂音信號電平的一個電平,在該電平上當(dāng)前的樂音信號被消除以產(chǎn)生一個新的樂音信號。
音色數(shù)據(jù)(Tone-colordata)
音色數(shù)據(jù)由2個字節(jié)組成。第一字節(jié)分成兩部分上4位和下4位。上4位包括鑒別碼“EH”,它表示后面的數(shù)據(jù)與音色有關(guān),下4位代表通信信道號。第二字節(jié)包含音色名,它代表該信通信道的音色。其最高位是0,以下7位代表音色名。
最大發(fā)音數(shù)數(shù)據(jù)(Maximum-tone-generating-unmberdata)最大發(fā)音數(shù)數(shù)據(jù)包括2個字節(jié)。第一字節(jié)分為兩部分上4位和下4位。上4位包括鑒別碼“FH”,它表示以后的數(shù)據(jù)與最大發(fā)音數(shù)數(shù)據(jù)有關(guān)下4位代表通信信道號。第二字節(jié)包括最大發(fā)音數(shù)數(shù)據(jù),它代表與該通信信道有關(guān)的樂音最大發(fā)音數(shù)。其最高位是0,以下7位代表與該通信信道有關(guān)的最大發(fā)音數(shù)。
樂音信號產(chǎn)生電路13由樂音信號形成電路13a和音色控制參數(shù)儲存電路13b。樂音信號形成電路13a包括樂音信號形成信道。一個樂音控制數(shù)據(jù)儲存電路等。樂音信號形成信道在本具體設(shè)施中包括12個信道,每個信道都產(chǎn)生一個獨立的樂音信號。另一方面,樂音控制數(shù)據(jù)儲存電路為每個信道儲存一個代表用于產(chǎn)生一個樂音信號音高的鍵碼KC,代表樂音接通狀態(tài)的鍵通信號KON和表示該信道樂音強(qiáng)度的音量數(shù)據(jù)VOL。音色控制參數(shù)儲存電路13b為每個樂音信號產(chǎn)生信道儲存一些用于控制樂音信號音色的音色控制參數(shù)。樂音信號產(chǎn)生電路13的輸出通過放大器15加到楊聲器16。
音色參數(shù)存儲器14是一個只讀存儲器(ROM),它儲存用于產(chǎn)生各種音色的樂音信號的許多音色控制參數(shù)。
此外,樂音信號產(chǎn)生裝置還包括含有中央處理單元(CPU)21,程序存儲器22,工作存儲器23,和定時電路24。這些部分都和母線11相連。
CPU21控制儲存在輸入緩存電路12中的輸入數(shù)據(jù)到樂音信號產(chǎn)生信道的分配,也控制所分配的數(shù)據(jù)的傳遞,同樣也控制儲存在音色參數(shù)存儲器中的音色控制參數(shù)到樂音信號產(chǎn)生電路13中的傳遞。此外,CPU21當(dāng)電源開關(guān)接通時啟動相應(yīng)于圖3所示的流程圖的主程序。同時,它受來自定時電路24的定時中斷信號IRPT同步,執(zhí)行一個與圖4流程圖相應(yīng)的定時中斷程序。
程序存儲器22是一個ROM,它儲存各種程序主程序,定時中斷程序和圖5到圖7所示流程圖相應(yīng)的子程序,定時中斷程序和主程序用于主程序中。工作存儲器23是隨機(jī)存取存儲器(RAM),它暫時儲存程序執(zhí)行過程中所用的各種數(shù)據(jù)。定時電路24以固定的時間間隔(從幾毫秒到幾十毫秒)產(chǎn)生定時中斷信號,並把這信號加到CPU21。
另外,樂音信號產(chǎn)生裝置帶有與母線相連的操作開關(guān)電路25,該電路備有若干開關(guān)控制由樂音信號產(chǎn)生電路13產(chǎn)生的樂音信號的總強(qiáng)度等。
下面,結(jié)合流程3至圖7來說明本具體實現(xiàn)裝置的工作原理。
當(dāng)電源開關(guān)接通時,CPU21在程序步30進(jìn)入圖3中主程序。在程序步31,CPU21表成工作存儲器23中數(shù)據(jù)的初始設(shè)置;它至少將下列數(shù)據(jù)初始化轉(zhuǎn)存數(shù)據(jù)(dumbingdata)DMP(0)至DMP(11),轉(zhuǎn)存極限數(shù)據(jù)DMPLMT(0)至DMPLMT(11),以及音色數(shù)據(jù)TNT(0)至TNT(11),上述每一個數(shù)據(jù)都是為12個樂音信號產(chǎn)生信道的各個信道設(shè)置的,同時把音色數(shù)據(jù)TNL(0)至TNL(15)初始化,把最大發(fā)音數(shù)數(shù)據(jù)MAXCH(0)至MAXCH(15)初始化,上述每個數(shù)據(jù)都是為16個邏輯信道的各個信道設(shè)置的。樂音信號產(chǎn)生信道與樂音信號形成電路13a中的12個信道相應(yīng),而邏輯信道對應(yīng)于進(jìn)入輸入緩存電路12的輸入數(shù)據(jù)的16個通信信道。在初始設(shè)置中,各個數(shù)據(jù)設(shè)置為下列值DMP(0)至DMP(11)=“0”DMPLMT(0)至DMPLMT(11)=“7FH”TNT(0)至TNT(11)=“FFH”TNL(0)至TNT(15)=“0”MAXCH(0)至MAXCH(15)=“12”上述數(shù)據(jù)的定義稍后將給予說明。
完成程序步31,CPU進(jìn)入程序步32,通過檢驗申請信號REQ的有無決定是否有數(shù)據(jù)進(jìn)入輸入緩存電路12。如果有數(shù)據(jù)進(jìn)入輸入緩存電路12,CPU12就在程序步33執(zhí)行事件程序,並進(jìn)入程序步34,在此CPU按照檢測操作開關(guān)電路25中開關(guān)操作的結(jié)果控制樂音信號產(chǎn)生電路13中的樂音信號的總強(qiáng)度。此后,CPU21重覆從32到34這一循環(huán)??墒牵绻麤]有數(shù)據(jù)進(jìn)入輸入緩存電路12,CPU21不執(zhí)行程序步33的事件程序跳到程序步34,再重復(fù)從32到34的循環(huán)。
上述的事件程序示于圖5。CPU21在程序步40進(jìn)入該程序,接著在程序步41中取出輸入緩存電路12中的第一字節(jié)。完成程序步41,CPU21儲存輸入數(shù)據(jù)IN的上四位(即鑒別碼)作為轉(zhuǎn)移控制數(shù)據(jù)BR,儲存下4比特作為邏輯信道數(shù)據(jù)LCH,它代表對應(yīng)在樂音信號產(chǎn)生裝置中一個通信信道的邏輯信道。在程序步43中,CPU21檢驗轉(zhuǎn)移控制數(shù)據(jù)BR以便根據(jù)進(jìn)入輸入緩存電路12的輸入數(shù)據(jù)的類型進(jìn)行處理。
具體地說,如果轉(zhuǎn)移控制數(shù)據(jù)BR是“FH”,它是最大發(fā)音數(shù)據(jù)的鑒別碼,CPU21就從43進(jìn)入44,在此CPU12取出輸入緩存電路12中的第二字節(jié)(最大發(fā)音數(shù))作為輸入數(shù)據(jù)IN,並從電路12中刪除這一字節(jié)。接著在程序步45,CPU12把這一輸入數(shù)據(jù)IN置為由邏輯信道數(shù)據(jù)LCH指定的邏輯信道的最大發(fā)音數(shù)數(shù)據(jù)MAXCH(LCH)。這樣,因為邏輯信道數(shù)據(jù)LCH(通信信道)代表每一音樂部分,每一部分的最大發(fā)音數(shù)就設(shè)置好了。完成程序步45,CPU21在程序步46退出事件程序。
如果轉(zhuǎn)移控制數(shù)據(jù)是“EH”,它是音色數(shù)據(jù)鑒別碼,CPU21從程序步43進(jìn)入47,在此CPU21取出輸入緩存電路12的第二字節(jié)(音色名)作為輸入數(shù)據(jù)IN,並從電路12中刪除該字節(jié)。在程序步48,CPU12把輸入數(shù)據(jù)IN置為由邏輯信道數(shù)據(jù)LCH指定的邏輯信道的音色數(shù)據(jù)TNL(LCH)。這樣,就設(shè)置了每一邏輯信道(每一部分)的音色數(shù)據(jù)。完成程序48,CPU21在程序步46退出事件程序。
如果轉(zhuǎn)移控制數(shù)據(jù)BR是“DH”,它是截止界限數(shù)據(jù)的鑒別碼,CPU21從程序步43進(jìn)入51,在此CPU21取出輸入緩存電路12中第二字節(jié)(音色名)作為輸入數(shù)據(jù)IN並從電路12刪除該字節(jié)。在程序步52,CPU21暫時儲存該表示音色的輸入數(shù)據(jù)IN作為音數(shù)據(jù)TONE。接著在程序步53CPU21取出輸入緩存電路12中的第三字節(jié)(截止值),作為輸入數(shù)據(jù)IN並把該字節(jié)從電路12中刪除。在程序步54,CPU21把輸入數(shù)據(jù)IN置為音數(shù)據(jù)TONE指定的音色的轉(zhuǎn)存極限數(shù)據(jù)DMPLMT(TONE)。這就是說,由于輸入數(shù)據(jù)IN代表截止值,每個音色的截止值被設(shè)置為轉(zhuǎn)存極限數(shù)據(jù)DMPLMT(TONE)完成程序步54,CPU12在程序步46退出事件程序。
如果轉(zhuǎn)移控制數(shù)據(jù)是“9H”,它是鍵通數(shù)據(jù)的鑒別碼,CPU21從程序步43進(jìn)到45,在此CPU21取出輸入緩存電路12中的第二字節(jié)(一個壓下的鍵的鍵碼)作為輸入數(shù)據(jù)IN,並從電路12中刪除該字節(jié)。在程序步56,CPU21把代表音高的數(shù)據(jù)IN置為鍵碼KC。在程序步57,CPU21取出輸入緩存電路12的第三字節(jié)(演奏數(shù)據(jù))作為輸入數(shù)據(jù)IN,並從電路12中刪除該字節(jié)。在程序步58,CPU把代表強(qiáng)度的輸入數(shù)據(jù)作為強(qiáng)度數(shù)據(jù)VOL,然后進(jìn)入程序步59,在此CPU21執(zhí)行一個鍵通程序。完成59以后,CPU21在程序步46退出高件程序。
最后,如果轉(zhuǎn)移控制數(shù)據(jù)BR是“8H”,它是鍵斷數(shù)據(jù)的鑒別碼,則CPU21從程序步43進(jìn)入62,在此CPU21取出輸入緩存電路12中的第二字節(jié)(一個釋放鍵的鍵碼)作為輸入數(shù)據(jù)IN,並從電路12刪除該字節(jié)。在程序步63,CPU21把代表音高的輸入數(shù)據(jù)IN置為鍵碼KC。接著,CPU21在程序步64執(zhí)行鍵斷程序。完成程序步64后,CPU21在程序步46退出事件程序。
下面將說明鍵通程序。此程序把一鍵碼分配給一個樂音信號產(chǎn)生信道,並傳送該數(shù)據(jù)到樂音信號產(chǎn)生電路13等。在此之前,先解釋分配鍵碼KC的分派優(yōu)先規(guī)則和每一樂音信號產(chǎn)生信道的轉(zhuǎn)存數(shù)據(jù)DMP的更新。更新應(yīng)用于決定分派鍵碼到信道的優(yōu)先性和控制分派操作。
分派優(yōu)先規(guī)則(A)CPU21搜尋其轉(zhuǎn)存數(shù)據(jù)DMP為“0”的樂音信號產(chǎn)生信道,並且該信道已經(jīng)產(chǎn)生了音色與從該時刻起要產(chǎn)生的樂音信號相同的樂音信號。
分派優(yōu)先規(guī)則(B)CPU21搜索這樣一個樂音信號產(chǎn)生信道它正在產(chǎn)生一個具有同從那一時刻起將要產(chǎn)生的樂音信號的音色相同的樂音信號,同時其轉(zhuǎn)存數(shù)據(jù)DMP小于轉(zhuǎn)存極限數(shù)據(jù)DMPLMT,並在產(chǎn)生相同音色的信道間在同一時刻是最小的DMP。
當(dāng)沒有或僅有一個樂音產(chǎn)生信道產(chǎn)生具有相同音色的樂音信號時,CPU21按下列規(guī)則搜尋一個新的樂音信號產(chǎn)生信道分派優(yōu)先規(guī)則(C)CPU21搜尋一個第一釋放鍵信道,其轉(zhuǎn)存數(shù)據(jù)最小的樂音信號產(chǎn)生信道,並且它正在產(chǎn)生或已經(jīng)完成產(chǎn)生一個釋放鍵的,與從當(dāng)時起要產(chǎn)生的樂音信號的音色無關(guān)的樂音信號。
當(dāng)正在產(chǎn)生音色與從當(dāng)時起將要產(chǎn)生的樂音信號相同的樂音信號的樂音信號產(chǎn)生通道的數(shù)目達(dá)到該音色(即該部分)所容許的最大數(shù)目時,CPU21將搜尋其轉(zhuǎn)存數(shù)據(jù)在產(chǎn)生相同音色的樂音信號產(chǎn)生信道中間最小的樂音信號產(chǎn)生信道。
分派優(yōu)先準(zhǔn)則(D)CPU21搜尋一個第一壓鍵信道,一個這樣的樂音產(chǎn)生信道其轉(zhuǎn)存數(shù)據(jù)最小,與從現(xiàn)在起要產(chǎn)生的樂音信號的音色無關(guān),也與是否在產(chǎn)生與一釋放鍵有聯(lián)系的樂音信號無關(guān)。
當(dāng)正在產(chǎn)生與從當(dāng)時起將要產(chǎn)生的樂音信號的音色相同的樂音信號產(chǎn)生信道的數(shù)目達(dá)到該音色的最大數(shù)目時,CPU21將搜尋其轉(zhuǎn)存數(shù)據(jù)在產(chǎn)生相同音色的樂音信號產(chǎn)生信道中間是最小的樂音信號產(chǎn)生信道。
更新轉(zhuǎn)存數(shù)據(jù)DMP
每當(dāng)定時線路21所產(chǎn)生的定時中斷信號IRPT加到CPU21,CPU21進(jìn)入圖4所示的定時中斷程序。CPU21在程序步70啟動該程序,在程序步71完成變量i的初始予置(i=0),在程序步72和73更新12個樂音信號產(chǎn)生信道的各個轉(zhuǎn)存數(shù)據(jù)DMP(0)至DMP(11),在程序步74和75更新變量i(i+1→i),從0至11,並把該變量i同一常數(shù)“12”(i<12)相比較。
具體的說,在程序步72,CPU21利用DMP(i)和7FH的與運算將從DMP(0)至DMP(11)的每個存數(shù)據(jù)的低7位分開,並確定分開的數(shù)據(jù)是“0”與否。如果不是“0”(“YES”),CPU21進(jìn)入程序步73並用計算DMP(i)=DMP(i)-1的弓法使轉(zhuǎn)存數(shù)據(jù)從DMP(0)至DMP(11)每個都減少1。另一方面,當(dāng)被分開的數(shù)據(jù)是0(“NO”)時,CPU21不改變DMP(0)至DMP(11)轉(zhuǎn)存數(shù)據(jù),進(jìn)入程序步74。
當(dāng)某鍵下壓,一個鍵碼被分配到信道i(這在下面將要說明)時,每一轉(zhuǎn)存數(shù)據(jù)都初始置于“FFH”。所以,當(dāng)下壓鍵的樂音信號產(chǎn)生時,每當(dāng)定時中斷信號IRPT產(chǎn)生,每個轉(zhuǎn)存數(shù)據(jù)DMP(0)至DMP(11)減1,通過從程序步72到75的循環(huán)從“FFH”變到“80H”。另一方面,當(dāng)與信道i有關(guān)的鍵釋放時,在鍵釋放定時時,轉(zhuǎn)存數(shù)據(jù)DMP(i)初始設(shè)置到“7FH”。這樣,當(dāng)釋放鍵的樂音信號產(chǎn)生時,從DMP(0)至DMP(11)的每個轉(zhuǎn)存數(shù)據(jù)每當(dāng)定時中斷信號出現(xiàn)都減1,通過程序步72至75的循環(huán)從7FH變到(00)。
當(dāng)運行程序步72至75的循環(huán)CPU更新了DMP(0)至DMP(11)的全部轉(zhuǎn)存數(shù)據(jù)時,變量i達(dá)到“12”,程序步75的檢查結(jié)果變成“NO”,這樣,定時中斷程序結(jié)束,CPU返回到圖3主程序。
圖6A至6C是鍵通程序的流程圖,它把鍵碼KC分配給樂音信號產(chǎn)生信道並把數(shù)據(jù)傳送到樂音信號產(chǎn)生電路13。CPU21在程序步100進(jìn)入程序並在程序步101把斷信道數(shù)據(jù)(off-channeldata)OFREQ和同音色斷信道數(shù)據(jù)(identical-tone-color-off-channeldata)OFTNREQ的全部位均置0,也把同音色斷信道數(shù)數(shù)據(jù)(identical-tone-color-off-channel-number)OFSMNO置0。每個斷信道數(shù)據(jù)OFREQ和同音色斷信道數(shù)據(jù)OFTNREQ都由對應(yīng)于12個樂音信號產(chǎn)生信道的12位數(shù)據(jù)組成。斷信道數(shù)揮OFREQ和同音色斷信道數(shù)據(jù)OFTNREQ的各個位都表示各個樂音信號產(chǎn)生信道的一個狀態(tài)斷信道數(shù)據(jù)OFREQ各個位都為1表示該信道與一個釋放鍵有關(guān),都為0表示該信道為一個非釋放(下壓)鍵有關(guān);同音色斷信道數(shù)據(jù)的各個位全為1表示該信道與一個正在產(chǎn)生或已經(jīng)產(chǎn)生其音色與一新下壓鍵產(chǎn)生的樂音信號相同的樂音信號的一個釋放鍵有關(guān),全為0表示信道處于另一狀態(tài)。另外,同音色斷信道數(shù)數(shù)據(jù)OFSMNO表示與正在產(chǎn)生或已經(jīng)產(chǎn)生與一個新下壓鍵產(chǎn)的樂音信號的音色相同的樂音信號的釋放鍵有關(guān)的信道的數(shù)目。由OFSMN表示的數(shù)等于在同音色斷信道數(shù)據(jù)OFTNREQ中為“1”的位的個數(shù)。
在程序步101中完成初始設(shè)置以后,CPU21進(jìn)入到程序步102,暫時把音色數(shù)據(jù)TNL(LCH)作為音數(shù)據(jù)TONE存起。音色數(shù)據(jù)TNL(LCH)是由鍵通數(shù)據(jù)中的邏輯信道LCH指定的,代表鍵碼KC的所屬的音樂部分的音色。在程序步103,CPU21把變量i置0。在程序步104CPU21檢索這樣一個樂音信號產(chǎn)生信道i,其轉(zhuǎn)存數(shù)據(jù)DMP(i)為“0”(DMP(i)=0),其音色數(shù)據(jù)TNT(i)與從那時開始產(chǎn)生的樂音信號的音色TONE相同(TNT(i)=TONE)。這與上述分配優(yōu)先規(guī)則(A)相應(yīng)。
從程序步105至108,CPU21檢索一個這樣的樂音信號產(chǎn)生信道,其轉(zhuǎn)存數(shù)據(jù)DMP(i)小于對每個音色特定的轉(zhuǎn)存極限數(shù)據(jù)DMPLMT(TNT(i)),並且它正在產(chǎn)生或已經(jīng)產(chǎn)生其音色與據(jù)一新的下壓鍵要產(chǎn)生的樂音信號的音色相同的樂音信號(這相應(yīng)于上述分配優(yōu)先規(guī)則(B)和(C)的部分)。完成程序104至108以后,就執(zhí)行109和110,在此CPU21把變量i增加1(i+1→1),並把i的值與12相比較,直到達(dá)到12。
當(dāng)CPU21檢索到一個滿足分派優(yōu)先規(guī)則(A)的信道時,即在程序步104上DMP(i)=“0”同時TNT(i)=TONE,在104上的檢驗結(jié)果為“YES”,所以CPU21進(jìn)入到程序步111,CPU21把同音色特征位SMFLG置“1”,同時把分派信道數(shù)據(jù)ASSCH置為i值,這表明該信道滿足程序步104的條件。在此,音色數(shù)據(jù)TNT(i)代表在樂音信號產(chǎn)生信道i中產(chǎn)生的樂音信號的音色,分派信道數(shù)據(jù)ASSCH代表給新的下壓鍵的鍵碼KC指定的樂音信號產(chǎn)生信道,同音色特征位SMFLG(=“1”)表示該信道的音色要保持不變。
在程序步111以后,CPU進(jìn)入圖6C中的程序步133,在此檢驗同音色特征位SMFLG是否為“1”。在此場合,因為特征位已由上所述置為“1”,在程序步133檢驗結(jié)果為“YES”。所以,CPU21進(jìn)入到程序步136,設(shè)置一個新的鍵碼KC作為分派信道數(shù)據(jù)ASSCH的指定的鍵碼緩存數(shù)據(jù)KCBUF(ASSCH)並把轉(zhuǎn)存數(shù)據(jù)DMP(ASSCH)初始予置到“FFH”。鍵碼緩存數(shù)據(jù)KCBUF(ASSCH)對應(yīng)于12個樂音產(chǎn)生信道的各個信道,並代表分派到各個信道的鍵碼。這樣,新的鍵碼KC按照分配優(yōu)先規(guī)則(A)被分配到一個樂音信號產(chǎn)生信道。接著,CPU21進(jìn)入程序步137,把新的鍵碼KC,同鍵碼KC一起進(jìn)入的強(qiáng)度數(shù)據(jù)VOL(即演奏數(shù)據(jù))和分配信道數(shù)據(jù)ASSCH加到樂音信號產(chǎn)生電路13。
在樂音信號產(chǎn)生電路13中的樂音信號形成電路13a在接收到這些數(shù)據(jù)后把鍵碼KC和強(qiáng)度數(shù)據(jù)VOL儲存到在樂音控制數(shù)據(jù)存儲電路中為各個信道提供的並由分配信道數(shù)據(jù)ASSCH指定的存儲位置。電路13a同時把對應(yīng)于樂音控制數(shù)據(jù)儲存電路中分配信道數(shù)據(jù)ASSCH的鍵通信號KON置1。
如后面所述,在由分配數(shù)據(jù)ASSCH在音色控制參數(shù)存貯電路136中所指定的存儲位置中,儲存了一個以前加的音色控制信號,在這種情況下,這個音色控制參數(shù)與按照新鍵碼KC產(chǎn)生的樂音信號的音色控制參數(shù)相同。因此,樂音信號形成電路13a形成一個其音高與新鍵碼KC相應(yīng),其音色由音色控制參數(shù)決定的樂音信號。而且,電路13a按照強(qiáng)度數(shù)據(jù)VOL控制樂音信號的強(qiáng)度並通過放大器15把該信號加到楊聲器16,結(jié)果,與該樂音信號相應(yīng)的樂音從楊聲器16中產(chǎn)生出來。完成程序步137后,CPU12在程序步138退出鍵通程序。
當(dāng)沒有信道在從程序步104至110循環(huán)中滿足分配優(yōu)先規(guī)則(A)時,CPU21在程序步105確定轉(zhuǎn)存數(shù)據(jù)DMP(i)的最高位是否是“1”(DMP(i)MSB=“1”)這與確定與轉(zhuǎn)存數(shù)據(jù)DMP(i)有關(guān)的鍵是正被壓下還是被釋放是等效的,因為與其有關(guān)的鍵壓下時轉(zhuǎn)存數(shù)據(jù)DMP(i)如上所述從“FFH”變到“80H”,而當(dāng)該鍵釋放時DMP(i)從“7FH”變到“00H”的緣故,所以僅在鍵被下壓的期間轉(zhuǎn)存數(shù)據(jù)DMP(i)保持為“1”。
當(dāng)鍵被下壓,即當(dāng)化程序步105的檢驗結(jié)果為“YES”的時候,CPU21進(jìn)入程序步107,斷信道數(shù)據(jù)OFREQ中由變量i指定的位還是為“0”(與在程序步101預(yù)置的一樣)。相反,當(dāng)鍵是釋放時,在程序步105的檢驗結(jié)果為“NO”。在這種情況下,CPU21進(jìn)入程序步106,使在斷信道數(shù)據(jù)OFREQ中由變量i所指定的位為“1”(OFREQ(i)=“1”)這樣,在斷信道數(shù)據(jù)DFREQ中,對應(yīng)于與釋放鍵的樂音信號產(chǎn)生信道的各個位都置為1。
類似地,在同音色斷信道數(shù)據(jù)中,對應(yīng)于其音色與從當(dāng)時起要產(chǎn)生的樂音信號的音色相同,其轉(zhuǎn)存數(shù)據(jù)DMP(i)小于轉(zhuǎn)存極限數(shù)據(jù)DMP(TNT(i)的信道的各個位都置“1”。另外,滿足這些條件的信道數(shù)被置為同音色斷信道數(shù)數(shù)據(jù)OFSMNO。
更具體地說,在程序步107,CPU21檢驗並確定下列兩項是否同時滿足轉(zhuǎn)存數(shù)據(jù)DMP(i)是否小于轉(zhuǎn)存極限數(shù)據(jù)DMP(TMT(i));樂音信號產(chǎn)生信道i是否已經(jīng)產(chǎn)生了一個其音色與從那時起要產(chǎn)生的樂音信號的音色相同的樂音信號(這相應(yīng)于DMP(i)<DMPLMT(TNT(i))和TNT(i)=TONE)。當(dāng)這些條件滿足時,在程序步107的檢驗結(jié)果為“YES”,CPU21進(jìn)入108程序步。在108,CPU21把在同音色斷信道數(shù)據(jù)中由變量i所指定的那位置“1”(OFTNREQi=“1”),並把同音色斷信道數(shù)據(jù)OFSMNO增加1(OFSMNO=OFSMNO+1)。相反,當(dāng)在程序步107的檢驗結(jié)果為“NO”時,CPU21進(jìn)入程序步109,不完成程序步108的過程。在這種情況下,同音色斷信道數(shù)據(jù)OFTNREQ中對應(yīng)于變量i的那位仍如在程序步101所置的為0,並且同音色斷信道數(shù)數(shù)據(jù)OFSMNO也保持以前的值。
當(dāng)在程序步110中i=12時,從104到110的循環(huán)執(zhí)行完,還沒有發(fā)現(xiàn)滿足分配優(yōu)先規(guī)則(A)的信道時,CPU21按程序步110中的檢驗結(jié)果“NO”進(jìn)入程序步112。在112,在CPU21檢驗同音色信道數(shù)數(shù)據(jù)OFSMNO是否大于“1”。這一檢驗相應(yīng)于分配優(yōu)先規(guī)則(B)的后一部分,即,當(dāng)只有一個或沒有這樣的樂音信號產(chǎn)生信道;它在產(chǎn)生一樂音信號,其音色與從當(dāng)時起要產(chǎn)生的樂音信號的音色相同,同時該信道的轉(zhuǎn)存數(shù)據(jù)DMP小于轉(zhuǎn)存極限數(shù)據(jù)時,CPU21按分配優(yōu)先規(guī)則(C)和(D)檢索一個新的樂音信號產(chǎn)生信道。如果同音色斷信道數(shù)數(shù)據(jù)OFSMNO大于1,也即,如果在程序步112的檢測結(jié)果是“YES”,CPU21進(jìn)入到程序步113,在此CPU21把同音色特征位SMFLG置“1”,同時把同音色斷信道數(shù)據(jù)OFINREQ置為可用信道數(shù)據(jù)AVCH。可用信道數(shù)據(jù)AVCH由12位組成,其各個位對應(yīng)于12個樂音信號產(chǎn)生信道的各個信道,同在斷信道數(shù)據(jù)OFREQ和同音色斷信道數(shù)據(jù)OFTNREQ中各位的情況一樣。在可用數(shù)據(jù)AVCH中的各個位都代表各個相應(yīng)信道的狀態(tài)“1”代表一個可用信道,而“0”表示一個不可用信道。可用數(shù)據(jù)AVCH用在為分配信道在127至131的循環(huán)中所執(zhí)行的檢索過程中。
在程序步127,CPU初始化變量i為0(i=0)並把為檢索轉(zhuǎn)存數(shù)據(jù)DMP(i)最小值的最小數(shù)據(jù)DMP(i)置為它的初始值(MIN=FFH)。在程序步128和129,CPU21檢索其轉(zhuǎn)存數(shù)據(jù)DMP(i)在可用信道中是最小的信道。這是由在程序步130中增加變量i(i+1→i)實現(xiàn)的,從“0”到“12”變化i的值並在程序步131把i同常數(shù)12(i<12)相比較。
更具體地說,如果在可用信道數(shù)據(jù)AVCH中變量i所指定的那位數(shù)據(jù)是“1”,並且最小數(shù)據(jù)MIN大于變量i指定的轉(zhuǎn)存數(shù)據(jù)DMP(i),即,AVCHi=“1”和MINDMP(i),在程序步128的檢驗結(jié)果是“YES”。這時,CPU21進(jìn)入程序步129,在此CPU21把最小數(shù)據(jù)MIN更新為轉(zhuǎn)存數(shù)據(jù)DMP(i),同時也把最小信道號數(shù)據(jù)MINCH更新為i,它表示儲存轉(zhuǎn)存數(shù)據(jù)DMP(i)的信道號。相反,如果在程序步128的檢驗結(jié)果是“NO”,CPU21跳到程序步130,不執(zhí)行程序步129。這樣當(dāng)變量i達(dá)到“12”在131的檢驗結(jié)果變?yōu)椤癗O”時,最小信道號數(shù)據(jù)MINCH指定一個滿足分配優(yōu)先規(guī)則(B)的信道號選擇一個這樣的樂音信號產(chǎn)生信道i它正在產(chǎn)生一個其音色與從當(dāng)時起要產(chǎn)生的樂音信號的音色相同的樂音信號,並且其轉(zhuǎn)存數(shù)據(jù)DMP(i)小于轉(zhuǎn)存極限數(shù)據(jù)DMPLMT,同時又是最小的。
CPU21在完成從程序步121至131的循環(huán)之后,在132將最小信道號數(shù)據(jù)MINCH置至分配信道數(shù)據(jù)ASSCH,同時在程序步136將進(jìn)入到輸入緩存電路12的鍵碼KC置至由分配信道數(shù)據(jù)ASSCH所指定的鍵碼緩存數(shù)據(jù)KCBUF(ASSCH),如圖6C所示。這樣,按分配優(yōu)先規(guī)則(B),該新鍵碼KC分派到樂音信號產(chǎn)生信道。
完成程序步132后,CPU21進(jìn)入程序步133並檢驗同音色特征位SMFLG。因為現(xiàn)在的特征位SMFLG是“1”,在程序步133的檢驗結(jié)果為“YES”,CPU21進(jìn)入136和137,在此樂音信號的產(chǎn)生是用與上述相類似的方法控制的。這時,音色控制參數(shù)沒有加到樂音信號產(chǎn)生電路13。
下面將說明沒有發(fā)現(xiàn)兩個以上的樂音信號產(chǎn)生信道滿足分配優(yōu)先規(guī)則(A)和(B)的情況。這時,在112的檢驗結(jié)果為“NO”,一個新的鍵碼按照分配優(yōu)先規(guī)則(C)和(D)分配到所選出的樂音信號產(chǎn)生信道當(dāng)正在產(chǎn)生與從當(dāng)時起要產(chǎn)生的樂音信號的音色相同的樂音信號產(chǎn)生通道的數(shù)目(即同音色信道數(shù)數(shù)據(jù)SMNO)達(dá)到音色的最大數(shù)目(即MAXCH(LCH))時,CPU21在產(chǎn)生相同樂音的樂音信號產(chǎn)生信道中檢索其轉(zhuǎn)存數(shù)據(jù)為最小的那個樂音信號產(chǎn)生信道。
當(dāng)在122中的檢驗結(jié)果是“NO”時,CPU21進(jìn)入到114,在此CPU21將同音色信道數(shù)據(jù)TNREQ中各位都初始化為0,也把同音色信道數(shù)數(shù)據(jù)SMNO初置為0。同音色信道數(shù)據(jù)TNREQ由12位組成,其各位對應(yīng)于12個樂音信號產(chǎn)生信道中的各個通道,如同在斷信道數(shù)據(jù)OFREQ和同音色斷信道數(shù)據(jù)OFTNREQ一樣,代表各個信道狀態(tài)為“1”的位表示與其對應(yīng)的信道正在產(chǎn)生其音色與一新鍵下壓所要產(chǎn)生的樂音信號的音色相同的樂音信號(同與該信道有關(guān)的鍵是否釋放的狀態(tài)無關(guān));為“0”的位代表該信道的另一狀態(tài)。相反,同音色信道數(shù)數(shù)據(jù)SMNO代表產(chǎn)生其音色與由一新鍵下壓所產(chǎn)生的樂音信號的音色相同的樂音信號的信道數(shù)目(與同這些信道有關(guān)的鍵是否釋放無關(guān))。信道的數(shù)目等于在同音色信道數(shù)據(jù)TNREQ中為“1”的位數(shù)相等。
在程序步114完成初置之后,CPU在115把變量i置為0(i=0)並進(jìn)入116。在此CPU21檢驗由變量i指定的信道預(yù)先產(chǎn)生出來的樂音信號的音色(TNT(i))是否與從那時起產(chǎn)生的樂音信號的音色(TONE)相同(TNT(i)=TONE?)如果檢驗結(jié)果是“YES”,CPU21進(jìn)入程序步117,在此CPU21把在同音色信道數(shù)據(jù)TNREQ中變量i所指定的一個位置為“1”(TNREQi=“1”),同時把同音色信道數(shù)數(shù)據(jù)SMNO增加1(SMNO=SMNO+1)。相反,如果在116的檢驗結(jié)果為“NO”,CPU跳到118而不執(zhí)行程序步117,這樣,在同音色信道數(shù)據(jù)TNREQ中變量i相對應(yīng)的那位仍如在程序步114所置的那樣為“0”,同時保持同音色信道數(shù)數(shù)據(jù)SMNO為先前值。因而,與產(chǎn)生其音色與從那時起產(chǎn)生的樂音信號的音色相同的樂音信號的信道相應(yīng)的在同音色信道數(shù)據(jù)TNREO中的各位被置“1”,與此同時滿足這條件的信道的數(shù)目被置為同音色信道數(shù)數(shù)據(jù)SMNO。
CPU21執(zhí)行116,117,使變量i增加1的119和把i與常數(shù)12比較的120,這樣就使變量i從“0”變成“12”。當(dāng)變量i達(dá)到12時,在119的檢驗中出現(xiàn)“NO”,CPU21就退出從116到119的檢索同音色信道的循環(huán),進(jìn)入120。
在120,CPU21檢驗同音色信道數(shù)數(shù)據(jù)SMNO是否大于或等于在進(jìn)入使鍵通數(shù)據(jù)中的與通信信道相應(yīng)的邏輯信道數(shù)據(jù)LCH所指定的,並在45中設(shè)置的最大發(fā)音數(shù)數(shù)據(jù)MAXCH(LCH)的值,(即SMNOMAXCH(LCH))。如果同音色信道數(shù)數(shù)據(jù)SMNO達(dá)到新鍵碼所屬的音樂部分可采用的最大發(fā)音數(shù)數(shù)據(jù)MAXCH(LCH),在120中檢驗結(jié)果是“YES”,這時CPU21在程序步121把同音色特征位置1,同時在122把同音色信道數(shù)據(jù)TNREQ置至可用信道數(shù)據(jù)AVCH。接著CPU21進(jìn)入程序127,通過127至131檢索轉(zhuǎn)存數(shù)據(jù)DMP(i)的最小值。(這時,在同音色信道中檢索最小值)。在程序步132和136,CPU21設(shè)置分配信道數(shù)據(jù)ASSCH和鍵碼緩存數(shù)據(jù)KCBUF。這樣,新鍵碼KC分配到按分配優(yōu)先規(guī)則(C),(D)選擇的樂音信號產(chǎn)生通道。完成了132,CPU21進(jìn)入133,檢驗同音色特征位SMFLG。因為當(dāng)前特征是“1”,在133的檢驗結(jié)果是“YES”,CPU21進(jìn)入136和137,在此樂音信號的產(chǎn)生是以上述類似的方法控制的。在這種情況下,音色控制參數(shù)沒加到樂音信號產(chǎn)生電路13上。
相反,如果在120的檢驗結(jié)果是“NO”,即如果同音色信道數(shù)數(shù)據(jù)SMNO的值小于最大發(fā)音數(shù)數(shù)據(jù)MAXCH(LCH),新鍵碼KC被分配到按分配優(yōu)先規(guī)則(C)選出的樂音信號產(chǎn)生信道CPU21分配該新鍵碼到第一釋放信道,即其轉(zhuǎn)存數(shù)據(jù)是最小的,正在產(chǎn)生或已完成產(chǎn)生一個釋放鍵的、音色與從那里起要產(chǎn)生的樂音信號無關(guān)的樂音。這時,在在123,CPU21把同音色特征位SMFLG置“0”,並在124檢驗斷信道數(shù)據(jù)OFREQ的各位是否全為“0”(OFREQ=0)。如果斷信道數(shù)據(jù)OFREQ一個以上的位為“1”,則在124的檢驗結(jié)果為“YES”,在125可用信道數(shù)據(jù)更新為斷信道數(shù)據(jù)OFREQ。接著,CPU21進(jìn)入程序步127,通過127至131檢索轉(zhuǎn)存數(shù)據(jù)DMP((i)的最小值(這時,在與釋放鍵有關(guān)的信道中檢索最小值)。在程序步132和136,CPU21設(shè)置分配信道數(shù)據(jù)ASSCH和鍵碼緩存數(shù)據(jù)KCBUF(ASSCH)。這樣,新鍵碼KC分配到按分配優(yōu)先規(guī)則(C)選出的樂音信號產(chǎn)生信道。
在132把最小信道號數(shù)據(jù)MINCH置至分配信道數(shù)據(jù)ASSCH后,CPU21進(jìn)入133(圖6C)檢驗同音色特征位FLG。因為這時同音色特征位為“0”,在133的檢驗結(jié)果為“NO”,則CPU21進(jìn)入134,在此,由分配信道數(shù)據(jù)ASSCH指定的樂音信號產(chǎn)生信道的音色數(shù)據(jù)TNT(ASSCH)更新到代表新音色的音色數(shù)據(jù)TONE上。完成134后,CPU21在135從音色參數(shù)存儲器14讀出音色數(shù)據(jù)TONE所指定的音色的音色控制參數(shù),並把它同分配信道數(shù)據(jù)ASSCH一起送給樂音信號產(chǎn)生電路13。
收到音色控制參數(shù)和分配信道數(shù)據(jù)ASSCH后,在樂音信號產(chǎn)生電路13中的樂音控制參數(shù)儲存電路把音色控制參數(shù)存放在分配信道數(shù)據(jù)ASSCH的指定的存儲位置。樂音信號形成電路13a形成與分配信道數(shù)據(jù)ASSCH相應(yīng)的信道的樂音信號,其音色,利用儲存的音色控制參數(shù)由存儲電路13b控制。所以,樂音信號產(chǎn)生電路13產(chǎn)生由來自被分配信道的音色控制參數(shù)指定的樂音信號。
如果在124的檢驗結(jié)果是“NO”,也即,如果由于不存在表明釋放鍵的信道,斷信道數(shù)據(jù)OFREQ的各位均為“0”,則新鍵碼KC就分配到按上述分配優(yōu)先規(guī)則(D)選出的樂音信號產(chǎn)生信道;CPU21分配一新鍵碼到一首次下壓信道,也即一個其轉(zhuǎn)存數(shù)據(jù)最小,與從當(dāng)時起每產(chǎn)生的樂音信號的音色無關(guān)與是否正在產(chǎn)生與釋放鍵有關(guān)的樂音信號無關(guān)的樂音信號產(chǎn)生信道。
這時,在126可用信道數(shù)據(jù)AVCH置為“FFH”,因此,可用信道數(shù)據(jù)AVCH的各位全置為“1”。這就是說,一個鍵碼可分配到12個信道中任何一個。接著,CPU21進(jìn)入127,並經(jīng)過127至131檢索轉(zhuǎn)存數(shù)據(jù)DMP(i)的最小值。(這時,在全部信道中檢索最小值)。在132和136,CPU21設(shè)置分配信道數(shù)據(jù)ASSCH和鍵碼緩存數(shù)據(jù)KCBUF(ASSCH)。這樣,新鍵碼KC被分配到按分配優(yōu)先規(guī)則(D)選出的樂音信號產(chǎn)生信道。
完成132后,CPU21進(jìn)入133(圖6C),檢驗同音色特征位SMFLG。因為這時同音色特征位也是“0”,在133的檢驗結(jié)果是“NO”,CPU21就進(jìn)入134,在此音色數(shù)據(jù)TNT(ASSCH)更新為代表新音色的音數(shù)據(jù)TONE。在135,與樂音信號產(chǎn)生電路13中的分配信道數(shù)據(jù)ASSCH相應(yīng)的音色控制參數(shù)被更新。結(jié)果,樂音信號產(chǎn)生電路13產(chǎn)生一個由來自被分配的信道的音色控制參數(shù)所指定的樂音信號。
如上所述,當(dāng)一新的鍵通數(shù)據(jù)進(jìn)入輸入緩存電路12時,從100至132以及134和136的程序步過程中鍵碼KC與同鍵KC有關(guān)的音數(shù)據(jù)TONE(音色信息)一起被分配到樂音信號產(chǎn)生信道中的一個(圖6C)。因此,樂音信號的音高和音色同時被控制,這就降低了約束對每一部分(通信信道)可用的樂音信號產(chǎn)生信道的數(shù)目的限制。這些鍵碼KC和音數(shù)據(jù)TONE(音色信息)按分配優(yōu)先規(guī)則(A)到(D)優(yōu)先分配到這樣的樂音信號產(chǎn)生信道其音色不由該音數(shù)據(jù)TONE而改變,即其音色與從那時起產(chǎn)生的樂音信號的音色一樣。在這種情況下,所分配的信道樂音控制參數(shù)不變,所以不用從133至135將樂音控制參數(shù)輸出到樂音信號產(chǎn)生電路13。因此,傳送音色控制參數(shù)的時間節(jié)省了,其他程序能更快地運行。
圖7是圖5中程序步64中執(zhí)行的鍵斷程的流程圖。在200CPU21進(jìn)入該程序,在201暫時儲存音色數(shù)據(jù)TNL(LCH)作為音數(shù)據(jù)TDNE。音色數(shù)據(jù)TNL(LCH)是由與鍵斷數(shù)據(jù)有關(guān)的邏輯信道LCH(在圖5程序步42設(shè)置)指定的,並表示釋放鍵所屬的音樂部分的音色、在202,CPU21把變量i初始化為0(i=0)。在203,CPU21檢索並確定一個正在產(chǎn)生一釋放鍵的樂音信號(即與進(jìn)入的鍵碼KC有關(guān)的樂音信號)這是通過檢索一個具有與進(jìn)入的鍵斷數(shù)據(jù)的音色相同的樂音信號產(chǎn)生信道,也即在同一部分並儲存相同鍵碼KC的信道(TNT(i)=TONE與KCBUF(i)=KC)來完成的。在這種情況下,因為如果音色不同幾個相同音高的樂音信號同時產(chǎn)生是有可能的,所以不但檢驗鍵碼KC而且還要檢驗音色TNT(i)。
完成程序步203后,執(zhí)行204和205,在此CPU21把變量i增加1(i+1→i),並把i值與12相比較,直到達(dá)到12,這樣就將變量i的從“0”變到“11”(i<12)。
當(dāng)CPU21在從203到205的循環(huán)中檢索產(chǎn)生一釋放鍵的樂音信號的樂音信號產(chǎn)生信道時,在203的檢索結(jié)果將為“YES”所以,CPU21進(jìn)入程序步206並把變量i置至代表與一釋放鍵有關(guān)信道的斷信道數(shù)據(jù)OFFCH,另外,在程序步207,CPU21把“7FH”置至斷信道數(shù)據(jù)OFFCH所指定的信道的轉(zhuǎn)存數(shù)據(jù)DMP(OFFCH)。這使在“80H”處已仃止更新的轉(zhuǎn)存數(shù)據(jù)DMP(i)當(dāng)鍵釋放時再次開始從“7FH”遞減1。完成程序步207后,在程序步208CPU21把斷信道數(shù)據(jù)OFFCH和鍵斷控制信號加到樂音信號產(chǎn)生電路13,在209結(jié)束鍵斷程序。
樂音信號產(chǎn)生電路13中的樂音信號形成電路13a置“0”至斷信道數(shù)據(jù)OFFCH指定樂音信號產(chǎn)生信道的鍵通信號(按鍵斷控制信號和斷信道數(shù)據(jù)OFFCH),結(jié)束產(chǎn)生該信道的樂音信號。
盡管按照本發(fā)明做的樂音控制裝置一個具體的實現(xiàn)方法已經(jīng)揭示出來,但這不是說本發(fā)明局限于這一具體的構(gòu)成和在此所揭示的應(yīng)用。例如,對訓(xùn)練有素的技術(shù)人員很明顯可以做如下改動(1)在上述具體實現(xiàn)中,CPU21檢索這樣的正在產(chǎn)生樂音信號產(chǎn)生信道,它所產(chǎn)生的樂音的音色與從那時起要產(chǎn)生的樂音信號的音色相同,且該信道的轉(zhuǎn)存數(shù)據(jù)DMP小于轉(zhuǎn)存極限數(shù)據(jù)DMPLMT。並且,CPU21計算這些信道的數(shù)目,把這一數(shù)目作為同音色斷信道數(shù)數(shù)據(jù)OFSMNO儲存,並在程序步112檢驗該數(shù)(即數(shù)據(jù)OFSMNO)是否大于1。如果數(shù)據(jù)OFSMNO是1或更小,新鍵碼KC不分配到該信道。另一方面,如果信道是兩個以上,新鍵碼KC被指派到其中一個信道。
然而,當(dāng)同音色斷信道數(shù)數(shù)據(jù)OFSMNO相比較的常數(shù)不限于“1”。常數(shù)可以是“2”,“3”或更大,使當(dāng)其數(shù)大于該常數(shù)時新鍵碼可以分派到這些信道中的一個信道。要不然,在程序步112的檢驗可以省略使一個新鍵碼總是分派到這些信道中的一個信道,只要一個以上的信道些條件,即只要至少有一個樂音信號產(chǎn)生信道產(chǎn)生其音色與從那時起產(chǎn)生的樂音信號的音色相同的樂音信號,並且該信道的轉(zhuǎn)存數(shù)據(jù)DMP小于轉(zhuǎn)存極限數(shù)據(jù)DMPLMT。
(2)在上述的具體實現(xiàn)中,可以產(chǎn)生相同音色的樂音信號的樂音信號產(chǎn)生信道的最大數(shù)目在程序步120受到最大發(fā)音數(shù)數(shù)據(jù)MAXCH的限制,然而這個限制可以省略,這樣相同音色的樂音信號能產(chǎn)生多到樂音信號產(chǎn)生信道的數(shù)目。
(3)本具體實現(xiàn)有一個在圖6A中的程序步7中的判定所規(guī)定的限制當(dāng)一個新鍵碼KC分配到同音色的樂音信號產(chǎn)生信道時,轉(zhuǎn)存數(shù)據(jù)DMP的值必須小于或等于轉(zhuǎn)存極限數(shù)據(jù)。然而,這個限制可以省略。此外,雖然不同的轉(zhuǎn)存極限數(shù)據(jù)DMPLMT被用于在該具體實現(xiàn)中的每個音色,但一公共的轉(zhuǎn)存極限數(shù)據(jù)可以用于全部音色。
(4)該具體實現(xiàn)具有16個通信信道(邏輯信道)和12個樂音信號產(chǎn)生信道。然而,這些信道的數(shù)目不限于此,可以任意指定。
(5)在上述具體實現(xiàn)中,當(dāng)鍵下壓時轉(zhuǎn)存數(shù)據(jù)DMP(i)置到“FFH”,當(dāng)鍵釋放時置到“7FH”,而不管音色如何。然而,這些值可以按照要產(chǎn)生的樂音信號的音色改變。
(6)上述的具體實現(xiàn)是個把發(fā)明用到不帶鍵盤的樂音信號產(chǎn)生裝置的例子。然而,本發(fā)明可以用到帶有像鍵盤這樣的演湊操作裝置的電子樂器。
因此,本發(fā)明僅由附后的權(quán)利要求范圍所限制。
權(quán)利要求
1.一種樂音產(chǎn)生控制裝置,它包括帶有多個產(chǎn)生樂音信號的、按照加到每一樂音信號產(chǎn)生信道的音高信息控制樂音信號產(chǎn)生的並按著音色參數(shù)控制樂音信號音色的樂音信號產(chǎn)生信道的樂音信號產(chǎn)生裝置;儲存音色控制參數(shù)的音色參數(shù)存儲裝置;輸進(jìn)代表樂音信號音高的第一信息並輸進(jìn)代表樂音信號音色的第二信息的輸入裝置;根據(jù)預(yù)先確定的規(guī)則選擇若干樂音信號產(chǎn)生信道的一個信道並把第一信息分配到所選擇的樂音信號產(chǎn)生信道的分配裝置;輸出裝置用于把所分配的第一信息送到樂音信號產(chǎn)生裝置以第一信息控制由所選的樂音信號產(chǎn)生信道的樂音信號的產(chǎn)生,並用于提給音色參數(shù)控制儲存裝置與第二信息相應(yīng)的音色控制參數(shù)以控制樂音信號的音色;輸出禁止裝置用于當(dāng)?shù)诙畔⒋淼囊羯c在選定的樂音信號產(chǎn)生信道中事前產(chǎn)生的樂音信號的音色相同時禁止向樂音信號產(chǎn)生裝置輸出音色控制參數(shù)。
2.一種在權(quán)利要求1中所定義的樂音產(chǎn)生控制裝置它還包括音色信息存儲裝置它有多個儲存區(qū)域,其中各個一一對應(yīng)各個樂音信號產(chǎn)生信道;它更新代表按照第一信息分配在各個樂音信號產(chǎn)生信道中產(chǎn)生的樂音信號音色的音色信息優(yōu)先分配控制裝置它控制分配裝置使得初級信息分配到事先產(chǎn)生其音色與二次信息的音色相同的樂音信號的樂音信號產(chǎn)生信道。
3.一種在權(quán)利要求2中定義的樂音產(chǎn)生控制裝置,其中所說的優(yōu)先分配控制裝置測量從鍵下壓或鍵釋放到經(jīng)過的時間以給出隨時間減小的轉(zhuǎn)存數(shù)據(jù),而且該裝置首先檢索其轉(zhuǎn)存數(shù)據(jù)為0並已經(jīng)產(chǎn)生與從當(dāng)時起產(chǎn)生的樂音信號的音色具有相同音色的樂音信號的樂音信號產(chǎn)生信道其中所說的優(yōu)先分配控制裝置把第一信息分配到若干樂音信號產(chǎn)生信道中首先被檢索的一個。
4.一種在權(quán)利要求3中所定義的樂音信號產(chǎn)生控制裝置,其中所說的優(yōu)先分配控制裝置其次檢索正在產(chǎn)生與從當(dāng)時起要產(chǎn)生的樂音信號的音色相同的樂音信號並且其轉(zhuǎn)存數(shù)據(jù)小于一預(yù)先確定的值並在被檢索的信道的轉(zhuǎn)存數(shù)據(jù)中為最小的樂音信號產(chǎn)生信道,所說的優(yōu)先控制裝置把第一信息分配給在第二次被檢索到樂音信號產(chǎn)生信道。
5.一種在權(quán)利要求4中定義的樂音產(chǎn)生控制裝置,其中所說的優(yōu)先分配控制裝置第三次檢索這樣的信道,它與釋放鍵有關(guān),其轉(zhuǎn)存數(shù)據(jù)是最小且與樂音信號的音色無關(guān)所說的優(yōu)先控制裝置把第一信息分配給在第三次檢索到樂音信號產(chǎn)生信道。
6.一種在權(quán)利要求5中所定義的樂音產(chǎn)生控制裝置,其中所說的優(yōu)先分配控制裝置第四次檢索與一下壓鍵有關(guān)的其轉(zhuǎn)存數(shù)據(jù)最小並與音色和與樂音信號產(chǎn)生信道有關(guān)鍵的狀態(tài)無關(guān)的樂音信號產(chǎn)生信道,所說的優(yōu)先分配控制裝置把初級信息分配給在第四次檢索到的樂音信號產(chǎn)生信道。
7.一種權(quán)利要求1中所定義的樂音產(chǎn)生控制裝置,其中能產(chǎn)生相同音色樂音的樂音信號產(chǎn)生信道的數(shù)目是受預(yù)先確定的最大發(fā)音信道數(shù)的限制。
8.一種權(quán)利要求1中所定義的樂音產(chǎn)生控制裝置,其中所說的輸入裝置含有一個鍵盤。
9.一種權(quán)利要求4中所定義的樂音產(chǎn)生控制裝置,其中所說的優(yōu)先分配控制裝置當(dāng)產(chǎn)生相同音色樂音的樂音信號產(chǎn)生信道的數(shù)目小于一預(yù)先確定的值時就按另一檢索規(guī)則檢索一新的樂音信號產(chǎn)生信道。
10.一種權(quán)利要求9中所定義的樂音產(chǎn)生控制裝置,其中所說的預(yù)先確定的值是2。
11.一種權(quán)利要求3中所定義的樂音產(chǎn)生控制裝置,其中所說的轉(zhuǎn)存數(shù)據(jù)是由從預(yù)先確定的初始值遞減計數(shù)定時中斷信號來測量的。
12.一種在權(quán)利要求11中所定義的樂音產(chǎn)生控制裝置,其中所說的轉(zhuǎn)存數(shù)據(jù)當(dāng)鍵下壓時置到“FFH”當(dāng)鍵是釋放時,置為“7FH”。
13.一種權(quán)利要求4中所定義的樂音產(chǎn)生控制裝置,其中所說的預(yù)先確定值是為每個音色設(shè)置的。
14.一種在權(quán)利要求4中定義的樂音產(chǎn)生控制裝置,其中所說的預(yù)先確定值對全部音色是相同的。
全文摘要
一個包含多個樂音信號產(chǎn)生信道的樂音產(chǎn)生控制裝置,其中每個信道都產(chǎn)生其音高由音高信息指定,其音色由音色信息決定的樂音信號。這些音高和音色信息被送到由預(yù)先確定的規(guī)則選出的樂音信號產(chǎn)生信道。規(guī)則之一是新里入的鍵碼分配到一直產(chǎn)生其音色與新進(jìn)鍵碼的音色相同的樂音信號的樂音信號產(chǎn)生信道。這樣,音色控制參數(shù)不必傳送到這個信道,這就省去了傳送需要的時間,使得處理加快。也用了其他一些類似的規(guī)則產(chǎn)生了類似的優(yōu)點。
文檔編號G10H7/00GK1036282SQ8910124
公開日1989年10月11日 申請日期1989年3月8日 優(yōu)先權(quán)日1988年3月8日
發(fā)明者近藤昌夫, 石田隆 申請人:雅馬哈株式會社