JPH11212562A - 楽音のチャンネル割り当て装置及び楽音のチャンネル割り当て方法 - Google Patents

楽音のチャンネル割り当て装置及び楽音のチャンネル割り当て方法

Info

Publication number
JPH11212562A
JPH11212562A JP10016617A JP1661798A JPH11212562A JP H11212562 A JPH11212562 A JP H11212562A JP 10016617 A JP10016617 A JP 10016617A JP 1661798 A JP1661798 A JP 1661798A JP H11212562 A JPH11212562 A JP H11212562A
Authority
JP
Japan
Prior art keywords
channel
data
tone
envelope
musical
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
JP10016617A
Other languages
English (en)
Other versions
JP3673388B2 (ja
Inventor
Katsushi Ishii
克氏 石井
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.)
Kawai Musical Instrument Manufacturing Co Ltd
Original Assignee
Kawai Musical Instrument Manufacturing 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 Kawai Musical Instrument Manufacturing Co Ltd filed Critical Kawai Musical Instrument Manufacturing Co Ltd
Priority to JP01661798A priority Critical patent/JP3673388B2/ja
Publication of JPH11212562A publication Critical patent/JPH11212562A/ja
Application granted granted Critical
Publication of JP3673388B2 publication Critical patent/JP3673388B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】 【課題】各楽音を成分音に分け、これら各成分音を同じ
周波数ごとにチャンネルに割り当て、この割り当てで各
成分音の大きさに応じてチャンネルを割り当て、チャン
ネルの有効利用を図り、良い音感を得る。 【解決手段】これから割り当てる各成分音のレベルが重
み付けされ(ステップ81、82)、重み付けレベルの
大きいものから(ステップ83、84)チャンネルに割
り当てられ(ステップ17)、既にチャンネルに割り当
てられている成分音は消去され(ステップ58)、これ
から割り当てる成分音のレベルの方が小さければ(ステ
ップ84)、この成分音はチャンネルに割り当てられな
い(ステップ86)。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、楽音のチャンネル
割り当て装置または楽音のチャンネル割り当て方法に関
し、特に同じ周波数の楽音の合成の制御に関する。
【0002】
【従来技術】従来、電子楽器のチャンネル割り当て装置
では、同時に発音できる楽音数より多くない数の楽音生
成チャンネルが時分割処理により構成され、新たな楽音
の発生の指示があると、この楽音が上記複数のチャンネ
ルの空きチャンネルに割り当てられ、これにより楽音が
発生される。
【0003】この各チャンネルに割り当てられる楽音
は、キーボードの各キーの操作に応じており、音高(周
波数)が異なっている。この楽音の波形は同じであった
り異なっていたりする。この楽音の波形が異なれば音色
も異なる。
【0004】
【発明が解決しようとする課題】ところが、各チャンネ
ルに割り当てられる複数の楽音の中には場合によって同
じ音高(周波数)のものがあり、このような同じ周波数
の楽音に別々のチャンネルを割り当てるのは無駄であっ
た。また、それぞれ個別に生成されるエンベロープの楽
音の中にも場合によって同じ音高(周波数)のものがあ
り、このような同じ周波数の楽音に別々のエンベロープ
を付加するのは無駄であった。
【0005】
【課題を解決するための手段】上記目的を達成するた
め、本発明では、同時に発生される複数の楽音のうち、
同じ周波数の楽音を判別し、この判別された同じ周波数
の楽音の発生量を合成して、1つのチャンネルにまとめ
て割り当て、これらチャンネルに楽音を割り当てるにあ
たり、各楽音の大きさを判別し、この判別結果に基づい
て選び出した楽音にチャンネルを割り当てるようにし
た。
【0006】これにより、大きさの小さい楽音には当初
からチャンネルを割り当てないようにしたり、大きさの
小さい楽音が割り当てられているチャンネルを大きさの
大きい楽音に明け渡したりしてチャンネルの有効利用を
図ることができ、また大きさの大きい楽音をチャンネル
に優先的に割り当て、良い音感を実現することができ
る。
【0007】
【発明の実施の形態】1.全体回路 図1は楽音制御装置または電子楽器の全体回路を示す。
キーボード11の各キーは、楽音の発音及び消音を指示
するもので、キースキャン回路12によってスキャンさ
れ、キーオン、キーオフを示すデータが検出され、コン
トローラ2によってプログラム/データ記憶部4に書き
込まれる。そして、それまでプログラム/データ記憶部
4に記憶されていた各キーのオン、オフの状態を示すデ
ータと比較され、各キーのオンイベント、オフイベント
の判別が、コントローラ2によって行われる。
【0008】このキーボード11の各キーには段差タッ
チスイッチが設けられ、各段差スイッチごとに上記スキ
ャンが行われ、各段差スイッチの先頭のオン/オフごと
にオンイベント/オフイベントの検出が行われる。この
段差スイッチによってタッチの速さと強さを示す上記タ
ッチ情報つまりイニシャルタッチデータとアフタタッチ
データとが発生される。
【0009】このキーボード11は、ローアキーボー
ド、アッパーキーボード、ペダルキーボード等から成っ
ており、それぞれにつき異なる音色の楽音、つまりエン
ベロープ波形の異なる楽音が発音される。そして、アッ
パーキーボードについては、1つのキーオンで2音色の
楽音を同時に鳴らすことも可能である。なお、キーボー
ド11は、電子弦楽器、電子吹奏(管)楽器、電子打楽
器(パッド等)、コンピュータのキーボード等で代用さ
れる。
【0010】パネルスイッチ群13の各スイッチは、パ
ネルスキャン回路14によって、スキャンされる。この
スキャンにより、各スイッチのオン、オフを示すデータ
が検出され、コントローラ2によってプログラム/デー
タ記憶部4に書き込まれる。そして、それまでプログラ
ム/データ記憶部4に記憶されていた各スイッチのオ
ン、オフの状態を示すデータと比較され、各スイッチの
オンイベント、オフイベントの判別が、コントローラ2
によって行われる。
【0011】ミディインターフェース15は、外部接続
された電子楽器との間で楽音データの送受を行うための
インタフェースである。この楽音データはMIDI(ミ
ュージカルインスツルメントデジタルインタフェース)
規格のもので、この楽音データに基づいた発音も行われ
る。
【0012】上記キーボード11またはミディインター
フェース15には、自動演奏装置も含まれる。これらキ
ーボード11、パネルスイッチ群13及びミディインタ
ーフェース15から発生された演奏情報(楽音発生情
報)は、楽音を発生させるための情報である。
【0013】上記演奏情報(楽音発生情報)は、音楽的
ファクタ(因子)情報であり、音高(音域)情報(音高
決定因子)、発音時間情報、演奏分野情報、発音数情
報、共鳴度情報などである。発音時間情報は楽音の発音
開始からの経過時間を示す。演奏分野情報は、演奏パー
ト情報、楽音パート情報、楽器パート情報等を示し、例
えばメロディ、伴奏、コード、ベース、リズム、MID
I等に対応したり、または上鍵盤、下鍵盤、足鍵盤、ソ
ロ鍵盤、MIDI等に対応している。
【0014】上記音高情報はキーナンバデータKNとし
て取り込まれる。このキーナンバデータKNはオクター
ブデータ(音域データ)と音名データとからなる。演奏
分野情報は、パートナンバデータPNとして取り込ま
れ、このパートナンバデータPNは各演奏エリアを識別
するデータであって、発音操作された楽音がどの演奏エ
リアからのものかによって設定される。
【0015】発音時間情報は、トーンタイムデータTM
として取り込まれ、後述のフローチャートによって求め
られたり、キーオンイベントからのタイムカウントデー
タに基づいたり、またはエンベロープフェーズで代用さ
れる。この発音時間情報は特願平6−219324号明
細書及び図面に発音開始からの経過時間情報として詳し
く示される。
【0016】発音数情報は同時に発音している楽音の数
を示し、例えばアサインメントメモリ40のオン/オフ
データが「1」の楽音の数に基づき、この数は特願平6
−242878号の図9及び図15、特願平6−247
6855号の図8及び図18、特願平6−276857
号の図9及び図20、特願平6−276858号の図9
及び図21のフローチャートに基づいて求められる。
【0017】共鳴度情報は、同時に発音している1つの
楽音と他の楽音との共鳴度を示す。この1つの楽音の音
高周波数と他の楽音の音高周波数とが1:2、2:3、
3:4、4:5、5:6など小さい整数数倍比であれば
共鳴度情報の値は大きく、9:8、15:8、15:1
6、45:32、64:45など大きい整数数倍比であ
れば共鳴度情報の値は小さくなる。この共鳴度情報は特
願平1−314818号の第7図の共鳴相関テーブル5
3または共鳴比率テーブル54から読み出される。
【0018】さらに、上記パネルスイッチ群13には各
種スイッチが設けられ、この各種スイッチは音色タブレ
ット、エフェクトスイッチ、リズムスイッチ、ペダル、
ホイール、レバー、ダイヤル、ハンドル、タッチスイッ
チ等であって楽器用のものである。このペダルはダンパ
ーペダル、サスティンペダル、ミュートペダル、ソフト
ペダル等である。
【0019】この各種スイッチより、楽音制御情報が発
生され、この楽音制御情報は発生された楽音を制御する
情報であって音楽的ファクタ(因子)情報であり、音色
情報(音色決定因子)、タッチ情報(発音指示操作の速
さ/強さ)、発音数情報、共鳴度情報、エフェクト情
報、リズム情報、音像(ステレオ)情報、クオンタイズ
情報、変調情報、テンポ情報、音量情報、エンベロープ
情報等である。これら音楽的ファクタ情報も上記演奏情
報(楽音情報)に合体され、上記各種スイッチより入力
されるほか、上記自動演奏情報に合体されたり、上記イ
ンターフェイスで送受される演奏情報に合体される。
【0020】上記音色情報は、鍵盤楽器(ピアノ等)、
管楽器(フルート等)、弦楽器(バイオリン等)、打楽
器(ドラム等)の楽器(発音媒体/発音手段)の種類等
に対応しており、トーンナンバデータTNとして取り込
まれる。上記エンベロープ情報は、エンベロープレベル
EL、エンベロープタイムET、エンベロープフェーズ
EFなどである。
【0021】このような音楽的ファクタ情報は、コント
ローラ2へ送られ、後述の各種信号、データ、パラメー
タの切り換えが行われ、楽音の内容が決定される。上記
演奏情報(楽音発生情報)及び楽音制御情報はコントロ
ーラ2で処理され、各種データが楽音信号発生部5へ送
られ、楽音波形信号MWが発生される。コントローラ2
はCPU、ROM及びRAMなどからなっている。
【0022】プログラム/データ記憶部4(内部記憶媒
体/手段)はROMまたは書き込み可能なRAM、フラ
ッシュメモリまたはEEPROM等の記憶装置からな
り、光ディスクまたは磁気ディスク等の情報記憶部7
(外部記憶媒体/手段)に記憶されるコンピュータのプ
ログラムが書き写され記憶される(インストール/転送
される)。またプログラム/データ記憶部4には外部の
電子楽器またはコンピュータから上記MIDI装置また
は送受信装置を介して送信されるプログラムも記憶され
る(インストール/転送される)。このプログラムの記
憶媒体は通信媒体も含む。
【0023】このインストール(転送/複写)は、情報
記憶部7が本楽音生成装置にセットされたとき、または
本楽音生成装置の電源が投入されたとき自動的に実行さ
れ、または操作者による操作によってインストールされ
る。上記プログラムは、コントローラ2が各種処理を行
うための後述するフローチャートに応じたプログラムで
ある。
【0024】なお、本装置に予め別のオペレーティング
システム、システムプログラム(OS)、その他のプロ
グラムが記憶され、上記プログラムはこれらのOS、そ
の他のプログラムとともに実行されてもよい。このプロ
グラムは本装置(コンピュータ本体)にインストールさ
れ実行されたときに、別のプログラムとともにまたは単
独で請求項(クレーム)に記載された処理・機能を実行
させることができればよい。
【0025】また、このプログラムの一部又は全部が本
装置以外の1つ以上の別装置に記憶されて実行され、本
装置と別装置との間には通信手段を介して、これから処
理するデータ/既に処理されたデータ/プログラムが送
受され、本装置及び別装置全体として、本発明が実行さ
れてもよい。
【0026】このプログラム/データ記憶部4には、上
述した音楽的ファクタ情報、上述した各種データ及びそ
の他の各種データも記憶される。この各種データには時
分割処理に必要なデータや時分割チャンネルへの割当の
ためデータ等も含まれる。
【0027】楽音信号発生部5では、所定長の楽音波形
信号MWが繰り返し発生されサウンドシステム6から発
音出力される。上記音高情報に応じて、この繰り返し発
生される楽音波形信号MWの発生速度は変化される。ま
た上記音高色情報などの音楽的ファクタ情報に応じて、
この繰り返し発生される楽音波形信号MWの波形形状は
切り換えられる。この楽音信号発生部5は時分割処理に
よって複数の楽音信号が同時に生成されポリフォニック
に発音される。
【0028】タイミング発生部3からは、楽音生成装置
の全回路の同期を取るためのタイミングコントロール信
号が各回路に出力される。このタイミングコントロール
信号は、各周期のクロック信号のほか、これらのクロッ
ク信号を論理積または論理和した信号、時分割処理のチ
ャンネル分割時間の周期を持つ信号、チャンネルナンバ
データCHNo、タイムカウントデータTIなどを含
む。このタイムカウントデータTIは、絶対時間つまり
時間の経過を示し、このタイムカウントデータTIのオ
ーバフローリセットから次のオバーフローリセットまで
の周期は、各楽音のうち最も長い発音時間より長く、場
合によって数倍に設定される。
【0029】2.成分音テーブル20 図2はプログラム/データ記憶部4内の成分音テーブル
20を示す。この成分音テーブル20には、各音色(ト
ーンナンバデータTN)の楽音を構成する各成分音のデ
ータが記憶され、対応する成分音のデータがトーンナン
バデータTNから変換され読み出される。この成分音の
データは、複数の周波数ナンバ比データFNR、複数の
エンベロープデータ及びレベルデータLEからなってい
る。
【0030】周波数ナンバ比データFNRは、音高に応
じた基本周波数に対する各成分音の周波数の比を示す。
指定された音高周波数に対して、この周波数ナンバ比デ
ータFNRが乗算され、各成分音の周波数が求められ
る。基本周波数の周波数ナンバ比データFNRは「1」
であるから省略されてもよい。
【0031】エンベロープデータは、上記各成分音ごと
のエンベロープを示す。この各エンベロープデータは、
各エンベロープフェーズごとのエンベロープスピードデ
ータES及びエンベロープタイムデータETからなって
いる。エンベロープスピードデータESはエンベロープ
のデジタル演算1周期当たりの演算のステップ値を示
す。エンベロープタイムデータETは各フェーズごとの
エンベロープ演算時間(発生時間、発音時間)、つまり
上記デジタル演算の各フェーズのごとの演算回数を示
す。このエンベロープスピードデータES及びエンベロ
ープタイムデータETによって演算されるエンベロープ
波形の振幅は、各成分音(各楽音)の発生量を示す。
【0032】この成分音の数は1つの音色につき複数で
あるが、場合によって1つもある。この成分音は1つの
楽音につき合成されて出力される。この合成割合は上記
エンベロープデータに応じて変化する。もしこのエンベ
ロープデータによるエンベロープ演算レベルが「0」で
あれば、当該成分音の割合は「0」となる。この各成分
音のそれぞれに1つずつチャンネルが割り当てられ、個
別にエンベロープ制御され、合成されて出力される。
【0033】レベルデータLEは、各成分音のエンベロ
ープのサスティーンのレベルを示し、このレベルは上記
エンベロープデータのサスティーン状態で達成される。
したがって、このレベルデータLEは上記エンベロープ
スピードデータESとエンベロープタイムデータETと
から演算されてもよく、省略されることも可能である。
【0034】また、このレベルデータLEは、サスティ
ーンレベルのほか、当該成分音の最大レベルまたはアタ
ック到達レベルでもよい。この場合でも、当該レベルデ
ータLEは上記エンベロープスピードデータESとエン
ベロープタイムデータETとから演算されてもよく、省
略されることも可能である。さらに、このレベルデータ
LEは、当該成分音のエンベロープ波形の積分値に応じ
た値でもよい。これにより、レベルデータLEは当該成
分音の音量エネルギーに応じたものとなる。
【0035】3.アサインメントメモリ40 図3は、楽音信号発生部5のアサインメントメモリ40
を示す。アサインメントメモリ40には、複数(16、
32または64等)のチャンネルメモリエリアが形成さ
れており、上記楽音信号発生部5に形成された複数の楽
音生成チャンネルに割り当てられた成分音に関するデー
タが記憶される。
【0036】これら各チャンネルメモリエリアには、チ
ャンネルが割当られた成分音の周波数ナンバデータF
N、キーナンバデータKN及びハイリリースフラグHR
F、上記エンベロープスピードデータES並びにエンベ
ロープタイムデータET、エンベロープフェーズデータ
EFが記憶される。なお、場合によって、トーンナンバ
データTN、タッチデータTC、トーンタイムデータT
M、パートナンバデータPN、上記共鳴度情報、オン/
オフデータ等も記憶される。
【0037】オン/オフデータは割り当られ発音する楽
音(成分音)がキーオン中または発音中(“1”)かキ
ーオフ中または消音中(“0”)かを示す。周波数ナン
バデータFNは割り当られ発音する成分音の周波数値を
示し、上記キーナンバデータKNから変換され、さらに
上記周波数ナンバ比データFNRが乗算される。上記プ
ログラム/データ記憶部4には、この変換のためのテー
ブル(デコーダ)が設けられている。
【0038】ハイリリースフラグHRFは、当該チャン
ネルの楽音が新たな楽音にチャンネルを明け渡すことが
決定されており、現在割り当て中の楽音が急速に減衰さ
れていることを示す。このハイリリースフラグHRFは
チャンネル明け渡しが決定されてセットされ、当該楽音
がレベル「0」または所定未満になるとクリアされる。
【0039】上記エンベロープスピードデータES及び
エンベロープタイムデータETは上述したとおりであ
る。このエンベロープスピードデータES及びエンベロ
ープタイムデータETは、同じ周波数の新たな成分音が
当該チャンネルに割り当てられるたびに書き換えられ、
この新たな成分音を合成したエンベロープのエンベロー
プスピードデータES及びエンベロープタイムデータE
Tに置き換えられる。
【0040】エンベロープフェーズデータEFは図8の
(1)(2)(3)の合成前のエンベロープまたは合成
後のエンベロープの各部を示す。フェーズカウンタ50
1からのカウント値が取り込まれ、当該エンベロープフ
ェーズデータEFとしてアサインメントメモリ40に記
憶される。
【0041】キーナンバデータKNは割り当られ発音す
る楽音の音高(周波数)を示し、上記音高情報に応じて
決定される。このキーナンバデータKNは、1つの楽音
を構成する各成分音すべてについて記憶され、オンイベ
ントがあって当該成分音がチャンネル割り当てされ合成
されるたびに、キーナンバデータKNがアサインメント
メモリ40の該当チャンネルメモリエリアに付加記憶さ
れ、オフイベントのたびに対応するキーナンバデータK
Nは消去される。キーナンバデータKNの上位データは
音域またはオクターブを示し、下位データは音名を示
す。
【0042】この各キーナンバデータKNに対応して当
該成分音のエンベロープのリリースのエンベロープスピ
ードデータES及びエンベロープタイムデータETが記
憶される。このリリースのエンベロープスピードデータ
ES及びエンベロープタイムデータETが1つの成分音
で複数あれば、この複数全て記憶される。
【0043】トーンナンバデータTNは、割り当てられ
発音する楽音の音色を示し、上記音色情報に応じて決定
される。このトーンナンバデータTNが異なれば音色も
異なり、この楽音の楽音波形も異なる。タッチデータT
Cは、発音操作の速さまたは強さを示し、上記段差スイ
ッチの操作に基づいて求められ、または上記タッチ情報
に応じて決定される。パートナンバデータPNは、上述
したように各演奏エリアを示し、発音操作された楽音が
どの演奏エリアからのものかによって設定される。トー
ンタイムデータTMは、キーオンイベントからの経過時
間を示す。
【0044】これら各チャンネルメモリエリアの各デー
タは、オンタイミング及び/又はオフタイミングに書き
込まれ、各チャンネルタイミングごとに書き換えられた
り、読み出されたりして、上記楽音信号発生部5で処理
される。このアサインメントメモリ40は、楽音信号発
生部5の中ではなく、プログラム/データ記憶部4また
はコントローラ2の中に設けてもよい。
【0045】上記時分割処理によって形成されるチャン
ネル、すなわち複数の楽音(成分音)を並行して発生す
るための複数の楽音発生システムへの各楽音の割り当て
方法またはトランケート方法は、例えば特願平1−42
298号、特願平1−305818号、特願平1−31
2175号、特願平2−2089178号、特願平2−
409577号、特願平2−409578号に示された
方法が使われる。
【0046】4.楽音信号発生部5 図4は上記楽音信号発生部5を示す。上記アサインメン
トメモリ40の各チャンネルの周波数ナンバデータFN
等は波形読み出し部41へ送られ、楽音波形データMW
が周波数ナンバデータFNに応じた速度(音高)で読み
出される。読み出された楽音波形データMWは乗算器4
3でエンベロープデータENが乗算合成され、累算器4
4で全チャンネルの楽音波形データが累算合成され、上
記サウンドシステム6で発音される。
【0047】この楽音波形データMWはサイン波1種類
だけである。したがって、1つの楽音につき周波数の異
なる複数のサイン波が高調波合成されて出力される。よ
って各サイン波の振幅や周波数が変化すれば、合成され
る楽音の波形も変化し音色も変化する。このサイン波は
メモリに記憶されるのではなく、三角関数演算によって
上記トーンタイムデータTMまたは上記タイムカウント
データTIから変換されてもよい。
【0048】なお、この楽音波形データMWはサイン波
以外の複雑な波形でもよいし、音色、パート、音高(音
域)、タッチ、発音時間ごとに異なる波形が記憶され選
択されてもよい。この場合、トーンナンバデータTN、
パートナンバデータPN、タッチデータTC等は、波形
読み出し部41へ送られ、波形メモリ42からトーンナ
ンバデータTN、パートナンバデータPN、タッチデー
タTCに応じた楽音波形データMWが選択され、この選
択された楽音波形データMWが周波数ナンバデータFN
に応じた速度(音高)で読み出される。
【0049】上記アサインメントメモリ40の各チャン
ネルのエンベロープスピードデータESは、加算器4
6、エンベロープ演算メモリ48で時分割に順次累算さ
れ、エンベロープ演算データENが演算され、上記乗算
器43へ上記エンベロープデータENとして送られる。
エンベロープ演算メモリ48は時分割チャンネル数に応
じたエリアを有し、各チャンネルのエンベロープ演算デ
ータENが記憶され、各チャンネルごとにエンベロープ
が演算される。
【0050】このエンベロープ演算メモリ48は、上記
チャンネルナンバデータCHNoによってアドレス指定
され、この指定されたアドレスのみが書き込み/読み出
しされたりリセットされたりする。このエンベロープ演
算メモリ48の各チャンネルエリアはオフイベント信号
または/及びオンイベント信号によって個別にリセット
(クリア)される。
【0051】上記アサインメントメモリ40の各チャン
ネルのエンベロープタイムデータETは、セレクタ4
7、エンベロープタイムメモリ49及び加算器51で順
次「−1」され、「0」になるとフェーズ終了信号がナ
ンドゲート群52で検出され出力される。このフェーズ
終了信号はエンベロープの各フェーズの終了を示す。
【0052】このフェーズ終了信号はフェーズカウンタ
50へ入力され、インクリメントすなわち+1される。
このフェーズカウンタ50では、各チャンネルのエンベ
ロープのフェーズがカウントされる。このフェーズカウ
ンタ50は、上記時分割チャンネル数に応じたカウンタ
が設けられ、上記チャンネルナンバデータCHNoによ
って指定されるカウンタのみがイネーブルとされ、この
指定されたカウンタのみがインクリメントされたりリセ
ットされたりする。
【0053】上記フェーズカウンタ50は、オンイベン
ト及びオフイベント時にコントローラ2によって、上記
チャンネルナンバデータCHNoによって指定されるカ
ウンタのみがリセット(クリア)される。このとき上述
したようにエンベロープスピードデータES及びエンベ
ロープタイムデータETの合成/書き換えが行われる。
【0054】このフェーズカウンタ50のエンベロープ
フェーズデータEFは上記アサインメントメモリ40に
アドレスデータとして送られ、各チャンネルの中の各フ
ェーズごとのエンベロープスピードデータES及びエン
ベロープタイムデータETが読み出されたり書き込まれ
たりする。アサインメントメモリ40は、上記チャンネ
ルナンバデータCHNoによってアドレス指定され、こ
の指定されたアドレスのみが書き込み/読み出しされた
クリアされたりする。このアサインメントメモリ40の
各チャンネルエリアはオフイベント信号または/及びオ
ンイベント信号によって個別にリセット(クリア)され
る。
【0055】上記フェーズ終了信号は上記セレクタ47
に送られて、上記エンベロープタイムデータETが次の
フェーズのエンベロープタイムデータETに切り換えら
れる。上記エンベロープタイムメモリ49は、、上記チ
ャンネルナンバデータCHNoによってアドレス指定さ
れ、この指定されたアドレスのみが書き込み/読み出し
されたりリセットされたりする。このエンベロープタイ
ムメモリ49の各チャンネルエリアはオフイベント信号
(オンイベント信号)によって個別にリセット(クリ
ア)される。
【0056】上記エンベロープ演算メモリ48からの各
チャンネルのエンベロープ演算データENは乗算器13
1でチャンネル割り当てのための重み付けが行われ、修
正エンベロープメモリ132に書き込まれる。修正エン
ベロープメモリ132は時分割チャンネル数に応じたエ
リアを有し、各チャンネルの修正エンベロープデータM
ENが記憶される。
【0057】また、この重み付けされ修正された各修正
エンベロープデータMENは、第1最小レベル検出回路
141、第2最小レベル検出回路142及び第3最小レ
ベル検出回路143で対比され、各チャンネルのうち1
番目、2番目及び3番目に楽音のレベルが小さいチャン
ネルナンバが検出される。検出された第1最小チャンネ
ルナンバ1MCH、第2最小チャンネルナンバ2MCH
及び第3最小チャンネルナンバ3MCHは最小チャンネ
ルメモリ134にストアされる。この各最小チャンネル
ナンバ1MCH、2MCH及び3MCHは、チャンネル
明け渡し(トランケート)の優先順位を示す。
【0058】この第1最小レベル検出回路141、第2
最小レベル検出回路142及び第3最小レベル検出回路
143では、上記修正エンベロープデータMENが
「0」のチャンネルも検出され、この検出データが空き
チャンネルフラグECFとして、上記各チャンネルナン
バ1MCH、2MCH及び3MCHとともに、上記最小
チャンネルメモリ134にストアされる。
【0059】この第1最小レベル検出回路141、第2
最小レベル検出回路142及び第3最小レベル検出回路
143では、上記検出された各チャンネルの各修正エン
ベロープデータMENもも検出され、この検出された3
つの最小修正エンベロープデータ1MEN、2MEN及
び3MENも上記最小チャンネルメモリ134にストア
される。この最小チャンネルメモリ134及び修正エン
ベロープメモリ132は、1つの時分割チャンネル時間
の前半で書き込みされ、後半で読み出しされる。
【0060】上記アサインメントメモリ40から読み出
される各チャンネルの周波数ナンバデータFNは重み付
けメモリ133へ送られて、重み付けデータWTが読み
出され上記乗算器131へ送られ、チャンネル明け渡し
(トランケート)の優先順位が重み付けされる。この重
み付けメモリ133は、図12(2)に示すように各周
波数ナンバデータFNに対して各重み付けデータWTが
記憶されている。
【0061】この特性(2)は楽音周波数が1000H
zから4000Hz当たりの中音付近の重み付けが大き
くなり、低音と高音で重み付けが小さくなっている。こ
の特性(2)は人間の等ラウドネス曲線または最低可聴
曲線に沿ったものであり、人間の聴覚(ラウドネス特
性、マスキング特性)に合致したチャンネル割り当ての
優先特性を実現できる。これは同じ周波数の各成分音を
合成してチャンネル割り当てを行っている本実施例でし
かできない。
【0062】上記最低可聴曲線は人間が聴くことのでき
る最低の音の強さ(デシベル、レベル)(最低可聴値)
の周波数(音高)に応じた特性を表し、上記等ラウドネ
ス曲線は人間が同じ強さに聴こえる音の強さ(デシベ
ル、レベル)の周波数(音高)に応じた特性を表す。な
お、図12(2)の特性では上記等ラウドネス曲線また
は最低可聴曲線が逆特性にされたので、中音域の数値が
大きく高音域と低音域の数値が小さくなっている。
【0063】また、この重み付けデータWTは図12
(1)に示すように楽音周波数が低いほどこの重み付け
データWTは大きくなっており、低音の方がチャンネル
割り当ての優先度が高くなっていてもよい。さらに、こ
の重み付けデータWTは逆に低音の方がチャンネル明け
渡し(トランケート)の頻度(可能性)が高くなっても
よい。また、この重み付けメモリ133及び乗算器13
1は省略され、チャンネル割り当ての優先度が音楽的性
質によって重み付けされなくてもよい。これにより、各
チャンネルの合成成分音のレベルが小さいほどチャンネ
ルトランケートの可能性(頻度)が高くなる。
【0064】また、この重み付けメモリ133には、他
の音楽的ファクタ情報が代わりに入力されてもよい。例
えば上述のキーナンバデータKN、トーンナンバデータ
TN、パートナンバデータPN、タッチデータTC、ト
ーンタイムデータTM、共鳴度情報などである。これに
より、音域(音高)、音色、演奏分野、タッチ、発音時
間、共鳴度などの音楽的性質にも応じてチャンネル割り
当ての優先度が変化修正(決定制御)される。
【0065】これにより、例えばトーン(音色)ナン
バ、タッチデータ、共鳴度が大きいほど、音高(音
域)、パートナンバ(MIDIチャンネルナンバ)また
は発音時間が小さいほど、チャンネル割り当ての優先度
が高くなり、トランケートの可能性(頻度)が低くな
る。なお、こられの各データが複数加算されて上記重み
付けメモリ133へ送られてもよい。
【0066】この楽音信号発生部5は音像を形成するス
テレオチャンネル(オーディオチャンネル)数に応じた
数だけ設けられる。各ステレオ(オーデイオ)チャンネ
ルの各アサインメントメモリ40の各チャンネルエリア
には音像データが記憶され、この音像データが乗算器4
3で各チャンネルの楽音波形データ又はエンベロープデ
ータENに乗算合成され音像が形成される。このような
ステレオ(オーデイオ)チャンネルシステムのチャンネ
ル割り当てシステムは、特願平3−204404号また
は特願平2−408859号の明細書及び図面に示され
る。
【0067】5.各最小レベル検出回路141、142
及び143 図13は上記第1最小レベル検出回路141、第2最小
レベル検出回路142及び第3最小レベル検出回路14
3を示す。上記修正エンベロープメモリ132からの修
正エンベロープデータMENは、第1最小レベル検出回
路141のコンパレータ151に与えられる。このコン
パレータ151には、それまでに検出して第1レベルラ
ッチ171に記憶してある最小の修正エンベロープデー
タMENも与えらる。この最小の修正エンベロープデー
タMENより上記新たな修正エンベロープデータMEN
が小さければ、コンパレータ151より検出信号が出力
され、この信号がアンドゲート152を介してラッチ信
号として、上記第1レベルラッチ171に与えられ、上
記新たな修正エンベロープデータMENがストアされ
る。
【0068】また、このラッチ信号は、第1チャンネル
ナンバラッチ181にも与えられ、上記新たな修正エン
ベロープデータMENに係るチャンネルナンバがストア
される。このチャンネルナンバは、上記タイミング発生
部3からの上記チャンネルナンバデータCHNoであ
る。このようにして、全チャンネル分の分割タイムが経
過すると、修正エンベロープデータMENが最も小さい
チャンネルのナンバが第1チャンネルナンバラッチ18
1にストアされ、この最も小さい修正エンベロープデー
タMENの値が第1レベルラッチ171にストアされ
る。
【0069】さらに、上記各チャンネルの修正エンベロ
ープデータMENの各ビットはナンドゲート群191に
入力されて、全ビットが「0」で修正エンベロープデー
タMENのレベルが「0」ときこのナンドゲート群19
1より上記空きチャンネルフラグECFの信号が出力さ
れ、第1フラグラッチ192にストアされる。上記ラッ
チ信号は、この第1フラグラッチ192に与えられ、当
該タイミングでこのストアが行われる。
【0070】上記アンドゲート152には、図14に示
すクロック信号CK0が与えられており、1つのチャン
ネルの分割タイムの前半でコンパレータ151で比較さ
れ、後半で上記第1チャンネルナンバラッチ181、第
1レベルラッチ171及び第1フラグラッチ192へス
トアされる。
【0071】図14に示すように、全チャンネル分の分
割タイムが経過すると、次の全チャンネル分の分割タイ
ムの先頭でシェアリング信号SY1がラッチ信号とし
て、第2レベルラッチ172、第2チャンネルナンバラ
ッチ182及び第2フラグラッチ193に与えられ、最
も小さい修正エンベロープデータMENが第1レベルラ
ッチ171から第2レベルラッチ172に転送され、第
1チャンネルナンバラッチ181のチャンネルナンバが
第2チャンネルナンバラッチ82に転送され、第1フラ
グラッチ192の空きチャンネルフラグECFが第2フ
ラグラッチ193に転送されて、最小チャンネルメモリ
134に書き込まれる。
【0072】このシェアリング信号SY1は、上記第1
レベルラッチ171にも与えられて、同ラッチ171の
ラッチデータが最大値「11…1」にリセットされる。
上述のラッチ181、182、171、172、192
及び193はR−Sタイプである。
【0073】上記第1最小レベル検出回路141の第2
チャンネルナンバラッチ182からのチャンネルナンバ
データは第2最小レベル検出回路142の一致判別回路
153に与えられる。この一致判別回路153には、上
記第1最小レベル検出回路141の第1チャンネルナン
バラッチ181に与えられているものと同じチャンネル
ナンバも与えられている。両データが一致したとき、一
致判別回路153の出力信号はローレベルとなり、アン
ドゲート156が閉成される。このアンドゲート156
を介して、第2最小レベル検出回路142のコンパレー
タ154からの比較結果信号が第1チャンネルナンバラ
ッチ183及び第1レベルラッチ173に与えられてい
る。
【0074】従って、第1最小レベル検出回路141で
検出された第1最小修正エンベロープデータ1MEN及
び第1最小チャンネルナンバデータ1MCHが、第2最
小レベル検出回路141に与えられる時には、このデー
タのストアが禁止される。この結果、第2最小レベル検
出回路141では、2番目に小さい修正エンベロープデ
ータMEN及びチャンネルナンバと空きチャンネルフラ
グECFが検出される。上記一致判別回路153は、イ
クスクルシブオアゲート群とオアゲートとよりなり、2
つのチャンネルナンバデータの各ビットが各イクスクル
シブオアゲートに与えられて、各ビットデータの相違が
判別され、1つのビットでも一致しないときには、ハイ
レベル信号がオアゲートを介して出力される。
【0075】この第2最小レベル検出回路142のコン
パレータ154、アンドゲート155、第1チャンネル
ナンバラッチ183、第2チャンネルナンバラッチ18
4、第1レベルラッチ173、第2レベルラッチ17
4、ナンドゲート群194、第1フラグラッチ195及
び第2フラグラッチ196の構成及び動作は、上記第1
最小レベル検出回路141のコンパレータ151、アン
ドゲート152、第1チャンネルナンバラッチ181、
第2チャンネルナンバラッチ182、第1レベルラッチ
171、第2レベルラッチ172、ナンドゲート群19
1、第1フラグラッチ192及び第2フラグラッチ19
3と同じである。
【0076】そして、第3最小レベル検出回路143の
コンパレータ159、アンドゲート160、第1チャン
ネルナンバラッチ185、第2チャンネルナンバラッチ
186、第1レベルラッチ175、第2レベルラッチ1
76、アンドゲート161、一致判別回路157、ナン
ドゲート群197、第1フラグラッチ198及び第2フ
ラグラッチ199の構成及び動作は、上記第2最小レベ
ル検出回路142のコンパレータ154、アンドゲート
155、第1チャンネルナンバラッチ183、第2チャ
ンネルナンバラッチ185、第1レベルラッチ173、
第2レベルラッチ175、アンドゲート156、一致判
別回路153、ナンドゲート群194、第1フラグラッ
チ195及び第2フラグラッチ196と同じである。
【0077】上記第2最小レベル検出回路142の一致
判別回路153からの信号と第3最小レベル検出回路1
43の一致判別回路157からの信号とは、アンドゲー
ト158に与えられ、このアンドゲート158の出力信
号が、アンドゲート161に開成信号として与えられ
る。このアンドゲート161を介して、第3最小レベル
検出回路143のコンパレータ159からの比較結果信
号が第1チャンネルナンバラッチ185及び第1レベル
ラッチ175に与えられている。
【0078】従って、第1最小レベル検出回路141で
検出された第1最小修正エンベロープデータ1MEN並
びに第1最小チャンネルナンバ1MCH及び第2最小レ
ベル検出回路142で検出された第2最小修正エンベロ
ープデータ2MEN並びに第2最小チャンネルナンバ2
MCHが、第3最小レベル検出回路143に与えられる
時には、これらデータのセットが禁止される。この結
果、第3最小レベル検出回路143では、3番目に小さ
い第3修正エンベロープデータ3MEN及び第3最小チ
ャンネルナンバ3MCHと空きチャンネルフラグECF
が検出されることになる。
【0079】同様にして、第4最小レベル検出回路、第
5最小レベル検出回路……が設けられ、4番目に小さい
第4修正エンベロープデータ4MEN及び第4最小チャ
ンネルナンバ4MCHと空きチャンネルフラグECF、
5番目に小さい第5最小修正エンベロープデータ5ME
N及び第5最小チャンネルナンバ5MCHと空きチャン
ネルフラグECF、…、…が検出されてもよい。
【0080】これら空きチャンネルフラグECFは、検
出された各チャンネルの楽音の減衰が達成完了されて、
レベルが「0」であることを示す。したがって、このチ
ャンネルの楽音の急速減衰(ハイリリース)は不要であ
り、直ちに新たな楽音が割り当てられる。
【0081】また、チャンネルに割り当てられている楽
音が消音してエンベロープレベルが「0」であれば、当
該チャンネルが第1最小チャンネルナンバ1MCHとな
る。割り当て楽音のエンベロープレベルが「0」のチャ
ンネルが複数であれば、先に「0」になったチャンネル
が第1最小チャンネルナンバ1MCHとなり、次に
「0」になったチャンネルが第2最小チャンネルナンバ
2MCHとなる。
【0082】上記各第2レベルラッチ172、174及
び176より出力され、検出された各最小修正エンベロ
ープデータ1MEN、2MEN及び3MENも、最小チ
ャンネルメモリ134に記憶される。この検出され最小
チャンネルメモリ134に記憶された各最小チャンネル
ナンバ1MCH、2MCH及び3MCH、各空きチャン
ネルフラグECF、各最小修正エンベロープデータ1M
EN、2MEN及び3MENは、上記コントローラ(C
PU)2に送られ、新たなチャンネル割り当てに利用さ
れる。
【0083】なお、空きチャンネルフラグECFは、エ
ンベロープ演算データENに基づいて検出されてもよ
い。この場合、各最小レベル検出回路141、142及
び143のナンドゲート群191、194及び197に
は、修正エンベロープメモリ132からの修正エンベロ
ープデータMENではなく、エンベロープ演算メモリ4
8からのエンベロープ演算データENが送り込まれる。
【0084】また、上記空きチャンネルフラグECF
は、修正エンベロープデータMENが「0」ではなく、
所定値未満で検出されてもよい。この場合、修正エンベ
ロープデータMENの一部の上位ビット群のみがナンド
ゲート群191、194及び197に入力される。
【0085】6.処理全体 図5はコントローラ(CPU)2によって実行される処
理全体のフローチャートを示す。この処理全体は本楽音
生成装置の電源オンによって開始され、電源オフまで繰
り返し実行される。
【0086】まず、プログラム/データ記憶部4の初期
化など種々のイニシャライズ処理が行われ(ステップ0
1)、上記キーボード11またはミディインターフェー
ス15での手動演奏または自動演奏に基づき、発音処理
が行われる(ステップ03)。
【0087】この発音処理では、空きチャンネルがサー
チされ、サーチされた空きチャンネルにオンイベントに
係る楽音が割り当てられる。この楽音の内容は、上記キ
ーボード11またはミディインターフェース15からの
上記演奏情報(楽音発生情報)、楽音制御情報の音楽的
ファクタ情報及びこのときプログラム/データ記憶部4
に既に記憶されている音楽的ファクタ情報によって決定
される。
【0088】この場合、サーチされた空きチャンネルの
アサインメントメモリ40のエリアに「1」のオン/オ
フデータ、周波数ナンバデータFN、エンベロープスピ
ードデータES、エンベロープタイムデータEL、
「0」のエンベロープフェーズデータEFなどが書き込
まれる。場合によって、トーンナンバデータTN、タッ
チデータTC、パートナンバデータPN、「0」のトー
ンタイムデータTMも書き込まれる。
【0089】次いで、上記キーボード11またはミディ
インターフェース15での手動演奏または自動演奏に基
づき、消音(減衰)処理が行われる(ステップ05)。
この消音(減衰)処理では、オフイベント(キーオフイ
ベント、消音イベント)に係る楽音が割り当てられてい
るチャンネルがサーチされ当該楽音が減衰され消音され
る。この場合、キーオフイベントに係る楽音のエンベロ
ープフェーズがリリースとなり、エンベロープレベルが
次第に「0」になる。
【0090】さらに、上記ミディインターフェース15
またはパネルスイッチ群13の各種スイッチの操作があ
れば、このスイッチに対応する音楽的ファクタ情報が取
り込まれ、プログラム/データ記憶部4に記憶され、音
楽的ファクタ情報が変更される(ステップ06)。この
後、その他の処理が実行され(ステップ07)、上記ス
テップ02からこのステップ07までの処理が繰り返さ
れる。
【0091】7.発音処理(ステップ03) 図6は上記ステップ03の発音処理のフローチャートを
示す。まずアサインメントメモリ40の各チャンネルエ
リアにハイリリースフラグHRFがセットされていれば
(ステップ51)、このチャンネルにつき、最小チャン
ネルメモリ134の中の当該チャンネルナンバに上記空
きチャンネルフラグECFが立てられているとき(ステ
ップ52)、プログラム/データ記憶部4(RAM)に
一時記憶されていた当該チャンネルのエンベロープスピ
ードデータES、エンベロープタイムデータET、周波
数ナンバデータFNなどの楽音データがアサインメント
メモリ40の当該チャンネルエリアに書き込まれ(ステ
ップ53)、このチャンネルエリアのハイリリースフラ
グHRFがクリアされ、上記テップ58と同じように最
小チャンネルナンバMCH及び最小修正エンベロープデ
ータMENが消去される(ステップ54)。
【0092】これにより、急速減衰(ハイリリース)さ
れた楽音がレベル「0」になったとき、この楽音のチャ
ンネルが明け渡され、新たな楽音に当該チャンネルが割
り当てられる。このステップ53で書き込まれる楽音デ
ータは後述するステップ57のハイリリース処理で準備
される。
【0093】そして、オンイベントがあると(ステップ
11)、上記成分音テーブル20に基づいてこのオンイ
ベントに係る楽音のトーンナンバデータTNに対応する
周波数ナンバ比データFNR及びエンベロープスピード
データES並びにエンベロープタイムデータETが読み
出される(ステップ12)。
【0094】次いで、このオンイベントに係る楽音のキ
ーナンバデータKNに対応した周波数ナンバデータFN
に、この読み出された各周波数ナンバ比データFNRが
乗算され、各成分音の周波数ナンバデータFNが求めら
れる(ステップ13)。この場合オンイベントが複数あ
れば、複数の楽音の各成分音について周波数ナンバデー
タFNが求められる。
【0095】そして、上記成分音テーブル20から各上
記各成分音のレベルデータLEが読み出され(ステップ
81)、読み出された各レベルデータLEに重み付けデ
ータWTが乗算修正されプログラム/データ記憶部4
(RAM)にストアされる(ステップ82)。この重み
付けデータWTは上記プログラム/データ記憶部4(R
OM)に記憶されており、図12(2)に示す特性を有
している。なおこの図12は重み付けメモリ133に記
憶されている重み付けデータWTを示すが、このステッ
プ82における重み付けデータWTも同じものである。
この特性(2)は上述の重み付けメモリ133で述べた
通りである。
【0096】ついで、アサインメントメモリ40内の既
に割り当てられている各成分音の周波数ナンバデータF
Nと、上記ステップ13で求められた各周波数ナンバデ
ータFNとが一致していれば(ステップ14)、このチ
ャンネルの各フェーズのエンベロープスピードデータE
S及びエンベロープタイムデータETが合成エンベロー
プのものに書き換えられ、キーナンバデータKNが付加
記憶される(ステップ15)。この合成エンベロープで
は、既にこのチャンネルに割り当てられている単独成分
音または合成成分音のエンベロープに、この新たな成分
音のエンベロープが加算合成される。このステップ15
のエンベロープ合成処理は後述する。
【0097】このステップ15のエンベロープ合成処理
では、これから新たに割り当てようとする複数の楽音の
複数の成分音の周波数が同じであれば、これらの成分音
についてもエンベロープ合成が行われる。このステップ
15のエンベロープ合成では、合成される成分音の上記
レベルデータLEも互いに加算(演算)合成される。
【0098】このようなこれから新たに割り当てようと
する楽音が複数の場合は、例えば発音操作が完全に同時
になされ、オンイベントが同時に発生されたときや、自
動演奏において演奏情報が同時に読み出されたときであ
る。
【0099】また、既に割り当てられている各成分音の
周波数ナンバデータFNと、求められた各周波数ナンバ
データFNとが一致していなければ(ステップ14)、
空きチャンネルがサーチされる(ステップ16)。この
空きチャンネルのナンバは、上記最小チャンネルメモリ
134に記憶されている第1最小チャンネルナンバ1M
CHである。
【0100】ついで、上記ステップ82で乗算修正され
た各修正レベルデータMLEのうちもっとも値の大きい
データMLEまたはもっとも低音のデータMLEと最小
チャンネルメモ134に記憶されている第1最小修正エ
ンベロープデータ1MENとが比較され(ステップ8
3)、第1最小修正エンベロープデータ1MENの方が
小さく(ステップ84)、この第1最小チャンネルナン
バ1MCHに空きチャンネルフラグECFが付加されて
いれば(ステップ56)、この第1最小チャンネルナン
バ1MCHのアサインメントメモリ40のエリアに上記
成分音の周波数ナンバデータFN、キーナンバデータK
N及びエンベロープスピードデータES並びにエンベロ
ープタイムデータETが書き込まれ、フェーズカウンタ
50の対応チャンネルのカウンタがクリアされる(ステ
ップ17)。
【0101】こうして、既に成分音が割り当てられ、こ
の成分音のレベルが小さくなっているチャンネルを、他
の最大のレベルの成分音に明け渡すことができる。
【0102】そして、この割り当てたチャンネルの第1
最小チャンネルナンバ1MCH及び第1最小修正エンベ
ロープデータ1MENが上記最小チャンネルメモリ13
4から消去され(ステップ58)、プログラム/データ
記憶部4(RAM)の上記修正レベルデータMLEも消
去され(ステップ86)、以上のエンベロープ合成処理
またはチャンネル割り当て処理が他の成分音についても
繰り返され(ステップ18)、その他の処理が行われる
(ステップ19)。
【0103】こうして、チャンネルに割り当てられてい
るレベルの小さい成分音が順次消去され、レベルの大き
い成分音が順次チャンネルに割り当てられ、小さい成分
音と大きい成分音とが順次入れ替えられていく。
【0104】さらに、全チャンネルの成分音が新たな成
分音にすべて入れ替わっても、または全チャンネルが空
いていて、全チャンネルに新たな成分音が割り当てられ
ても、まだ新たな成分音が残ることがある。この場合、
新たな成分音は修正レベルデータMLEが大きい方から
割り当てられていくので、この残った成分音は修正レベ
ルデータMLEが小さいものばかりであり、音感上問題
はない。
【0105】また、上記ステップ84で、第1最小修正
エンベロープデータ1MENの方が大きければ、上記ス
テップ56、17、58、57のチャンネル明け渡し処
理は行われないまま、上記修正レベルデータMLEが消
去される(ステップ86)。こうして、新たな発音指示
に基づく新たな成分音であっても、レベルが小さければ
チャンネルに割り当てられない。
【0106】このように、チャンネルに成分音を割り当
てるにあたり、各成分音の大きさを判別して選び出した
成分音にチャンネルを割り当てることができる。しかも
各成分音は重み付けされ(ステップ82)、この重み付
けは人間の聴覚の特性(ラウドネス特性、マスキング特
性)に応じており、この結果人間の聴覚に合致したチャ
ンネル割り当ての優先特性を実現できる。これは同じ周
波数の各成分音を合成してチャンネル割り当てを行って
いる本実施例でしかできない。
【0107】さらに、この第1最小チャンネルナンバ1
MCHに空きチャンネルフラグECFが付加されておら
ず(ステップ56)、最も減衰している成分音がまだレ
ベル「0」に達していなければ、当該チャンネルの成分
音が急速減衰されるハイリリース処理が実行される(ス
テップ57)。このハイリリース処理の後、当該チャン
ネルに新たな成分音が割り当てられる(ステップ51〜
54)。
【0108】なお、上記ステップ16の空きチャンネル
のサーチ及びステップ83及び84の第1最小修正エン
ベロープデータ1MENとの対比では、第1最小チャン
ネルナンバ1MCHが既に消去されていれば(ステップ
58)、第2最小修正エンベロープデータ2MENと対
比されて(ステップ83、84)、第2最小チャンネル
ナンバ2MCHに応じたチャンネルに新たな成分音が割
り当てられ(ステップ17)、修正エンベロープメモリ
132の第2最小チャンネルナンバ2MCHが消去され
る(ステップ58)。
【0109】また、第1最小チャンネルナンバ1MCH
及び第2最小チャンネルナンバ2MCHが既に消去され
ていれば(ステップ58)、第3最小修正エンベロープ
データ3MENと対比されて(ステップ83、84)、
第3最小チャンネルナンバ3MCHに応じたチャンネル
に新たな成分音が割り当てられ(ステップ17)、修正
エンベロープメモリ132の第3最小チャンネルナンバ
3MCHが消去される(ステップ58)。以下同様にし
て、第4最小チャンネルナンバ4MCH、第5最小チャ
ンネルナンバ5MCH、……についても同様に処理され
得る。
【0110】さらに、上記ステップ56では、当該最小
チャンネルナンバMCHに空きチャンネルフラグECF
が付加されていても、アサインメント40の対応するチ
ャンネルエリアにハイリリースフラグHRFが記憶され
ていれば、上記ステップ17のチャンネル割り当て処理
は行われない。当該チャンネルの成分音は急速減衰中で
あり、次に割り当てられる成分音が予約されているから
である。この場合処理は改めてステップ16へ戻る。
【0111】また、上記ステップ58の最小チャンネル
ナンバMCHの消去は、上記ステップ57のハイリリー
ス処理の後にも実行されてもよい。この場合、その後の
再度同じチャンネルナンバが最小レベル検出回路14
1、142及び143でリストアップされ、ハイリリー
スの後、上記ステップ51〜54のチャンネル割り当て
処理が実行される。
【0112】8.チャンネルトランケートの例 図15は時分割チャンネルの割り当て及び明け渡し(ト
ランケート)の例を示す。全チャンネル数が「15」
で、このうち13個のチャンネルに、図15(1)に示
す周波数の成分音が割り当てられており、2つのチャン
ネルが空いている。各周波数の成分音は図15(1)に
示すレベルとなっており刻々と変化する。
【0113】ここで図15(2)に示す成分音を持つ楽
音のキーオンイベントがあると、この楽音の成分音の周
波数とレベルは同図(2)のようになり、4つの成分音
へのチャンネル割り当てが必要となる。
【0114】この4つの成分音と同じ周波数の成分音に
はチャンネル割り当てがなされていないと(ステップ1
4、18)、上記空いている2つのチャンネルに成分音
が割り当てられ(ステップ16、17、58)、さらに
レベルの低い2つの最小チャンネルナンバに残りの2つ
の成分音が割り当てられる(ステップ18、14、1
6、17、58)。
【0115】こうして、図15(3)に示すように、レ
ベルの低い2つの成分音が消去され、新たな成分音にチ
ャンネルが明け渡し(トランケート)される。なお、新
たなキーオンに係る楽音の成分音はアタック状態であっ
て、まだレベルが低くく、これから大きくなるものであ
り、図(3)とは異なり、明け渡され消去される成分音
のレベルが、割り当てられ発音される成分音のレベルよ
り大きいこともある。
【0116】9.各成分音の対比の例 図18は上記ステップ83及び84の各成分音の修正レ
ベルを対比して大きいものからチャンネルを割り当てる
例を示す。図18(1)(2)(3)に示す3つの楽音
がチャンネルに割り当てられる。図18(1)(2)
(3)は各成分音のレベルと周波数を示す。
【0117】なお、この図18(1)(2)(3)のう
ちの1つは既にチャンネルに割り当てられている1つま
たは複数の楽音の各成分音の周波数とレベルを示すもの
でもよい。また、この図18(1)(2)(3)に示さ
れるこれからチャンネルに割り当てられる楽音は1つだ
けであって、この1つの成分音の数が「16」を越えて
いてもよい。
【0118】図18(1)の成分音の数は12個であ
り、図18(2)と図18(3)の成分音の数はともに
6個である。これらのうち、周波数の同じ成分音は4個
であると、これらの成分音は合成され、これら成分音の
レベルデータLEもそれぞれ加算(演算)合成される
(ステップ15)。
【0119】これらを合成すると図18(4)に示す周
波数スペクトル特性になり、成分音の数は20個となる
(ステップ81)。全チャンネル数が16個であると、
4つの成分音を消去することになる。この20個の成分
音のレベルデータLEに対して図18(5)に示す人間
のラウドネス特性に応じた重み付けデータWTが乗算合
成され、20個の修正レベルデータMLEが求められる
(ステップ82)。この場合、周波数の同じ成分音のレ
ベルデータLEは既に加算(演算)合成されている。
【0120】このうち大きさ(値)の小さい4つの成分
音は残されチャンネルに割り当てられることができず、
または消去され(ステップ86)、図18(6)に示す
16個の成分音がチャンネルに割り当てられる(ステッ
プ56、17、58、57、86、51〜54)。この
図18(6)の成分音を合成すると図18(7)に示す
楽音波形となる。この合成は上記累算器44で実行され
る。
【0121】こうして、新たなオンイベント(発音指
示)に基づく新たな成分音であっても、大きさが小さけ
れば当初からチャンネルには割り当てられない。また、
大きさの小さい成分音が割り当てられているチャンネル
を大きさの大きい楽音に明け渡してチャンネルの有効利
用を図ることができる。こうして総合的に大きさの大き
い成分音をチャンネルに優先的に割り当て、良い音感を
実現することができる。
【0122】また、上記各成分音の周波数は指定された
音高に応じて変化し、上記重み付けデータWTも成分音
の周波数によって変化する。したがって、各成分音のチ
ャンネル割り当ての優先度または明け渡しの可能性も指
定音高によって変化する。
【0123】なお、上記重み付けデータWT、レベルデ
ータLEまたは修正レベルデータMLEは、上記音楽的
ファクタ情報で代用されてもよい。例えば上述のキーナ
ンバデータKN、トーンナンバデータTN、パートナン
バデータPN、タッチデータTC、トーンタイムデータ
TM、共鳴度情報などである。これにより、音域(音
高)、音色、演奏分野、タッチ、発音時間、共鳴度など
の音楽的性質にも応じてチャンネル割り当ての優先度が
変化修正(決定制御)される。
【0124】これにより、例えばトーン(音色)ナン
バ、タッチデータ、共鳴度が大きいほど、音高(音
域)、パートナンバ(MIDIチャンネルナンバ)また
は発音時間が小さいほど、チャンネル割り当ての優先度
が高くなり、トランケートの可能性(頻度)が低くな
る。なお、こられの各データが複数加算されて上記重み
付けデータWT、レベルデータLEまたは修正レベルデ
ータMLEが作成されステップ82で乗算合成されても
よい。
【0125】このようなチャンネル割り当て(トランケ
ート)処理は、音像を形成するステレオ(オーデイオ)
チャンネルごとに実行される。各ステレオ(オーデイ
オ)チャンネルの成分音には音像データが乗算され、こ
れにさらに重み付けデータWTが乗算されて(ステップ
82)、上記ステップチャンネル割り当て(明け渡し)
が行われる(ステップ56、17、58、5786、5
1〜54)。したがって、同じ成分音がすべてのステレ
オ(オーデイオ)チャンネルを通じて発音されるとは限
られず、一部のステレオ(オーデイオ)チャンネルのみ
に割り当てられ発音されることもある。
【0126】上記ステップ82で乗算される重み付けデ
ータWTは、上記重み付けメモリ133に記憶された重
み付けデータWTと全く同じである。これにより、既に
チャンネルに割り当てられている成分音とこれからチャ
ンネルに割り当てる成分音とを同じ優先度でチャンネル
に割り当てることができる。むろん両重み付けデータW
Tの内容は異なっていてもよい。これにより、既にチャ
ンネルに割り当てられている成分音のチャンネル割り当
ての優先度を高めたり、これからチャンネルに割り当て
る成分音のチャンネル割り当ての優先度を高めたりでき
る。
【0127】10.エンベロープ合成処理(ステップ1
5) 図7は、上記ステップ15のエンベロープ合成処理のフ
ローチャートを示す。まず、上記フェーズカウンタ50
の当該チャンネルのフェーズカウント値とエンベロープ
タイムメモリ49の当該チャンネルの残存エンベロープ
タイムデータETがコントローラ2によって読み出され
(ステップ21)、この残存エンベロープタイムデータ
ETに残りのフェーズのエンベロープタイムデータET
が順次累算され、現在時点から成分音aの各フェーズの
末尾までの絶対時間が求められる(ステップ22)。
【0128】図8の例では、成分音aが発音開始し(タ
イミングTa0)、成分音bが発音開始し(タイミング
Tb0)、続いて成分音aのアタックフェーズが終了し
(タイミングTa1)、この後成分音aのディケイが終
了し(タイミングTa2)、成分音bのアタックが終了
し(タイミングTb1)、成分音aのサスティーンが終
了し(タイミングTa3)、成分音bのディケイが終了
し(タイミングTb2)、成分音aのリリースが終了し
(タイミングTa4)、成分音bのサスティーンが終了
し(タイミングTb3)、成分音bのリリースが終了す
る(タイミングTb4)。
【0129】この場合、上記残存エンベロープタイムデ
ータETは(Ta1−Tb0)となり、上記残りのフェ
ーズのエンベロープタイムデータETの累算値は(Ta
2−Tb0)、(Ta3−Tb0)、(Ta4−Tb
0)となる。各フェーズの各エンベロープタイムデータ
ETはこれら各タイミングTa0、Ta1、Ta2、T
a3、Ta4の間の時間を示している。したがって、こ
の残りのフェーズのエンベロープタイムデータETが累
算されれば、成分音bの発音開始から各タイミングTa
1、Ta2、Ta3、Ta4までの時間が求められる。
【0130】この求められた各絶対時間(Ta2−Tb
0)、(Ta3−Tb0)、(Ta4−Tb0)には、
この各タイミング直前のフェーズの成分音aのエンベロ
ープスピードデータESと成分音aを示すフラグa
(「1」)も対応づけて記憶される(ステップ23)。
【0131】次いで、成分音bについても同様にして、
残存エンベロープタイムデータETに残りのフェーズの
エンベロープタイムデータETが順次累算され、現在時
点から成分音bの各フェーズの末尾までの絶対時間が求
められる(ステップ24)。この絶対時間は同様に(T
b1−Tb0)、(Tb2−Tb0)、(Tb3−Tb
0)、(Tb4−Tb0)となる。この求められた各絶
対時間(Tb1−Tb0)、(Tb2−Tb0)、(T
b3−Tb0)、(Tb4−Tb0)には、この各タイ
ミング直前のフェーズの成分音bのエンベロープスピー
ドデータESと成分音bを示すフラグb(「0」)も対
応づけて記憶される(ステップ25)。
【0132】なお、上記タイミングTa3、Tb3は、
いずれもオフ操作のタイミングであり、上記タイミング
Ta4、Tb4はいずれもオフ操作のタイミングによっ
てシフトされる。したがって、上記絶対時間(Ta3−
Tb0)、(Ta4−Tb0)、(Tb3−Tb0)、
(Tb4−Tb0)はここでは求められない。しかし、
エンベロープの形状がオフ操作によって変化しない場合
には求められる。上記絶対時間(Ta3−Tb0)、
(Ta4−Tb0)、(Tb3−Tb0)、(Tb4−
Tb0)は、後述するように消音処理のときに求められ
る。このため、各成分音のサスティーンの末尾について
は、絶対時間は取り得る最大値とされ、エンベロープス
ピードデータESは「0」とされる。
【0133】ただし、上記成分音aがリリースに入って
いて、成分音bが発音開始する場合には、上記絶対時間
(Ta4−Tb0)は求められる。成分音aはすでにオ
フ操作され、リリース終了のタイミングがはっきりして
いるからである。
【0134】そして、上記ステップ22乃至25で求め
られた絶対時間(Ta2−Tb0)、(Ta3−Tb
0)、(Ta4−Tb0)、(Tb1−Tb0)、(T
b2−Tb0)、(Tb3−Tb0)、(Tb4−Tb
0)は大きい順に並べられ、対応づけられたエンベロー
プスピードデータESも同様に並べ変えられる(ステッ
プ26)。これにより、図8(3)に示すような各タイ
ミングが順番にソートされる。
【0135】図9(1)はこのようにしてソートされた
絶対時間とエンベロープスピードデータESと成分音フ
ラグを示す。このデータ内容は、上記図8(3)の合成
エンベロープ波形に対応したものとなっている。
【0136】次いで、各絶対時間(Ta2−Tb0)、
(Ta3−Tb0)、(Ta4−Tb0)、(Tb1−
Tb0)、(Tb2−Tb0)、(Tb3−Tb0)、
(Tb4−Tb0)から、それぞれ1つ前の絶対時間が
減算される(ステップ27)。これにより、図8(3)
の合成エンベロープ波形の各タイミングの間の新たなフ
ェーズの合成エンベロープタイムデータETsが図9
(2)左欄に示すように求められる。なお、先頭の合成
エンベロープタイムデータETsは、上記絶対時間の先
頭の(Ta2−Tb0)がそのままコピーされる。
【0137】さらに、各絶対時間に対応したエンベロー
プスピードデータESには、より先の絶対時間のエンベ
ロープスピードデータESであって、自己の成分音フラ
グa、bと異なるフラグを有するデータESが加算合成
される(ステップ28)。これにより、成分音aのエン
ベロープスピードESと成分音bのエンベロープスピー
ドESとが図8(3)の各フェーズごとに加算合成さ
れ、図8(3)の合成エンベロープ波形の各タイミング
の間の新たなフェーズの合成エンベロープスピードデー
タESsが図9(2)右欄に示すように求められる。
【0138】このようにして求められた合成エンベロー
プ波形の各フェーズの合成エンベロープタイムデータE
Ts及び合成エンベロープスピードデータESsは、上
記アサインメントメモリ40の対応するチャンネルエリ
アに書き込まれ、フェーズカウンタ50の対応チャンネ
ルのカウンタがクリアされる(ステップ29)。これに
より合成エンベロープの生成が開始される。この場合、
合成エンベロープのオンイベント(または後述するオフ
イベント)の時点以降の部分が、アサインメントメモリ
40に記憶され生成される。
【0139】こうして、成分音aのエンベロープスピー
ドデータES及びエンベロープタイムデータETは、同
じ周波数の新たな成分音bが当該チャンネルに割り当て
られるたびに書き換えられ、この新たな成分音bを合成
したエンベロープの合成エンベロープスピードデータE
Ss及び合成エンベロープタイムデータETsに置き換
えられる。
【0140】よって、同じ周波数の各楽音の発生量が合
成され、1つのチャンネルにまとめて割り当てられるこ
とになる。また、同じ周波数の各楽音のエンベロープ波
形が合成され、1つの楽音として出力されることにな
る。
【0141】そして、成分音aのリリース以降のエンベ
ロープスピードデータESとエンベロープタイムデータ
ETとが成分音aのキーナンバデータKNに対応してア
サインメントメモリ40に記憶され、成分音bのリリー
ス以降のエンベロープスピードデータESとエンベロー
プタイムデータETも成分音bのキーナンバデータKN
に対応してアサインメントメモリ40に記憶される(ス
テップ30)。このリリース以降のエンベロープスピー
ドデータESとエンベロープタイムデータETは、オフ
イベント以降にエンベロープ合成処理が行われる。
【0142】11.消音処理(ステップ05) 図10は上記ステップ05の消音処理のフローチャート
を示す。まずオフイベントがあると(ステップ31)、
このオフイベントに係るキーナンバデータKNと同じキ
ーナンバデータKNが記憶されているアサインメントメ
モリ40のチャンネルがサーチされる(ステップ3
2)。
【0143】そして、該当するチャンネルが発見される
と(ステップ33)、上述したステップ15のエンベロ
ープ合成処理と同様の処理が実行され(ステップ3
4)、このキーナンバデータKNと対応するエンベロー
プスピードデータESとエンベロープタイムデータET
が当該チャンネルエリアから消去される(ステップ3
5)。以上のオフイベントによるエンベロープ合成処理
が他の成分音についても繰り返され(ステップ36)、
その他の処理が行われる(ステップ37)。
【0144】このステップ34のエンベロープ合成処理
では、上記キーナンバデータKNに対応して記憶された
リリース以降のエンベロープスピードデータESとエン
ベロープタイムデータETとが読み出され、同様のエン
ベロープ合成処理が実行される。ただし、この場合この
リリースのエンベロープスピードデータESはマイナス
値であるから実質的に減算される。これはディケイも同
様である。なお、このステップ34のエンベロープ合成
処理では、上記ステップ30のリリースのエンベロープ
スピードデータES及びエンベロープタイムデータET
のセット処理は行われない。
【0145】こうして、オフイベントのときにも、合成
成分音a+bの合成エンベロープスピードデータESs
及び合成エンベロープタイムデータETsは書き換えら
れ、この新たなリリースを考慮したエンベロープの合成
エンベロープスピードデータESs及び合成エンベロー
プタイムデータETsに置き換えられる。
【0146】よって、オフイベントのときにも、同じ周
波数の各楽音の発生量が合成され、1つのチャンネルに
まとめて割り当てられることになる。また、同じ周波数
の各楽音のエンベロープ波形が合成され、1つの楽音と
して出力されることになる。
【0147】12.ハイリリース処理(ステップ57) 図16は上記ステップ57のハイリリース処理のフロー
チャートを示す。当該チャンネルのエンベロープ演算デ
ータENをEN演算メモリ48から取り込み(ステップ
61)、このエンベロープが「0」になるまでの最短時
間ETrつまりハイリリースのエンベロープタイムET
rが以下の演算で求められる(ステップ62)。
【0148】ETr=(ET/ESmin) ここでETは上記現在のエンベロープ演算データENで
あり、ESminは取り得る最小のエンベロープスピー
ドデータであって、最大傾斜の減衰を実現する。
【0149】次いで、この最小エンベロープスピードデ
ータESminとハイリリースエンベロープタイムET
rとが、アサインメントメモリ40の当該チャンネルエ
リアに書き込まれるとともに(ステップ63)、さらに
ハイリリースフラグHRFも書き込まれ(ステップ6
4)、他のエンベロープスピードデータES及びエンベ
ロープタイムデータET、エンベロープフェーズデータ
EFが消去される(ステップ65)。これにより、図1
7の「ESmin」に示すように、チャンネルを明け渡
す先の楽音(成分音)のエンベロープスピードがESn
からESminに切り替えられ、当該楽音(成分音)が
急速に減衰される。このとき、後の楽音(成分音)はキ
ーオンがあっても発音開始されない。
【0150】そして、上記ハイリリースエンベロープタ
イムETrの遅れを取り戻すため、最大エンベロープス
ピードデータESmaxとこれによって追いつくハイア
タックのエンベロープタイムデータETaが以下の演算
で求められる(ステップ71)。
【0151】 ETa=(ES1×ETr)/(ESmax−ES1) ここでETrは上記ハイリリースのエンベロープタイム
であり、ES1はこの新たな楽音(成分音)のアタック
のエンベロープスピードであり、ESmaxは取り得る
最大のエンベロープスピードデータであって、最大傾斜
のアタックを実現する。
【0152】次いで、この最大エンベロープスピードデ
ータESmaxとハイアタックエンベロープタイムET
aとが、プログラム/データ記憶部4(RAM)に一時
的に書き込まれる(ステップ72)。これにより、図1
7の「ESmax」で示すハイアタックのエンベロープ
部分のデータが作成される。
【0153】そして、エンベロープスピードデータES
1とエンベロープタイム(ET1−ETr−ETa)と
が、プログラム/データ記憶部4(RAM)に一時的に
書き込まれる(ステップ73)。これにより、図17の
新たな成分音の残りのアタックエンベロープ部分のデー
タが作成される。
【0154】次いで、これ以降のエンベロープスピード
データES及びエンベロープタイムデータETが同様に
書き込まれ(ステップ74)、上記ステップ13で求め
られた周波数ナンバデータFNも同様に書き込まれ(ス
テップ75)、さらに当該チャンネルナンバCHNoも
同様に書き込まれる(ステップ76)。このチャンネル
ナンバCHNoは上記ステップ53の書き込みで、チャ
ンネルの対応のチェックに利用される。
【0155】こうして新たな成分音の修正されたエンベ
ロープスピードデータ及びエンベロープタイムデータが
作成され一時記憶される。この一時記憶されたエンベロ
ープデータは、上記ステップ53でアサインメントメモ
リ40に書き込まれる。
【0156】なお、上記ステップ72及び73で求めら
れる2つのエンベロープスピードデータ及び2つのエン
ベロープタイムデータは、以下の1つのエンベロープス
ピードデータ及び1つのエンベロープタイムデータで代
用できる。
【0157】 ES=ES1×ET1/(ET1−ETr) ET=ET1−ETr ここで、ET1はこの新たな楽音(成分音)のアタック
のエンベロープタイムであり、ES1はこの新たな楽音
(成分音)のアタックのエンベロープスピードであり、
ETrは上記ハイリリースのエンベロープタイムであ
る。これにより、新たな成分音のアタックは図17の点
線に示す状態となる。
【0158】13.トーンタイムデータTM及び同時発
音数の処理 図11はコントローラ2によって一定周期ごとに実行さ
れるインタラプト処理のフローチャートを示す。この処
理で上記トーンタイムデータTMのインクリメント及び
同時発音数のカウントが行われる。
【0159】この処理では、上記アサインメントメモリ
40の各チャンネルエリアにつき(ステップ41、4
6、47)、オン/オフデータが「1」で楽音が発音中
のものについて(ステップ43)、そのトーンタイムデ
ータTMが「+1」される(ステップ44)。
【0160】また、同じくアサインメントメモリ40の
各チャンネルエリアにつき(ステップ41、46、4
7)、いったん同時発音数データがクリアされた後(ス
テップ42)、オン/オフデータが「1」で楽音が発音
中のものがカウント(ステップ43)、同時発音数が順
次「+1」される(ステップ45)。このカウントされ
た同時発音数はプログラム/データ記憶部4に記憶され
る。
【0161】そして、その他の周期的な処理が行われる
(ステップ48)。こうして、各チャンネルの楽音の発
音経過時間がカウントされ記憶され上記発音時間情報と
して利用され、またそのときどきの全チャンネルの発音
中の楽音の数がカウントされ記憶され上記同時発音数情
報として利用される。
【0162】本発明は上記実施例に限定されず、本発明
の趣旨を逸脱しない範囲で種々変更可能である。例え
ば、波形メモリ42に記憶される楽音波形データMWは
サイン波以外の複雑な波形でもよいし、音色、音高(音
域)、タッチ、パート、発音時間ごとに異なる波形が記
憶され切り替え選択されてもよい。このような複雑な形
状の波形は上記各成分音の楽音波形として読み出され出
力される。
【0163】また、各チャンネルに割り当てられる楽音
は成分音以外の1つの独立した楽音であってもよい。こ
の場合、同じチャンネルに割り当てられる楽音の波形は
同じ波形形状であり、同じ音高(周波数)である。この
ような場合でも同様にエンベロープの合成または発生量
の合成を行うことができる。
【0164】さらに、合成されるのはエンベロープ以外
の楽音波形データMWの振幅でもよい。この場合上記ス
テップ15、34で合成されるのは、振幅決定因子例え
ばタッチデータTCなどである。そして、アサインメン
トメモリ40の各チャンネルのタッチデータTCは、上
記オンイベント及びオフイベントごとに相加され、この
相加されたタッチデータTCはアサインメントメモリ4
0から上記乗算器43へ送られ、楽音波形データMWに
乗算される。なお、この相加されたタッチデータTC
は、当該チャンネルの各エンベロープスピードデータE
Sに乗算されてもよい。この乗算されたエンベロープス
ピードデータESを使って上記ステップ15、34のエ
ンベロープ合成が行われる。
【0165】また、上記チャンネルは時分割処理によっ
て形成されたが、このチャンネルと同じ数の楽音信号発
生部5が設けられ、各楽音信号発生部5〜の楽音波形デ
ータMWが加算器で加算合成されてもよい。
【0166】さらに、上記エンベロープデータは、エン
ベロープスピードデータESとエンベロープレベルデー
タEL、またはエンベロープレベルデータELとエンベ
ロープタイムデータETとで代用されてもよい。この場
合、隣り合う2つのエンベロープレベルデータELの差
がエンベロープスピードデータESで除算されて上記エ
ンベロープタイムデータETが求められる。また、隣り
合う2つのエンベロープレベルデータELの差がエンベ
ロープタイムデータETで除算されて上記エンベロープ
スピードデータESが求められる。
【0167】また、上記チャンネルトランケートでは、
アタック状態またはエンベロープスピードデータがプラ
スである成分音の重み付けデータWTは格段に大きくさ
れてもよい。この場合、上記アサインメントメモリ40
から読み出されたエンベロープフェーズデータEFが重
み付けメモリ133で変換され、エンベロープフェーズ
データEFが所定値未満ならば、大きい値に変換されて
上記乗算器131へ送られ、エンベロープフェーズデー
タEFが所定値を越えれば、小さい値に変換されて上記
乗算器131へ送られる。これにより、エンベロープフ
ェーズの音楽的性質によってチャンネル割り当ての優先
度が変化修正(決定制御)される。
【0168】さらに、上記チャンネルトランケートで
は、あるレベル以上の成分音を有するチャンネルは明け
渡されなくてもよい。この場合、上記ステップ16で各
最小チャンネルナンバMCHに応じたチャンネルの修正
エンベロープデータMENが修正エンベロープメモリ1
32より読み出され、所定レベル未満ならばステップ1
7及び58のチャンネルトランケートが実行される。こ
れにより、楽音レベルの音楽的性質によってチャンネル
割り当ての優先度が変化修正(決定制御)される。
【0169】また、上記チャンネルトランケートは、1
つのチャンネルに合成して割り当てられている成分音の
数が多いほど、明け渡し(トランケート)の可能性が低
くなってもよい。この場合、上記ステップ13の後また
はステップ16などで、アサインメントメモリ40の各
チャンネルエリアに記憶されているキーナンバデータK
Nの数によって決定される重み付けデータWTが各修正
エンベロープデータMENに乗算される。
【0170】この重み付けデータは、例えば1チャンネ
ル当たりの上記キーナンバデータKNの数が「1」なら
ば「0.7」、「2」ならば「0.8」、「3」ならば
「0.9」、「4」以上ならば「1.0」である。この
重み付けデータWTによって修正された修正エンベロー
プデータMENに基づいて上記第1最小レベル検出回路
141、第2最小レベル検出回路142、第3最小レベ
ル検出回路143、…、…、でレベルの低い成分音に係
るチャンネルナンバがサーチされる。これにより、各時
分割チャンネルに割り当てられている成分音の数という
音楽的性質によってチャンネル割り当ての優先度が変化
修正(決定制御)される。
【0171】さらに、上記新たに割り当てられる楽音の
周波数と上記急速に減衰されチャンネルを明け渡す楽音
の周波数とは異なっていたが、同じでもよい。この場
合、上記ステップ14及び15の処理は省略される。こ
れにより、同じ周波数の成分音同志はエンベロープ合成
されず、先の成分音が急速減衰されたのち、新たな同じ
周波数の成分音にチャンネルが明け渡されアタックが開
始される。
【0172】また、本発明は電子楽器またはコンピュー
タなどにおいて実施され得る。上記各図の回路の機能は
ソフトウエア(フローチャート)によって実施されても
良いし、上記各図のフローチャートの機能はハードウエ
ア(回路)によって実施されてもよい。各請求項記載の
発明は、当該発明をコンピュータに実行させるコンピュ
ータプログラムを記憶した媒体、コンピュータプログラ
ムの通信装置(方法)、楽音発生装置(方法)、楽音制
御装置(方法)としても実現可能である。
【0173】本発明の実施態様は以下の通りである。
[1]同時に発生される複数の楽音がそれぞれ割り当て
られる複数のチャンネルにつき、 この同時に発生され
る複数の楽音のうち、同じ周波数の楽音を判別し、 こ
の判別された同じ周波数の楽音の発生量を合成して、1
つのチャンネルにまとめて割り当てることを特徴とする
楽音のチャンネル割り当て装置。
【0174】[2]同時に発生される複数の楽音がそれ
ぞれ割り当てられる複数のチャンネルにつき、 この同
時に発生される複数の楽音のうち、同じ周波数の楽音を
判別させ、 この判別された同じ周波数の楽音の発生量
を合成して、1つのチャンネルにまとめて割り当てさせ
ることを特徴とする楽音のチャンネル割り当て方法。
【0175】[3]同時に発生される複数の楽音のう
ち、同じ周波数の楽音を判別し、 この判別された同じ
周波数の各楽音のエンベロープ波形を合成して1つの楽
音として出力することを特徴とする楽音のエンベロープ
制御装置。
【0176】[4]同時に発生される複数の楽音のう
ち、同じ周波数の楽音を判別させ、この判別された同じ
周波数の各楽音のエンベロープ波形を合成して1つの楽
音として出力させることを特徴とする楽音のエンベロー
プ制御方法。
【0177】[5]上記同時に発生される複数の楽音
は、1つの楽音を構成する成分音であり、 この同時に
発生される複数の楽音は、同じ波形または異なる波形の
楽音であり、 新たな楽音が発生されるときまたは発生
されている楽音が消滅されるとき、この楽音またはこの
楽音の成分音の同じ周波数の各エンベロープ発生量につ
き、合成したエンベロープ発生量の各エンベロープレベ
ル、エンベロープタイム及びエンベロープスピードのい
ずれか2つを演算して、この演算したエンベロープレベ
ル、エンベロープタイム及びエンベロープスピードのい
ずれか2つに基づいて、上記周波数の楽音またはこの楽
音の成分音の合成エンベロープを1つのチャンネルで生
成することを特徴とする請求項1、2、3または4記載
の楽音のチャンネル割り当て装置、楽音のチャンネル割
り当て方法、楽音のエンベロープ制御装置または楽音の
エンベロープ制御方法。
【0178】[6]同時に発生される複数の楽音がそれ
ぞれ割り当てられる複数のチャンネルにつき、 この同
時に発生される複数の楽音のうち、同じ周波数の楽音を
判別する手段と、 この判別された同じ周波数の楽音の
発生量を合成して、1つのチャンネルにまとめて割り当
てる手段と、 このようにして各チャンネルに割り当て
られている各楽音につき、チャンネル明け渡しの優先順
位を決定する手段と、この決定された優先順位に基づい
てチャンネルを選び出し、このチャンネルに新たな楽音
を割り当てる手段とを備えたことを特徴とする楽音のチ
ャンネル割り当て装置。
【0179】[7]同時に発生される複数の楽音がそれ
ぞれ割り当てられる複数のチャンネルにつき、 この同
時に発生される複数の楽音のうち、同じ周波数の楽音を
判別させ、 この判別された同じ周波数の楽音の発生量
を合成して、1つのチャンネルにまとめて割り当てさ
せ、 このようにして各チャンネルに割り当てられてい
る各楽音につき、チャンネル明け渡しの優先順位を決定
させ、 この決定された優先順位に基づいてチャンネル
を選び出させ、このチャンネルに新たな楽音を割り当て
させることを特徴とする楽音のチャンネル割り当て方
法。
【0180】[8]上記同時に発生される複数の楽音
は、1つの楽音を構成する成分音であり、 複数の楽音
のそれぞれの成分音につき同じ周波数の成分音を判別
し、各成分音を同じ周波数ごとに合成して各チャンネル
に割り当て、 この同時に発生される複数の楽音は、同
じ波形または異なる波形の楽音であり、 上記チャンネ
ル明け渡しの優先順位は、各チャンネルに割り当てられ
ている楽音のレベル、当該楽音の音楽的性質、人間の等
ラウドネス特性または人間の最低可聴特性に基づいて決
定されることを特徴とする請求項6記載の楽音のチャン
ネル割り当て装置または請求項7記載の楽音のチャンネ
ル割り当て方法。
【0181】[9]同時に発生される複数の楽音がそれ
ぞれ割り当てられる複数のチャンネルにつき、 この同
時に発生される複数の楽音のうち、同じ周波数の楽音を
判別する手段と、 この判別された同じ周波数の楽音の
発生量を合成して、1つのチャンネルにまとめて割り当
てる手段と、 このようにして楽音が割り当てられてい
る上記複数のチャンネルから1つのチャンネルを選び出
し、このチャンネルに割り当てられている楽音を急速に
減衰する手段と、 この急速な減衰が達成されたとき、
当該チャンネルに新たな楽音を割り当てる手段とを備え
たことを特徴とする楽音のチャンネル割り当て装置。
【0182】[10]同時に発生される複数の楽音がそ
れぞれ割り当てられる複数のチャンネルにつき、 この
同時に発生される複数の楽音のうち、同じ周波数の楽音
を判別させ、 この判別された同じ周波数の楽音の発生
量を合成して、1つのチャンネルにまとめて割り当てさ
せ、 このようにして楽音が割り当てられている上記複
数のチャンネルから1つのチャンネルを選び出しさせ、
このチャンネルに割り当てられている楽音を急速に減衰
させ、 この急速な減衰が達成されたとき、当該チャン
ネルに新たな楽音を割り当てさせることを特徴とする楽
音のチャンネル割り当て方法。
【0183】[11]上記同時に発生される複数の楽音
は、1つの楽音を構成する成分音であり、この成分音の
周波数は互いに異なり、これら成分音は1つの発音指示
によって同時にチャンネル割り当てされて同時に発生開
始され、 複数の楽音のそれぞれの成分音につき同じ周
波数の成分音を判別し、各成分音を同じ周波数ごとに合
成して各チャンネルに割り当て、 この同時に発生され
る複数の楽音は、同じ波形または異なる波形の楽音であ
り、 上記選び出されるチャンネルは、決定されたチャ
ンネル明け渡しの優先順位に基づいて選び出され、 こ
のチャンネル明け渡しの優先順位は、各チャンネルに割
り当てられている楽音のレベル、当該楽音の音楽的性
質、人間の等ラウドネス特性または人間の最低可聴特性
に基づいて決定され、 上記急速な減衰は、当該楽音の
エンベロープの変化のスピードを大きくし、 上記急速
な減衰が達成されたときは、当該楽音のレベルが「0」
または所定値未満になったときであり、 上記新たに割
り当てられる楽音の周波数と上記急速に減衰されチャン
ネルを明け渡す楽音の周波数とは異なるまたは同じであ
ることを特徴とする請求項1記載の楽音のチャンネル割
り当て装置または請求項2記載の楽音のチャンネル割り
当て方法。
【0184】
【発明の効果】以上詳述したように、本発明では、本発
明では、同時に発生される複数の楽音のうち、同じ周波
数の楽音を判別し、この判別された同じ周波数の楽音の
発生量を合成して、1つのチャンネルにまとめて割り当
て、これらチャンネルに楽音を割り当てるにあたり、各
楽音の大きさを判別し、この判別結果に基づいて選び出
した楽音にチャンネルを割り当てるようにした。
【0185】したがって、大きさの小さい楽音には当初
からチャンネルを割り当てないようにしたり、大きさの
小さい楽音が割り当てられているチャンネルを大きさの
大きい楽音に明け渡したりしてチャンネルの有効利用を
図ることができ、また大きさの大きい楽音をチャンネル
に優先的に割り当て、良い音感を実現することができる
等の効果を奏する。
【図面の簡単な説明】
【図1】楽音制御装置の全体回路を示す。
【図2】成分音テーブル20を示す。
【図3】アサインメントメモリ40を示す。
【図4】楽音信号発生部5を示す。
【図5】処理全体のフローチャートを示す。
【図6】発音処理(ステップ03)のフローチャートを
示す。
【図7】エンベロープ合成処理(ステップ15)のフロ
ーチャートを示す。
【図8】同じ周波数の成分音aと成分音bとのエンベロ
ープ合成の波形の例を示す。
【図9】同じ周波数の成分音aと成分音bとのエンベロ
ープ合成のデータの例を示す。
【図10】消音処理(ステップ05)のフローチャート
を示す。
【図11】インタラプト処理のフローチャートを示す。
【図12】重み付けメモリ133に記憶されたの重み付
けデータWTの内容を示す。
【図13】第1最小レベル検出回路141、第2最小レ
ベル検出回路142及び第3最小レベル検出回路143
の回路図を示す。
【図14】図13の回路の各部の信号のタイムチャート
を示す。
【図15】成分音の割り当てられている各時分割チャン
ネルのトランケートの例を示す。
【図16】ハイリリース処理(ステップ57)のフロー
チャートを示す。
【図17】ハイリリースの時のエンベロープの変化を示
す。
【図18】各成分音の修正レベルを対比して大きいもの
からチャンネルを割り当てる例を示す。
【符号の説明】
2…コントローラ(CPU)、3…タイミング発生部、
4…プログラム/データ記憶部、5…楽音信号発生部、
6…サウンドシステム、7…情報記憶部、11…キーボ
ード、13…パネルスイッチ群、15…ミディインター
フェース、20…成分音テーブル、40…アサインメン
トメモリ、41…波形読み出し部、42…波形メモリ、
47…セレクタ、48…エンベロープ演算メモリ、49
…エンベロープタイムメモリ、50…フェーズカウン
タ、46,51…加算器、52…ナンドゲート群、13
1…乗算器、132…修正エンベロープメモリ、133
…重み付けメモリ、134…最小チャンネルメモリ、1
41…第1最小レベル検出回路、142…第2最小レベ
ル検出回路、143…第3最小レベル検出回路。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 同時に発生される複数の楽音がそれぞれ
    割り当てられる複数のチャンネルにつき、 この同時に発生される複数の楽音のうち、同じ周波数の
    楽音を判別する手段と、 この判別された同じ周波数の楽音の発生量を合成して、
    1つのチャンネルにまとめて割り当てる手段と、 これらチャンネルに楽音を割り当てるにあたり、各楽音
    の大きさを判別し、この判別結果に基づいて選び出した
    楽音にチャンネルを割り当てる手段とを備えたことを特
    徴とする楽音のチャンネル割り当て装置。
  2. 【請求項2】 同時に発生される複数の楽音がそれぞれ
    割り当てられる複数のチャンネルにつき、 この同時に発生される複数の楽音のうち、同じ周波数の
    楽音を判別させ、この判別された同じ周波数の楽音の発
    生量を合成して、1つのチャンネルにまとめて割り当て
    させ、 これらチャンネルに楽音を割り当てるにあたり、各楽音
    の大きさを判別させ、この判別結果に基づいて選び出し
    た楽音にチャンネルを割り当てさせることを特徴とする
    楽音のチャンネル割り当て方法。
  3. 【請求項3】 上記同時に発生される複数の楽音は、1
    つの楽音を構成する複数の成分音であり、この成分音の
    周波数は互いに異なり、これら成分音は1つの発音指示
    によって同時にチャンネル割り当てされて同時に発生開
    始され、 複数の楽音のそれぞれの成分音につき同じ周波数の成分
    音を判別し、各成分音を同じ周波数ごとに合成して各チ
    ャンネルに割り当て、 上記大きさの判別される楽音は、これからチャンネルに
    割り当てられる1つまたは複数の楽音または既にチャン
    ネルに割り当てられている1つまたは複数の楽音とこれ
    からチャンネルに割り当てられる1つまたは複数の楽音
    とであり、 上記判別される楽音の大きさは、既にチャンネルに割り
    当てられている楽音については、当該判別のときの楽音
    の大きさであり、これからチャンネルに割り当てられる
    楽音については、当該楽音のエンベロープ波形の積分
    値、最大レベル、アタック到達レベルまたはサスティー
    ンレベルであり、 この判別される各楽音の各大きさは、当該各楽音の周波
    数によって修正され、この修正は人間の等ラウドネス特
    性または人間の最低可聴特性に応じており、 上記楽音の大きさの判別結果に基づいて、既に楽音が割
    り当てられているチャンネルを他の楽音に明け渡し、ま
    たは新たな発音指示に基づく新たな楽音であってもチャ
    ンネルを割り当てず、 上記チャンネル割り当ての制御は音像を形成する複数の
    オーディオチャンネルまたはステレオチャンネルごとに
    実行されることを特徴とする請求項1記載の楽音のチャ
    ンネル割り当て装置または請求項2記載の楽音のチャン
    ネル割り当て方法。
