(57)【要約】【課題】  アコースティックの楽器と同様の挙動を採りつつ、音源の発音リソースの消費を抑えることができる楽音発生装置を提供する。【解決手段】  ダンパペダルが操作されている最中に、鍵の離鍵と、その離鍵された鍵の再度の押鍵とがなされた場合、離鍵された鍵に対応する楽音の現在の音量Ｌを記憶する。そして、離鍵された鍵に対応する現在の楽音（楽音波形３１に基づく楽音）を消音する。その後、記憶した音量Ｌと、再度押鍵された鍵に対応する楽音により発せられるべき音量Ｌnewとを加算した音量で、再度押鍵された鍵に対応する楽音（楽音波形３２の音色を有する楽音）を発音する。【選択図】  図３
2007108526.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも楽音の発音時間を可変させるために操作される操作子が操作されているときに、鍵の離鍵と、その離鍵された鍵の再度の押鍵とがなされると、前記離鍵された鍵に対応する楽音の発音を中止する発音中止手段と、
前記発音中止手段により楽音の発音が中止される際に、前記再度の押鍵がなされた鍵に対応する楽音を、発音量を増大させて発音する再押鍵音発音手段とを有することを特徴とする楽音発生装置。
【請求項２】
前記操作子が操作されているときに、前記鍵の離鍵と、その離鍵された鍵の再度の押鍵とがなされると、前記離鍵された鍵に対応する楽音の現在の発音量と、前記再度の押鍵がなされた鍵に対応する楽音の発音量との大小関係を判定する判定手段と、
前記判定手段により、前記再度の押鍵がなされた鍵に対応する楽音の発音量の方が、前記離鍵された鍵に対応する楽音の現在の発音量よりも大きいと判定されると、前記離鍵された鍵に対応する楽音の発音を中止する前記発音中止手段と、
前記発音中止手段により楽音の発音が中止される際に、前記再度の押鍵がなされた鍵に対応する楽音を、発音量を増大させて発音する再押鍵音発音手段と、
前記判定手段により、前記再度の押鍵がなされた鍵に対応する楽音の発音量の方が、前記離鍵された鍵に対応する楽音の現在の発音量よりも大きくないと判定されると、前記離鍵された鍵に対応する楽音を、発音量を増大させて発音する離鍵音発音手段とを有することを特徴とする請求項１に記載の楽音発生装置。
【請求項３】
前記離鍵音発音手段は、前記判定手段により、前記再度の押鍵がなされた鍵に対応する楽音の発音量の方が、前記離鍵された鍵に対応する楽音の現在の発音量よりも大きくないと判定されると、前記離鍵された鍵に対応する楽音の現在の発音量と、前記再度の押鍵がなされた鍵に対応する楽音の発音量とを加算した発音量で、前記離鍵された鍵に対応する楽音を発音することを特徴とする請求項２に記載の楽音発生装置。
【請求項４】
前記操作子が操作されているときに、前記鍵の離鍵と、その離鍵された鍵の再度の押鍵とがなされると、前記離鍵された鍵に対応する楽音の現在の発音量を記憶する記憶手段を有し、
前記再押鍵音発音手段は、前記発音中止手段により楽音の発音が中止された後に、前記記憶手段により記憶された楽音の発音量と、前記再度の押鍵がなされた鍵に対応する楽音の発音量とを加算した発音量で、前記再度の押鍵がなされた鍵に対応する楽音を発音することを特徴とする請求項１〜３の何れか１項に記載の楽音発生装置。
【請求項５】
前記操作子は、ダンパペダルであることを特徴とする請求項１〜４の何れか１項に記載の楽音発生装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽音発生装置に関し、特に、操作子を操作して音の発音時間を可変させるために用いて好適なものである。
【背景技術】
【０００２】
従来から、ピアノに類似した電子楽器では、演奏者がダンパペダルを操作して、音の発音時間を可変させることができるようにしている。このような電子楽器において、ダンパペダルが操作されている最中に、鍵の離鍵と、その離鍵された鍵の再度の押鍵とがなされた場合、その再度の押鍵がなされた鍵に対応する楽音を、従来は以下のようにして発音していた。
【０００３】
まず、第１の従来技術では、ダンパペダルが操作されている最中に離鍵された鍵に対応する楽音を消音すると共に、再度押鍵された鍵に対応する楽音を発音するようにしていた。第２の従来技術では、ダンパペダルが操作されている最中に離鍵された鍵に対応する楽音を残したまま、再度押鍵された鍵に対応する楽音を発音するようにしていた。第３の従来技術では、ダンパペダルが操作されている最中に離鍵された鍵に対応する楽音に、再度押鍵された鍵に対応する楽音の音量を加算するようにしていた。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、前述した従来の技術では、以下のような問題点があった。
まず、第１の従来技術では、ダンパペダルが操作されている最中に離鍵された鍵に対応する楽音を消音するため、離鍵された鍵に対応する楽音が大きく再度押鍵された鍵に対応する楽音が非常に小音量であった場合、急激に楽音が小さくなってしまう。このため、アコースティックのピアノと挙動が大きく異なってしまうという問題点があった。
【０００５】
また、第２の従来技術では、ダンパペダルが操作されている最中に、同一の鍵が連打されると、連打された回数の楽音を音源の発音リソースに割り当てなければならない。このため、音源の発音リソースを無駄に消費してしまうという問題点があった。
【０００６】
さらに、第３の従来技術では、ダンパペダルが操作されている最中に離鍵された鍵に対応する楽音に、再度押鍵された鍵に対応する楽音の音量を加算するようにしている。このため、発音直後の倍音の多い波形ではなく、消音間際の正弦波に近い波形に対して音量を加算することになる。したがって、再度押鍵された鍵に対応する楽音が大音量であった場合、消音間際の正弦波に近い楽音が大音量で発音されることになり、発音直後に発生する過渡的な波形の楽音が発音されない。このため、アコースティックのピアノと挙動が大きく異なってしまうという問題点があった。
【０００７】
以上のように従来技術では、発音時間を可変させるダンパペダルのような操作子が操作されている最中に、同一鍵に対して離鍵と押鍵とが行われた場合に、アコースティックの楽器と同様の挙動を採ることと、音源の発音リソースの消費を抑えることとを両立させることが困難であるという問題点があった。
本発明は、このような問題点に鑑みてなされたものであり、アコースティックの楽器と同様の挙動を採りつつ、音源の発音リソースの消費を抑えることができる楽音発生装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の楽音発生装置は、少なくとも楽音の発音時間を可変させるために操作される操作子が操作されているときに、鍵の離鍵と、その離鍵された鍵の再度の押鍵とがなされると、前記離鍵された鍵に対応する楽音の発音を中止する発音中止手段と、前記発音中止手段により楽音の発音が中止される際に、前記再度の押鍵がなされた鍵に対応する楽音を、発音量を増大させて発音する再押鍵音発音手段とを有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、少なくとも楽音の発音時間を可変させるために操作される操作子が操作されているときに、鍵の離鍵と、その離鍵された鍵の再度の押鍵とがなされると、前記離鍵された鍵に対応する楽音の発音を中止して、前記再度の押鍵がなされた鍵に対応する楽音を、発音量を増大させて発音するようにしたので、音量や音色が不自然に変化することを防止することができる。さらに、前記離鍵された鍵に対応する楽音の発音を中止するので、操作子が操作されている最中に、同一の鍵が連打された場合でも、音源の発音リソースが多量に使用されることを防止することができる。
【発明を実施するための最良の形態】
【００１０】
次に、図面を参照しながら、本発明の一実施形態について説明する。
図１は、本実施形態の楽音発生装置が配設された電子楽器の概略構成の一例を示したブロック図である。
図１において、電子楽器は、中央処理装置（以下、ＣＰＵと称する）１と、フラッシュメモリ２と、ランダムアクセスメモリ（以下、ＲＡＭと称する）３と、外部記憶媒体装着部４と、外部入出力用インターフェース部５と、信号バス６と、キースキャン回路７と、鍵盤８と、パネルスキャン回路９と、操作パネル１０と、楽音発生部１１と、波形メモリ１２と、デジタル／アナログ変換部（以下、Ｄ／Ａ変換部と称する）１３と、アナログ信号処理部１４と、パワーアンプ１５と、スピーカ部１６とを有している。
【００１１】
図１に示すように、ＣＰＵ１、フラッシュメモリ２、ＲＡＭ３、キースキャン回路７、パネルスキャン回路９、楽音発生部１１、外部記憶媒体装着部４、及び外部入出力用インターフェース部５は、それぞれ信号バス６に接続され、相互に通信することが可能である。
【００１２】
（鍵盤）
鍵盤８は、複数の鍵と、それら複数の鍵の各々に対応して設けられた複数の鍵スイッチとを有している。電子楽器のユーザは、前記複数の鍵を押鍵及び離鍵して所望の演奏を行う。
（キースキャン回路）
キースキャン回路７は、鍵盤８の各鍵スイッチのスキャン処理を行うためのものである。
【００１３】
（操作パネル）
操作パネル１０は、各種操作子や表示装置を有している。本実施形態の電子楽器には、表示装置として、例えばＬＣＤ（Liquid Crystal Display；液晶ディスプレイ）が設けられている。このＬＣＤは、各種操作子の選択状態や設定状態等を表示する。
前記操作子として、例えば、電子楽器に電源を供給するための電源スイッチや、電子楽器の設定状態を初期値にリセットするためのリセットスイッチや、テンポや音量を設定するためのダイアルや、音色を選択するための音色選択スイッチ等が設けられている。ただし、前記操作子はこれらのものに限定されるものではないということは言うまでもない。
（パネルスキャン回路）
パネルスキャン回路９は、操作パネル１０に設けられている各種操作子のスキャン処理を行うためのものである。
【００１４】
（ペダル）
ペダル１８は、少なくとも発音時間を可変させるために操作される操作子である。具体的に本実施形態の電子楽器には、ダンパペダルと、ソフテヌートペダルと、ソフトペダルとがペダル１８として設けられている。
（ペダルスキャン回路）
ペダルスキャン回路１７は、ペダル１８のスキャン処理を行うためのものである。
【００１５】
（ＣＰＵ）
ＣＰＵ１は、本実施形態の電子楽器の全体を統括制御するためのものであり、フラッシュメモリ２に格納されている制御プログラムに従って、ＲＡＭ３をワークメモリとして利用しながら、例えば次のような処理を行う。
【００１６】
ＣＰＵ１は、パネルスキャン回路９によりスキャン処理された結果を入力し、操作パネル１０の操作内容を識別する。
また、ＣＰＵ１は、キースキャン回路７によりスキャン処理された結果を入力して、鍵の操作内容（押鍵及び離鍵）を識別するとともに、ペダルスキャン回路１８によりスキャン処理された結果を入力して、ペダルの操作内容を識別する。
そして、ＣＰＵ１は、識別した鍵やペダルの操作内容（鍵の押鍵及び離鍵）に基づく演奏データや、操作パネル１０の操作内容に基づくデータを楽音発生部１１に割り当てる処理を行う。
【００１７】
この演奏データは、前記各鍵の操作が押鍵（キーオン）であるか離鍵（キーオフ）であるかを示すキーオン／オフ信号、音高を示す音高データ、音量制御データであるベロシティデータ、及び各鍵の動作スピードに関するキータッチレスポンス信号等から構成される。
なお、ＣＰＵ１は、前述したものの他に種々の処理を行うということは言うまでもない。
【００１８】
（フラッシュメモリ）
フラッシュメモリ２は、読み出し可能なメモリであり、ＣＰＵ１の制御プログラムの他に、種々のデータを格納する。
【００１９】
（ＲＡＭ）
ＲＡＭ３は読み書きが可能なメモリであり、ＣＰＵ１のプログラム実行過程において各種の必要なデータを一時的に記憶したり、編集可能なパラメータデータを記憶したりする記憶領域を有している。このＲＡＭ３の一部あるいは全部はバッテリーバックアップされており、必要なデータを、電子楽器の電源がオフにされても保持しておくことができるようにしている。
【００２０】
ＣＰＵ１は、識別した鍵やペダルの操作内容（鍵の押鍵及び離鍵）に基づく演奏データを、音源を備えた楽音発生部１１に割り当てる際に、図２に示すようなアサイメントメモリ２０をＲＡＭ３に形成するようにしている。
図２において、キーナンバの欄には、鍵盤８に設けられた鍵の識別番号であるキーナンバが記憶される。ベロシティの欄には、前述したベロシティデータの値が記憶される。このペロシティデータによって、ＣＰＵ１は、押鍵された鍵の音量を識別することができる。離鍵フラグの欄には、キーナンバによって示される鍵の離鍵動作があった場合にオンされる離鍵フラグが記憶される。
【００２１】
対応リソースの欄には、楽音発生部１１に設けられている音源の発音リソースを特定する情報が記憶されている。図２に示すように、本実施形態の電子楽器における発音リソースの数は、「３２」である。開放フラグの欄には、対応リソースの欄に記憶されている情報によって特定される発音リソースが開放されている場合に（使用可能である場合に）オンされる開放フラグが記憶される。
なお、アサイメントメモリ２０の内容は、図２に示したものに限定されず、楽音発生部１１に設けられている音源の発音リソースに演奏データを割り当てる際にＣＰＵ１が参照する情報であれば、どのような情報をアサイメントメモリ２０に記憶するようにしてもよい。
また、ＲＡＭ３には、ペダル１８に設けられたダンパペダルが操作（オン）されているときにＣＰＵ１によりオンされるダンパフラグが記憶されている。
【００２２】
ここで、図３を参照しながら、ダンパペダルがオンされている最中に、同一鍵の離鍵と押鍵とが行われた場合のＣＰＵ１の動作の概要を説明する。
まず、演奏者により鍵が押鍵されることによって楽音波形３１のような楽音が発音されているときに、その鍵の離鍵と、その離鍵された鍵の再度の押鍵とが行われ、その再度の押鍵により楽音波形３２のような楽音が発音されるような場合、ＣＰＵ１は、離鍵された鍵に対応する楽音の現在の音量Ｌと、再度押鍵された鍵に対応する楽音により発せられるべき音量Ｌnewとを比較する。
【００２３】
そして、再度押鍵された鍵に対応する楽音により発せられるべき音量Ｌnewの方が、離鍵された鍵に対応する楽音の現在の音量Ｌよりも大きい場合には、現在の楽音（楽音波形３１に基づく楽音）を消音する。そして、離鍵された鍵に対応する楽音の現在の音量Ｌと、再度押鍵された鍵に対応する楽音により発せられるべき音量Ｌnewとを加算した音量で、楽音波形３２に基づく楽音を発音する。一方、再度押鍵された鍵に対応する楽音により発せられるべき音量Ｌnewが、離鍵された鍵に対応する楽音の現在の音量Ｌ以下である場合には、楽音波形３１に基づく楽音の音量を、離鍵された鍵に対応する楽音の現在の音量Ｌと、再度押鍵された鍵に対応する楽音により発せられるべき音の音量Ｌnewとを加算した音量にする。
【００２４】
（波形メモリ）
波形メモリ１２は、音色や音域に応じた種々の楽音波形データを記憶している。
（楽音発生部）
楽音発生部１１は、前述したように、３２個の発音リソースを備えた音源を有し、前述したようにしてＣＰＵ１により発音リソースに割り当てられた演奏データと、操作パネル１０の操作内容に基づくデータ等に基づいて、波形メモリ１２から必要な楽音波形データを読み出し、所望のデジタル楽音信号を発生させる。
【００２５】
（Ｄ／Ａ変換部）
Ｄ／Ａ変換部１３は、楽音発生部１１で発生されたデジタル楽音信号をアナログ楽音信号に変換する機能を有する。
（アナログ信号処理部）
アナログ信号処理部１４は、Ｄ／Ａ変換部１３でＤ／Ａ変換されたアナログ楽音信号に対し、フィルタ処理（ノイズ除去処理）や音質調整、信号レベル（ゲイン）調整等を施す機能を有する。
【００２６】
（パワーアンプ）
パワーアンプ１５は、アナログ信号処理部１４でノイズ除去処理が施されたアナログ楽音信号に対し、増幅処理を施して適当なレベルに増幅する。
（スピーカ部）
スピーカ部１６は、パワーアンプ１５で増幅されたアナログ楽音信号を可聴信号として放音するためのものであり、１個あるいは複数個で構成されている。
【００２７】
（外部記憶装置装着部）
外部記憶媒体装着部４は、例えば、ＣＤ−ＲＷドライブである。そして、ＣＰＵ１は、ＣＤ−ＲＷドライブに装着されたＣＤ−ＲＯＭに記憶されている制御プログラムや各種データを読み出して必要な処理を行う。なお、外部記憶媒体装着部４は、ＣＤ−ＲＷドライブに限定されず、フレキシブルディスク（ＦＤ）装置や、光磁気ディスク（ＭＯ）装置等であってもよいということは言うまでもない。
【００２８】
（外部入出力用インターフェース部）
外部入出力用インターフェース部５は、外部装置との間で、演奏情報等のデータのやり取りを行うためのものである。具体的に、この外部入出力用インターフェース部５は、例えばＭＩＤＩ（Musical Instrument Digital Interface）である。
【００２９】
次に、図４〜図１１を参照しながら、本実施形態の電子楽器に配設されたＣＰＵ１により実行される処理の一例を説明する。
【００３０】
図４は、ＣＰＵ１により実行されるメインルーチンの処理の一例を説明するフローチャートである。
まず、ステップＳ１において、初期化処理を実行する。
次に、ステップＳ２において、イベントが発生したか否かを判定する。によりこの判定の結果、イベントが発生した場合には、ステップＳ３に進み、イベント処理を実行する。このイベント処理の詳細については、図５〜図９を参照しながら後述する。一方、イベントが発生していない場合には、このステップＳ３を省略してステップＳ４に進む。
そして、ステップＳ４において、定常処理を実行する。この定常処理の詳細については、図１０を参照しながら後述する。
【００３１】
次に、図５のフローチャートを参照しながら、イベント処理の詳細の一例を説明する。
まず、ステップＳ１１において、鍵が押鍵されたか否かを判定する。この判定の結果、鍵が押鍵された場合には、ステップＳ１２に進み、押鍵処理を実行して、図４に示したメインフローチャートに戻る。この押鍵処理の詳細については、図６を参照しながら後述する。
【００３２】
ステップＳ１１において、鍵が押鍵されていないと判定した場合には、ステップＳ１３に進み、鍵が離鍵されたか否かを判定する。この判定の結果、鍵が離鍵された場合には、ステップＳ１４に進み、離鍵処理を実行して、図４に示したメインフローチャートに戻る。この離鍵処理の詳細については、図７を参照しながら後述する。
【００３３】
ステップＳ１３において、鍵が離鍵されていないと判定した場合には、ステップＳ１５に進み、ダンパペダルがオンされたか否かを判定する。この判定の結果、ダンパペダルがオンされた場合には、ステップＳ１６に進み、ダンパオン処理を実行して、図４に示したメインフローチャートに戻る。このダンパオン処理の詳細については、図８を参照しながら後述する。
【００３４】
ステップＳ１５において、ダンパペダルがオンされていないと判定した場合には、ステップＳ１７に進み、ダンパペダルがオフされたか否かを判定する。この判定の結果、ダンパペダルがオフされた場合には、ステップＳ１８に進み、ダンパオフ処理を実行して、図４に示したメインフローチャートに戻る。このダンパオフ処理の詳細については、図９を参照しながら後述する。
【００３５】
ステップＳ１７において、ダンパペダルがオフされていないと判定した場合には、ステップＳ１９に進み、発生したイベントが、その他の処理が必要なイベントか否かを判定する。この判定の結果、発生したイベントが、その他の処理が必要なイベントでない場合には、図４に示したメインフローチャートに戻る。一方、発生したイベントが、その他の処理が必要なイベントである場合には、ステップＳ２０に進み、発生したイベントに応じた処理を行う。
【００３６】
図６は、図５のステップＳ１２における押鍵処理の詳細の一例を説明するフローチャートである。
まず、ステップＳ２１において、ＲＡＭ３に記憶されている前記ダンパフラグがオンされているか否かを判定して、ダンパペダルがオンされているか否かを判定する。この判定の結果、ダンパペダルがオンされていない場合には、後述するステップＳ２７に進む。一方、ダンパペダルがオンされている場合には、ステップＳ２２に進み、ダンパペダルがオンされている最中に、鍵の離鍵と、その離鍵された鍵の再度の押鍵とがなされたか否かを判定する。
【００３７】
具体的に説明すると、まず、アサイメントメモリ２０を参照し、離鍵フラグがオンになっているキーナンバを検索する。これにより、離鍵された鍵を識別する。そして、キースキャン回路７によりスキャン処理された結果に基づいて、押鍵された鍵を識別する。これら識別した鍵が同一であれば、ダンパペダルがオンされている最中に、鍵の離鍵と、その離鍵された鍵の再度の押鍵とがなされたと判定し、そうでなければ、ダンパペダルがオンされている最中に、鍵の離鍵と、その離鍵された鍵の再度の押鍵とがなされていないと判定する。
【００３８】
この判定の結果、ダンパペダルがオンされている最中に、鍵の離鍵と、その離鍵された鍵の再度の押鍵とがなされていない場合には、後述するステップＳ２７に進む。一方、ダンパペダルがオンされている最中に、鍵の離鍵と、その離鍵された鍵の再度の押鍵とがなされた場合には、ステップＳ２３に進み、離鍵された鍵に対応する楽音の現在の音量Ｌよりも、再度押鍵された鍵に対応する楽音により発せられるべき音量Ｌnewの方が大きいか否かを判定する。ここで、再度押鍵された鍵に対応する楽音により発せられるべき音量Ｌnewは、例えば、キースキャン回路７によりスキャン処理された結果から得られるベロシティに基づいて求めることができる。また、このステップＳ２３の判定が終了したら、離鍵された鍵に対応する楽音の現在の音量Ｌと、再度押鍵された鍵に対応する楽音により発せられるべき音量ＬnewとをＲＡＭ３に記憶する。
【００３９】
ステップＳ２３の判定の結果、離鍵された鍵に対応する楽音の現在の音量Ｌよりも、再度押鍵された鍵に対応する楽音により発せられるべき音量Ｌnewの方が大きい場合には、ステップＳ２４に進み、離鍵された鍵に対応する現在の楽音（楽音波形３１に基づく音）を消音するための演奏データを生成して、楽音発生部１１に設けられた音源の発音リソースに割り当てる処理を行う。
次に、ステップＳ２５に進み、離鍵された鍵に対応する楽音の現在の音量Ｌと、再度押鍵された鍵に対応する楽音により発せられるべき音量Ｌnewとを加算した音量で、楽音波形３２の音色を有する楽音を発音するための演奏データを生成して、楽音発生部１１に設けられた音源の発音リソースに割り当てる処理を行う。これにより、再度押鍵された鍵に対応する楽音に基づく楽音波形３２に、離鍵された鍵に対応する楽音の現在の音量Ｌが加えられた楽音が発音される。そして、図４のメインフローチャートに戻る。なお、ステップＳ２４で演奏データを割り当てる発音リソースと、ステップＳ２５で演奏データを割り当てる発音リソースとを同じにするようにしても変えるようにしてもよい。
【００４０】
ステップＳ２３において、離鍵された鍵に対応する楽音の現在の音量Ｌよりも、再度押鍵された鍵に対応する楽音により発せられるべき音量Ｌnewの方が大きくない場合には、ステップＳ２６に進み、離鍵された鍵に対応する楽音の演奏データにおける現在の音量Ｌに、再度押鍵された鍵に対応する楽音により発せられるべき音量Ｌnewを加算した演奏データを楽音発生部１１に割り当てる処理を行う。これにより、現在発音されている楽音に基づく楽音波形３１の音量Ｌに、再度押鍵された鍵に対応する楽音により発せられるべき音量Ｌnewが加えられる。そして、図４のメインフローチャートに戻る。
【００４１】
ステップＳ２１において、ダンパペダルがオンされていないと判定された場合と、ステップＳ２２において、ダンパペダルがオンされている最中に、鍵の離鍵と、その離鍵された鍵の再度の押鍵とがなされていない場合には、ステップＳ２７に進み、図５のステップＳ１１で押鍵されたと判定された鍵に対応する楽音を、その押鍵された鍵に対応する楽音により発せられるべき音量Ｌnewで発音するための演奏データを生成して楽音発生部１１に割り当てる処理を行う。そして、図４のメインフローチャートに戻る。
【００４２】
図７は、図５のステップＳ１４における離鍵処理の詳細の一例を説明するフローチャートである。
まず、ステップＳ３１において、アサイメントメモリ２０を検索して、図５のステップＳ１３において離鍵されたと判定した鍵に対応するキーナンバを割り出す。
次に、ステップＳ３２において、ステップＳ３１で割り出したキーナンバに対応する離鍵フラグをオンする。
【００４３】
次に、ステップＳ３３において、ＲＡＭ３に記憶されている前記ダンパフラグがオンされているか否かを判定して、ダンパペダルがオンされているか否かを判定する。この判定の結果、ダンパペダルがオンされていない場合には、ステップＳ３４に進み、図５のステップＳ１３において離鍵されたと判定した鍵に対応する楽音を消音するための演奏データを生成して楽音発生部１１に割り当てる処理を行う。そして、図４のメインフローチャートに戻る。
【００４４】
一方、ダンパペダルがオンされている場合には、ステップＳ３５に進み、図５のステップＳ１３において離鍵されたと判定した鍵に対応する楽音を、通常よりも長く発音するための演奏データを生成して楽音発生部１１に割り当てる処理を行う。そして、図４のメインフローチャートに戻る。
【００４５】
図８は、図５のステップＳ１６におけるダンパオン処理の詳細の一例を説明するフローチャートである。
まず、ステップＳ４１において、ＲＡＭ３に記憶されている前記ダンパフラグをオンする。
次に、ステップＳ４２において、離鍵された鍵があるか否か（離鍵動作のあった鍵があるか否か）を判定する。この判定は、例えば、アサイメントメモリ２０を参照して、オンされている離鍵フラグがあれば、離鍵された鍵があると判定し、そうでなければ、離鍵された鍵がないと判定する。
【００４６】
この判定の結果、離鍵された鍵がある場合には、ステップＳ４３に進み、ステップＳ４２において離鍵されたと判定した鍵に対応する楽音を、通常よりも長く発音するための演奏データを生成して楽音発生部１１に割り当てる処理を行う。そして、図４のメインフローチャートに戻る。
一方、離鍵された鍵がない場合には、ステップＳ４３を省略して図４のメインフローチャートに戻る。
【００４７】
図９は、図５のステップＳ１８におけるダンパオフ処理の詳細の一例を説明するフローチャートである。
まず、ステップＳ５１において、ＲＡＭ３に記憶されている前記ダンパフラグをオフする。
次に、ステップＳ５２において、離鍵された鍵（離鍵動作のあった鍵）があるか否かを判定する。この判定は、例えば、図８のステップＳ４２と同様に、アサイメントメモリ２０における離鍵フラグがオンされているか否かによって判定する。
【００４８】
この判定の結果、離鍵された鍵がある場合には、ステップＳ４３に進み、ステップＳ４２において離鍵されたと判定した鍵に対応する楽音を消音するための演奏データを生成して楽音発生部１１に割り当てる処理を行う。そして、図４のメインフローチャートに戻る。
一方、離鍵された鍵がない場合には、ステップＳ５３を省略して図４のメインフローチャートに戻る。
【００４９】
図１０は、図４のステップＳ４における定常処理の詳細の一例を説明するフローチャートである。
まず、ステップＳ６１において、発音した音が消音したか否かを判定する。この判定は、例えば、楽音発生部１１に設けられた音源を参照することにより行うことができる。この判定の結果、発音した音が消音していれば、ステップＳ６２に進み、その音に対応する開放フラグをオフし、発音リソースを開放（使用可能）にする。このとき、離鍵フラグがオンされている場合には、その離鍵フラグをオフする。
一方、発音した音が消音していなければ、ステップＳ６２を省略してステップＳ６３に進む。そして、ステップＳ６３において、その他の処理を行う。
【００５０】
図１１は、ＣＰＵ１が一定の間隔でメインフローチャートの処理に割り込んで行うタイマ割り込み処理の一例を説明するフローチャートである。なお、本実施形態では、２［ｍｓ（＝１０-3ｓ）］の間隔でこのタイマ割り込み処理が行われるとする。
まず、ステップＳ７１において、タイマの値をセットする。
次に、ステップＳ７２において、キースキャン回路７、パネルスキャン回路９、及びペダルスキャン回路１７によりスキャン処理された結果に基づいて、ＩＯマップを更新する。このＩＯマップは、操作パネル１０の操作内容と、鍵盤８の操作内容と、ペダル１８の操作内容の状態を示すものである。更新前のＩＯマップを第１のバッファメモリに記憶するとともに、更新後のＩＯマップを第２のバッファに記憶する。このようにして第１のバッファメモリに記憶された更新前のＩＯマップと、第２のバッファメモリに記憶された更新前のＩＯマップとを比較することにより、ＣＰＵ１は、イベントが発生したか否かと、どのようなイベントが発生したのかを判断することができる。
【００５１】
以上のように本実施形態では、ダンパペダルが操作されている最中に、鍵の離鍵と、その離鍵された鍵の再度の押鍵とがなされた場合、離鍵された鍵に対応する楽音の現在の音量Ｌと、再度の押鍵がなされた鍵に対応する楽音により発せられるべき音量Ｌnewとを比較する。そして、再度の押鍵がなされた鍵に対応する楽音により発せられるべき音量Ｌnewの方が、離鍵された鍵に対応する楽音の現在の音量Ｌよりも大きい場合には、離鍵された鍵に対応する現在の楽音（楽音波形３１に基づく楽音）を消音する。
【００５２】
そして、離鍵された鍵に対応する楽音の現在の音量Ｌと、再度の押鍵がなされた鍵に対応する楽音により発せられるべき音量Ｌnewとを加算した音量で、再度の押鍵がなされた鍵に対応する楽音（楽音波形３２の音色を有する楽音）を発音する。一方、再度押鍵された音により発せられるべき音量Ｌnewが、離鍵された鍵に対応する楽音の現在の音量Ｌ以下である場合には、離鍵された鍵に対応する楽音波形３１の現在の音量Ｌに、再度押鍵された音により発せられるべき音の音量Ｌnewを加算する。
【００５３】
これにより、音量や音色が不自然に変化することを防止することができる。したがって、アコースティックのピアノに近い挙動をとる電子楽器を実現することができる。
また、一般に、電子楽器の音源における発音リソースの数は、鍵の数に比べて少ないため、発音リソースが多量に使用されると、適切な演奏が行えなくなる虞がある。しかしながら、本実施形態では、楽音波形３１に基づく音を消音するので、ダンパペダルが操作されている最中に、同一の鍵が連打された場合でも、発音リソースが多量に使用されることを防止することができ、適切な演奏を行うことが可能になる。
【００５４】
なお、本実施形態のように、離鍵された鍵に対応する楽音の現在の音量Ｌと、再度押鍵された鍵に対応する楽音により発せられるべき音量Ｌnewとを比較し、再度押鍵された鍵に対応する楽音により発せられるべき音量Ｌnewが、離鍵された鍵に対応する楽音の現在の音量Ｌ以下である場合に、楽音波形３１に基づく現在の楽音の音量を、離鍵された鍵に対応する楽音の現在の音量Ｌと、再度押鍵された鍵に対応する楽音により発せられるべき音量Ｌnewとを加算した音量にすれば、より違和感のない演奏を行うことができると共に、発音処理を高速に行うことができ好ましいが、必ずしもこのようにする必要はない。
【００５５】
例えば、図６のステップＳ２３、Ｓ２６を省略するようにしてもよい。具体的に説明すると、まず、ダンパペダルがオンされている最中に、鍵の離鍵と、その離鍵された鍵の再度の押鍵とがなされたら、離鍵された鍵に対応する楽音の現在の音量Ｌと、再度押鍵された鍵に対応する楽音により発せられるべき音量Ｌnewとの大小関係を比較せずに、離鍵された鍵に対応する楽音の現在の音量Ｌを記憶する。そして、離鍵された鍵に対応する現在の楽音（楽音波形３１に基づく楽音）を消音した後、記憶した音量Ｌと、再度押鍵された鍵に対応する楽音により発せられるべき音量Ｌnewとを加算した音量で、再度押鍵された鍵に対応する楽音（楽音波形３２の音色を有する楽音）を発音するようにしてもよい。
【００５６】
また、本実施形態では、ダンパペダルが操作されている最中に、鍵が離鍵され且つその鍵と同一の鍵が再度押鍵された場合を例に挙げて説明したが、ダンパペダルの代わりに、例えば、ダンパペダルと同じ機能を有するレバー式の操作子や、ボタン式の操作子等を用いるようにしてもよい。すなわち、操作子の操作形態はペダル式のものに限定されない。さらに、少なくとも発音時間を可変させるための操作子であれば、ダンパペダルと異なる機能を有する操作子をダンパペダルの代わりに用いてもよい。例えば、ソフテヌートペダルを用いてもよい。
【００５７】
（本発明の他の実施形態）
前述した実施形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置あるいはシステム内のコンピュータに対し、前記実施形態の機能を実現するためのソフトウェアのプログラムコードを供給し、そのシステムあるいは装置のコンピュータ（ＣＰＵあるいはＭＰＵ）に格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
【００５８】
また、この場合、前記ソフトウェアのプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、およびそのプログラムコードをコンピュータに供給するための手段、例えば、かかるプログラムコードを格納した記録媒体は本発明を構成する。かかるプログラムコードを記憶する記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−フラッシュメモリ、磁気テープ、不揮発性のメモリカード、フラッシュメモリ等を用いることができる。
【００５９】
また、コンピュータが供給されたプログラムコードを実行することにより、前述の実施形態の機能が実現されるだけでなく、そのプログラムコードがコンピュータにおいて稼働しているＯＳ（オペレーティングシステム）あるいは他のアプリケーションソフト等と共同して前述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれることは言うまでもない。
【００６０】
さらに、供給されたプログラムコードがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
【００６１】
なお、前述した実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【図面の簡単な説明】
【００６２】
【図１】本発明の実施形態を示し、楽音発生装置が配設された電子楽器の概略構成の一例を示したブロック図である。
【図２】本発明の実施形態を示し、アサイメントメモリの構成の一例を示した図である。
【図３】本発明の実施形態を示し、ダンパペダルが操作されている最中に離鍵された音に対応する波形と、その離鍵された鍵が再度押鍵されたときの音に対応する波形の一例を示した図である。
【図４】本発明の実施形態を示し、メインルーチンの処理の一例を説明するフローチャートである。
【図５】本発明の実施形態を示し、イベント処理の処理の一例を説明するフローチャートである。
【図６】本発明の実施形態を示し、押鍵処理の詳細の一例を説明するフローチャートである。
【図７】本発明の実施形態を示し、離鍵処理の詳細の一例を説明するフローチャートである。
【図８】本発明の実施形態を示し、ダンパオン処理の詳細の一例を説明するフローチャートである。
【図９】本発明の実施形態を示し、ダンパオフ処理の詳細の一例を説明するフローチャートである。
【図１０】本発明の実施形態を示し、定常処理の詳細の一例を説明するフローチャートである。
【図１１】本発明の実施形態を示し、タイマ割り込み処理の詳細の一例を説明するフローチャートである。
【符号の説明】
【００６３】
１  ＣＰＵ
２  フラッシュメモリ
３  ＲＡＭ
４  外部記憶媒体装着部
５  外部入出力用インターフェース部
６  信号バス
７  キースキャン回路
８  鍵盤
９  パネルスキャン回路
１０  操作パネル
１１  楽音発生部
１２  波形メモリ
１３  Ｄ／Ａ変換部
１４  アナログ信号処理部
１５  パワーアンプ
１６  スピーカ部
１７  ペダルスキャン回路
１８  ペダル
２０  アサイメントメモリ
３１、３２  波形
【図１】
2007108526.tif 000003
【図２】
2007108526.tif 000004
【図３】
2007108526.tif 000005
【図４】
2007108526.tif 000006
【図５】
2007108526.tif 000007
【図６】
2007108526.tif 000008
【図７】
2007108526.tif 000009
【図８】
2007108526.tif 000010
【図９】
2007108526.tif 000011
【図１０】
2007108526.tif 000012
【図１１】
2007108526.tif 000013