(57)【特許請求の範囲】
【請求項１】
発音の開始及び終了を指示する第１の制御手段と、その指示を受けてその発音の開始乃至終了を行う第２の制御手段とを備えた電子楽音発生器であって、該指示には発音及び消音をすべき音の音色系列、キーナンバ、演奏の強さの各データを含む電子楽音発生器において、
上記発音の開始及び終了を指示するデータに識別データを付加するデータ生成手段と、
発音開始となる押鍵時に、上記データ生成手段が付加した識別データを発音系列毎に、そのキーナンバ及び演奏の強さの各データと共に記憶する記憶手段と、
消音されるべき離鍵時に、上記データ生成手段が付加する識別データと、上記記憶手段に記憶された識別データとを比較し、この比較結果に基づいて消音する発音系列を決定し、該系列に消音を指示する第１の決定手段と、
上記比較の結果、消音すべき発音系列が決定できなかった場合に、発音中の系列とキーナンバのデータに基づき、消音する発音系列を決定し、該系列に消音を指示する第２の決定手段と
を有することを特徴とする電子楽音発生器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子楽器などに使用される電子楽音発生器に関する。
【背景技術】
【０００２】
電子オルガンや電子ピアノなどには、実際に演奏を行うための鍵盤などの演奏用インターフェースや演奏用の各種設定を行うためのパネルインターフェースの他、演奏用データの入出力を行う外部インターフェースなどが備えられている。これらのインターフェースを備えている側を、ここで第１の制御手段とする。
【０００３】
他方、上記電子楽器では、サンプリングなどにより記憶された音の数に相応して、複数種類の音源があり、それらが音源基板として、複数枚の基板に装備されており、また複数の発音系列が備えられていて、最大その系列分だけの数の音が、上記のインターフェース側から指示される音色、キーナンバ、演奏の強さ（ベロシティデータから変換されたものも含む）に従って、発音できる構成となっている。この場合、発音系列は、音色毎に系列が定められていることが普通である。これらの音源側の機能・回路構成が備えられている側を、ここで第２の制御手段とする。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記電子オルガンや電子ピアノの構成では、鍵盤などの演奏用インターフェースで押鍵・離鍵の操作がなされることで、発音の開始及び終了の指示が第２の制御手段側に出力され、該第２の制御手段では、その指示を受けて、最大系列分の範囲内で、音色、キーナンバ、演奏の強さに従って、その発音の開始乃至終了が実行される。
【０００５】
また、上記電子楽器構成では、上述のように、外部インターフェースを備えているため、シーケンサーや、他のＭＩＤＩ機器から、演奏用データの入出力がなされ、それが、第２の制御手段側に転送されて、該データ中に含まれる指示に応じ、これも、最大系列分の範囲内で、音色、キーナンバ、演奏の強さに従って、その発音の開始乃至終了が実行される。
【０００６】
鍵盤などの演奏用インターフェースから出力される上記データと、外部インターフェースを経て出力される上記データとの合計出力系統が、上記の最大系列の範囲内であることに変わりはない。
【０００７】
また押鍵・離鍵の鍵盤操作で発音の開始・終了はなされるが、同時に外部インターフェースを経て入力されるデータで、同一音色同一音程で発音開始が重なった場合、即ち、同一トラックの二重押鍵が生じた場合、鍵盤の離鍵操作由来の発音の終了は、その離鍵を検出した第１の制御手段の指示に従って、なされる。
【０００８】
また当然ながら、外部インターフェースを経て入力されるデータ由来の発音の終了は、そのゲートタイムなどに含まれるデータの指示に従って、なされる。
【０００９】
ところが、上記第１の制御手段と第２の制御手段とをつなぐ伝送経路に、ノイズが乗った場合、それによって、指示が誤って転送され、それが故に、消音すべき発音系列が発見できず、消音すべき発音系列が発音したままになるという不具合を生じていた。
【００１０】
本発明は、以上のような問題に鑑み創案されたもので、離鍵したにも拘わらず、消音すべき発音系列が発音したままになるという不具合の生じない電子楽音発生器を提供せんとするものである。
【課題を解決するための手段】
【００１１】
本発明に係る構成は、
発音の開始及び終了を指示する第１の制御手段と、その指示を受けてその発音の開始乃至終了を行う第２の制御手段とを備えた電子楽音発生器であって、該指示には発音及び消音をすべき音の音色系列、キーナンバ、演奏の強さの各データを含む電子楽音発生器において、
上記発音の開始及び終了を指示するデータに識別データを付加するデータ生成手段と、
発音開始となる押鍵時に、上記データ生成手段が付加した識別データを発音系列毎に、そのキーナンバ及び演奏の強さの各データと共に記憶する記憶手段と、
消音されるべき離鍵時に、上記データ生成手段が付加する識別データと、上記記憶手段に記憶された識別データとを比較し、この比較結果に基づいて消音する発音系列を決定し、該系列に消音を指示する第１の決定手段と、
上記比較の結果、消音すべき発音系列が決定できなかった場合に、発音中の系列とキーナンバのデータに基づき、消音する発音系列を決定し、該系列に消音を指示する第２の決定手段と
を有することを基本的特徴としている。
【００１２】
上記構成によれば、まず、第１の決定手段により、離鍵時に、上記データ生成手段が付加する識別データと、上記記憶手段に記憶された識別データとが比較され、この比較結果に基づいて消音する発音系列が決定し、該系列に消音の指示が出力されることになる。他方該第１の決定手段による比較結果において、消音すべき発音系列が決定できなかった場合に、第２の決定手段により、発音中の系列とキーナンバのデータに基づき、消音する発音系列が決定され、該系列に消音の指示が出力されることになる。
【００１３】
従って、第１の制御手段と第２の制御手段とをつなぐ伝送経路に、ノイズが乗り、それによって、指示が誤って転送された場合に、消音すべき発音系列が発見できず、消音すべき発音系列が発音したままになると言うことがなくなり、正しく消音されるようになる。
【００１４】
上記記憶手段は、通常発音系列毎に設けられるアサイメントメモリが好ましいが、それに限定される趣旨ではない。
【発明の効果】
【００１５】
本発明の電子楽音発生器によれば、第１の制御手段と第２の制御手段とをつなぐ伝送経路で、指示が誤って転送された場合に、消音すべき発音系列が発見できず、消音すべき発音系列が発音したままになると言うことがなくなり、正しく消音されるようになるという優れた効果を奏し得る。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施の形態を、次の図示する例と共に説明する。
【実施例１】
【００１７】
図１は、本発明の実施例に係る電子楽音発生器を備えた電子オルガンの内部主要構成の回路概要図である。
【００１８】
同図に示すように、該電子オルガンでは、ＨＯＳＴ基板上に構成される第１の制御部１０と、複数枚の音源基板として構成される第２の制御部２０とで、電子楽音発生器が構成される。
【００１９】
上記第１の制御部１０は、ＣＰＵ１１と、プログラムＲＯＭ１２と、プログラムＲＡＭ１３と、外部インターフェース１４と、内部インターフェース１５と、デジタルシグナルプロセッサ（ＤＳＰ）１６と、デジタルアナログコンバータ（ＤＡＣ）１７と、増幅器兼イコライザ１８とを備え、それらがバスを介して接続され、夫々のデバイスに制御信号、データの入出力がなされることになる。そして、該第１の制御部１０は、後述するフォーマット形式の転送データの転送により、次の第２の制御部２０に対し、発音の開始及び終了を指示する機能を有している。
【００２０】
他方第２の制御部２０は、同じくＣＰＵ２１と、プログラムＲＯＭ２２と、プログラムＲＡＭ２３と、内部インターフェース２４と、波形メモリ２６から波形データを読み取って楽音を発生する音源（トーンジェネレータ；ＴＧ）２５とを備え、それらがバスを介して接続され、夫々のデバイスに制御信号、データの入出力がなされることになる。そして、該第２の制御部２０は、第１の制御部１０から転送された上記転送データの受信に応じて、その発音の開始乃至終了を実行する機能を有している。
【００２１】
尚、第１の制御部１０と複数の第２の制御部２０とは、相互に接続され、後述する図７のようなフォーマット形式のデータが少なくとも転送されることになる。
【００２２】
上記ＣＰＵ１１と２１は、上記プログラムＲＯＭ１２及び２２に記憶されている制御プログラムに従って、本発明実施例構成の夫々の第１の制御部１０及び第２の制御部２０の各部を制御するものであり、また上記プログラムＲＯＭ１２及び２２に記憶されたアプリケーションプログラムを実行し、必要に応じて、プログラムＲＡＭ１３及び２３を作業領域として使用し、さらにプログラムＲＯＭ１２及び２２に記憶された種々の固定データを使用しながらデータ処理を行う構成である。
【００２３】
上記プログラムＲＯＭ１２及び２２は、上述のように、第１の制御部１０及び第２の制御部２０の各部を制御するプログラムを格納している他、ＣＰＵ１１と２１が使用する種々の固定データが記憶されている。
【００２４】
上記プログラムＲＡＭ１３及び２３は、各制御部のステータス情報を記憶したり、ＣＰＵ１１及び２１の作業領域として使用されるものである。尚、これらの制御部を制御するための各種レジスタやフラグ等は、プログラムＲＡＭ１３及び２３に定義されており、このプログラムＲＡＭ１３及び２３は、ＣＰＵ１１及び２１により、バスを介してアクセスされる。またそのうち該プログラムＲＡＭ２３は、音色系列毎に各音源基板（第２の制御部２０）の用意された、後述する記憶部２７に相当するアサイメントメモリとしてしても使用される。
【００２５】
上記外部インターフェース１４は、この電子オルガンの鍵盤（図面上番号なし）、フットペダル、或いはディスプレイ・パネルとの接続インターフェースの構成であり、鍵盤やフットペダルの押鍵・離鍵に伴う演奏データやパネル操作による設定情報及びディスプレイ表示情報のデータが、ここを介してバスとの間で入出力を行う。また、該外部インターフェース１４を介して、シーケンサやその他の外部ＭＩＤＩ機器とのＳＭＦデータのやりとりもなされる。
【００２６】
内部インターフェース１５及び２４は、夫々の第１の制御部１０上のバスと第２の制御部２０上のバスとをつなぐ構成であり、そこには、後述する図７に示すようなフォーマット形式のデータが転送されたり、必要に応じてその他のデータや命令が入出力される。
【００２７】
デジタルシグナルプロセッサ（ＤＳＰ）１６は、後述する第２の制御部２０の音源（ＴＧ）２５から出力される各音色系列毎の楽音データに対し、パネル設定により上記ＣＰＵ１１が指定する任意の音響効果（ビブラートやその他の音響効果）を付加する構成である。
【００２８】
該デジタルシグナルプロセッサ（ＤＳＰ）１６に接続されるものに、デジタルアナログコンバータ（ＤＡＣ）１７、及び増幅器兼イコライザ１８があり、その先には、図面にあるように、放音機としてのスピーカが接続されている。
【００２９】
そのうち、上記デジタルアナログコンバータ（ＤＡＣ）１７は、これまで内部で処理されていてデジタルシグナルプロセッサ（ＤＳＰ）１６にて音響効果が付加されて出てきたデジタル形式の楽音データをデジタル形式からアナログ形式に変換する構成である。
【００３０】
また上記増幅器兼イコライザ１８は、まさにアナログの音響信号を増幅する増幅器の構成と、さらに特定の音域の音声信号を強調したり、逆に減少させたりすることで、全体的に音質を平均化させたり、音像を明確にするため使用するイコライザの構成である。
【００３１】
他方、第２の制御部２０の上記音源（ＴＧ）２５は、上述のように、波形メモリ２６から波形データを読み取って楽音を発生する構成であり、その波形データは、上記デジタルシグナルプロセッサ（ＤＳＰ）１６に出力される。上述のように、この第２の制御部２０は、音色系列毎に１乃至複数枚用意される構成であり、従って、指定乃至選択された音色毎に、自己の音色系列が指定乃至選択されている場合は、その系列に入る音源基板が指定乃至選択され、その基板のＣＰＵ２１の指示により、最終的にその基板上の音源（ＴＧ）２５により波形メモリ２６の波形データが読み出され、第１の制御部１０のデジタルシグナルプロセッサ（ＤＳＰ）１６に出力される。
【００３２】
図２は、第１の制御部１０と第２の制御部２０との間に備えられて構成される本実施例の電子楽音発生器の機能ブロック図である。
【００３３】
同図に示すように、本構成は、発音の開始及び終了を指示する第１の制御部１０と、その指示を受けてその発音の開始乃至終了を行う第２の制御部２０とを備えており、発音及び消音すべき音の音色系列、キーナンバ、演奏の強さの各データと共に、それらの音に関するデータに識別データを付加するデータ生成部１９と、発音開始となる押鍵時に、上記データ生成部１９が付加した識別データを発音系列毎に、そのキーナンバ及び演奏の強さの各データと共に記憶するアサイメントメモリからなる記憶部２７と、発音終了扱いとなる中の少なくとも離鍵時に、上記データ生成部１９が付加する識別データと、上記記憶部２７に記憶された識別データとを比較し、この比較結果に基づいて消音する発音系列を決定し、該系列に消音を指示する第１の決定部２８と、上記比較の結果、消音すべき発音系列が決定できなかった場合に、発音中の系列とキーナンバのデータに基づき、消音する発音系列を決定し、該系列に消音を指示する第２の決定部２９とを備えている。
【００３４】
上記第１の制御部１０と第２の制御部２０の構成とは、上述したので、ここでは説明を省略する。尚、図面上「鍵状態検出」、「押鍵検出」及び「離鍵検出」は、図１のキーボードによる検出である。これらは演奏データとして第１の制御部１０から第２の制御部２０へ出力されるが、その他に、シーケンサや他の外部ＭＩＤＩ機器からの演奏データも、第１の制御部１０から第２の制御部２０へ出力される。それ故、押鍵・離鍵の鍵盤操作で発音の開始・終了はなされるが、同時に外部インターフェースを経て入力されるデータで、同一音色同一音程で発音開始が重なった場合、即ち、同一トラックの二重押鍵が生ずる場合がある。
【００３５】
上記データ生成部１９は、プログラムＲＯＭ１２のプログラムを読み込んだＣＰＵ１１で構成されており、パネル操作に含まれる音色選択情報、キーボード内に取り付けられたキースキャン回路（図示なし）から発せられる押鍵・離鍵操作に伴う演奏情報によって構成される、発音及び消音すべき音の音色系列、キーナンバ、演奏の強さの各データを演奏データとして、それに対し、上記データ生成部１９により、識別データが付加される。
【００３６】
そして、上記記憶部２７は、図１の各音源基板（第２の制御部２０）に備えられたプログラムＲＡＭ２３で構成されるアサイメントメモリであり、後述する図７に示す内部インターフェース１５及び２４を介して、同図のフォーマット形式の転送データが、もちろん上記のようにして生成された識別データ（図７ではデータ（３）のＩＤとして示される）を含んで記憶される。すなわち、発音開始となる押鍵時に、上記データ生成部１９が付加した識別データを発音系列毎に、そのキーナンバ及び演奏の強さの各データと共に記憶する構成である。
【００３７】
上記第１の決定部２８は、プログラムＲＯＭ２２のプログラムを読み込んだＣＰＵ２１で構成されており、少なくとも離鍵時に、上記データ生成部１９が付加する識別データと、上記記憶部２７に記憶された識別データとを比較し、この比較結果に基づいて消音する発音系列を決定し、該系列に消音を指示する機能を有している。
【００３８】
上記第２の決定部２９は、同じくプログラムＲＯＭ２２のプログラムを読み込んだＣＰＵ２１で構成されており、上記第１の決定部２８における比較の結果、消音すべき発音系列が決定できなかった場合に、同じく記憶部２７内のデータをサーチし、発音中の系列とキーナンバのデータに基づき、消音する発音系列を決定し、該系列に消音を指示する機能を有している。
【００３９】
上記消音の指示は、結局同じＣＰＵ２１が出力し、プログラムＲＡＭ２３上に系列毎に設定された、発音フラグを０にセットすることで行うことになる。
【００４０】
以上の構成では、上述のように、「押鍵検出」及び「離鍵検出」による「鍵状態検出」により、演奏データとして第１の制御部１０から第２の制御部２０へ出力されるが、その他に、シーケンサや他の外部ＭＩＤＩ機器からの演奏データも、第１の制御部１０から第２の制御部２０へ出力される。
【００４１】
そして、上記データ生成部１９により、上記押鍵・離鍵操作に伴う演奏情報によって構成される、発音及び消音すべき音の音色系列、キーナンバ、演奏の強さの各データに、識別データが付加され、それらが演奏データとして第２の制御部２０に出力される。
【００４２】
また記憶部２７には、出力されて、後述する図７の形式で転送されてくる識別データ付きの上記演奏データが記憶される。すなわち、発音開始となる押鍵時に、上記データ生成部１９によって付加された識別データが、発音系列毎に、そのキーナンバ及び演奏の強さの各データと共に記憶される。
【００４３】
同様に、シーケンサや他の外部ＭＩＤＩ機器からの演奏データも、そこで指定される音色系列に応じて、該記憶部２７に記憶される。
【００４４】
それ故、押鍵・離鍵の鍵盤操作で発音の開始・終了はなされるが、同時に外部インターフェースを経て入力されるデータで、同一音色同一音程で発音開始が重なった場合、即ち、同一トラックの二重押鍵が生ずる場合がある。
【００４５】
従って、上記上記第１の決定部２８により、少なくとも離鍵時に、上記データ生成部１９が付加する識別データと、上記記憶部２７に記憶された識別データとが比較され、この比較結果に基づいて消音する発音系列が決定され、該系列に消音が指示される。そのようにすることで、同一トラックの二重押鍵が生ずる場合でも、離鍵による楽音の発生の消音ができるようになる。
【００４６】
また、第１の制御部１０と第２の制御部２０とをつなぐ内部インターフェース１５及び２４の伝送経路に、ノイズが乗り、それによって、指示が誤って転送された場合に、消音すべき発音系列が発見できない（上記識別データ同士の符合ができない）場合が生ずる（その場合は消音すべき発音系列が発音したままになる）。
【００４７】
このこような場合は、第２の決定部２９により、同じく記憶部２７内のデータがサーチされ、発音中の系列とキーナンバのデータに基づき、消音する発音系列が決定され、該系列に消音が指示される。
【００４８】
図３は、第１の制御部１０におけるＣＰＵ１１のメインフローを示すフローチャートである。
【００４９】
同図に示すように、電子オルガンのスイッチＯＮなどで、最初にこのホスト基板である第１の制御部１０の各デバイスの初期化、及びそれにつながっているキースキャン回路、ペダルスキャン回路及びパネルスキャン回路の各初期化がなされる（ステップＳ１００）。
【００５０】
次に、イベントがあるか否かがチェックされ（ステップＳ１０２）、それがなければ（ステップＳ１０２；Ｎ）、ステップＳ１０６（時変数処理）にジャンプし、逆にイベントがある場合（ステップＳ１０２；Ｙ）、イベント処理に移行する（ステップＳ１０４）。
【００５１】
このイベント処理後、時変数処理（ステップＳ１０６）がなされ、その処理が終了したら、上記ステップＳ１０２に復帰する。
【００５２】
図４は、上記図３のステップＳ１０４のイベント処理の処理フローを示すフローチャートである。
【００５３】
ここでは、キーボードのキーイベントがあるか否かがチェックされ（ステップＳ２００）、それがある場合（ステップＳ２００；Ｙ）、キーイベント転送処理が実行される（ステップＳ２０２）。
【００５４】
上記キーボードのキーイベントがない場合（ステップＳ２００；Ｎ）、パネルイベントがあるか否かがチェックされ（ステップＳ２０４）、それがある場合（ステップＳ２０４；Ｙ）、パネルイベント処理が実行される（ステップＳ２０６）。
【００５５】
反対にパネルイベントがない場合（ステップＳ２０４；Ｎ）、ＭＩＤＩイベント処理があるか否かがチェックされ（ステップＳ２０８）、それがある場合（ステップＳ２０８；Ｙ）、ＭＩＤＩイベント転送処理が実行される（ステップＳ２１０）。
【００５６】
上記ＭＩＤＩイベント処理がない場合（ステップＳ２０８；Ｎ）、第２の制御部２０における音源（ＴＧ）２５イベント処理が実行される（ステップＳ２１２）。
【００５７】
これらのステップＳ２０２、２０６、２１０、２１２の処理後、ＭＩＤＩＯＵＴ処理が行われる（ステップＳ２１４）。すなわち、外部のＭＩＤＩ機器を使って波形データを書き換える。そして、上記ステップＳ１０６の時変数処理に移行する。
【００５８】
図５は、上記図４のステップＳ２０６で示されるパネルイベント処理の処理フローを示すフローチャートである。
【００５９】
同図に示すように、このパネルイベント処理では、音色設定乃至変更があったか否かがチェックされ（ステップＳ３００）、音色設定乃至変更があった場合（ステップＳ３００；Ｙ）、ＭＩＤＩプログラムチェンジが第２の制御部２０に転送される（ステップＳ３０２）。
【００６０】
音色設定乃至変更がない場合（ステップＳ３００；Ｎ）、コントロールチェンジがあったか否かがチェックされる（ステップＳ３０４）。コントロールチェンジがあった場合（ステップＳ３０４；Ｙ）、ＭＩＤＩコントロールチェンジが第２の制御部２０に転送される（ステップＳ３０６）。
【００６１】
コントロールチェンジがない場合（ステップＳ３０４；Ｎ）、オートモード設定であるか否かがチェックされる（ステップＳ３０８）。オートモード設定であれば（ステップＳ３０８；Ｙ）、オートモードの設定処理がなされる（ステップＳ３１０）。それによって後述する時変数処理で、登録したオートモード処理がなされることになる。
【００６２】
オートモード設定でなければ（ステップＳ３０８；Ｎ）、シーケンサのスタート或いはストップ処理や自動伴奏のスタート或いはストップ等の処理のレジスト設定処理か否かがチェックされる（ステップＳ３１２）。レジスト設定処理であれば（ステップＳ３１２；Ｙ）、レジスト設定処理が行われる（ステップＳ３１４）。
【００６３】
他方レジスト設定処理でなければ（ステップＳ３１２；Ｎ）、メニュー画面表示がなされる（ステップＳ３１６）。
【００６４】
これらの処理後は上記ステップＳ２１４のＭＩＤＩＯＵＴ処理に移行する。
【００６５】
図６は、図３のステップＳ１０６の時変数処理の処理フローを示すフローチャートである。
【００６６】
ここで、時変数処理とは、前回の処理からどれだけ時間が経ったかを取得するための処理で、インターバルタイムで、ＣＰＵ１１に割り込み処理が掛かるように用いられる。
【００６７】
まず、パラメータΔＴｉが取得される（ステップＳ４００）。
【００６８】
そして、オートモードが設定されているか否かがチェックされる（ステップＳ４０２）。オートモードが設定されていなければ（ステップＳ４０２；Ｎ）、ステップＳ４０６にジャンプする。反対にオートモードが設定されていれば（ステップＳ４０２；Ｙ）、自動的にイベントを発生する処理が行われる（ステップＳ４０４）。
【００６９】
そして、シーケンサのスタート或いはストップ処理や自動伴奏のスタート或いはストップ等の処理のレジストデータが転送中であるか否かがチェックされる（ステップＳ４０６）。レジストデータが転送中でなければ（ステップＳ４０６；Ｎ）、ステップＳ４１０に処理が移行する。
【００７０】
レジストデータが転送中であれば（ステップＳ４０６；Ｙ）、次のブロック（系列のデータ）の転送処理がなされる（ステップＳ４０８）。
【００７１】
そして、イベント検出処理で検出された、エクスプレッションペダル処理がなされ（ステップＳ４１０）、パネルスキャン処理（ステップＳ４１２）、キースキャン処理（ステップＳ４１４）が行われる。
【００７２】
図７は、上記内部インターフェース１５及び２４間で転送されるデータのフォーマット形式及びその意味内容を示す説明図である。もちろんこのフォーマット形式のデータは、最終的に、アサイメントメモリとして機能する上記記憶部２７に格納される。
【００７３】
格納されるデータのうち、核になるデータは、図７に示すような５バイトのデータで構成されており、最初にイベントのシーケンス順を表すイベントＮｏ（同図上段及び中段参照）、発音及び消音すべき音の音色系列（トラックＮｏ）、キーナンバ［データ（１）］、演奏の強さ［データ（２）］、上記データ生成部１９で付与された識別データ［データ（３）］が含まれている。２つ目のバイトにあるトラックＮｏは、同図下段にその意味が示されるように、各音色系列と意味的につながりのある発音系列を示すものである。例えば、同じアッパーオーケストラの音色を示すものでも、トラックＮｏとしては、０ｘ００と０ｘ０１の２つの発音系列となる。同様にしてアッパーソロの音色を示すものは、トラックＮｏとして、０ｘ０４、０ｘ０５と０ｘ０６の３つの発音系列となる。
【００７４】
図８は、第２の制御部２０（音源基板）におけるＣＰＵ２１のメインフローを示すフローチャートである。
【００７５】
同図に示すように、図３と同様、電子オルガンのスイッチＯＮなどで、最初にこの音源基板である第２の制御部２０の各デバイスの初期化がなされる（ステップＳ５００）。
【００７６】
次に、各基板毎（図７のトラックＮｏ毎）のそのトラックＮｏで指示される系列にイベント（Ｍｙイベント）があるか否かがチェックされ（ステップＳ５０２）、それがなければ（ステップＳ５０２；Ｎ）、ステップＳ５０６（時変数処理）にジャンプし、逆にそのＭｙイベントがある場合（ステップＳ５０２；Ｙ）、イベント処理に移行する（ステップＳ５０４）。
【００７７】
このイベント処理後、時変数処理（ステップＳ５０６）がなされ、その処理が終了したら、上記ステップＳ５０２に復帰する。
【００７８】
図９は、上記図８のステップＳ５０４のイベント処理の処理フローを示すフローチャートである。
【００７９】
ここでは、キーボードのキーイベントがあるか否かがチェックされ（ステップＳ６００）、それがある場合（ステップＳ６００；Ｙ）、押鍵や離鍵などに伴う後述するノート処理が実行される（ステップＳ６０２）。
【００８０】
上記キーボードのキーイベントがない場合（ステップＳ６００；Ｎ）、音色やエフェクトの切り替えを行うためのプログラムチェンジのイベントがあるか否かがチェックされ（ステップＳ６０４）、それがある場合（ステップＳ６０４；Ｙ）、プログラムチェンジ処理が実行される（ステップＳ６０６）。
【００８１】
反対にプログラムチェンジのイベントがない場合（ステップＳ６０４；Ｎ）、各エフェクトのかかり具合などの調整を行うためのコントロールチェンジがあるか否かがチェックされ（ステップＳ６０８）、それがある場合（ステップＳ６０８；Ｙ）、コントロールチェンジ処理が実行される（ステップＳ６１０）。
【００８２】
上記コントロールチェンジがない場合（ステップＳ６０８；Ｎ）、ＭＩＤＩのエクスクルーシブ処理が実行される（ステップＳ６１２）。
【００８３】
これらのステップＳ６０２、６０６、６１０、６１２の処理後、該当音源基板（発音系列）の処理が全て完了したことを知らせるコンプリート送信が行われる（ステップＳ６１４）。そして、上記ステップＳ５０６の時変数処理に移行する。
【００８４】
図１０は、図９のステップＳ６０２のノート処理の処理フローを示すフローチャートである。
【００８５】
まず押鍵があったか否かがチェックされる（ステップＳ７００）。押鍵があるならば（ステップＳ７００；Ｙ）、押鍵処理が実行される（ステップＳ７０２）。逆に押鍵がないならば（ステップＳ７００；Ｎ）、離鍵処理が行われる（ステップＳ７０４）。そして上記ステップＳ６１４のコンプリート送信処理に移行する。
【００８６】
図１１は、図１０のステップＳ７０２の押鍵処理の処理フローを示すフローチャートである。
【００８７】
押鍵があったということで、トラック毎のキーマップ更新処理が行われる（ステップＳ８００）。ここで、キーマップ更新処理とは、上記記憶部２７に記憶されている前回のキーマップに対し、新しく押鍵に伴ってデータの生成があった所と、逆に離鍵に伴ってそのデータがなくなった箇所を比較し、その比較結果によって、記憶部２７の記憶データを更新する処理である。該キーマップについては、後述する図１３において説明する。
【００８８】
次にキーマップの更新で新たな発音系列が必要になった場合、そのためのキーアサイン処理（新たな発音がなされるための発音系列の決定とアサイメントメモリへのデータの転送）がなされる（ステップＳ８０２）。その後上記記憶部２７から図７に示すような発音系列毎のデータがＣＰＵ２１により読み出されて、音源（ＴＧ）２５により必要な波形データの読み出しが実行され、第１の制御部１０のデジタルシグナルプロセッサＤＳＰ１６によるエフェクト付加、デジタルアナログコンバータＤＡＣ１７によるアナログ信号への変換、増幅器兼イコライザ１８による増幅などの処理がなされて、発音処理が行われる（ステップＳ８０４）。
【００８９】
図１２は、図１０のステップＳ７０４の離鍵処理の処理フローを示すフローチャートである。
【００９０】
該処理では、上記記憶部２７の記憶データ（キーマップ）が参照され（ステップＳ９００）、離鍵に伴ってデータ生成部１９により付加された識別データ［図７のデータ（３）＝ＩＤ参照］と、その前に記憶部２７に記憶されていたデータとが、第１の決定部２８により照合され、識別データに一致するものがあるか否かがチェックされる（ステップＳ９０２）。
【００９１】
ここで、識別データに一致するものがあれば（ステップＳ９０２；Ｙ）、該識別データが一致したキーが離鍵されたとして扱われ（ステップＳ９０４）、消音する発音系列が決定され、やがて消音される。従って、同時に外部インターフェースを経て入力されるデータで、同一音色同一音程で発音開始が重なり、同一トラックの二重押鍵が生同一トラックの二重押鍵が生ずる場合でも、離鍵による楽音の発生の消音ができるようになる。
【００９２】
上述のように、第１の制御部１０と第２の制御部２０とをつなぐ内部インターフェース１５及び２４の伝送経路に、ノイズが乗るなどの理由により、指示が誤って転送され、上記識別データ同士の符合ができない場合（ステップＳ９０２；Ｎ）、すなわち消音すべき発音系列が発見できない場合、第２の決定部２９により、同じく記憶部２７内のデータが照合され、発音中の系列とキーナンバのデータに基づき、別の識別データのついたキーが離鍵されたとして扱われ（ステップＳ９０６）、消音する発音系列が決定され、やがて消音される。従って、指示が誤って転送され、消音すべき発音系列が発見できない、本来なら消音すべき発音系列が発音したままになる場合であっても、第２の決定部２９により、記憶部２７内のデータが照合され、発音中の系列とキーナンバのデータに基づき、消音する発音系列が決定されるので、離鍵による楽音の発生の消音ができるようになる。
【００９３】
図１３は、トラック毎（発音系列毎）のキーマップの状態とそのアサイメントメモリのアドレス格納及びデータ格納状態を示す説明図である。
【００９４】
トラック毎に、全キーに割り当てられるアドレスには、図１３の上段に示されるようなインデックスとしてのアドレスデータが格納され、そこへ該当鍵のバッファの先頭アドレスと末尾アドレスが格納される。例えば、００鍵用のアドレス０ｘ００には、００鍵バッファの先頭アドレスと同鍵バッファの末尾アドレスが格納される。また０１鍵用のアドレス０ｘ０４には、０１鍵バッファの先頭アドレスと同鍵バッファの末尾アドレスが格納される。
【００９５】
ここで、図７に示すフォーマット形式のデータでキーナンバとして００鍵が指定されているとすると、該００鍵バッファの先頭アドレスが、仮に０ｘ０３４１だとして、図面中段に示されたバッファ先頭アドレスをたどると、０ｘ０３４１〜０ｘ０３４４までのバッファ中に、次に読み出すバッファのアドレス、それ以前に読み出されたバッファのアドレス、図７に示すフォーマット形式のデータでキーナンバで指定される鍵に対して、該データから渡された、楽音として生成される時の演奏の強さを表すデータ、及び同様にして渡された識別データが格納される。従って、図７のフォーマット形式のデータでキーナンバが含まれていない鍵（例えば００鍵〜８７鍵）の、図１３上段の内容（１）（２）の内容に相当するバッファアドレスは書き込まれない。
【００９６】
バッファの先頭アドレスに読みに行くと、最初のバイトには、次に読み出すバッファのアドレスが書き込まれており、次のバイトには、それ以前に読み出されたバッファのアドレスが書き込まれている。図１３の下段に示されるように、このようなデータの格納形式は、ＦＩＦＯメモリ形式の典型的な例である。
【００９７】
以上詳述した本実施例の電子楽音発生器を備えた電子オルガンでは、
上記記憶部２７の記憶データ（キーマップ）が参照され、離鍵に伴ってデータ生成部１９により付加された識別データ［図７のデータ（３）＝ＩＤ］と、その前に記憶部２７に記憶されていたデータとが、第１の決定部２８により照合され、識別データに一致するものがあれば、該識別データが一致したキーが離鍵されたとして扱われる。そして消音する発音系列が決定され、やがて消音される。従って、同時に外部インターフェースを経て入力されるデータで、同一音色同一音程で発音開始が重なり、同一トラックの二重押鍵が生同一トラックの二重押鍵が生ずる場合でも、離鍵による楽音の発生の消音ができるようになる。
【００９８】
他方、第１の制御部１０と第２の制御部２０とをつなぐ内部インターフェース１５及び２４の伝送経路に、ノイズが乗るなどの理由により、指示が誤って転送され、上記識別データ同士の符合ができない場合、すなわち消音すべき発音系列が発見できない場合でも、第２の決定部２９により、同じく記憶部２７内のデータが照合され、発音中の系列とキーナンバのデータに基づき、別の識別データのついたキーが離鍵されたとして扱われる。そして消音する発音系列が決定され、やがて消音される。従って、指示が誤って転送され、消音すべき発音系列が発見できない、本来なら消音すべき発音系列が発音したままになる場合であっても、第２の決定部２９により、記憶部２７内のデータが照合され、発音中の系列とキーナンバのデータに基づき、消音する発音系列が決定されるので、離鍵による楽音の発生の消音ができるようになる。
【００９９】
尚、本発明の電子楽音発生器は、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【産業上の利用可能性】
【０１００】
本発明に係る電子楽音発生器の構成は、電子楽器などへの適用を想定しているが、それだけに限られず、パソコンやゲームなどに用いられる音源ボードなどにも適用することができる。
【図面の簡単な説明】
【０１０１】
【図１】本発明の実施例に係る電子楽音発生器を備えた電子オルガンの内部主要構成の回路概要図である。
【図２】第１の制御部１０と第２の制御部２０との間に備えられて構成される本実施例の電子楽音発生器の機能ブロック図である。
【図３】第１の制御部１０におけるＣＰＵ１１のメインフローを示すフローチャートである。
【図４】図３のステップＳ１０４のイベント処理の処理フローを示すフローチャートである。
【図５】図４のステップＳ２０６で示されるパネルイベント処理の処理フローを示すフローチャートである。
【図６】図３のステップＳ１０６の時変数処理の処理フローを示すフローチャートである。
【図７】内部インターフェース１５及び２４間で転送されるデータのフォーマット形式及びその意味内容を示す説明図である。
【図８】第２の制御部２０（音源基板）におけるＣＰＵ２１のメインフローを示すフローチャートである。
【図９】図８のステップＳ５０４のイベント処理の処理フローを示すフローチャートである。
【図１０】図９のステップＳ６０２のノート処理の処理フローを示すフローチャートである。
【図１１】図１０のステップＳ７０２の押鍵処理の処理フローを示すフローチャートである。
【図１２】図１０のステップＳ７０４の離鍵処理の処理フローを示すフローチャートである。
【図１３】トラック毎（発音系列毎）のキーマップの状態とそのアサイメントメモリのアドレス格納及びデータ格納状態を示す説明図である。
【符号の説明】
【０１０２】
１０        第１の制御部
１１        ＣＰＵ
１２        プログラムＲＯＭ
１３        プログラムＲＡＭ
１４        外部インターフェース
１５        内部インターフェース
１６        デジタルシグナルプロセッサ
１７        デジタルアナログコンバータ
１８        増幅器兼イコライザ
１９        データ生成部
２０        第２の制御部
２１        ＣＰＵ
２２        プログラムＲＯＭ
２３        プログラムＲＡＭ
２４        内部インターフェース
２５        音源
２６        波形メモリ
２７        記憶部
２８        第１の決定部
２９        第２の決定部
【図１】
0005198093.tif 000002
【図２】
0005198093.tif 000003
【図３】
0005198093.tif 000004
【図４】
0005198093.tif 000005
【図５】
0005198093.tif 000006
【図６】
0005198093.tif 000007
【図７】
0005198093.tif 000008
【図８】
0005198093.tif 000009
【図９】
0005198093.tif 000010
【図１０】
0005198093.tif 000011
【図１１】
0005198093.tif 000012
【図１２】
0005198093.tif 000013
【図１３】
0005198093.tif 000014