JP01661798A 1998-01-29 1998-01-29 楽音のチャンネル割り当て装置及び楽音のチャンネル割り当て方法 Expired - Fee Related JP3673388B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP01661798A JP3673388B2 (ja) 1998-01-29 1998-01-29 楽音のチャンネル割り当て装置及び楽音のチャンネル割り当て方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP01661798A JP3673388B2 (ja) 1998-01-29 1998-01-29 楽音のチャンネル割り当て装置及び楽音のチャンネル割り当て方法

Publications (2)

Publication Number Publication Date
JPH11212562A true JPH11212562A (ja) 1999-08-06
JP3673388B2 JP3673388B2 (ja) 2005-07-20

Family

ID=11921303

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01661798A Expired - Fee Related JP3673388B2 (ja) 1998-01-29 1998-01-29 楽音のチャンネル割り当て装置及び楽音のチャンネル割り当て方法

Country Status (1)

Country Link
JP (1) JP3673388B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019168515A (ja) * 2018-03-22 2019-10-03 カシオ計算機株式会社 電子楽器、方法及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019168515A (ja) * 2018-03-22 2019-10-03 カシオ計算機株式会社 電子楽器、方法及びプログラム

Also Published As

Publication number Publication date
JP3673388B2 (ja) 2005-07-20

