JPH08179768A - 発音チャンネル割当装置 - Google Patents

発音チャンネル割当装置

Info

Publication number
JPH08179768A
JPH08179768A JP6336202A JP33620294A JPH08179768A JP H08179768 A JPH08179768 A JP H08179768A JP 6336202 A JP6336202 A JP 6336202A JP 33620294 A JP33620294 A JP 33620294A JP H08179768 A JPH08179768 A JP H08179768A
Authority
JP
Japan
Prior art keywords
channel
tone
priority
register
release
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP6336202A
Other languages
English (en)
Other versions
JP3567293B2 (ja
Inventor
Shigeru Matsuyama
茂 松山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP33620294A priority Critical patent/JP3567293B2/ja
Publication of JPH08179768A publication Critical patent/JPH08179768A/ja
Application granted granted Critical
Publication of JP3567293B2 publication Critical patent/JP3567293B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 特徴的なエンベロープ形状等の、その楽音の
音色の特徴を考慮した発音割り当てを行うことができる
発音チャンネル割当装置を実現する。 【構成】 互いに異なる音色の楽音を同時に発生可能な
電子楽器において、各音色を表わす楽音パラメータにリ
リース優先フラグRPFを付与し、エンベロープのリリ
ース形状に特徴がある音色のリリース優先フラグRPF
は「1」としておき、全ての発音チャンネルが発音を行
っている際に新たな楽音を発音しなければならない場
合、リリース優先フラグRPFが「1」の音色の楽音を
発音している発音チャンネルには、該新たな楽音の発音
を割り当てないようにし、楽音の音色の特徴を充分生か
すようにした。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、互いに異なる音色の楽
音を複数同時発音する電子楽器に用いて好適な発音チャ
ンネル割当装置に関する。
【0002】
【従来の技術】従来より、同時発音チャンネルの数が鍵
の数より少ない電子楽器においては、全ての発音チャン
ネルが楽音を発生している最中に新たな押鍵がなされた
場合、この新たな押鍵に対応して発音すべき発音チャン
ネルを割り当てる発音チャンネル割当装置を備えてい
る。このような割り当てはトランケート処理と呼ばれ、
従来、この種の装置によるトランケート処理では、全て
の発音チャンネルの内、最も減衰の進んだエンベロープ
レベルの楽音を発生している発音チャンネルへ新たに押
鍵された鍵の楽音発生をアサインしたり、最も古く離鍵
された発音チャンネルへ新たに押鍵された鍵の楽音発生
をアサインする方式などが知られている。
【0003】
【発明が解決しようとする課題】ところで、上述した従
来の発音チャンネル割当装置にあっては、全ての発音チ
ャンネルが発音状態の時に新たな押鍵があると、一意的
にエンベロープレベルが最も低い楽音、あるいは最古離
鍵された鍵の楽音を発音している発音チャンネルへ新押
鍵に対応する楽音の発生を割り当てている。また、近年
では、音色割り当てされた発音チャンネル(以下、これ
を音色チャンネルと称す)毎に付与された優先順位に従
って楽音を発生する、所謂、マルチティンバー発音チャ
ンネルが多用されてきており、こうした発音チャンネル
にあっては、例えば、通常の減衰波形とは異なり、リリ
ース波形が比較的長い場合や、リリース領域で2段減衰
する等の特徴的なエンベロープ形状の楽音を、トランケ
ートさせず優先的に発音継続させることができないとい
う弊害がある。
【0004】結局、従来の発音チャンネル割当装置で
は、特徴的なエンベロープ形状等の、その楽音の音色の
特徴を考慮した発音チャンネル割り当てすることができ
ないという問題がある。そこで本発明は、特徴的なエン
ベロープ形状等の、その楽音の音色の特徴を考慮した発
音チャンネル割り当てを行うことができる発音チャンネ
ル割当装置を提供することを目的としている。
【0005】
【課題を解決するための手段】上記目的を達成するた
め、請求項1に記載の発明では、各発音チャンネル毎に
アサインされる音色に対応した楽音パラメータを記憶す
る発音チャンネル情報記憶手段と、前記各発音チャンネ
ルの全てが前記アサインされた音色の楽音を発生してい
る最中に新たな押鍵が発生した場合、前記発音チャンネ
ル情報記憶手段から各発音チャンネル毎にアサインされ
る音色の楽音パラメータに基づいて最も消音に適した楽
音を発生している発音チャンネルを検出する発音チャン
ネル検出手段と、この発音チャンネル検出手段によって
検出された発音チャンネルへ新たな押鍵に対応した楽音
の発生を指示する楽音発生指示手段とを具備することを
特徴とする。
【0006】請求項2に記載の発明によれば、前記楽音
パラメータは、リリース中の発音を優先させるか否かを
表わす優先フラグを備え、前記発音チャンネル検出手段
は、前記優先フラグが発音優先を表わす音色の楽音を発
生させている発音チャンネルより優先フラグが発音優先
を表わさない音色の楽音を発生させている発音チャンネ
ルを優先的に検出することを特徴とする。また、請求項
3に記載の発明によれば、前記発音チャンネル検出手段
は、前記優先フラグが発音優先を表わす音色の楽音を発
生させている発音チャンネルであっても、該楽音のエン
ベロープが単純に減衰するのみとなった場合には、前記
優先フラグが発音優先を表わしていない音色の楽音を発
生させている発音チャンネルと該発音チャンネルをみな
して前記検出を行うことを特徴とする。さらに、請求項
4に記載の発明では、前記音色の楽音のリリースは複数
の段階からなり、前記楽音パラメータは、前記各リリー
ス段階に対応する発音優先フラグを含んでいることを特
徴とする。
【0007】
【作用】本発明では、発音チャンネル情報記憶手段が各
発音チャンネル毎にアサインされる音色に対応した楽音
パラメータを記憶しておき、各発音チャンネルの全てが
前記アサインされた音色の楽音を発生している最中に新
たな押鍵が発生した場合、発音チャンネル検出手段が発
音チャンネル情報記憶手段から各発音チャンネル毎にア
サインされる音色の楽音パラメータに基づいて最も消音
に適した楽音を発生している発音チャンネルを検出し、
楽音発生指示手段がこの発音チャンネル検出手段によっ
て検出された発音チャンネルへ新たな押鍵に対応した楽
音の発生を指示する。これにより、特徴的なエンベロー
プ形状等の、その楽音の音色の特徴を考慮した発音チャ
ンネル割り当てを行うことが可能になる。
【0008】
【実施例】以下、図面を参照して本発明の実施例につい
て説明する。 A.第1実施例 (1)実施例の構成 図1は、本発明の第1実施例を適用した電子楽器の構成
を示すブロック図である。この図において、1は鍵盤部
であり、各鍵毎の押離鍵操作および押離鍵速度を検出
し、検出した押離鍵操作に対応したキーオン信号、キー
ナンバおよびキーオフ信号を発生すると共に、押離鍵速
度に対応したベロシティ情報を発生する。2は楽器パネ
ル(図示略)に配設される各種スイッチやホイール等の
操作子から構成される操作部であり、各種スイッチ操作
に応じたスイッチ信号およびホイール操作に対応する操
作子信号を発生する。
【0009】なお、この操作部2に配設される各種スイ
ッチの内には、後述する発音チャンネル部8の各発音チ
ャンネル毎に音色設定するスイッチや、音色割当された
発音チャンネルの発音優先順位を決めるスイッチ等があ
る。3は楽器各部を制御するCPUである。このCPU
3では、後述する発音チャンネル決定処理を実行し、優
先順位が付与された各音色の楽音や、特徴的なエンベロ
ープ形状を持つ楽音等、その楽音の属性を考慮した発音
割当を実現しており、その動作については追って説明す
る。4は、上記CPU3によってロードされる各種制御
プログラムを記憶するプログラムROMである。5は音
色テーブルTCTBL等を記憶するデータROMであ
る。
【0010】ここで、図2を参照して音色テーブルTC
TBLの構成について説明しておく。音色テーブルTC
TBLは、図示されていない音色スイッチにより選択指
定される各音色番号毎の属性RPF〜RR2から形成さ
れている。これら属性の内、リリース優先フラグRPF
は、トランケート時に優先して発音を継続させるか否か
を識別するものであり、当該フラグRPFが「1」とな
る音色が割り当てられた発音チャンネルでは発音が優先
される。波形番号WNは、音色番号に対応して波形メモ
リ(図示略)に記憶される波形内容を指定する。なお、
この実施例では、波形メモリは後述する発音チャンネル
部8内部に設ける態様としているが、これに替えてデー
タROM5の所定記憶エリアに波形信号を記憶する態様
としても良い。
【0011】アタック目標値AT〜リリース2レートR
R2は、それぞれADSR型エンベロープ制御パラメー
タであり、その一例を図6(イ)に図示する。この図か
ら判るように、ノートオン(キーオン)からアタック目
標値ATまでをアタックレートATで立ち上がらせ、こ
の後にディケイ目標値までをディケイレートDRで減衰
させる。続いて、サステイン目標値までサステインレー
トSRでレベル保持する過程でノートオフ(キーオフ)
された時に、リリース1目標値RT1までリリース1レ
ートRT1に従って変化させ、この後、リリース2目標
値RT2までリリース2レートRT2に従って変化させ
る2段過程を経て消音させる。こうした2段過程による
リリース制御は、例えば、ピアノ特有のエンベロープ形
状の楽音を生成し得る。なお、通常のエンベロープ制御
では、図6(ロ)に示す形態でエンベロープ波形を制御
することになり、この場合、リリース2目標値RT2お
よびリリース2レートRT2が省略される。
【0012】次に、再び図1を参照して実施例の構成に
ついて説明を進める。図1において、6はCPU3の各
種演算結果やレジスタ値/フラグ値、あるいは後述する
発音チャンネルテーブルTGTBLやチャンネルテーブ
ルCHTBLが一時記憶されるワークRAMである。こ
のワークRAM6には、図3に示すレジスタ構成にて形
成されるチャンネルテーブルCHTBLが設けられてお
り、演奏パート毎にアサインされる音色番号がテーブル
形式で格納されている。この実施例が外部から入力され
る演奏信号に応じて自動演奏する場合には、このテーブ
ルCHTBLにセットされる各演奏パートの音色番号に
従って上述した音色テーブルTCTBLが参照され、当
該音色番号に対応するリリース優先フラグRPF,波形
番号WNおよびエンベロープ制御パラメータAT〜RR
2に基づくエンベロープ制御を後述する発音チャンネル
部8に指示するようになっている。
【0013】さらに、ワークRAM6には、図4に示す
レジスタ構成からなる発音チャンネルテーブルTGTB
Lが設けられている。発音チャンネルテーブルTGTB
Lには、発音チャンネル部8の発音チャンネル(発音チ
ャンネル)毎に与えられる楽音制御パラメータNOT
(n)〜EVP(n)が格納されており(但し、nは発
音チャンネル番号を示す)、この実施例の場合、32音
の同時発音チャンネルにそれぞれ対応する楽音制御パラ
メータNOT(n)〜EVP(n)が一時記憶される。
【0014】これらパラメータの内、NOT(n)は押
鍵された鍵のキーナンバ、あるいはMIDI入力される
ノートナンバである。CH(n)演奏パート番号(音色
に対応)、KOF(n)はキーオン時(あるいは演奏信
号入力時のノートオン時)に「1」となる押鍵フラグで
ある。RPF(n)は、演奏パート番号CH(n)に対
応する音色に割り付けられたリリース優先フラグRPF
である。EVL(n),EVS(n),EVR(n)お
よびEVP(n)は、現時点におけるエンベロープ制御
値が順次格納されるレジスタであり、それぞれエンベロ
ープレベル、エンベロープステップ、エンベロープレー
トおよびエンベロープ目標値を表す。
【0015】次いで、再び図1に戻り、実施例の構成に
ついて説明を進める。図1において、7は演奏信号入出
力インタフェース回路から構成される外部入力部であ
り、例えば、外部シーケンサ等から供給される演奏信号
をバスBを介してCPU3へ供給したり、CPU3によ
って生成される演奏信号を外部演奏楽器へ出力する。演
奏信号は、例えば、図5に図示するように、ノートオン
/オフおよび演奏パート番号を表すステータスバイトS
T、ノート番号を表すデータ1バイトDATA1および
ベロシティを表すデータ2バイトDATA2の3バイト
・シリアルデータから形成される。
【0016】音源部8は、周知の波形メモリ読みだし方
式で構成される波形発生部(図示略)とエンベロープ生
成部とからなる。音源部8では、波形発生部がCPU3
から供給される波形番号WNに対応する波形信号を波形
メモリから読み出す一方、エンベロープ生成部がCPU
3によって発音チャンネル割当された各発音チャンネル
毎に、発音チャンネルテーブルTGTBLにセットされ
る楽音制御パラメータに基づいて時分割に波形信号をエ
ンベロープ制御するよう構成されている。なお、この実
施例において、発音チャンネル部8は、32音の同時発
音チャンネル(以下、これをチャンネルと記述する場合
もある。)を備えている。9は、発音チャンネル部8か
ら出力される楽音波形をアナログの楽音信号に変換して
次段のサウンドシステム10に供給するD/A変換部で
ある。サウンドシステム10は、D/A変換部9から出
力される楽音信号を増幅して次段のスピーカSPから楽
音として発音させる。尚、本実施例の電子楽器において
は、演奏パートの発音優先順位が設定されており、図7
のパート優先順位がこれにあたる。このパート優先順位
とは、例えば、リズム楽器のパートと和音楽器のパート
であれば、リズム楽器の優先順位が高く、いずれか一方
を消音しなければならない場合、和音楽器のパートが消
音されるというものである。
【0017】上記構成による実施例にあっては、図7に
示す発音チャンネル割当順位でトランケートすることに
よって、「優先順位が付与された各音色の楽音や、特徴
的なエンベロープ形状を持つ楽音等」、その楽音の属性
を考慮した発音チャンネル割り当てを実現することを要
旨としており、以下、この割当順位について概説してお
く。図7に示す割当順位は、全ての発音チャンネルが発
音中である時に新たなキーオン(あるいはノートオン)
が発生した時、リリース中の発音チャンネルの内で最も
優先順位の低いパートが割り当てられたチャンネルXD
Cと、キーオン(あるいはノートオン)中の発音チャン
ネルの内で最も優先順位の低いパートが割り当てられた
チャンネルYDCとをサーチし、これらチャンネルXD
C,YDCの優先順位の優劣に対応する下記3ケースに
おいて、チャンネルXDC,YDCのいずれをトランケ
ートするかを図示したものである。すなわち、
【0018】〔ケース1〕:チャンネルXDC≦チャン
ネルYDC(すなわちチャンネルYDCの方が優先順位
が高い)の場合には、チャンネルYDCが割当順位5位
となり、チャンネルXDCが割当順位1位となるから、
割当順位の低いリリース中のチャンネルXDCがトラン
ケートされる。 〔ケース2〕:チャンネルXDC≧チャンネルYDC
(すなわちチャンネルXDCの方が優先順位が高い)で
あって、チャンネルXDCのリリース優先フラグRPF
が「0(OFF)」の場合には、チャンネルXDCが割
当順位2位となり、チャンネルYDCが割当順位3位と
なるから、割当順位の低いリリース中のチャンネルXD
Cがトランケートされる。 〔ケース3〕:チャンネルXDC≧チャンネルYDC
(すなわちチャンネルXDCの方が優先順位が高い)で
あって、チャンネルXDCのリリース優先フラグRPF
が「1(ON)」の場合には、チャンネルXDCが割当
順位4位となり、チャンネルYDCが割当順位3位とな
るから、割当順位の低いキーオン中のチャンネルYDC
がトランケートされる。
【0019】なお、全ての発音チャンネルが発音中であ
る時に新たなキーオン(あるいはノートオン)が発生し
た時、リリース中にあるチャンネルが存在しない場合に
は、一意的にキーオン(あるいはノートオン)中のチャ
ンネルの内で最も優先順位の低いチャンネルYDCをト
ランケートする。一方、キーオン(あるいはノートオ
ン)中にあるチャンネルが存在しない場合には、一意的
にリリース中のチャンネルの内で最も優先順位の低いチ
ャンネルXDCをトランケートする。
【0020】(2)第1実施例の動作 次に、こうしたルールに基づいて発音チャンネル割当を
行う第1実施例の動作について図8〜図14を参照して
説明する。ここでは、まず、図8を参照してメイン処理
ルーチンの動作について説明した後、このメイン処理ル
ーチンにおいてコールされる各処理ルーチンの動作を図
9〜図14を参照して順次説明する。
【0021】メイン処理ルーチンの動作(全体動作) この実施例による電子楽器に電源が投入されると、CP
U3はデータROM5から制御プログラムをロードして
図8に示すメイン処理ルーチンを起動し、ステップSA
1に処理を進める。ステップSA1では、ワークRAM
6に格納されるパートテーブルCHTBLやチャンネル
テーブルTGTBLの他、各種レジスタ/フラグ類をリ
セットするイニシャライズがなされ、次のステップSA
2に処理を進める。ステップSA2では、楽器パネル面
に配設される各種スイッチ操作に応じた設定処理、例え
ば、音色スイッチによる音色設定、あるいは演奏パート
毎の音色割当などがなされる。
【0022】次いで、ステップSA3に進むと、CPU
3は押離鍵操作に対応したキーオン/オフイベントに基
づく発音/消音を指示する鍵処理が行われる。ここで
は、特に、キーオンイベントが重複した時にチャンネル
決定処理ルーチン(後述する)に基づき、前述した割当
ルールに従ったチャンネル割り当てが行われる。そし
て、続く、ステップSA4では、演奏入力に対応したノ
ートオン/オフイベントに基づく発音/消音指示がなさ
れる。なお、このステップSA4においても、ステップ
SA3と同様に、後述する発音チャンネル決定処理ルー
チンに基づくトランケートが行われ、以後、ストップス
イッチが操作される迄、ステップSA2〜SA4を繰り
返して楽音を生成する。
【0023】イニシャル処理ルーチンの動作 電源投入後、CPU3の処理がステップSA1に進む
と、図9に示すイニシャル処理ルーチンが実行され、ス
テップSB1に処理を進める。ステップSB1では、ル
ープカウンタ値が格納されるレジスタNUMの値をゼロ
リセットし、続く、ステップSB2では、このレジスタ
NUMの値によって指定されるレジスタELV(NU
M)の内容をゼロリセットする。次いで、ステップSB
3に進むと、レジスタNUMの値が「31」以上である
か、すなわち、前述したチャンネルテーブルTGTBL
におけるエンベロープレベルEVL(NUM)が全てイ
ニシャライズされたか否かを判断する。
【0024】ここで、全発音チャンネルにおけるエンベ
ロープレベルEVL(NUM)がゼロリセットによりイ
ニシャライズされた場合には、判断結果が「YES」と
なり、このルーチンを完了する。一方、そうでない場合
には、判断結果が「NO」となり、ステップSB4へ進
み、レジスタNUMの値をインクリメントして歩進させ
た後、上記ステップSB2へ処理を戻し、以後、32チ
ャンネル分のエンベロープレベルEVL(NUM)が全
てイニシャライズされるまでステップSB2〜SB4を
繰り返す。
【0025】鍵処理ルーチンの動作 こうして、各発音チャンネルの初期設定がなされた後、
ステップSA2(図8参照)のスイッチ処理にて音色設
定等が行われると、CPU3はステップSA3に進み、
図10に示す鍵処理ルーチンを実行し、ステップSC1
に処理を進める。
【0026】(a)押鍵時の動作 ステップSC1では、押鍵操作に応じたキーオンイベン
トが発生したか否かを判断する。ここで、演奏者が所定
の鍵を押鍵したとする。そうすると、キーオンイベント
が発生してこのステップSC1の判断結果は「YES」
となり、次のステップSC2へ処理を進める。ステップ
SC2では、押鍵された鍵のキーナンバに対応した音高
の楽音を発生すべく、発音チャンネルを決定するチャン
ネル決定処理ルーチン(後述する)を実行する。このチ
ャンネル決定処理ルーチンでは、全発音チャンネルが発
音中である時に新押鍵された場合、前述した割当順位に
従ってトランケートする。
【0027】そして、この発音チャンネル決定処理ルー
チンによってトランケートすべきチャンネルが定められ
ると、CPU3は次のステップSC3に処理を進める。
なお、チャンネル決定処理ルーチンでは、チャンネル割
当したチャンネルの番号(発音チャンネル番号)をレジ
スタDCOにセットするようにしている。次いで、ステ
ップSC3に進むと、このレジスタDCOの値に対応す
るチャンネルテーブルTGTBLのレジスタNOT(D
CO)に押鍵された鍵のキーナンバをセットする。
【0028】次に、ステップSC4に進むと、チャンネ
ルテーブルTGTBLのレジスタCH(DCO)に
「1」をセットする。これは、押鍵操作された鍵の楽音
が演奏パート番号「1」の優先順位となるからである。
続いて、ステップSC5に進むと、押鍵フラグを記憶す
るレジスタKOF(DCO)に「1」をセットして押鍵
状態にある旨を表わし、続く、ステップSC6では演奏
パート番号「1」にアサインされた音色番号のリリース
優先フラグRPFを、前述した音色テーブルTCTBL
から読み出し、これをチャンネルテーブルTGTBLの
レジスタRPF(DCO)にセットする。
【0029】次いで、ステップSC7に進むと、演奏パ
ート番号「1」にアサインされた音色番号に対応する各
種エンベロープ制御パラメータAT〜RR2を、音色テ
ーブルTCTBLから順次読み出し、これらパラメータ
AT〜RR2に応じて経時変化するエンベロープ情報E
LV(DCO)〜EVP(DCO)を生成してチャンネ
ルテーブルTGTBLに書き込む一方、レジスタDCO
の値に対応する発音チャンネル(以下、これをチャンネ
ルDCOと記す。番号DCOの発音チャンネルを意味す
る)へ発音指示する。これにより、発音チャンネル部8
ではチャンネルDCOがチャンネルテーブルTGTBL
にセットされたエンベロープ情報ELV(DCO)〜E
VP(DCO)に従って楽音を生成する。
【0030】(b)離鍵時の動作 次に、押鍵されていた鍵が離鍵操作されると、上述した
ステップSC1の判断結果が「NO」となり、ステップ
SC8に処理を進める。ステップSC8では、離鍵され
たか否かを判断し、この場合、離鍵操作されることで判
断結果が「YES」となり、次のステップSC9に進
む。ステップSC9では、離鍵された鍵に対応するキー
ナンバが割り当てられ、かつ、演奏パート番号「1」と
されたチャンネルをチャンネルテーブルTGTBLを参
照して検索し、検索したチャンネル番号をレジスタDC
Oにセットする。そして、ステップSC10に進むと、
CPU3はレジスタKOF(DCO)に記憶される押鍵
フラグを「0」にする。これにより、押鍵された鍵がキ
ーオフ状態に設定され、続く、ステップSC11では、
このキーオフ状態に基づきチャンネルDCOへ消音を指
示する。消音指示に際しては、当該チャンネルに与える
エンベロープ制御情報ELV(DCO)〜EVP(DC
O)も強制的にゼロリセットされる。
【0031】このように、鍵処理ルーチンでは、押鍵操
作された場合には、後述するチャンネル決定処理ルーチ
ンによりトランケートされたチャンネルに対して押鍵さ
れた鍵のキーナンバをセットすると共に、演奏パート番
号「1」を割り付ける。そして、この演奏パート番号
「1」に割り付けられた音色に対応するエンベロープ制
御情報ELV(DCO)〜EVP(DCO)を発生し、
これらエンベロープ制御情報ELV(DCO)〜EVP
(DCO)を発音チャンネル部8に供給して発音指示す
る。一方、離鍵操作された時には、離鍵された鍵のキー
ナンバに対応するチャンネルを検索し、検索したチャン
ネルへ消音指示すると共に、エンベロープ制御情報EL
V(DCO)〜EVP(DCO)をゼロリセットする。
なお、この鍵処理ルーチンにおいて、押離鍵操作がなさ
れず、キーオン/キーオフイベントが生成されない場合
には、何等処理されることなくこのルーチンを終了す
る。
【0032】外部入力処理ルーチンの動作 次に、外部入力部7(図1参照)を介して供給される演
奏信号に応じて発音/消音制御する外部入力処理ルーチ
ンの動作について図11を参照して説明する。上述した
鍵処理ルーチンが完了すると、CPU3はステップSA
4(図8参照)に進み、これにより図11に示す鍵処理
ルーチンが実行されてステップSD1に処理を進める。
【0033】(a)ノートオン時の動作 まず、ステップSD1では、外部入力部7(図1参照)
を介して、例えば、外部シーケンサあるいは電子楽器か
らの演奏信号入力の有無を判断する。ここで、演奏信号
入力が無い場合には、判断結果が「NO」となり、この
ルーチンを終了してメイン処理ルーチンへ復帰する。一
方、MIDI入力が有ると、ここでの判断結果が「YE
S」となり、次のステップSD2に処理を進める。ステ
ップSD2では、入力された演奏信号のステータスバイ
トSTが「ノートオン」を表わすデータであるか否かを
判断する。ここで、「ノートオン」である場合には、こ
のステップSD2の判断結果が「YES」となり、ステ
ップSD3へ処理を進める。
【0034】ステップSD3では、「ノートオン」に対
応するノート番号の楽音を発生すべく、発音チャンネル
を決定するチャンネル決定処理ルーチン(後述する)を
実行する。そして、このチャンネル決定処理ルーチンに
基づき、「ノートオン」すべきチャンネルがトランケー
トされると、CPU3は次のステップSD4に処理を進
める。そして、ステップSD4では、チャンネル決定処
理ルーチンの処理によりレジスタDCOにセットされた
チャンネル番号に従い、レジスタNOT(DCO)にノ
ート番号をセットする。なお、このノート番号は、例え
ば、演奏信号が3バイトシリアルデータで形成されてい
る場合、図5に図示するように、第2バイト目のデータ
に相当する。
【0035】次いで、ステップSD5に進むと、CPU
3は演奏信号のステータスバイトSTから抽出した演奏
パート番号を、チャンネルテーブルTGTBLのレジス
タCH(DCO)にセットする。続いて、ステップSD
6に進むと、押鍵フラグ(ノートオンフラグ)を記憶す
るレジスタKOF(DCO)に「1」をセットしてノー
トオン状態にある旨を表わす。そして、ステップSD7
に進むと、CPU3はレジスタCH(DCO)にセット
された演奏パート番号にアサインされた音色番号のリリ
ース優先フラグRPFを、前述した音色テーブルTCT
BLから読み出し、これをチャンネルテーブルTGTB
LのレジスタRPF(DCO)にセットする。
【0036】次に、ステップSD8に進むと、この演奏
パート番号にアサインされた音色番号に対応する各種エ
ンベロープ制御パラメータAT〜RR2を、音色テーブ
ルTCTBLから順次読み出し、これらパラメータAT
〜RR2に応じて経時変化するエンベロープ情報ELV
(DCO)〜EVP(DCO)を生成してチャンネルテ
ーブルTGTBLに順次書き込む一方、発音チャンネル
DCOへ発音指示する。これにより、音源部8では、チ
ャンネルDCOがチャンネルテーブルTGTBLにセッ
トされたエンベロープ情報ELV(DCO)〜EVP
(DCO)に従ってノートオンされた楽音を生成する。
【0037】(b)ノートオフ時の動作 次に、入力された演奏信号が「ノートオフ」であると、
上述したステップSD2の判断結果が「NO」となり、
ステップSD9に処理を進める。ステップSD9では、
演奏入力されたノート番号と演奏パート番号とが割り当
てられたチャンネルをチャンネルテーブルTGTBLか
ら検索し、検索したチャンネルの番号をレジスタDCO
にセットする。そして、この後、CPU3はステップS
D10に処理を進め、レジスタKOF(DCO)の押鍵
フラグ(ノートオンフラグ)を「0」にする。これによ
り、ノートオフ状態に設定され、続く、ステップSD1
1では、チャンネルDCOへ消音を指示する。消音指示
に際しては、当該チャンネルDCOに与えるエンベロー
プ制御情報ELV(DCO)〜EVP(DCO)も強制
的にゼロリセットする。
【0038】このように、外部入力処理ルーチンでは、
演奏入力が「ノートオン」の時、後述するチャンネル決
定処理ルーチンによりトランケートされたチャンネルに
対してノート番号をセットすると共に、演奏パート番号
を割り付ける。そして、この演奏パート番号が割り付け
られた音色に対応するエンベロープ制御情報ELV(D
CO)〜EVP(DCO)を発生し、これらエンベロー
プ制御情報ELV(DCO)〜EVP(DCO)に従っ
た楽音発生を発音チャンネル部8に指示する。一方、演
奏入力が「ノートオフ」の時には、ノートオフされたノ
ート番号および演奏パート番号が割り当てられたチャン
ネルの番号をチャンネルテーブルTGTBLから検索
し、検索したチャンネルDCOへ消音指示すると共に、
エンベロープ制御情報ELV(DCO)〜EVP(DC
O)をゼロリセットするようになっている。
【0039】チャンネル決定処理ルーチンの動作 次に、優先順位が付与された各音色の楽音や、特徴的な
エンベロープ形状を持つ楽音の属性を考慮して発音チャ
ンネルを割り当てるチャンネル決定処理ルーチンの動作
について図12〜図14を参照して説明する。CPU3
の処理が鍵処理ルーチンにおけるステップSC2(図1
0参照)、あるいは外部入力処理ルーチンにおけるステ
ップSD3(図11参照)に進むと、図12に示すチャ
ンネル決定処理ルーチンが実行され、ステップSE1に
処理を進める。
【0040】(a)空きチャンネルサーチ動作 ステップSE1では、ループカウンタ値がセットされる
レジスタNUMをゼロクリアし、続く、ステップSE2
では、レジスタEVL(NUM)の値が「0」であるか
否かを判断する。すなわち、レジスタNUMで指定され
るチャンネルが消音状態であるか否かを判断する。ここ
で、発音中であると、判断結果が「NO」となり、次の
ステップSE4に進む。ステップSE4では、レジスタ
NUMの値が「31」以上、つまり、全32チャンネル
分をサーチしたか否かを判断する。ここで、全32チャ
ンネル分のサーチがなされていない時には、判断結果が
「NO」となり、ステップSE5に進み、レジスタNU
Mに格納されるチャンネルの番号を1インクリメントし
て歩進させ、ステップSE2へ処理を戻す。これ以後、
CPU3は全チャンネル分のサーチが完了するまで上記
ステップSE2〜SE5を繰り返す。
【0041】こうして空きチャンネルサーチにおいて、
消音状態のチャンネルがサーチされると、上記ステップ
SE2の判断結果が「YES」となり、ステップSE3
に進む。ステップSE3に進むと、CPU3は、レジス
タNUMで指定される発音チャンネルが空きチャンネル
であるとして、この空きチャンネルに発音を割り当てる
べく、レジスタNUMに格納されるループカウンタ値を
チャンネル番号としてレジスタDCOに書き込む。これ
により、レジスタDCOの値に対応するチャンネルが新
押鍵(新ノートオン)に対応して割り当てられる。これ
に対し、全チャンネルが発音中にあり、空きチャンネル
が存在しない場合には、上記ステップSE4の判断結果
が「YES」となり、ステップSE6へ処理を進める。
【0042】(b)リリース中のチャンネルサーチ動作 次に、ステップSE6に進むと、レジスタXDCに「−
1」をセットする。このレジスタXDCには、リリース
中にある最も優先順位の低いチャンネルをサーチした結
果が一時記憶されるようになっており、この場合、未サ
ーチ状態を表わすフラグ値「−1」がセットされる。次
いで、ステップSE7では、レジスタNUMをゼロクリ
アし、続く、ステップSE8では、レジスタKOF(N
UM)が「0」、すなわち、レジスタNUMで指定され
るチャンネルがリリース中であるか否かを判断する。こ
こで、リリース中でなければ、判断結果が「NO」とな
り、ステップSE9に進み、全32チャンネル分のサー
チがなされたか否かを判断する。そして、全32チャン
ネル分のサーチが完了していない時には、ステップSE
10に進み、レジスタNUMに格納されるチャンネル番
号(ループカウンタ値)を1インクリメントして歩進さ
せ、上記ステップSE8に戻る。
【0043】そして、いま、例えば、レジスタNUMで
指定されるチャンネルがリリース中であったとする。そ
うすると、上記ステップSE8の判断結果が「YES」
となり、ステップSE11に処理を進める。ステップS
E11に進むと、CPU3はレジスタXDCの値が「−
1」より大であるか否か、すなわち、リリース中のチャ
ンネルをサーチした結果が当該レジスタXDCにセット
されているか否かを判断する。リリース中のチャンネル
をサーチした結果が当該レジスタXDCにセットされて
いない場合、つまり、リリース中のチャンネルを初めて
サーチした時には、ここでの判断結果が「NO」とな
り、ステップSE12に進む。ステップSE12では、
リリース中のチャンネルを初めてサーチした時のチャン
ネルの番号が格納されるレジスタNUMの値を、レジス
タXDCに書き込む。
【0044】この後、CPU3は再び上述したステップ
SE9を介して全32チャンネル分のサーチがなされた
か否かを判断し、サーチ完了していない時には、ステッ
プSE10にてレジスタNUMを歩進させて次のサーチ
に移行する。そして、次のサーチでリリース中のチャン
ネルが検出されると、ステップSE8の判断結果が「Y
ES」となり、ステップSE11に進む。この場合、ス
テップSE11では、レジスタXDCには先にサーチし
たリリース中のチャンネルの番号がセットされているか
ら、判断結果は「YES」となり、ステップSE13へ
処理を進める。
【0045】ステップSE13では、レジスタCH(X
DC)の値がレジスタCH(NUM)より大であるか否
か、すなわち、先にサーチされたリリースチャンネルに
割り当てられている演奏パート番号が、現在サーチされ
たリリースチャンネルに割り当てられている演奏パート
番号より大であるか否かを判断する。この実施例の場
合、演奏パート番号が小さい程、そのチャンネル番号に
付与される優先順位が低くなるので、上記ステップSE
13の判断は、「先にサーチされたリリースチャンネル
の優先順位が現在サーチされたリリースチャンネルの優
先順位より上であるか否か」を判断することに相当す
る。よって、先にサーチされたリリースチャンネルの優
先順位が現在サーチされたリリースチャンネルのそれよ
り上であると、この判断結果が「YES」となり、ステ
ップSE12に進み、先にサーチされたリリースチャン
ネルより優先順位の低い、現在サーチされたリリースチ
ャンネルのチャンネルの番号をレジスタXDCにセット
する。
【0046】これに対し、「先にサーチされたリリース
チャンネルの優先順位が現在サーチされたリリースチャ
ンネルの優先順位より下となる」場合には、ステップS
E13の判断結果は「NO」となり、上述したステップ
SE9へ処理を進める。このように、ステップSE6〜
SE13では、リリース中のチャンネルを順次サーチ
し、先にサーチしたチャンネルの優先順位と現在サーチ
したチャンネルの優先順位とを比較し、より低い優先順
位のチャンネルの番号をレジスタXDCに書き込んで更
新し、最終的にリリース中の最も優先順位の低いチャン
ネルがレジスタXDCに格納される。
【0047】(c)キーオン中のチャンネルサーチ動作 このようにして、リリース中の最も優先順位の低いチャ
ンネルXDCが定まると、CPU3は、図13に示すス
テップSE14に進む。ステップSE14では、レジス
タYDCに「−1」をセットする。レジスタYDCは、
キーオン中の最も優先順位の低いチャンネルをサーチし
た結果が一時記憶されるものであり、この時点では未サ
ーチ状態を表わすフラグ値「−1」がセットされる。次
いで、ステップSE15に進むと、チャンネルサーチ開
始にあたりレジスタNUMをゼロクリアする。
【0048】次にステップSE16では、レジスタKO
F(NUM)が「1」、すなわち、レジスタNUMで指
定されるチャンネルがキーオン(ノートオン)中である
か否かを判断する。ここで、キーオン中でなければ、判
断結果が「NO」となり、ステップSE17に進む。ス
テップSE17では、全32チャンネル分のサーチがな
されたか否かを判断する。そして、全32チャンネル分
のサーチが完了していない時には、判断結果が「NO」
となり、ステップSE18に進み、レジスタNUMを次
のチャンネルの番号に歩進させ、上記ステップSE16
に戻る。
【0049】ここで、例えば、レジスタNUMで指定さ
れるチャンネルがキーオン中であったとする。そうする
と、上記ステップSE18の判断結果が「YES」とな
り、ステップSE19に処理を進める。ステップSE1
9に進むと、CPU3はレジスタYDCの値が「−1」
より大であるか否か、すなわち、キーオン中のチャンネ
ルをサーチした結果が当該レジスタYDCにセットされ
ているか否かを判断する。そして、キーオン中のチャン
ネルを初めてサーチした時には、ここでの判断結果が
「NO」となり、ステップSE20に進む。ステップS
E20では、キーオン中のチャンネルを初めてサーチし
た時のチャンネルの番号が格納されるレジスタNUMの
値を、レジスタYDCに書き込む。
【0050】次いで、CPU3は再び上述したステップ
SE17を介して全32チャンネル分のサーチがなされ
たか否かを判断し、サーチが完了していない時には、ス
テップSE18においてレジスタNUMを歩進させる。
そして、このレジスタNUMの更新に応じてキーオン中
のチャンネルが検出されたとする。そうすると、ステッ
プSE16の判断結果が「YES」となり、ステップS
E19に進む。この場合、ステップSE19では、レジ
スタYDCに先にサーチしたキーオン中のチャンネルの
番号がセットされているから、判断結果は「YES」と
なり、次のステップSE21へ処理を進める。
【0051】ステップSE21では、レジスタCH(Y
DC)の値がレジスタCH(NUM)より大であるか否
か、すなわち、先にサーチされたチャンネルに割り当て
られている演奏パート番号が、現在サーチされたチャン
ネルに割り当てられている演奏パート番号より大である
か否かを判断する。本実施例の場合、前述したように、
演奏パート番号が小さい程、そのパート番号に付与され
る優先順位が低くなるので、上記ステップSE21の判
断は、「先にサーチされたチャンネルの優先順位が現在
サーチされたチャンネルの優先順位より上であるか否
か」を判断することになる。よって、先にサーチされた
チャンネルの優先順位が現在サーチされたチャンネルの
それより上であると、この判断結果が「YES」とな
り、ステップSE20に進み、先にサーチされたチャン
ネルより優先順位の低い、現在サーチされたチャンネル
の番号をレジスタYDCにセットする。
【0052】これに対し、「先にサーチされたチャンネ
ルの優先順位が現在サーチされたチャンネルの優先順位
より下となる」場合には、ステップSE21の判断結果
が「NO」となり、上述したステップSE17へ処理を
進める。このように、ステップSE14〜SE21で
は、キーオン中のチャンネルを順次サーチし、先にサー
チしたチャンネルの優先順位と現在サーチしたチャンネ
ルの優先順位とを比較し、より低い優先順位のチャンネ
ルの番号をレジスタYDCに書き込んで更新し、最終的
にキーオン中の最も優先順位の低いチャンネルがレジス
タYDCに格納される。
【0053】(c)トランケート処理 次に、上述したリリース中およびキーオン中のチャンネ
ルサーチ結果に基づいてなされるトランケート処理につ
いて図14に示すフローチャートを参照して説明する。 〔1〕チャンネルXDC≦チャンネルYDCの場合 この場合、リリース中の最も優先順位の低いチャンネル
の番号がレジスタXDCに格納され、キーオン中の最も
優先順位の低いチャンネルの番号がレジスタYDCに格
納されるから、図14に示すステップSE22およびス
テップSE23の判断結果は「YES」となり、ステッ
プSE24に処理を進める。
【0054】そして、ステップSE24では、レジスタ
CH(XDC)の値がレジスタCH(YDC)の値以下
であるか、つまり、リリース中のチャンネルにアサイン
されている演奏パートの方が低い優先順位であるかを判
断する。この例の場合、リリース中のチャンネルにアサ
インされている演奏パートの方がキーオン中のチャンネ
ルのものより低いので、判断結果は「YES」となり、
ステップSE25に進み、レジスタXDCに格納される
チャンネルの番号をレジスタDCOに格納する。これに
より、キーオン(ノートオン)中にあるチャンネルYD
C側の発音が継続され、割当順位1位のチャンネルXD
Cがトランケートされる。
【0055】〔2〕チャンネルXDC≧チャンネルYD
Cであって、チャンネルXDCのリリース優先フラグR
PFが「0(OFF)」の場合 この場合も、リリース中の最も優先順位の低いチャンネ
ルの番号がレジスタXDCに格納され、キーオン中の最
も優先順位の低いチャンネルの番号がレジスタYDCに
格納されるから、図14に示すステップSE22および
ステップSE23の両判断結果は共に「YES」とな
り、ステップSE24に処理を進める。そして、ステッ
プSE24では、リリース中のチャンネルにアサインさ
れている演奏パートの方が低い優先順位であるかを判断
するが、この例の場合、リリース中のチャンネル(XD
C)にアサインされている演奏パートの方がキーオン中
のチャンネル(YDC)のものより高いので、判断結果
は「NO」となり、ステップSE26に処理を進める。
【0056】次いで、ステップSE26に進むと、CP
U3はレジスタRPF(XDC)の値が「1」、つま
り、リリース中のチャンネルXDCに割り付けられたリ
リース優先フラグRPFが「1」であるか否かを判断す
る。この場合、リリース優先フラグRPFは「0(OF
F)」であるから、判断結果は「NO」となり、ステッ
プSE25へ処理を進め、レジスタXDCに格納される
チャンネルの番号をレジスタDCOに格納する。これに
より、キーオン(ノートオン)中にあるチャンネルYD
C側の優先順位が低くとも、リリース優先フラグRPF
が「0」となる通常のリリース制御を行っているチャン
ネルXDCがトランケートされる。
【0057】〔3〕チャンネルXDC≧チャンネルYD
Cであって、チャンネルXDCのリリース優先フラグR
PFが「1(ON)」の場合 この場合、リリース優先フラグRPFは「1(ON)」
であるから、上述したステップSE26の判断結果が
「YES」となり、ステップSE27へ処理を進め、レ
ジスタYDCに格納されるチャンネルの番号をレジスタ
DCOに格納する。これにより、リリース優先フラグR
PFが「1」となる特徴的なエンベロープ制御を行って
いるチャンネルXDCが発音を継続し、キーオン(ノー
トオン)中のチャンネルYDC側がトランケートされ
る。
【0058】〔4〕その他の場合 なお、前述したリリース中およびキーオン中のチャンネ
ルサーチ動作によって、リリース中にあるチャンネルが
サーチされなかった場合、すなわち、全てチャンネルが
キーオン(ノートオン)中である時には、上述したステ
ップSE22の判断結果が「NO」となり、ステップS
E27に進み、キーオン(あるいはノートオン)中のチ
ャンネルの内で最も優先順位の低いチャンネルYDCを
一意的にトランケートする。これに対し、全てチャンネ
ルがリリース中である時には、上述したステップSE2
3の判断結果が「NO」となり、ステップSE25に進
み、リリース中のチャンネルの内で最も優先順位の低い
チャンネルXDCを一意的にトランケートすることにな
る。
【0059】このように、第1実施例では、各チャンネ
ルに割り付けられた音色毎の演奏パート優先順位と、特
徴的なエンベロープ制御を識別するリリース優先フラグ
RPFとを勘案した割当順位に従ってトランケートする
ので、優先順位が付与された各音色の楽音や、特徴的な
エンベロープ形状を持つ楽音等、その楽音の属性を考慮
したチャンネル(発音)割り当てが可能となっている。
【0060】B.第2実施例 次に、本発明の第2実施例について説明する。この第2
実施例の構成は、上記第1実施例と同一の構成であるか
ら、その説明を省略する。上述した第1実施例において
は、全てのチャンネルが発音中に、新たなキーオン(あ
るいは入力信号に対応したノートオン)があると、リリ
ース中のチャンネルの内の最も優先順位の低いチャンネ
ルXDCとキーオン(ノートオン)中のチャンネルの内
の最も優先順位の低いチャンネルYDCとをサーチし、
これらチャンネルXDC,YDC間の優先順位や前述し
たリリース優先フラグRPFを勘案して両者の割当順位
を比較し、より低い割当順位のチャンネルを新たなキー
オン(ノートオン)に割り当てるトランケート処理を実
現している。
【0061】ところで、このような第1実施例のトラン
ケート処理においては、リリース優先フラグRPFが
「1(ON)」にセットされるチャンネル、すなわち、
図6(イ)に図示するような2段リリース過程を有する
特徴的なエンベロープ制御を行うチャンネルを優先的に
発音継続させるようにしている。しかしながら、リリー
ス優先フラグRPFが「1(ON)」にセットされるチ
ャンネルにおいて、エンベロープ波形レベルがゼロレベ
ルまで減衰し切っている状態では、発音を継続させる意
味合いが薄く、かえって、発音継続させることで、例え
ば、他の演奏上必要な音色の楽音がトランケートされて
しまう等の弊害が生じる虞も有り得る。そこで、第2実
施例では、このような弊害を回避すべく、リリース優先
フラグRPFが「1(ON)」にセットされるチャンネ
ルXDCであっても、そのエンベロープレベルが単純に
減衰するだけの状態に達している場合には、このチャン
ネルXDCをトランケートするようにしている。以下、
図15を参照して動作説明する。
【0062】図15は、第2実施例によるトランケート
処理を説明するためのフローチャートである。この図に
示すフローチャートが図14に示す第1実施例と異なる
点は、ステップSE26の次に、レジスタEVP(XD
C)に格納される値が「0」であるか否かを判断するス
テップSF1を設けたことにある。すなわち、このステ
ップSF1では、リリース優先フラグRPFが「1(O
N)」にセットされたチャンネルXDCのエンベロープ
目標値が「0」であるか否かを判断するものであり、以
下、このステップSD1が追加された第2実施例による
トランケート処理について詳述する。
【0063】前述した第1実施例と同様に、リリース中
およびキーオン中のチャンネルをサーチした結果が得ら
れると、CPU3は図15に示すトランケート処理を実
行し、ステップSE22に進む。ここで、リリース中に
あるチャンネルがサーチされなかった場合、すなわち、
全てチャンネルがキーオン(ノートオン)中である時に
は、判断結果が「NO」となり、ステップSE27に進
み、キーオン(あるいはノートオン)中のチャンネルの
内で最も優先順位の低いチャンネルYDCを一意的にト
ランケートする。一方、そうでない場合には、ステップ
SE23に進み、キーオン(ノートオン)中にあるチャ
ンネルがサーチされているか否かを判断し、ここで、全
てチャンネルがリリース中である時には、判断結果が
「NO」となり、ステップSE25に進み、リリース中
のチャンネルの内で最も優先順位の低いチャンネルXD
Cを一意的にトランケートする。
【0064】そして、リリース中およびキーオン中のチ
ャンネルがサーチされている時には、上記ステップSE
22,23の判断結果が「YES」となり、ステップS
E24に進む。ステップSE24では、レジスタCH
(XDC)の値がレジスタCH(YDC)の値以下であ
るか、つまり、リリース中のチャンネルにアサインされ
ている演奏パートの方が低い優先順位であるかを判断す
る。ここで、チャンネルXDC≦チャンネルYDCの場
合、すなわち、リリース中のチャンネルにアサインされ
ている演奏パートの方がキーオン中のチャンネルのもの
より低い時には、この判断結果が「YES」となり、ス
テップSE25に進み、キーオン(ノートオン)中にあ
るチャンネルYDC側の発音が継続され、割当順位1位
のチャンネルXDCがトランケートされる。
【0065】これに対し、チャンネルXDC≧チャンネ
ルYDCの場合には、ステップSE24の判断結果が
「NO」となり、ステップSE26に進む。ステップS
E6に進むと、CPU3は、レジスタRPF(XDC)
の値が「1」、つまり、リリース中のチャンネルXDC
に割り付けられたリリース優先フラグRPFが「1」で
あるか否かを判断する。ここで、リリース優先フラグR
PFが「0(OFF)」であると、判断結果は「NO」
となり、ステップSE25へ処理を進め、チャンネルX
DC側がトランケートされる。この結果、チャンネルY
DC側の優先順位が低くとも、チャンネルXDC側がリ
リース優先フラグRPFを「0」とした通常のリリース
制御を行っているから、キーオン(ノートオン)中の発
音を継続させるようにしている。
【0066】一方、リリース優先フラグRPFが「1
(ON)」とされている場合には、上記ステップSE2
6の判断結果が「YES」となり、ステップSF1へ処
理を進める。ステップSF1に進むと、CPU3はレジ
スタEVP(XDC)に格納される現在のエンベロープ
目標値が「0」であるか否かを判断する。なお、ここで
言うレジスタEVP(XDC)とは、前述したチャンネ
ルテーブルTGTBL(図4参照)にセットされる値で
ある。
【0067】そして、チャンネルXDCが特徴的なエン
ベロープ制御を行っている最中であると、現在のエンベ
ロープ目標値が「0」にならないので、ここでの判断結
果が「NO」となり、ステップSE27へ処理を進め、
レジスタYDCに格納されるチャンネルの番号をレジス
タDCOに格納する。これにより、リリース優先フラグ
RPFが「1」となる特徴的なエンベロープ制御を行っ
ているチャンネルXDCの発音が継続され、キーオン
(ノートオン)中のチャンネルYDC側がトランケート
される。
【0068】これに対し、リリース優先フラグRPFが
「1(ON)」とされているリリース波形が単純に減衰
するだけの状態に達している時には、レジスタEVP
(XDC)に格納される現在のエンベロープ目標値が
「0」となり、上記ステップSF1の判断結果が「YE
S」となり、ステップSE25に進み、チャンネルXD
Cをトランケートする。これにより、リリース優先フラ
グRPFを「1(ON)」としたチャンネルXDCであ
っても、そのエンベロープレベルが略ゼロレベルに収束
しかかった時には、発音が継続されずにトランケートさ
れ、キーオン(ノートオン)中のチャンネルYDC側の
発音が優先される。こうすることよって、演奏効果上に
必要な音色の楽音をトランケートするといった虞を回避
することが可能になる。
【0069】C.変形例 次に、上述した第2実施例に対応する変形例について説
明する。この変形例では、図16に図示するように、音
色テーブルTCTBLにおいて2つのリリース優先フラ
グRPF1,PRF2を備える点に特徴がある。第2実
施例にあっては、リリース優先フラグRPFが「1(O
N)」とされているチャンネルであっても、そのチャン
ネルが制御するリリース領域が単純に減衰するだけの時
には、トランケートするようになっており、変形例では
こうしたチャンネル割当をより簡便に行うべく音色テー
ブルTCTBLに2つのリリース優先フラグRPF1,
PRF2を設けている。
【0070】すなわち、図6(イ)に図示するような2
段階のリリース過程を持つ特徴的なエンベロープ波形を
制御する場合において、リリース優先フラグRPF1を
「1(ON)」、リリース優先フラグRPF2を「0
(OFF)」と設定しておけば、リリース1領域でのチ
ャンネル割当順位が高く、かつ、リリース2領域でのチ
ャンネル割当順位が低くなるため、上述した第2実施例
と略同様に、リリース領域1の発音が優先され、リリー
ス2領域で通常のエンベロープ制御態様と同様にトラン
ケートすることが可能なる。なお、演奏上、特定の音色
が割り付けられたチャンネルのリリース波形を意図的に
発音優先させたい場合などでは、このリリース優先フラ
グRPF1,RPF2の両者を「1(ON)」としてお
けば、リリース領域1、2が共に発音優先され、所望の
演奏効果を得ることも可能になる。
【0071】D.第3実施例 次に、本発明による第3実施例について図17〜図21
を参照して説明する。なお、第3実施例の構成は、前述
した第1実施例と同一であるので、その説明については
省略する。この第3実施例では、図17に示す割当順位
から解るように、リリース中のチャンネルの内、リリー
ス優先フラグRPFが「0(OFF)」となっているチ
ャンネルが割当順位1位でトランケートされ、次いで、
リリース優先フラグRPFが「1(ON)」なるチャン
ネル、キーオン(ノートオン)中のチャンネルの順でト
ランケートされる。なお、リリース優先フラグRPFが
「0(OFF)」とされているチャンネルが複数存在す
る時には、その中で最も演奏パート優先順位の低いパー
トが割り当てられるチャンネルをトランケートするよう
にしている。
【0072】第3実施例が前述した第1実施例と異なる
点は、チャンネル決定時の処理にあり、それ以外の動作
は共通するので、以下、図18〜図21を参照して第3
実施例によるチャンネル決定処理ルーチンの動作につい
て説明する。第1実施例と同様に、CPU3の処理が鍵
処理ルーチンにおけるステップSC2(図10参照)、
あるいは外部入力処理ルーチンにおけるステップSD3
(図11参照)に進むと、図18に示すチャンネル決定
処理ルーチンが実行され、ステップSG1に処理を進め
る。
【0073】(a)空きチャンネルサーチ動作 まず、ステップSG1では、レジスタDCOに「−1」
をセットする。このレジスタDCOには、トランケート
されるチャンネルの番号が一時記憶されるが、ここで
は、トランケートすべきチャンネルが未決定である旨を
表わすフラグ値「−1」をセットする。次いで、ステッ
プSG2に進むと、CPU3は、ループカウント値がセ
ットされるレジスタNUMをゼロクリアし、続く、ステ
ップSG3では、レジスタEVL(NUM)の値が
「0」であるか否かを判断する。すなわち、レジスタN
UMの値に対応するチャンネルが消音状態であるか否か
を判断する。
【0074】ここで、レジスタNUMで指定されるチャ
ンネルが消音状態にあれば、判断結果が「YES」とな
り、ステップSG4に進む。ステップSG4では、レジ
スタNUMで指定されるチャンネルが空きチャンネルで
あるとして、この空きチャンネルに発音を割り当てるべ
く、レジスタNUMの値をレジスタDCOに書き込む。
これにより、レジスタDCOに格納されるチャンネルの
番号のチャンネルが新押鍵(新ノートオン)に割り当て
られる。
【0075】一方、レジスタNUMに対応するチャンネ
ルが発音中にある場合には、上記ステップSG3の判断
結果が「NO」となり、次のステップSG5に進む。ス
テップSG5では、レジスタNUMの値が「31」以
上、つまり、全32チャンネル分をサーチしたか否かを
判断する。ここで、全32チャンネル分のサーチがなさ
れていない時には、判断結果が「NO」となり、ステッ
プSG6に進み、レジスタNUMに格納されるチャンネ
ルの番号を1インクリメントして歩進させ、上述したス
テップSG3へ処理を戻す。これ以後、CPU3は全チ
ャンネル分のサーチが完了するまで上記ステップSG3
〜SG6を繰り返す。そして、いま、例えば、全32チ
ャンネル分のサーチがなされ、この結果、空きチャンネ
ルが存在しなかったとする。そうすると、上記ステップ
SG5の判断結果が「YES」となり、図19に示すス
テップSG7へ処理を進める。
【0076】(b)リリース中、かつ、リリース優先フ
ラグRPFが「0(OFF)」のチャンネルサーチ動作 次に、ステップSG7に進むと、レジスタNUMをゼロ
クリアし、次のステップSG8に処理を進める。ステッ
プSG8に進むと、CPU3はレジスタKOF(NU
M)が「0」、すなわち、レジスタNUMで指定される
チャンネルがリリース中であるか否かを判断する。ここ
で、リリース中でなければ、判断結果が「NO」とな
り、ステップSG9に進み、全32チャンネル分のサー
チがなされたか否かを判断する。そして、全32チャン
ネル分のサーチが完了していない時には、判断結果が
「NO」となり、ステップSG10に処理を進め、レジ
スタNUMに格納されるループカウンタ値(チャンネル
番号)を更新して上記ステップSG8に処理を戻す。
【0077】ここで、例えば、レジスタNUMの値で指
定されるチャンネルがリリース中であると、上記ステッ
プSG8の判断結果が「YES」となり、ステップSG
11に処理を進める。ステップSG11に進むと、CP
U3はレジスタRPF(NUM)の値が「0」、すなわ
ち、リリース中のチャンネルに付与されるリリース優先
フラグRPFが「0(OFF)」されているか否かを判
断する。ここで、対応するチャンネルのリリース優先フ
ラグRPFが「1(ON)」である時には、判断結果が
「NO」となり、上述したステップSG10,SG11
を介してチャンネル番号を更新し、再度ステップSG8
に処理を戻す。
【0078】一方、リリース優先フラグRPFが「0
(OFF)」である時には、上記ステップSG11の判
断結果が「YES」となり、次のステップSG12に処
理を進める。ステップSG12では、レジスタDCOに
セットされる値が「−1」より大であるか否か、すなわ
ち、リリース中のチャンネルをサーチした結果が当該レ
ジスタDCOにセットされているか否かを判断する。そ
して、リリース中のチャンネルをサーチした結果が当該
レジスタDCOにセットされていない場合、つまり、リ
リース中のチャンネルを初めてサーチした時には、ここ
での判断結果が「NO」となり、ステップSG13に進
む。ステップSG13では、リリース中のチャンネルを
初めてサーチした時のチャンネルの番号、すなわち現レ
ジスタNUMの値をレジスタDCOに書き込む。
【0079】こうして、一旦リリース中のチャンネルが
サーチされると、CPU3は再び上述したステップSG
9を介して全32チャンネル分のサーチがなされたか否
かを判断し、サーチ完了していない時には、ステップS
G10にてレジスタNUMを更新して次のサーチに移行
する。そして、例えば、次のサーチでリリース中、か
つ、リリース優先フラグRPFが「0」のチャンネルを
検出したとする。そうすると、上述したステップSG
8、SG11における各判断結果が「YES」となり、
ステップSG12に進む。この場合、ステップSG12
では、レジスタDCOには先にサーチしたリリース中、
かつ、リリース優先フラグRPF「0」となるチャンネ
ルの番号(以下、これをリリースチャンネルと称す)が
セットされているから、判断結果は「YES」となり、
ステップSG14へ処理を進める。
【0080】ステップSG14では、レジスタCH(D
CO)の値がレジスタCH(NUM)より大であるか否
か、すなわち、先にサーチされたリリースチャンネルに
割り当てられている演奏パート番号が、現在サーチされ
たリリースチャンネルに割り当てられている演奏パート
番号より大であるか否かを判断する。この実施例の場
合、演奏パート番号が小さい程、そのパート番号に付与
される優先順位が低くなるので、上記ステップSG14
の判断は、「先にサーチされたリリースチャンネルの優
先順位が現在サーチされたリリースチャンネルの優先順
位より上であるか否か」を判断することに相当する。よ
って、先にサーチされたリリースチャンネルの優先順位
が現在サーチされたリリースチャンネルのそれより上で
あると、この判断結果が「YES」となり、ステップS
G13に進み、先にサーチされたリリースチャンネルよ
り優先順位の低い、現在サーチされたリリースチャンネ
ルのチャンネルの番号をレジスタDCOにセットする。
【0081】これに対し、「先にサーチされたリリース
チャンネルの優先順位が現在サーチされたリリースチャ
ンネルの優先順位より下となる」場合には、ステップS
G14の判断結果が「NO」となり、上述したステップ
SG9へ処理を進める。そして、この後、全チャンネル
分のサーチが完了すると、このステップSG9の判断結
果が「YES」となり、ステップSG15へ進む。ステ
ップSG15に進むと、CPU3はレジスタDCOの値
が「−1」であるか否か、すなわち、リリース中であっ
て、リリース優先フラグRPFが「0(OFF)」、か
つ、最も優先順位の低いリリースチャンネルをサーチし
たか否かを判断し、サーチした場合には判断結果が「N
O」となり、本ルーチンを終了する。一方、そうでない
場合には後述するステップSG15へ処理を進める。以
上のように、ステップSG7〜SG14では、リリース
中であって、リリース優先フラグRPFが「0(OF
F)」とされたチャンネルの内、最も優先順位の低いチ
ャンネルの番号、つまり、チャンネル割当順位1位とな
るチャンネルの番号をレジスタDCOに格納する。これ
により、チャンネル割当順位1位とされたチャンネルが
トランケートされることになる。
【0082】(c)リリース中、かつ、リリース優先フ
ラグRPFが「1(ON)」のチャンネルサーチ動作 リリース中、かつ、リリース優先フラグRPFが「0
(OFF)」のチャンネルが存在しない場合、すなわ
ち、上記ステップSG15の判断結果が「YES」とな
ると、CPU3は図20に示すステップSG16へ処理
を進める。ステップSG16では、チャンネルサーチ開
始にあたりレジスタNUMをゼロクリアする。次いで、
ステップSG17では、レジスタKOF(NUM)が
「0」、すなわち、レジスタNUMで指定されるチャン
ネルがリリース中であるか否かを判断する。ここで、リ
リース中でなければ、判断結果が「NO」となり、ステ
ップSG18に進む。ステップSG18では、全32チ
ャンネル分のサーチがなされたか否かを判断する。そし
て、全32チャンネル分のサーチが完了していない時に
は、判断結果が「NO」となり、ステップSG19に進
み、レジスタNUMを次のチャンネルの番号に歩進さ
せ、上記ステップSG17に戻る。
【0083】ここで、例えば、レジスタNUMで指定さ
れるチャンネルがリリース中であったとする。そうする
と、上記ステップSG17の判断結果が「YES」とな
り、ステップSG20に処理を進める。ステップSG2
0に進むと、CPU3はレジスタDCOの値が「−1」
より大であるか否か、すなわち、リリース中のチャンネ
ルをサーチした結果が当該レジスタDCOにセットされ
ているか否かを判断する。そして、リリース中のチャン
ネルをサーチした結果が当該レジスタDCOにセットさ
れていない場合、つまり、リリース中のチャンネルを初
めてサーチした時には、ここでの判断結果が「NO」と
なり、ステップSG21に進む。ステップSG21で
は、リリース中のチャンネルを初めてサーチした時のチ
ャンネルの番号、つまり、現レジスタNUMの値をレジ
スタDCOにセットする。
【0084】次いで、CPU3は再び上述したステップ
SG18を介して全32チャンネル分のサーチがなされ
たか否かを判断し、サーチが完了していない時には、ス
テップSG19においてレジスタNUMを歩進させる。
そして、このレジスタNUMの更新に応じてリリース中
のチャンネルが検出されたとする。そうすると、ステッ
プSG17の判断結果が「YES」となり、ステップS
G20に進む。この場合、ステップSG20では、レジ
スタDCOに先にサーチしたリリース中のチャンネルの
番号がセットされているから、判断結果は「YES」と
なり、ステップSG22へ処理を進める。
【0085】ステップSG22では、レジスタCH(D
CO)の値がレジスタCH(NUM)より大であるか否
か、すなわち、先にサーチされたチャンネルに割り当て
られている演奏パート番号が、現在サーチされたチャン
ネルに割り当てられている演奏パート番号より大である
か否かを判断する。本実施例の場合、前述した第1実施
例と同様に、演奏パート番号が小さい程、そのパート番
号に付与される優先順位が低くなるので、上記ステップ
SG22では、「先にサーチされたチャンネルの優先順
位が現在サーチされたチャンネルの優先順位より上であ
るか否か」を判断することになる。よって、先にサーチ
されたチャンネルの優先順位が現在サーチされたチャン
ネルのそれより上であると、この判断結果が「YES」
となり、ステップSG21に進み、先にサーチされたチ
ャンネルより優先順位の低い、現在サーチされたチャン
ネルのチャンネルの番号をレジスタDCOにセットす
る。
【0086】これに対し、「先にサーチされたチャンネ
ルの優先順位が現在サーチされたチャンネルの優先順位
より下となる」場合には、ステップSG22の判断結果
が「NO」となり、上述したステップSG18へ処理を
進める。そして、全チャンネル分のサーチが完了する
と、このステップSG18の判断結果が「YES」とな
り、ステップSG23へ進み、レジスタDCOの値が
「−1」であるか否かを判断する。ここで、リリース中
のチャンネルをサーチした場合には判断結果が「NO」
となり、本ルーチンを終了するが、そうでない場合には
後述するステップSG24へ処理を進める。
【0087】このように、上記ステップSG16〜SG
23においては、前述した(b)項の動作に続いてリリ
ース中のチャンネルを順次サーチするので、結果的に、
リリース中、かつ、リリース優先フラグRPFが「1
(ON)」のチャンネルサーチがなされる。このチャン
ネルサーチでは、先にサーチしたチャンネルの優先順位
と現在サーチしたチャンネルの優先順位とを比較し、よ
り低い優先順位にあるチャンネルの番号をレジスタDC
Oに書き込んで更新するから、最終的に、リリース中で
あって、リリース優先フラグRPFが「1(ON)」の
チャンネルの内の最も優先順位の低いチャンネル、つま
り、チャンネル割当順位2位のチャンネル(図17参
照)の番号がレジスタDCOに格納される。これによ
り、チャンネル割当順位2位とされたチャンネルがトラ
ンケートされることになる。
【0088】(c)キーオン(ノートオン)中のチャン
ネルサーチ処理 リリース中のチャンネルが存在しない時には、上記ステ
ップSG23の判断結果が「YES」となり、図20に
示すステップSG24へ処理を進め、これ以後、キーオ
ン(ノートオン)中のチャンネルをサーチする。まず、
ステップSG24では、レジスタNUMをゼロクリア
し、続く、ステップSG25では、レジスタNUMの値
をレジスタDCOにセットする。次いで、ステップSG
26では、全32チャンネル分のサーチがなされたか否
かを判断する。そして、全32チャンネル分のサーチが
完了していない時には、判断結果が「YES」となり、
ステップSG27に進み、レジスタNUMの値を歩進さ
せ、次のステップSG28に進む。
【0089】ステップSG28に進むと、CPU3は、
レジスタCH(DCO)の値がレジスタCH(NUM)
より大であるか否か、すなわち、先にサーチされたチャ
ンネルの優先順位が現在サーチされたチャンネルの優先
順位より上であるか否かを判断する。ここで、先にサー
チされたチャンネルの優先順位が現在サーチされたチャ
ンネルのそれより上であると、この判断結果が「YE
S」となり、ステップSG25に進み、現サーチ時点で
最も優先順位の低いチャンネルの番号をレジスタDCO
にセットする。一方、上記ステップSG28の判断結果
が「NO」の場合には、再びステップSG26に戻り、
以後、全チャンネルのサーチが完了するまでの間、ステ
ップSG26〜SG28を繰り返し、全チャンネルのサ
ーチが完了した時にステップSG26の判断結果が「N
O」となり、このルーチンを終了する。
【0090】このように、上記ステップSG24〜SG
28では、前述した(c)項の動作に続いて最も優先順
位の低いチャンネルを順次サーチするので、結果的に、
キーオン(ノートオン)中の最も優先順位の低いチャン
ネルサーチがなされることになり、こうしたサーチによ
って得られたチャンネルがチャンネル割当順位3位のチ
ャンネル(図17参照)としてレジスタDCOにセット
される。これにより、チャンネル割当順位3位とされた
チャンネルがトランケートされることになる。
【0091】以上説明したように、第3実施例では、全
発音チャンネルが発音割当されている時に新たなキーオ
ン(ノートオン)が発生すると、最初に、リリース中、
かつ、リリース優先フラグRPFが「0(OFF)」と
されたチャンネルの内の最も優先順位の低いチャンネル
をサーチし、これに該当するチャンネルがあった時に
は、当該チャンネルを割当順位1位としてトランケート
する。次いで、この割当順位1位に該当するチャンネル
がサーチし得ない時には、リリース中、かつ、リリース
優先フラグRPFが「1(ON)」とされたチャンネル
の内の最も優先順位の低いチャンネルをサーチし、これ
に該当するチャンネルがあった時には、当該チャンネル
を割当順位2位としてトランケートする。そして、割当
順位1位、2位のチャンネルが存在しない場合には、キ
ーオン(ノートオン)中のチャンネルの内の最も優先順
位の低いチャンネルをトランケートするようにしてお
り、このようにすることで、優先順位が付与された各音
色の楽音や、特徴的なエンベロープ形状を持つ楽音等、
その楽音の属性を考慮した発音割り当てが可能になる訳
である。
【0092】なお、上述した各実施例では、リリース波
形の発音継続を優先させるべくリリース優先フラグRP
Fを設けるようにしたが、これはリリース波形に限定さ
れず、例えば、サステイン領域の発音継続を優先させる
フラグを設け、このフラグに応じて上述した各実施例と
同様なトランケート処理を行うようにしても良い。ま
た、例えば、所定音高以上の楽音に対して発音を優先的
に継続させるフラグを設けてトランケートする態様とし
て新たな演奏効果を得ることも可能である。
【0093】
【発明の効果】本発明によれば、発音チャンネル情報記
憶手段が各発音チャンネル毎にアサインされる音色に対
応した楽音パラメータを記憶しておき、各発音チャンネ
ルの全てが前記アサインされた音色の楽音を発生してい
る最中に新たな押鍵が発生した場合、発音チャンネル検
出手段が発音チャンネル情報記憶手段から各発音チャン
ネル毎にアサインされる音色の楽音パラメータに基づい
て最も消音に適した楽音を発生している発音チャンネル
を検出し、楽音発生指示手段がこの発音チャンネル検出
手段によって検出された発音チャンネルへ新たな押鍵に
対応した楽音の発生を指示するので、リリースエンベロ
ープに特徴を有する等の、後に特徴を有する音色の楽音
を消音してしまうことがなく、楽音の音色の特徴を考慮
した発音割り当てを行うことができる。
【図面の簡単な説明】
【図1】本発明による第1実施例の構成を示すブロック
図である。
【図2】第1実施例における音色テーブルTCTBLの
構成を示す図である。
【図3】第1実施例におけるパートテーブルCHTBL
の構成を示す図である。
【図4】第1実施例におけるチャンネルテーブルTGT
BLの構成を示す図である。
【図5】第1実施例における演奏信号形式の一例を説明
するための図である。
【図6】エンベロープ波形形状を説明するための図であ
る。
【図7】第1実施例による発音チャンネル割当順位を説
明するための図である。
【図8】第1実施例におけるメイン処理ルーチンの動作
を示すフローチャートである。
【図9】第1実施例におけるイニシャル処理ルーチンの
動作を示すフローチャートである。
【図10】第1実施例における鍵処理ルーチンの動作を
示すフローチャートである。
【図11】第1実施例における外部入力処理ルーチンの
動作を示すフローチャートである。
【図12】第1実施例におけるチャンネル決定処理ルー
チンの動作を示すフローチャートである。
【図13】第1実施例におけるチャンネル決定処理ルー
チンの動作を示すフローチャートである。
【図14】第1実施例におけるチャンネル決定処理ルー
チンの動作を示すフローチャートである。
【図15】第2実施例におけるチャンネル決定処理ルー
チンの動作を示すフローチャートである。
【図16】変形例を説明するための図である。
【図17】第3実施例によるチャンネル割当順位を説明
するための図である。
【図18】第3実施例におけるチャンネル決定処理ルー
チンの動作を示すフローチャートである。
【図19】第3実施例におけるチャンネル決定処理ルー
チンの動作を示すフローチャートである。
【図20】第3実施例におけるチャンネル決定処理ルー
チンの動作を示すフローチャートである。
【図21】第1実施例におけるチャンネル決定処理ルー
チンの動作を示すフローチャートである。
【符号の説明】
1 鍵盤部 2 操作部 3 CPU(発音チャンネル検出手段、楽音発生指示手
段) 4 プログラムROM 5 データROM 6 ワークRAM(発音チャンネル情報記憶手段) 7 外部入力部 8 音源部 9 D/A変換部 10 サウンドシステム

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 各発音チャンネル毎にアサインされる音
    色に対応した楽音パラメータを記憶する発音チャンネル
    情報記憶手段と、 前記各発音チャンネルの全てが前記アサインされた音色
    の楽音を発生している最中に新たな押鍵が発生した場
    合、前記発音チャンネル情報記憶手段から各発音チャン
    ネル毎にアサインされる音色の楽音パラメータに基づい
    て最も消音に適した楽音を発生している発音チャンネル
    を検出する発音チャンネル検出手段と、 この発音チャンネル検出手段によって検出された発音チ
    ャンネルへ新たな押鍵に対応した楽音の発生を指示する
    楽音発生指示手段とを具備することを特徴とする発音チ
    ャンネル割当装置。
  2. 【請求項2】 前記楽音パラメータは、リリース中の発
    音を優先させるか否かを表わす優先フラグを備え、 前記発音チャンネル検出手段は、前記優先フラグが発音
    優先を表わす音色の楽音を発生させている発音チャンネ
    ルより優先フラグが発音優先を表わさない音色の楽音を
    発生させている発音チャンネルを優先的に検出すること
    を特徴とする請求項1記載の発音チャンネル割当装置。
  3. 【請求項3】 前記発音チャンネル検出手段は、前記優
    先フラグが発音優先を表わす音色の楽音を発生させてい
    る発音チャンネルであっても、該楽音のエンベロープが
    単純に減衰するのみとなった場合には、前記優先フラグ
    が発音優先を表わしていない音色の楽音を発生させてい
    る発音チャンネルと該発音チャンネルをみなして前記検
    出を行うことを特徴とする請求項2記載の発音チャンネ
    ル割当装置。
  4. 【請求項4】 前記音色の楽音のリリースは複数の段階
    からなり、前記楽音パラメータは、前記各リリース段階
    に対応する発音優先フラグを含んでいることを特徴とす
    る請求項2記載の発音チャンネル割当装置。
JP33620294A 1994-12-24 1994-12-24 発音チャンネル割当装置 Expired - Fee Related JP3567293B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33620294A JP3567293B2 (ja) 1994-12-24 1994-12-24 発音チャンネル割当装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33620294A JP3567293B2 (ja) 1994-12-24 1994-12-24 発音チャンネル割当装置

Publications (2)

Publication Number Publication Date
JPH08179768A true JPH08179768A (ja) 1996-07-12
JP3567293B2 JP3567293B2 (ja) 2004-09-22

Family

ID=18296697

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33620294A Expired - Fee Related JP3567293B2 (ja) 1994-12-24 1994-12-24 発音チャンネル割当装置

Country Status (1)

Country Link
JP (1) JP3567293B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003108135A (ja) * 2001-09-28 2003-04-11 Roland Corp 自動演奏装置
JP2007079104A (ja) * 2005-09-14 2007-03-29 Casio Comput Co Ltd 波形発生装置および波形発生プログラム
JP2008518248A (ja) * 2004-10-22 2008-05-29 エルジー エレクトロニクス インコーポレイテッド Midiファイルを再生する装置及び方法
JP2010522362A (ja) * 2007-03-22 2010-07-01 クゥアルコム・インコーポレイテッド オーディオ・デバイスにおける参照波形の検索のための帯域幅制御

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003108135A (ja) * 2001-09-28 2003-04-11 Roland Corp 自動演奏装置
JP2008518248A (ja) * 2004-10-22 2008-05-29 エルジー エレクトロニクス インコーポレイテッド Midiファイルを再生する装置及び方法
JP2007079104A (ja) * 2005-09-14 2007-03-29 Casio Comput Co Ltd 波形発生装置および波形発生プログラム
JP2010522362A (ja) * 2007-03-22 2010-07-01 クゥアルコム・インコーポレイテッド オーディオ・デバイスにおける参照波形の検索のための帯域幅制御

Also Published As

Publication number Publication date
JP3567293B2 (ja) 2004-09-22

Similar Documents

Publication Publication Date Title
JP2500489B2 (ja) 電子楽器
JP2664098B2 (ja) 電子楽器のペダル装置
JPH08179768A (ja) 発音チャンネル割当装置
JP2583809B2 (ja) 電子楽器
JPH10301567A (ja) 電子楽器の音声制御装置
US5449857A (en) Electronic musical instrument capable of free edit and trial of data hierarchy
JP2687810B2 (ja) 電子楽器
JPH0638192B2 (ja) 楽音発生装置
JP2640992B2 (ja) 電子楽器の発音指示装置及び発音指示方法
JP3399068B2 (ja) 電子楽器
JP3235160B2 (ja) 楽音制御装置
JPH05204297A (ja) 階名発生装置
JP2943492B2 (ja) 電子楽器
JP4441928B2 (ja) 音量制御装置および音量制御処理プログラム
JP2814479B2 (ja) 電子楽器
JP2738217B2 (ja) 電子楽器
JP2953217B2 (ja) 電子楽器
JP2003280654A (ja) エンベロープ制御装置およびエンベロープ制御方法
JP3285986B2 (ja) 電子楽器のアサイン装置
JP2538087B2 (ja) 電子楽器
JP3476863B2 (ja) 電子楽器の自動伴奏装置
JPH05108068A (ja) フレーズ情報入出力装置
JP3091110B2 (ja) パラメータ設定装置
JP2001125572A (ja) 電子楽器、楽音発生制御方法及び記憶媒体
JPH09244660A (ja) 自動伴奏装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040224

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040330

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040518

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040531

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080625

Year of fee payment: 4

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090625

Year of fee payment: 5

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090625

Year of fee payment: 5

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100625

Year of fee payment: 6

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110625

Year of fee payment: 7

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110625

Year of fee payment: 7

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120625

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees