JP2522761B2 - 電子楽器のチャンネル割り当て装置 - Google Patents
電子楽器のチャンネル割り当て装置Info
- Publication number
- JP2522761B2 JP2522761B2 JP1305818A JP30581889A JP2522761B2 JP 2522761 B2 JP2522761 B2 JP 2522761B2 JP 1305818 A JP1305818 A JP 1305818A JP 30581889 A JP30581889 A JP 30581889A JP 2522761 B2 JP2522761 B2 JP 2522761B2
- Authority
- JP
- Japan
- Prior art keywords
- channel
- data
- key
- coefficient data
- tone
- 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.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H7/00—Instruments in which the tones are synthesised from a data store, e.g. computer organs
- G10H7/002—Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions (programme) to control the sequence thereof
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/18—Selecting circuits
- G10H1/183—Channel-assigning means for polyphonic instruments
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S84/00—Music
- Y10S84/02—Preference networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Electrophonic Musical Instruments (AREA)
Description
【発明の詳細な説明】 [産業上の利用分野] 本発明は、電子楽器のチャンネル割り当て装置に関
し、特にチャンネル割り当ての優先順位の決定の仕方の
改良に関する。
し、特にチャンネル割り当ての優先順位の決定の仕方の
改良に関する。
[従来技術] 従来、このようなチャンネル割り当て装置において
は、キーボードを例にとると、全ての楽音発生チャンネ
ルがオン状態にある場合、新たな押鍵があると次のよう
な方法で、新たなチャンネル割り当てを行っていた。
は、キーボードを例にとると、全ての楽音発生チャンネ
ルがオン状態にある場合、新たな押鍵があると次のよう
な方法で、新たなチャンネル割り当てを行っていた。
すなわち、各楽音発生チャンネルにおける楽音のエン
ベロープレベルを各々比較して、最も小さいすなわち音
量の最も小さい楽音発生チャンネルをサーチし、このサ
ーチしたチャンネルに新たな押鍵に係る楽音を割り当て
るようにしていた。
ベロープレベルを各々比較して、最も小さいすなわち音
量の最も小さい楽音発生チャンネルをサーチし、このサ
ーチしたチャンネルに新たな押鍵に係る楽音を割り当て
るようにしていた。
他の方法は、各鍵に応じたチャンネル割り当ての優先
度を示す重み係数データを記憶しておき、この重み係数
データをチャンネル割り当てと同時に読み出して、各チ
ャンネルに対応して記憶し、この各チャンネルに対応し
た各重み係数データを時間の経過とともに一律に小さく
してゆく。そして、この各重み係数データのうち、最も
値が小さいデータに係るチャンネルに、新たな押鍵に係
る楽音を割り当てるようにしていた。
度を示す重み係数データを記憶しておき、この重み係数
データをチャンネル割り当てと同時に読み出して、各チ
ャンネルに対応して記憶し、この各チャンネルに対応し
た各重み係数データを時間の経過とともに一律に小さく
してゆく。そして、この各重み係数データのうち、最も
値が小さいデータに係るチャンネルに、新たな押鍵に係
る楽音を割り当てるようにしていた。
[発明が解決しようとする課題] しかしながら、上述のチャンネル割り当て方法では、
次のような演奏の場合、問題が生じてしまう。例えば、
鍵盤の低音域で和音を弾いて(伴奏)、ダンパーペダル
を踏んだまま、鍵盤の高音域で、すばやく何鍵かを連続
して弾くと(メロディ演奏)、低音域の和音が、後から
弾かれた高音域の楽音によって消されてしまう。このと
き、聴感上異和感が非常に大きく、美しい演奏を行えな
くなってしまう。
次のような演奏の場合、問題が生じてしまう。例えば、
鍵盤の低音域で和音を弾いて(伴奏)、ダンパーペダル
を踏んだまま、鍵盤の高音域で、すばやく何鍵かを連続
して弾くと(メロディ演奏)、低音域の和音が、後から
弾かれた高音域の楽音によって消されてしまう。このと
き、聴感上異和感が非常に大きく、美しい演奏を行えな
くなってしまう。
なお、上記重み付けを行う方法は、エンベロープレベ
ルをサーチする方法に比べて、上述の問題は、多少緩和
され、低音域の和音は少々長く残るが、完全には解決で
きるものではなかった。
ルをサーチする方法に比べて、上述の問題は、多少緩和
され、低音域の和音は少々長く残るが、完全には解決で
きるものではなかった。
本発明は、上述した課題を解決するためになされたも
のであり、ある音域ですばやい演奏が行われても、他の
音域で押鍵され続けている楽音が途中で消えてしまうこ
とがなく、自然な美しい演奏を行うことのできる電子楽
器のチャンネル割り当て装置を提供することを目的とし
ている。
のであり、ある音域ですばやい演奏が行われても、他の
音域で押鍵され続けている楽音が途中で消えてしまうこ
とがなく、自然な美しい演奏を行うことのできる電子楽
器のチャンネル割り当て装置を提供することを目的とし
ている。
[課題を解決するための手段] 上記目的を達成するために、本発明においては、楽音
発生チャンネル群を複数に分割し、この分割エリアのう
ち、新たな発生楽音が属すべき分割エリアの中で、上記
重み係数データの最小または最大のチャンネルをサーチ
して、新たなチャンネル割り当てを行うようにしたもの
である。
発生チャンネル群を複数に分割し、この分割エリアのう
ち、新たな発生楽音が属すべき分割エリアの中で、上記
重み係数データの最小または最大のチャンネルをサーチ
して、新たなチャンネル割り当てを行うようにしたもの
である。
[作用] これにより、あるチャンネル分割エリアにおいて、す
ばやい演奏が行われて、次々と新たなチャンネル割り当
てが行われても、他のチャンネル分割エリアまでは影響
を受けず、操作され続けている楽音は途中で消えてしま
うことがなくなる。
ばやい演奏が行われて、次々と新たなチャンネル割り当
てが行われても、他のチャンネル分割エリアまでは影響
を受けず、操作され続けている楽音は途中で消えてしま
うことがなくなる。
なお、このチャンネル分割エリアは、通常、低音側と
高音側の2つのエリアがあるが、中音域等のエリアをさ
らに加えて、3つ以上のエリアとしてもよい。また、チ
ャンネル割り当ての優先度を示す重み係数データは、高
音側になるに従って小さくなる、すなわち高音側になる
ほど新たなチャンネル割り当てがなされ易くなっている
が、中音域を最も小さくしてもよく、重み付けの形態は
どのような形でもよい。
高音側の2つのエリアがあるが、中音域等のエリアをさ
らに加えて、3つ以上のエリアとしてもよい。また、チ
ャンネル割り当ての優先度を示す重み係数データは、高
音側になるに従って小さくなる、すなわち高音側になる
ほど新たなチャンネル割り当てがなされ易くなっている
が、中音域を最も小さくしてもよく、重み付けの形態は
どのような形でもよい。
[実施例] 以下、本発明の実施例を図面とともに詳細に説明す
る。
る。
1.回路構成 第1図は、電子楽器の全体回路を示すものである。キ
ーボード1の各キーは、キースキャン回路2によってス
キャンされ、キーオン、キーオフが検出される。この検
出結果は、CPU6によって、トーンジェネレータ7内のア
サイメントメモリ8にセットされる。パネルスイッチ群
3の各スイッチは、音色、リズム等の選択を行うもの
で、各スイッチは、パネルスキャン回路4によってスキ
ャンされる。このスキャン結果、すなわち選択指定され
た音色、リズム等に関するデータは、CPU6によって、ト
ーンジェネレータ7に送られる。また、このスキャン結
果は、パネルLED回路5にセットされ、パネルスイッチ
群3の対応するLED(発光ダイオード)が点灯される。
ーボード1の各キーは、キースキャン回路2によってス
キャンされ、キーオン、キーオフが検出される。この検
出結果は、CPU6によって、トーンジェネレータ7内のア
サイメントメモリ8にセットされる。パネルスイッチ群
3の各スイッチは、音色、リズム等の選択を行うもの
で、各スイッチは、パネルスキャン回路4によってスキ
ャンされる。このスキャン結果、すなわち選択指定され
た音色、リズム等に関するデータは、CPU6によって、ト
ーンジェネレータ7に送られる。また、このスキャン結
果は、パネルLED回路5にセットされ、パネルスイッチ
群3の対応するLED(発光ダイオード)が点灯される。
ペダル群12は、ダンパーペダル、ソステヌートペダ
ル、ソフトペダル等の各種ペダルよりなる。ペダル検出
回路13は、ペダル群12の各ペダルのオン、オフ、踏み込
み量等を検出する回路である。この回路13は次のように
構成される。すなわち、ダンパーペダルに設けた差動変
圧器等の位置センサまたはロータリエンコーダ等の角度
センサからのデータの各ビットの論理和をとり、この論
理和信号のアップエッジおよびダウンエッジを検出し、
これをダンパーイベント検出信号として、CPU6に与え
る。これにより、位置センサまたは角度センサからデー
タ出力があると、ダンパーイベント検出信号が出力され
ることになる。このような構成は、マフラーペダル、ミ
ュートペダル、シフティングペダル等で同様に実現して
もよい。なお、上記キーボード1は、電子キダー等の電
子弦楽器、電子吹奏楽器、電子打楽器等で代用してもよ
く、楽音の放音指示ができれば何でもよい。
ル、ソフトペダル等の各種ペダルよりなる。ペダル検出
回路13は、ペダル群12の各ペダルのオン、オフ、踏み込
み量等を検出する回路である。この回路13は次のように
構成される。すなわち、ダンパーペダルに設けた差動変
圧器等の位置センサまたはロータリエンコーダ等の角度
センサからのデータの各ビットの論理和をとり、この論
理和信号のアップエッジおよびダウンエッジを検出し、
これをダンパーイベント検出信号として、CPU6に与え
る。これにより、位置センサまたは角度センサからデー
タ出力があると、ダンパーイベント検出信号が出力され
ることになる。このような構成は、マフラーペダル、ミ
ュートペダル、シフティングペダル等で同様に実現して
もよい。なお、上記キーボード1は、電子キダー等の電
子弦楽器、電子吹奏楽器、電子打楽器等で代用してもよ
く、楽音の放音指示ができれば何でもよい。
トーンジェネレータ7では、送られてきた各種データ
や、アサイメントメモリ8にセットされたデータに応じ
た楽音信号が生成され、サウンドシステム9へ送られ
て、楽音が生成放音される。ROM10には、CPU6が各種処
理を行うためのプログラムや、後述する重み係数デー
タ、場合によっては楽音波形データやエンベロープ波形
データが記憶されている。RAM11には、各種処理データ
が記憶される。
や、アサイメントメモリ8にセットされたデータに応じ
た楽音信号が生成され、サウンドシステム9へ送られ
て、楽音が生成放音される。ROM10には、CPU6が各種処
理を行うためのプログラムや、後述する重み係数デー
タ、場合によっては楽音波形データやエンベロープ波形
データが記憶されている。RAM11には、各種処理データ
が記憶される。
トーンジェネレータ7は、時分割処理により、8チャ
ンネル分の楽音生成システムが形成されており、これに
対応してアサイメントメモリ8には、この8つの楽音生
成チャンネルに割り当てられる楽音データが記憶され
る。
ンネル分の楽音生成システムが形成されており、これに
対応してアサイメントメモリ8には、この8つの楽音生
成チャンネルに割り当てられる楽音データが記憶され
る。
第2図は、アサイメントメモリ8の一部を示すもの
で、このアサイメントメモリ8の1つのチャンネルエリ
アには、オン/オフデータ、アッパー/ローアデータ、
キーナンバ、重み係数データのほか、音色データ、周波
数ナンバ、エンベロープデータ、ベロシティデータ等も
記憶される。このアサイメントメモリ8のチャンネルエ
リア数は「8」以外でもよい。また、アサイメントメモ
リ8とは別のメモリに重み係数データを記憶させてもよ
く、重み係数データをチャンネル割り当て内容に対応さ
せて記憶できれば、どのような記憶形態をとってもよ
い。
で、このアサイメントメモリ8の1つのチャンネルエリ
アには、オン/オフデータ、アッパー/ローアデータ、
キーナンバ、重み係数データのほか、音色データ、周波
数ナンバ、エンベロープデータ、ベロシティデータ等も
記憶される。このアサイメントメモリ8のチャンネルエ
リア数は「8」以外でもよい。また、アサイメントメモ
リ8とは別のメモリに重み係数データを記憶させてもよ
く、重み係数データをチャンネル割り当て内容に対応さ
せて記憶できれば、どのような記憶形態をとってもよ
い。
オン/オフデータは、キーボード1の各キーの押鍵
(オン)、離鍵(オフ)を示す1ビットデータである。
このオン/オフデータは、上記ペダル群12の中のダンパ
ーペダルが踏まれた状態のときには、キーが離鍵されて
も、オフ状態とならず、ダンパーペダルが離されるま
で、オン状態となる。従って、ダンパーペダルが踏まれ
たまま、同じキーが何回も押されると、この押鍵ごとに
同じキーナンバーのチャンネル割り当てが行われていく
ことになる。
(オン)、離鍵(オフ)を示す1ビットデータである。
このオン/オフデータは、上記ペダル群12の中のダンパ
ーペダルが踏まれた状態のときには、キーが離鍵されて
も、オフ状態とならず、ダンパーペダルが離されるま
で、オン状態となる。従って、ダンパーペダルが踏まれ
たまま、同じキーが何回も押されると、この押鍵ごとに
同じキーナンバーのチャンネル割り当てが行われていく
ことになる。
アッパー/ローアデータは、楽音発生チャンネルの分
割エリアを示すデータであり、チャンネル割り当てが行
われている楽音のうち低音側の3つの楽音がローアデー
タとなり、これ以外のデータがアッパーデータとなる。
従ってチャンネル割り当てが3音以下であれば、すべて
の楽音がローアデータとなり、チャンネル割り当てが、
例えば5音であれば、低音側3音がローアデータ、高音
側2音がアッパーデータとなる。以後、ローアデータの
割り振られているチャンネルエリアを、ローアチャンネ
ルエリアと呼び、アッパーデータの割り振られているチ
ャンネルエリアを、アッパーチャンネルエリアと呼ぶ。
割エリアを示すデータであり、チャンネル割り当てが行
われている楽音のうち低音側の3つの楽音がローアデー
タとなり、これ以外のデータがアッパーデータとなる。
従ってチャンネル割り当てが3音以下であれば、すべて
の楽音がローアデータとなり、チャンネル割り当てが、
例えば5音であれば、低音側3音がローアデータ、高音
側2音がアッパーデータとなる。以後、ローアデータの
割り振られているチャンネルエリアを、ローアチャンネ
ルエリアと呼び、アッパーデータの割り振られているチ
ャンネルエリアを、アッパーチャンネルエリアと呼ぶ。
上記アッパーチャンネルエリアのうち1音がキーオフ
状態となって、ローアチャンネルエリアに属すべき楽音
に新たなチャンネル割り当てが行われるときには、ロー
アチャンネルエリアの中のいちばん音高の高い楽音がロ
ーアからアッパーに切り換えられる。さらに、ローアチ
ャンネルエリアの中の1音がキーオフ状態となって、ア
ッパーチャンネルエリアに属すべき楽音に新たなチャン
ネル割り当てが行われるときには、アッパーチャンネル
エリアの中のいちばん音高の低い楽音がアッパーからロ
ーアに切り換えられる。
状態となって、ローアチャンネルエリアに属すべき楽音
に新たなチャンネル割り当てが行われるときには、ロー
アチャンネルエリアの中のいちばん音高の高い楽音がロ
ーアからアッパーに切り換えられる。さらに、ローアチ
ャンネルエリアの中の1音がキーオフ状態となって、ア
ッパーチャンネルエリアに属すべき楽音に新たなチャン
ネル割り当てが行われるときには、アッパーチャンネル
エリアの中のいちばん音高の低い楽音がアッパーからロ
ーアに切り換えられる。
このように、ローア、アッパーの区分はフレキシブル
に変化する。なお、ローア、アッパーの振り分けは、ロ
ーアからまず行うのではなく、アッパーから行うように
して、チャンネル割り当てが5音以下であれば、すべて
の楽音がアッパーデータとなるようにしてもよい。ま
た、チャンネル分割エリアが3つ以上の場合は、ロー
ア、アッパー、ミドルの順や、その他の順に振り分けれ
ばよく、チャンネル分割エリアの割り振り順はどの様な
順番でもよい。なお、チャンネル分割数は、3つ以上と
してもよい。なお、このアッパー/ローアデータは省略
してもよい。
に変化する。なお、ローア、アッパーの振り分けは、ロ
ーアからまず行うのではなく、アッパーから行うように
して、チャンネル割り当てが5音以下であれば、すべて
の楽音がアッパーデータとなるようにしてもよい。ま
た、チャンネル分割エリアが3つ以上の場合は、ロー
ア、アッパー、ミドルの順や、その他の順に振り分けれ
ばよく、チャンネル分割エリアの割り振り順はどの様な
順番でもよい。なお、チャンネル分割数は、3つ以上と
してもよい。なお、このアッパー/ローアデータは省略
してもよい。
キーナンバーは、キーボード1の各キーに低音側から
割り振られた「1」〜「88」の値であり、音高を表して
いる。
割り振られた「1」〜「88」の値であり、音高を表して
いる。
第3図は、重み係数データを示すものである。この重
み係数データは、チャンネル割り当ての優先度を示すデ
ータであり、各キーナンバごとに異なる値で記憶されて
いる。新たなチャンネル割り当てが行われるとき、各チ
ャンネル分割エリアのうち、最も重み係数データの小さ
いチャンネルがセレクトされて、新たな楽音の当てが行
われる。この重み係数データは、低音側ほど値が大き
く、それだけ新たな楽音にチャンネルを明け渡すのが難
しく、途中で音が消えてしまうことがないようになって
いる。
み係数データは、チャンネル割り当ての優先度を示すデ
ータであり、各キーナンバごとに異なる値で記憶されて
いる。新たなチャンネル割り当てが行われるとき、各チ
ャンネル分割エリアのうち、最も重み係数データの小さ
いチャンネルがセレクトされて、新たな楽音の当てが行
われる。この重み係数データは、低音側ほど値が大き
く、それだけ新たな楽音にチャンネルを明け渡すのが難
しく、途中で音が消えてしまうことがないようになって
いる。
この重み係数データは、第3図に示すもの以外に、高
音側も値が大きく、中音域で最も値が小さくなっている
ものでもよいし、一定音域ごとに値が変化するものでも
よく、形態はどのようなものでもよい。また重み係数デ
ータの特性は、値が小さいほど、新たな楽音にチャンネ
ルを明け渡すのが困難なものとしてもよい。この場合、
時間の経過とともに重み係数データは加算され、サーチ
チャンネルエリアのうち、最も重み係数データの大きい
ものに新たなチャンネル割り当てが行われる。
音側も値が大きく、中音域で最も値が小さくなっている
ものでもよいし、一定音域ごとに値が変化するものでも
よく、形態はどのようなものでもよい。また重み係数デ
ータの特性は、値が小さいほど、新たな楽音にチャンネ
ルを明け渡すのが困難なものとしてもよい。この場合、
時間の経過とともに重み係数データは加算され、サーチ
チャンネルエリアのうち、最も重み係数データの大きい
ものに新たなチャンネル割り当てが行われる。
また、この重み係数データは、ROM10に記憶しておく
のではなく、演算処理によりキーナンバの値から求める
ようにしてもよい。例えば、キーナンバ「1」〜「88」
に対し、重み係数データを「88」〜「1」とすれば、
(重み係数データ)=(89)−(キーナンバ値)で求め
ることができる。このほか、(重み係数データ)×(キ
ーナンバ値)=A、(重み係数データ)=((キーナン
バ値)−B)2+C(A、B、Cは定数)等の計算式で
求めてもよい。
のではなく、演算処理によりキーナンバの値から求める
ようにしてもよい。例えば、キーナンバ「1」〜「88」
に対し、重み係数データを「88」〜「1」とすれば、
(重み係数データ)=(89)−(キーナンバ値)で求め
ることができる。このほか、(重み係数データ)×(キ
ーナンバ値)=A、(重み係数データ)=((キーナン
バ値)−B)2+C(A、B、Cは定数)等の計算式で
求めてもよい。
さらに、この重み係数データに、キー操作の速さ又は
強さを示すベロシティデータを演算(加算)したり、音
色データを演算(加算)したりしてもよい。
強さを示すベロシティデータを演算(加算)したり、音
色データを演算(加算)したりしてもよい。
第4図は、RAM11内のレジスタ群を示すものである。
レジスタNは、上記アサイメントメモリ8の各チャンネ
ルエリアをサーチするときの、サーチ回数カウント用の
レジスタである。レジスタWnew、Woldは、アサイメント
メモリ8の各チャンネルエリアの重み係数データとその
チャンネルナンバがセットされ、最も重み係数データの
小さいサーチに用いられる。
レジスタNは、上記アサイメントメモリ8の各チャンネ
ルエリアをサーチするときの、サーチ回数カウント用の
レジスタである。レジスタWnew、Woldは、アサイメント
メモリ8の各チャンネルエリアの重み係数データとその
チャンネルナンバがセットされ、最も重み係数データの
小さいサーチに用いられる。
レジスタK1、K2、K3は、アサイメントメモリ8の各チ
ャンネルエリアのキーナンバのうち、低音側の3つのキ
ーナンバとそのチャンネルナンバがセットされ、アッパ
ー/ローアデータの再割り付けに用いられる。このう
ち、レジスタK3には、低音側3つの楽音のうち最も音高
の高いキーナンバとチャンネルナンバがセットされ、ア
ッパーとローアのスプリットポイントが記憶されること
になる。
ャンネルエリアのキーナンバのうち、低音側の3つのキ
ーナンバとそのチャンネルナンバがセットされ、アッパ
ー/ローアデータの再割り付けに用いられる。このう
ち、レジスタK3には、低音側3つの楽音のうち最も音高
の高いキーナンバとチャンネルナンバがセットされ、ア
ッパーとローアのスプリットポイントが記憶されること
になる。
2.キー処理 第5図は、キー処理のフローチャートを示すもので、
このキー処理は、イニシャライズ処理、パネルスイッチ
処理等とともに全体処理の1つを形成している。この全
体処理は電源投入とともに、スタートする。
このキー処理は、イニシャライズ処理、パネルスイッチ
処理等とともに全体処理の1つを形成している。この全
体処理は電源投入とともに、スタートする。
この処理では、まずCPU6は、キースキャン回路2から
の出力により、キーオンイベントがあるか、キーオフイ
ベントがあるかを判別する(ステップ01、02)。キーオ
ンイベントがあれば、次述するステップ03〜11のチャン
ネル割り当て処理を行い、キーオフイベントがあれば、
ステップ12〜14のキーオフ処理を行う。
の出力により、キーオンイベントがあるか、キーオフイ
ベントがあるかを判別する(ステップ01、02)。キーオ
ンイベントがあれば、次述するステップ03〜11のチャン
ネル割り当て処理を行い、キーオフイベントがあれば、
ステップ12〜14のキーオフ処理を行う。
キーオフイベント時のチャンネル割り当て処理では、
まずアサイメントメモリ8にオン/オフデータがオフ状
態のチャンネルエリアがあるかをサーチし(ステップ0
3)、オフチャンネルエリアがあれば、オフチャンネル
エリアの中で最も重み係数データの小さいチャンネル
に、上記キーオンイベントに係る楽音を割り当てる(ス
テップ04)。
まずアサイメントメモリ8にオン/オフデータがオフ状
態のチャンネルエリアがあるかをサーチし(ステップ0
3)、オフチャンネルエリアがあれば、オフチャンネル
エリアの中で最も重み係数データの小さいチャンネル
に、上記キーオンイベントに係る楽音を割り当てる(ス
テップ04)。
上記ステップ03で、オフチャンネルエリアがなけれ
ば、キーオンイベントに係るキーナンバは、レジスタK3
が記憶されているスプリットポイント以上、すなわちロ
ーアチャンネルエリアのうち最も音高の高い楽音のキー
ナンバより大きいか否かを判別する(ステップ05)。ス
プリットポイント以上であれば、アッパー/ローアデー
タがアッパー状態のチャンネルエリアのうち、最も重み
係数データの小さいチャンネルに、上記キーオンイベン
トに係る楽音を割り当てる(ステップ06)。スプリット
ポイントを越えなければ、アッパー/ローアデータがロ
ーア状態のチャンネルエリアのうち、最も重み係数デー
タの小さいチャンネルに、上記キーオンイベントに係る
楽音を割り当てる(ステップ07)。
ば、キーオンイベントに係るキーナンバは、レジスタK3
が記憶されているスプリットポイント以上、すなわちロ
ーアチャンネルエリアのうち最も音高の高い楽音のキー
ナンバより大きいか否かを判別する(ステップ05)。ス
プリットポイント以上であれば、アッパー/ローアデー
タがアッパー状態のチャンネルエリアのうち、最も重み
係数データの小さいチャンネルに、上記キーオンイベン
トに係る楽音を割り当てる(ステップ06)。スプリット
ポイントを越えなければ、アッパー/ローアデータがロ
ーア状態のチャンネルエリアのうち、最も重み係数デー
タの小さいチャンネルに、上記キーオンイベントに係る
楽音を割り当てる(ステップ07)。
そして、アサイメントメモリ8の全チャンネルエリア
の重み係数データを各々−1し(ステップ08)、上記割
り当てられたチャンネルエリアに、キーオンイベントに
係る各種データ、すなわちオン状態のオン/オフデー
タ、キーナンバ、ROM10より読み出したこのキーナンバ
に対応する重み係数データ等を書き込む(ステップ0
9)。この重み係数データを−1する処理は、一定周期
ごとにインタラプト処理により行うようにしてもよく、
時間の経過とともに小さくできれば何でもよい。また、
演算形態は−1のほか、乗算、除算、加算等でもよい。
の重み係数データを各々−1し(ステップ08)、上記割
り当てられたチャンネルエリアに、キーオンイベントに
係る各種データ、すなわちオン状態のオン/オフデー
タ、キーナンバ、ROM10より読み出したこのキーナンバ
に対応する重み係数データ等を書き込む(ステップ0
9)。この重み係数データを−1する処理は、一定周期
ごとにインタラプト処理により行うようにしてもよく、
時間の経過とともに小さくできれば何でもよい。また、
演算形態は−1のほか、乗算、除算、加算等でもよい。
次いで、各チャンネルエリアの各キーナンバにつき、
低音側3つをローアデータ、他をアッパーデータに割り
付けし直し(ステップ10)、これに応じてレジスタK3の
スプリットポイントも変更する(ステップ11)。
低音側3つをローアデータ、他をアッパーデータに割り
付けし直し(ステップ10)、これに応じてレジスタK3の
スプリットポイントも変更する(ステップ11)。
また、上記ステップ02で、キーオフイベントのあるこ
とが判別されれば、ペダル検出回路13よりダンパーペダ
ルのダンパーオンイベント信号が出力されているかを判
別する(ステップ12)。ダンパーオンイベント信号が出
力されていなければ、キーオフイベントに係るキーナン
バと同じキーナンバがセットされているチャンネルエリ
アをサーチし(ステップ13)、このチャンネルエリアの
オン/オフデータをクリアしてオフ状態とする(ステッ
プ14)。
とが判別されれば、ペダル検出回路13よりダンパーペダ
ルのダンパーオンイベント信号が出力されているかを判
別する(ステップ12)。ダンパーオンイベント信号が出
力されていなければ、キーオフイベントに係るキーナン
バと同じキーナンバがセットされているチャンネルエリ
アをサーチし(ステップ13)、このチャンネルエリアの
オン/オフデータをクリアしてオフ状態とする(ステッ
プ14)。
また、上記ステップ12で、ダンパーオンイベント信号
が出力されていれば、ステップ13〜14のキーオフ処理は
行われず、引き続き楽音が鳴り続ける。ダンパーペダル
が解放されて、ダンパーオフイベント信号が出力されれ
ば、インタラプト処理により、キーオフ処理が行われ
る。このキーオフ処理は、次のように行われる。アサイ
メントメモリ8の各チャンネルエリアの各オン/オフデ
ータに対し、キースキャン回路2からのスキャン結果が
一致しないものについて、オン/オフデータがオン状態
からオフ状態に切り換えられる。
が出力されていれば、ステップ13〜14のキーオフ処理は
行われず、引き続き楽音が鳴り続ける。ダンパーペダル
が解放されて、ダンパーオフイベント信号が出力されれ
ば、インタラプト処理により、キーオフ処理が行われ
る。このキーオフ処理は、次のように行われる。アサイ
メントメモリ8の各チャンネルエリアの各オン/オフデ
ータに対し、キースキャン回路2からのスキャン結果が
一致しないものについて、オン/オフデータがオン状態
からオフ状態に切り換えられる。
3.オフチャンネルエリアサーチ 第6図は、上記ステップ03のオフチャンネルエリアサ
ーチ処理のフローチャートを示すものである。
ーチ処理のフローチャートを示すものである。
この処理では、まずレジスタNをクリアし(ステップ
21)、次いでレジスタNを+1して(ステップ22)、こ
のレジスタNの値に応じたアサイメントメモリ8のチャ
ンネルエリアのオン/オフデータがオフか否か判断する
(ステップ23)。オフ状態でなければ、このステップ2
2、23のサーチ処理を、レジスタNの値が「8」となっ
て、全チャンネル分終了するまで行う(ステップ24)。
21)、次いでレジスタNを+1して(ステップ22)、こ
のレジスタNの値に応じたアサイメントメモリ8のチャ
ンネルエリアのオン/オフデータがオフか否か判断する
(ステップ23)。オフ状態でなければ、このステップ2
2、23のサーチ処理を、レジスタNの値が「8」となっ
て、全チャンネル分終了するまで行う(ステップ24)。
上記ステップ23で、オフチャンネルエリアが見つかれ
ば、上述のステップ04へ進む。また、ステップ24で、全
チャンネルサーチしてもオフチャンネルエリアがなけれ
ば、上述のステップ05へ進む。
ば、上述のステップ04へ進む。また、ステップ24で、全
チャンネルサーチしてもオフチャンネルエリアがなけれ
ば、上述のステップ05へ進む。
4.オフチャンネル群の中の最小重み係数データサーチ 第7図は、上記ステップ04のオフチャンネル群の中の
最小重み係数データをもつもののサーチ処理のフローチ
ャートを示すものである。
最小重み係数データをもつもののサーチ処理のフローチ
ャートを示すものである。
この処理では、まずCPU6は、レジスタWnewをクリア
し、レジスタWoldに最大値「11…1」をセットし(ステ
ップ31)、上記第6図のステップ23でサーチしたオフチ
ャンネルエリアの重み係数データを読み出して、レジス
タWnewにそのチャンネルナンバとともにセットする(ス
テップ32)。そして、レジスタWnewの重み係数データ
が、レジスタWoldの重み係数データより小さければ(ス
テップ33)、レジスタWnewの重み係数データをレジスタ
Woldに転送する(ステップ34)。このステップ33、34の
処理により、最も重み係数データの小さいチャンネルナ
ンバとその重み係数データがサーチされる。
し、レジスタWoldに最大値「11…1」をセットし(ステ
ップ31)、上記第6図のステップ23でサーチしたオフチ
ャンネルエリアの重み係数データを読み出して、レジス
タWnewにそのチャンネルナンバとともにセットする(ス
テップ32)。そして、レジスタWnewの重み係数データ
が、レジスタWoldの重み係数データより小さければ(ス
テップ33)、レジスタWnewの重み係数データをレジスタ
Woldに転送する(ステップ34)。このステップ33、34の
処理により、最も重み係数データの小さいチャンネルナ
ンバとその重み係数データがサーチされる。
そして、このサーチ処理を、レジスタNの値が「8」
となって、全チャンネル分終了するまで(ステップ3
5)、レジスタNの値を+1して(ステップ36)、オフ
チャンネルエリアについてのみ行う(ステップ37)。全
チャンネル分、サーチを終えて、オフチャンネルエリア
群の中で最も重み係数データの小さいものが見つかれば
(ステップ35)、上述の第5図のステップ08に進む。
となって、全チャンネル分終了するまで(ステップ3
5)、レジスタNの値を+1して(ステップ36)、オフ
チャンネルエリアについてのみ行う(ステップ37)。全
チャンネル分、サーチを終えて、オフチャンネルエリア
群の中で最も重み係数データの小さいものが見つかれば
(ステップ35)、上述の第5図のステップ08に進む。
なお、この処理は、第8図に示すフローチャートと同
じ形態で行ってもよい。
じ形態で行ってもよい。
5.アッパー(ローア)チャンネルエリア内の最小重み係
数データサーチ 第8図は、上記ステップ06のオンチャンネルエリアの
アッパー(又はローア)チャンネルエリアの中の最小重
み係数データをもつもののサーチ処理のフローチャート
を示すものである。
数データサーチ 第8図は、上記ステップ06のオンチャンネルエリアの
アッパー(又はローア)チャンネルエリアの中の最小重
み係数データをもつもののサーチ処理のフローチャート
を示すものである。
この処理では、まずCPU6は、レジスタWnewをクリア
し、レジスタWoldに最大値「11…1」をセットし(ステ
ップ41)、レジスタNをクリアした後(ステップ42)、
レジスタNの値を+1して(ステップ43)、このレジス
タNの値に応じたアサイメントメモリ8のチャンネルエ
リアのアッパー/ローアデータがアッパーか否か判断す
る(ステップ44)。アッパーチャンネルエリアであれ
ば、レジスタNの値に応じたアサイメントメモリ8のチ
ャンネルエリアの重み係数データを読み出して、レジス
タWnewにそのチャンネルナンバとともにセットする(ス
テップ45)。
し、レジスタWoldに最大値「11…1」をセットし(ステ
ップ41)、レジスタNをクリアした後(ステップ42)、
レジスタNの値を+1して(ステップ43)、このレジス
タNの値に応じたアサイメントメモリ8のチャンネルエ
リアのアッパー/ローアデータがアッパーか否か判断す
る(ステップ44)。アッパーチャンネルエリアであれ
ば、レジスタNの値に応じたアサイメントメモリ8のチ
ャンネルエリアの重み係数データを読み出して、レジス
タWnewにそのチャンネルナンバとともにセットする(ス
テップ45)。
そして、レジスタWnewの重み係数データが、レジスタ
Woldの重み係数データより小さければ(ステップ46)、
レジスタWnewの重み係数データをレジスタWoldにトラン
スファする(ステップ47)。このステップ46、47の処理
により、アッパーチャンネルエリアの中で最も重み係数
データの小さいチャンネルナンバとその重み係数データ
がサーチされる。
Woldの重み係数データより小さければ(ステップ46)、
レジスタWnewの重み係数データをレジスタWoldにトラン
スファする(ステップ47)。このステップ46、47の処理
により、アッパーチャンネルエリアの中で最も重み係数
データの小さいチャンネルナンバとその重み係数データ
がサーチされる。
次いで、このサーチ処理を、レジスタNの値が「8」
となって、全チャンネル分終了するまで(ステップ4
8)、アッパーチャンネルエリアについてのみ繰り返し
行う(ステップ44)。全チャンネル分、サーチを終え
て、アッパーチャンネルエリア群の中で最も重み係数デ
ータの小さいものをサーチすると、上述の第5図のステ
ップ08に進む。
となって、全チャンネル分終了するまで(ステップ4
8)、アッパーチャンネルエリアについてのみ繰り返し
行う(ステップ44)。全チャンネル分、サーチを終え
て、アッパーチャンネルエリア群の中で最も重み係数デ
ータの小さいものをサーチすると、上述の第5図のステ
ップ08に進む。
上記ステップ07のローアチャンネルエリア内の最少重
み係数データのサーチ処理でも、同じ処理が行われる。
ただし、ステップ44の判別処理では、アッパーの判別で
はなく、ローアの判別が行われる。
み係数データのサーチ処理でも、同じ処理が行われる。
ただし、ステップ44の判別処理では、アッパーの判別で
はなく、ローアの判別が行われる。
6.アッパー、ローアの割り付けし直し 第9図は、上記ステップ10のアッパー、ローアのチャ
ンネルエリアの割り付けし直し処理のフローチャートを
示すものである。
ンネルエリアの割り付けし直し処理のフローチャートを
示すものである。
この処理では、まずCPU6は、レジスタK1、K2、K3に最
大値「11…1」をセットし(ステップ51)、レジスタN
の値をクリアした後(ステップ52)、レジスタNの値を
+1して(ステップ53)、このレジスタNの値に応じた
アサイメントメモリ8のチャンネルエリアのオン/オフ
データがオン状態か否か判断する(ステップ54)。オン
状態であれば、次述するローアチャンネルエリアとなる
べき低音側3音のチャンネルナンバとキーナンバのサー
チ処理を行う。
大値「11…1」をセットし(ステップ51)、レジスタN
の値をクリアした後(ステップ52)、レジスタNの値を
+1して(ステップ53)、このレジスタNの値に応じた
アサイメントメモリ8のチャンネルエリアのオン/オフ
データがオン状態か否か判断する(ステップ54)。オン
状態であれば、次述するローアチャンネルエリアとなる
べき低音側3音のチャンネルナンバとキーナンバのサー
チ処理を行う。
このサーチ処理では、レジスタNの値に応じたアサイ
メントメモリ8のチャンネルエリアのキーナンバ値が、
レジスタK1のキーナンバ値以下か(ステップ55)、レジ
スタK1のキーナンバ値を越え、レジスタK2のキーナンバ
値以下か(ステップ59)、レジスタK2のキーナンバ値を
越え、レジスタK3のキーナンバ値以下か(ステップ62)
を判断する。サーチチャンネルエリアのキーナンバ値
が、レジスタK1のキーナンバ値以下であれば(ステップ
55)、レジスタK2のキーナンバとチャンネルナンバとを
レジスタK3に転送し(ステップ56)、レジスタK1のキー
ナンバとチャンネルナンバとをレジスタK2に転送し(ス
テップ57)、サーチチャンネルエリアのキーナンバとそ
のチャンネルナンバとをレジスタK1にセットする(ステ
ップ58)。
メントメモリ8のチャンネルエリアのキーナンバ値が、
レジスタK1のキーナンバ値以下か(ステップ55)、レジ
スタK1のキーナンバ値を越え、レジスタK2のキーナンバ
値以下か(ステップ59)、レジスタK2のキーナンバ値を
越え、レジスタK3のキーナンバ値以下か(ステップ62)
を判断する。サーチチャンネルエリアのキーナンバ値
が、レジスタK1のキーナンバ値以下であれば(ステップ
55)、レジスタK2のキーナンバとチャンネルナンバとを
レジスタK3に転送し(ステップ56)、レジスタK1のキー
ナンバとチャンネルナンバとをレジスタK2に転送し(ス
テップ57)、サーチチャンネルエリアのキーナンバとそ
のチャンネルナンバとをレジスタK1にセットする(ステ
ップ58)。
また、サーチチャンネルエリアのキーナンバ値が、レ
ジスタK1のキーナンバ値を越え、レジスタK2のキーナン
バ値以下であれば(ステップ59)、レジスタK2のキーナ
ンバとチャンネルナンバとをレジスタK3に転送し、サー
チチャンネルエリアのキーナンバとそのチャンネルナン
バとをレジスタK2にセットする(ステップ61)。さら
に、サーチチャンネルエリアのキーナンバ値が、レジス
タK2のキーナンバ値を越え、レジスタK3のキーナンバ値
以下であれば(ステップ62)、サーチチャンネルエリア
のキーナンバとそのチャンネルナンバとをレジスタK3に
セットする(ステップ63)。
ジスタK1のキーナンバ値を越え、レジスタK2のキーナン
バ値以下であれば(ステップ59)、レジスタK2のキーナ
ンバとチャンネルナンバとをレジスタK3に転送し、サー
チチャンネルエリアのキーナンバとそのチャンネルナン
バとをレジスタK2にセットする(ステップ61)。さら
に、サーチチャンネルエリアのキーナンバ値が、レジス
タK2のキーナンバ値を越え、レジスタK3のキーナンバ値
以下であれば(ステップ62)、サーチチャンネルエリア
のキーナンバとそのチャンネルナンバとをレジスタK3に
セットする(ステップ63)。
このようにして、アサイメントメモリ8の各チャンネ
ルエリアをサーチしていくに従い、サーチ済みのチャン
ネルエリアのうち、最低音のキーナンバとチャンネルナ
ンバとがレジスタK1にセットされ、2番目に低い音のキ
ーナンバとチャンネルナンバとがレジスタK2にセットさ
れ、3番目に低い音のキーナンバとチャンネルナンバと
がレジスタK3にセットされる。
ルエリアをサーチしていくに従い、サーチ済みのチャン
ネルエリアのうち、最低音のキーナンバとチャンネルナ
ンバとがレジスタK1にセットされ、2番目に低い音のキ
ーナンバとチャンネルナンバとがレジスタK2にセットさ
れ、3番目に低い音のキーナンバとチャンネルナンバと
がレジスタK3にセットされる。
このサーチ処理をレジスタNの値が「8」になって、
全チャンネル分終了するまで(ステップ64)、オンチャ
ンネルエリアについてのみ繰り返し行う(ステップ5
4)。全チャンネル分サーチを終えて、低音側3つのチ
ャンネルナンバとキーナンバが見つかれば、この低音側
3つのチャンネルエリアにローアのアッパー/ローアデ
ータをセットして、ローアチャンネルエリアを形成し
(ステップ65)、他のチャンネルエリアをアッパーのア
ッパー/ローアデータをセットして、アッパーチャンネ
ルエリアを形成する(ステップ66)。
全チャンネル分終了するまで(ステップ64)、オンチャ
ンネルエリアについてのみ繰り返し行う(ステップ5
4)。全チャンネル分サーチを終えて、低音側3つのチ
ャンネルナンバとキーナンバが見つかれば、この低音側
3つのチャンネルエリアにローアのアッパー/ローアデ
ータをセットして、ローアチャンネルエリアを形成し
(ステップ65)、他のチャンネルエリアをアッパーのア
ッパー/ローアデータをセットして、アッパーチャンネ
ルエリアを形成する(ステップ66)。
このとき、押鍵数が2以下であれば、レジスタK3又は
レジスタK2のチャンネルナンバは「11…1」で存在し得
ない値となっているので、これらはローアチャンネルエ
リアから除外される。そして、上述のステップ11に進
む。この場合レジスタK3のキーナンバがスプリットポイ
ントを示していることになる。むろん、アッパーチャン
ネルエリアの最低音をスプリットポイントとしてもよ
い。
レジスタK2のチャンネルナンバは「11…1」で存在し得
ない値となっているので、これらはローアチャンネルエ
リアから除外される。そして、上述のステップ11に進
む。この場合レジスタK3のキーナンバがスプリットポイ
ントを示していることになる。むろん、アッパーチャン
ネルエリアの最低音をスプリットポイントとしてもよ
い。
7.チャンネル割り当て処理の具体例 第10図はチャンネル割り当ての具体例を示すものであ
る。
る。
(A) まず、キーナンバ「30」のキーがオンされる
と、ステップ01、03、04、08〜11の処理が行われて、N
O.1のチャンネルエリアにオンのオン/オフデータ、ロ
ーアのアッパー/ローアデータ、「30」のキーナンバ、
「59」の重み係数データがセットされる。この「59」の
重み係数データは、ROM10より読み出した、「30」のキ
ーナンバに対応した重み係数データである。アサイメン
トメモリ8のチャンネルエリアがクリアされている状態
では、重み係数データは、そのチャンネルですべて「00
…0」であり、上記ステップ33、34でチャンネルナンバ
はクリアチャンネルの先頭チャンネルナンバのままクリ
アされないので、クリアチャンネルがあるときは、チャ
ンネルナンバの若いものから、新たなチャンネル割り当
てが行われていくことになる。
と、ステップ01、03、04、08〜11の処理が行われて、N
O.1のチャンネルエリアにオンのオン/オフデータ、ロ
ーアのアッパー/ローアデータ、「30」のキーナンバ、
「59」の重み係数データがセットされる。この「59」の
重み係数データは、ROM10より読み出した、「30」のキ
ーナンバに対応した重み係数データである。アサイメン
トメモリ8のチャンネルエリアがクリアされている状態
では、重み係数データは、そのチャンネルですべて「00
…0」であり、上記ステップ33、34でチャンネルナンバ
はクリアチャンネルの先頭チャンネルナンバのままクリ
アされないので、クリアチャンネルがあるときは、チャ
ンネルナンバの若いものから、新たなチャンネル割り当
てが行われていくことになる。
(B) 次いで、キーナンバ「40」「35」のキーがオン
されると、同様にステップ01、03、04、08〜11の処理が
2回繰り返されて、NO.2のチャンネルエリアにオンのオ
ン/オフデータ、ローアのアッパー/ローアデータ、
「40」のキーナンバ、「49」の重み係数データがセット
される、NO.3のチャンネルエリアにオンのオン/オフデ
ータ、ローアのアッパー/ローアデータ、「35」のキー
ナンバ、「54」の重み係数データがセットされる。この
場合、キーナンバ「40」のデータセット時に、ステップ
08で、キーナンバ「30」の重み係数データ「59」が−1
されて「58」とされ、キーナンバ「35」のデータセット
時に、やはりステップ08で、キーナンバ「30」の重み係
数データがさらに−1されて「57」とされ、キーナンバ
「40」の重み係数データ「49」が−1されて「48」とさ
れる。ここまでは、押鍵数が3以下であるので、割り当
てチャンネルはすべてローアチャンネルエリアとなる。
されると、同様にステップ01、03、04、08〜11の処理が
2回繰り返されて、NO.2のチャンネルエリアにオンのオ
ン/オフデータ、ローアのアッパー/ローアデータ、
「40」のキーナンバ、「49」の重み係数データがセット
される、NO.3のチャンネルエリアにオンのオン/オフデ
ータ、ローアのアッパー/ローアデータ、「35」のキー
ナンバ、「54」の重み係数データがセットされる。この
場合、キーナンバ「40」のデータセット時に、ステップ
08で、キーナンバ「30」の重み係数データ「59」が−1
されて「58」とされ、キーナンバ「35」のデータセット
時に、やはりステップ08で、キーナンバ「30」の重み係
数データがさらに−1されて「57」とされ、キーナンバ
「40」の重み係数データ「49」が−1されて「48」とさ
れる。ここまでは、押鍵数が3以下であるので、割り当
てチャンネルはすべてローアチャンネルエリアとなる。
(C) そして、キーナンバ「45」のキーがオンされる
と、このキーナンバはそれぞれにオンされた「30」「4
0」「35」のキーナンバより大きい値であるので、アッ
パーのローア/アッパーデータがセットされる。この場
合でも、同様にして、ステップ08で、各チャンネルエリ
アの重み係数データが−1されていく。
と、このキーナンバはそれぞれにオンされた「30」「4
0」「35」のキーナンバより大きい値であるので、アッ
パーのローア/アッパーデータがセットされる。この場
合でも、同様にして、ステップ08で、各チャンネルエリ
アの重み係数データが−1されていく。
(D) さらに、キーナンバ「32」のキーがオンされる
と、このキーナンバはスプリットポイントのキーナンバ
「40」より小さい値であるので、上述のステップ10、す
なわち第9図の処理でアッパー、ローアの割り付けし直
しが行われ、キーナンバ「30」「32」「35」がローアチ
ャンネルエリア、キーナンバ「40」「45」がアッパーチ
ャンネルエリアとなる。
と、このキーナンバはスプリットポイントのキーナンバ
「40」より小さい値であるので、上述のステップ10、す
なわち第9図の処理でアッパー、ローアの割り付けし直
しが行われ、キーナンバ「30」「32」「35」がローアチ
ャンネルエリア、キーナンバ「40」「45」がアッパーチ
ャンネルエリアとなる。
(E) 続いて、キーナンバ「50」「60」「55」のキー
がオンされると、このキーナンバはいずれもスプリット
ポイント「35」より大きい値であるので、アッパー、ロ
ーアの割り付けし直しには変化がない。ここで、全チャ
ンネルエリアすべてオンチャンネル状態となる。
がオンされると、このキーナンバはいずれもスプリット
ポイント「35」より大きい値であるので、アッパー、ロ
ーアの割り付けし直しには変化がない。ここで、全チャ
ンネルエリアすべてオンチャンネル状態となる。
(F) 次いで、キーナンバ「38」のキーがオンされる
と、このキーナンバはスプリットポイント「35」より大
きい値であるので、ステップ01、03、05、06、08〜11の
処理が行われて、アッパーチャンネルエリアの中で最も
重み係数データの小さいチャンネルエリア、すなわち
「28」の重み係数データのセットされているキーナンバ
「60」のチャンネルエリアが、新たなキーナンバ「38」
に明け渡される。
と、このキーナンバはスプリットポイント「35」より大
きい値であるので、ステップ01、03、05、06、08〜11の
処理が行われて、アッパーチャンネルエリアの中で最も
重み係数データの小さいチャンネルエリア、すなわち
「28」の重み係数データのセットされているキーナンバ
「60」のチャンネルエリアが、新たなキーナンバ「38」
に明け渡される。
(G) また、キーナンバ「28」のキーがオンされる
と、このキーナンバはスプリットポイント「35」より小
さい値であるので、ステップ01、03、05、07、08〜11の
処理が行われて、ローアチャンネルエリアの中で最も重
み係数データの小さいチャンネルエリア、すなわち「4
8」の重み係数データのセットされているキーナンバ「3
5」のチャンネルエリアが、新たなキーナンバ「28」に
明け渡される。
と、このキーナンバはスプリットポイント「35」より小
さい値であるので、ステップ01、03、05、07、08〜11の
処理が行われて、ローアチャンネルエリアの中で最も重
み係数データの小さいチャンネルエリア、すなわち「4
8」の重み係数データのセットされているキーナンバ「3
5」のチャンネルエリアが、新たなキーナンバ「28」に
明け渡される。
本発明は上記実施例に限定されず、本発明の趣旨を逸
脱しない範囲で種々変更可能である。
脱しない範囲で種々変更可能である。
[発明の効果] 以上詳述したように、本発明によれば、楽音発生チャ
ンネル群を複数に分割し、この分割エリアのうち、新た
な発生楽音が属すべき分割エリアの中で、上記重み係数
データの最小または最大のチャンネルをサーチして、新
たなチャンネル割り当てを行うようにしたから、あるチ
ャンネル分割エリアにおいて、すばやい演奏が行われ
て、次々と新たなチャンネル割り当てが行われても、他
のチャンネル分割エリアまでは影響を受けず、操作され
続けている楽音は途中で消えてしまうことがなくなる等
の効果を奏する。
ンネル群を複数に分割し、この分割エリアのうち、新た
な発生楽音が属すべき分割エリアの中で、上記重み係数
データの最小または最大のチャンネルをサーチして、新
たなチャンネル割り当てを行うようにしたから、あるチ
ャンネル分割エリアにおいて、すばやい演奏が行われ
て、次々と新たなチャンネル割り当てが行われても、他
のチャンネル分割エリアまでは影響を受けず、操作され
続けている楽音は途中で消えてしまうことがなくなる等
の効果を奏する。
第1図乃至第10図は本発明の実施例を示すもので、第1
図は全体回路図であり、第2図はアサイメントメモリ8
を示す図であり、第3図はROM10に記憶されている重み
係数データの内容を示す図であり、第4図はRAM11の各
種レジスタを示す図であり、第5図はキー処理のフロー
チャート図であり、第6図はオフチャンネルエリアサー
チ処理のフローチャート図であり、第7図はオフチャン
ネル群の中の最小重み係数データサーチ処理のフローチ
ャート図であり、第8図はオフチャンネルエリアのアッ
パー(ローア)チャンネルエリアの中の最小重み係数デ
ータのサーチ処理のフローチャート図であり、第9図は
アッパー、ローアのチャンネルエリアの割り付けし直し
処理のフローチャート図であり、第10図はチャンネル割
り当ての具体例を示す図である。 1……キーボード、3……パネルスイッチ群、6……CP
U、7……トーンジェネレータ、8……アサイメントメ
モリ、10……ROM、11……RAM、12……ペダル群。
図は全体回路図であり、第2図はアサイメントメモリ8
を示す図であり、第3図はROM10に記憶されている重み
係数データの内容を示す図であり、第4図はRAM11の各
種レジスタを示す図であり、第5図はキー処理のフロー
チャート図であり、第6図はオフチャンネルエリアサー
チ処理のフローチャート図であり、第7図はオフチャン
ネル群の中の最小重み係数データサーチ処理のフローチ
ャート図であり、第8図はオフチャンネルエリアのアッ
パー(ローア)チャンネルエリアの中の最小重み係数デ
ータのサーチ処理のフローチャート図であり、第9図は
アッパー、ローアのチャンネルエリアの割り付けし直し
処理のフローチャート図であり、第10図はチャンネル割
り当ての具体例を示す図である。 1……キーボード、3……パネルスイッチ群、6……CP
U、7……トーンジェネレータ、8……アサイメントメ
モリ、10……ROM、11……RAM、12……ペダル群。
Claims (4)
- 【請求項1】楽音の放音指示を行う複数の放音指示手段
と、この放音指示手段の数より少ない数の同時最大発音
数に相当する複数の楽音発生チャンネルを有し、この楽
音発生チャンネルは各々当該チャンネルに割り当てられ
た放音指示手段に対応する音高の楽音を発生する楽音発
生手段とを備えた電子楽器において、 上記チャンネル割り当ての優先度を示す重み係数データ
を、音高又は音域ごとに異なる値で出力する重み係数デ
ータ出力手段と、 この重み係数データ出力手段から出力された重み係数デ
ータを、上記チャンネル割り当て内容に対応させて記憶
する割り当て重み係数データ記憶手段と、 この割り当て重み係数データ記憶手段に記憶された各重
み係数データを、時間の経過とともに小さくまたは大き
くする変化手段と、 上記楽音発生手段の複数の割り当てチャンネルを、チャ
ンネルに割り当てられている楽音のうち、少なくとも、
最低音高または最高音高から一定数の音高の楽音までに
割り当てられたチャンネル群と、これ以外の1以上のチ
ャンネル群とに分割する分割手段と、 この分割手段で分割された各分割エリアのうち、新たに
操作された楽音放音指示手段が属すべき分割エリアを判
別する判別手段と、 この判別手段で判別された分割エリアの各チャンネルの
うち、上記重み係数データの最小または最大のチャンネ
ルをサーチするサーチ手段と、 このサーチ手段でサーチされたチャンネルを、上記新た
に操作された楽音放音手段に割り当てる割り当て手段
と、 この割り当て手段によって新たにチャンネルに割り当て
られた楽音を含んだ、チャンネルに割り当てられている
楽音のうち、少なくとも、最低音高または最高音高から
一定数の音高の楽音までに割り当てられたチャンネル群
と、これ以外の1以上のチャンネル群とに分割するよう
に上記分割手段を制御する分割制御手段とを備えたこと
を特徴とする電子楽器のチャンネル割り当て装置。 - 【請求項2】上記サーチ手段は、上記判別手段で判別さ
れた分割エリアの各チャンネルのうち、上記重み係数デ
ータの最小または最大のチャンネルをサーチすることを
特徴とする請求項1記載の電子楽器のチャンネル割り当
て装置。 - 【請求項3】上記重み係数データ記憶手段は、音高が大
きくなるほど重み係数データが小さく、新たなチャンネ
ル割り当てが容易となっていることを特徴とする請求項
1または2記載の電子楽器のチャンネル割り当て装置。 - 【請求項4】上記変化手段は、新たに放音指示手段の操
作があるごとに、割り当て重み係数データ記憶手段に記
憶されている全重み係数データを変化させる手段である
ことを特徴とする請求項1、2または3記載の電子楽器
のチャンネル割り当て装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1305818A JP2522761B2 (ja) | 1989-11-24 | 1989-11-24 | 電子楽器のチャンネル割り当て装置 |
US07/616,182 US5095800A (en) | 1989-11-24 | 1990-11-20 | Channel assigning system for use in an electronic musical instrument |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1305818A JP2522761B2 (ja) | 1989-11-24 | 1989-11-24 | 電子楽器のチャンネル割り当て装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH03164796A JPH03164796A (ja) | 1991-07-16 |
JP2522761B2 true JP2522761B2 (ja) | 1996-08-07 |
Family
ID=17949743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1305818A Expired - Lifetime JP2522761B2 (ja) | 1989-11-24 | 1989-11-24 | 電子楽器のチャンネル割り当て装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5095800A (ja) |
JP (1) | JP2522761B2 (ja) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69129507T2 (de) * | 1990-03-20 | 1999-02-04 | Yamaha Corp | Vorrichtung zur Musiktonerzeugung, wobei Parameter mit hoher Geschwindigkeit geschrieben und gelesen werden können |
US5280129A (en) * | 1990-08-06 | 1994-01-18 | Roland Corporation | Assigning device which assigns new musical tones to tone-generating channels based upon a successive strike relation among the channels |
JP2641605B2 (ja) * | 1990-08-06 | 1997-08-20 | 株式会社河合楽器製作所 | 電子楽器のチャンネル割り当て装置及びチャンネル割り当て方法 |
JP2650488B2 (ja) * | 1990-11-29 | 1997-09-03 | ヤマハ株式会社 | 電子楽器の楽音制御方法 |
JP2645181B2 (ja) * | 1990-12-28 | 1997-08-25 | 株式会社河合楽器製作所 | 電子楽器のチャンネル割り当て装置及びチャンネル割り当て方法 |
JP2664098B2 (ja) * | 1991-04-17 | 1997-10-15 | 株式会社河合楽器製作所 | 電子楽器のペダル装置 |
JPH056179A (ja) * | 1991-06-27 | 1993-01-14 | Kawai Musical Instr Mfg Co Ltd | 楽音チヤンネル割当て装置 |
JP2546098B2 (ja) * | 1992-01-08 | 1996-10-23 | ヤマハ株式会社 | 電子楽器 |
USRE38477E1 (en) | 1993-04-09 | 2004-03-30 | Yamaha Corporation | Performance information analyzer and chord detection device associated therewith |
US5641929A (en) * | 1994-06-21 | 1997-06-24 | Kawai Musical Inst. Mfg. Co., Ltd. | Apparatus for and method of generating musical tones |
US6031173A (en) * | 1997-09-30 | 2000-02-29 | Kawai Musical Inst. Mfg. Co., Ltd. | Apparatus for generating musical tones using impulse response signals |
JP2000322063A (ja) * | 1999-05-11 | 2000-11-24 | Mitsubishi Electric Corp | 音声信号加算装置および音源再生方法 |
JP3620396B2 (ja) * | 2000-03-24 | 2005-02-16 | ヤマハ株式会社 | 情報修正装置及び情報修正プログラムを記録した媒体 |
JP2002311957A (ja) | 2001-04-17 | 2002-10-25 | Kawai Musical Instr Mfg Co Ltd | 共鳴装置、共鳴方法及び共鳴処理のためのコンピュータプログラム |
US7728213B2 (en) * | 2003-10-10 | 2010-06-01 | The Stone Family Trust Of 1992 | System and method for dynamic note assignment for musical synthesizers |
US7326847B1 (en) * | 2004-11-30 | 2008-02-05 | Mediatek Incorporation | Methods and systems for dynamic channel allocation |
US9418641B2 (en) | 2013-07-26 | 2016-08-16 | Audio Impressions | Swap Divisi process |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS55140893A (en) * | 1979-04-21 | 1980-11-04 | Kawai Musical Instr Mfg Co | System for allocating keyboard switch information |
EP0204122B1 (en) * | 1985-04-24 | 1993-07-21 | Yamaha Corporation | Electronic musical instrument |
JPS6223093A (ja) * | 1985-07-24 | 1987-01-31 | ヤマハ株式会社 | 電子楽器 |
US4984497A (en) * | 1986-11-28 | 1991-01-15 | Yamaha Corporation | Tone signal generation device having a tone element control function |
-
1989
- 1989-11-24 JP JP1305818A patent/JP2522761B2/ja not_active Expired - Lifetime
-
1990
- 1990-11-20 US US07/616,182 patent/US5095800A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH03164796A (ja) | 1991-07-16 |
US5095800A (en) | 1992-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2522761B2 (ja) | 電子楽器のチャンネル割り当て装置 | |
US5119710A (en) | Musical tone generator | |
JP2623809B2 (ja) | 自動押鍵指示装置 | |
JP3177374B2 (ja) | 自動伴奏情報発生装置 | |
JPS62135892A (ja) | 発音割当て機能付電子楽器 | |
US5410099A (en) | Channel assigning system for use in an electronic musical instrument | |
JP2664098B2 (ja) | 電子楽器のペダル装置 | |
US4920851A (en) | Automatic musical tone generating apparatus for generating musical tones with slur effect | |
JP2590293B2 (ja) | 伴奏内容検出装置 | |
JP2655905B2 (ja) | 電子楽器のチャンネル割り当て装置 | |
US5315059A (en) | Channel assigning system for electronic musical instrument | |
US4619176A (en) | Automatic accompaniment apparatus for electronic musical instrument | |
US5459281A (en) | Electronic musical instrument having a chord detecting function | |
KR930007833B1 (ko) | 전자악기 | |
JP2640992B2 (ja) | 電子楽器の発音指示装置及び発音指示方法 | |
JP2522794Y2 (ja) | 電子楽器 | |
JPS6267593A (ja) | 自動伴奏機能付電子楽器 | |
JPS62208099A (ja) | 楽音発生装置 | |
JP2814479B2 (ja) | 電子楽器 | |
JPH03171197A (ja) | 電子楽器のチャンネル割り当て装置 | |
JP3099388B2 (ja) | 自動伴奏装置 | |
JP3671105B2 (ja) | 分散和音出力装置 | |
JP2639604B2 (ja) | 電子鍵盤楽器の発音装置 | |
JP2685419B2 (ja) | 電子楽器のチャンネル割り当て装置及びチャンネル割り当て方法 | |
USRE38477E1 (en) | Performance information analyzer and chord detection device associated therewith |