Similar Documents

Publication Publication Date Title
JP2645181B2 (ja) 電子楽器のチャンネル割り当て装置及びチャンネル割り当て方法
JP3372124B2 (ja) 電子楽器
JP5142363B2 (ja) 成分音合成装置及び成分音合成方法。
JP2655905B2 (ja) 電子楽器のチャンネル割り当て装置
JP2002311957A (ja) 共鳴装置、共鳴方法及び共鳴処理のためのコンピュータプログラム
JP3694172B2 (ja) 残響共鳴装置及び残響共鳴方法
JP3634130B2 (ja) 楽音生成装置及び楽音生成方法
JP3673388B2 (ja) 楽音のチャンネル割り当て装置及び楽音のチャンネル割り当て方法
JP3673386B2 (ja) 楽音のチャンネル割り当て装置及び楽音のチャンネル割り当て方法
JP3673387B2 (ja) 楽音のチャンネル割り当て装置及び楽音のチャンネル割り当て方法
JP3673384B2 (ja) 楽音のチャンネル割り当て装置及び楽音のチャンネル割り当て方法
JP3419563B2 (ja) 楽音信号のレベル制御装置
JP2698942B2 (ja) 楽音発生装置
JP3194850B2 (ja) 自動演奏機能を有する電子楽器
JP3595676B2 (ja) 楽音生成装置及び楽音生成方法
JP4059581B2 (ja) 電子音響装置のゆらぎ付加装置及びゆらぎ付加方法
JP2000194361A (ja) 電子音響装置のゆらぎ付加装置及びゆらぎ付加方法
JP2000163056A (ja) 自動演奏装置及び自動演奏方法
JP3143039B2 (ja) 自動演奏装置
JP3706232B2 (ja) 楽音生成装置及び楽音生成方法
JP4124434B2 (ja) デジタル音源付き電子楽器
JP3637190B2 (ja) 楽音生成装置及び楽音生成方法
JPH11161269A (ja) 楽音制御装置及び楽音制御方法
JP4124433B2 (ja) デジタル音源付き電子楽器
JPH11161274A (ja) 楽音生成装置及び楽音生成方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040809

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040816

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041015

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041115

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050114

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: 20050322

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050422

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

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees