(57)【要約】【課題】  操作部の操作状態に応じて１又は複数の選択手段に発音する音高を選択させる場合において、演奏者の演奏操作の意図に合った発音を容易に行えるようにする。【解決手段】  それぞれ音高と対応する複数の操作部の操作状態に応じて、発音する音高を選択する１又は複数のアサイナを設け、そのアサイナ毎に、上記操作部のキーオフ操作に応じてそのアサイナに発音する音高の選択を行わせるか否かを決定し（Ｓ３４，Ｓ３６）上記操作部のキーオフ操作があった場合に、キーオフ操作に応じて音高の選択を行わせると決定したアサイナに、そのキーオフ操作後の操作部の操作状態に応じて発音する音高を選択させるようにした（Ｓ３５）。【選択図】        図７
2015081927.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ音高と対応する複数の操作部の操作状態に応じて、発音する音高を選択する１又は複数の選択手段と、
前記選択手段毎に、前記操作部の発音停止操作に応じて該選択手段に発音する音高の選択を行わせるか否かを決定する決定手段と、
前記操作部の発音停止操作があった場合に、前記決定手段が音高の選択を行わせると決定した選択手段に、該発音停止操作後の前記複数の操作部の操作状態に応じて発音する音高を選択するよう指示する制御手段とを備えることを特徴とする電子楽器。
【請求項２】
請求項１に記載の電子楽器であって、
前記決定手段は、ユーザが各選択手段について行った、発音停止操作に応じた発音音高の選択有無の設定に基づき、前記決定を行うことを特徴とする電子楽器。
【請求項３】
請求項１に記載の電子楽器であって、
前記決定手段は、前記操作部の発音停止操作に応じて、前記各選択手段について、該選択手段が該発音停止操作の時点で選択していた音高と、該選択手段が該発音停止操作後の前記複数の操作部の操作状態に応じて選択する音高の予測値との音高差が所定値以上である場合に、該選択手段について前記発音停止操作に応じた音高の選択を行わせないと決定し、前記音高差が前記所定値未満である場合に、該選択手段について前記発音停止操作に応じた音高の選択を行わせると決定することを特徴とする電子楽器。
【請求項４】
請求項１に記載の電子楽器であって、
前記決定手段は、前記操作部の発音停止操作があった場合に、該発音停止操作がどの奏法の操作であるかを推定し、その推定結果の奏法に基づき、該発音停止操作がなされた操作部の音高を選択していた選択手段に関する前記決定を行うことを特徴とする電子楽器。
【請求項５】
請求項４に記載の電子楽器であって、
前記決定手段は、前記推定した奏法がレガート奏法である場合に、該発音停止操作がなされた操作部の音高を選択していた選択手段について、前記発音停止操作に応じた音高の選択を行わせると決定することを特徴とする電子楽器。
【請求項６】
請求項１乃至５のいずれか一項に記載の電子楽器であって、
前記決定手段は、特定の操作子が操作されている期間は、前記各選択手段のうち予め定めた選択手段について、強制的に、前記発音停止操作に応じた音高の選択を行わせない又は行わせるのうちいずれか一方に決定することを特徴とする電子楽器。
【請求項７】
コンピュータを、
それぞれ音高と対応する複数の操作部の操作状態に応じて、発音する音高を選択する１又は複数の選択手段と、
前記選択手段毎に、前記操作部の発音停止操作に応じて該選択手段に発音する音高の選択を行わせるか否かを決定する決定手段と、
前記操作部の発音停止操作があった場合に、前記決定手段が音高の選択を行わせると決定した選択手段に、該発音停止操作後の前記複数の操作部の操作状態に応じて発音する音高を選択するよう指示する制御手段として機能させるためのプログラム。
【請求項８】
発音を指示する複数の操作部の操作状態に応じて１又は複数の選択手段がそれぞれ発音する音高を選択する選択手順と、
前記選択手段毎に、前記操作部の発音停止操作に応じて該選択手段に発音する音高の選択を行わせるか否かを決定する決定手順と、
前記操作部の発音停止操作があった場合に、前記決定手順で音高の選択を行わせると決定した選択手段に、該発音停止操作後の前記複数の操作部の操作状態に応じて発音する音高を選択するよう指示する制御手順とを備えることを特徴とする発音音高選択方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数の操作部の操作状態に応じて発音する音高を選択する電子楽器、コンピュータにこのような音高選択機能を実現させるためのプログラム、および、複数の操作部の操作状態に応じて発音する音高を選択する発音音高選択方法に関する。
【背景技術】
【０００２】
従来から、電子楽器において、押鍵されている音高の中から予め定めたルールに従って発音すべき音高を選択するアサイナを複数設け、各アサイナが選択した音高を、そのアサイナと対応する音色で発音させることが知られている。
【０００３】
そして、この複数のアサイナを用いることにより、例えば１のアサイナに低音側の音高を選択させ、他のアサイナに高音側の音高を選択させるようにルールを定めておけば、自動的に低音側と高音側の音（例えば伴奏とメロディー）を異なる音色で弾き分けることができる。また、ルールの設定によっては、複数のアサイナに同じ音高を選択させ複数パートのユニゾン演奏のような発音を行ったり、複数のアサイナにそれぞれ異なる音高を選択させ複数パートのアンサンブル演奏のような発音を行ったりすることもできる。
このような電子楽器については、例えば特許文献１に記載がある。
【０００４】
また、特許文献２には、電子楽器において、押鍵されたノートに、押鍵数に応じた規則で所定数のパートを割り当て、各ノートを、そのノートに割り当てたパートの音色で発音させる電子楽器が開示されている。この電子楽器によれば、押鍵数によらず、常に所定数のパートを発音させることができる。
【０００５】
またこれらの他、特許文献３には、電子楽器における、１つの鍵に対応する音しか発音しない所謂モノアサイナに関する技術が開示されている。特許文献３には、モノアサイナの機能を有効にして演奏を行う際に、弾き間違いがあった場合でも発音させたい楽音を容易に再発音させるための手法として、発音中の鍵が離鍵された場合に、押鍵中の鍵のうち、その離鍵された鍵に最も近い鍵に対応する楽音を発音することが記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第２５６５０６９号公報
【特許文献２】特開２０１０−７９１７９号公報
【特許文献３】特開平５−１４３０７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、上述の複数のアサイナを用いてそれぞれ発音すべき音高を選択する場合において、特許文献１に記載の方式では、必ずしも望ましい発音ができるとは限らなかった。
例えば、レガート演奏を行う場合のように、前の音と次の音を続けて演奏する場合、前の音の鍵を離鍵する前に、次の音の鍵を押鍵する場合の発音に、不都合があった。
【０００８】
図１５にこの例を示す。図１５において、縦軸が時間、横軸が音高であり、各音高における帯が、その音高の鍵を押鍵している期間を示す。図１５の例において、音高ｎ４の鍵が押鍵され、これが離鍵される前に、音高ｎ３の鍵が押鍵されている。そして、その後音高ｎ４の鍵はすぐに離鍵されていることから、この演奏は音高ｎ４の音と音高ｎ３の音を続けて発音させることを意図した演奏であると推測できる。
【０００９】
しかしながら、特許文献１に記載の方式では、押鍵操作に応じて各アサイナに発音すべき音高を選択させる一方、離鍵操作の際には、離鍵された鍵と対応する音を発音中の発音チャンネルにキーオフ信号を送るのみである。すなわち、離鍵操作の際には、アサイナによる音高を選択は行わない。
【００１０】
従って、例えば初めに音高ｎ４の鍵が（ｎ１及びｎ２の鍵と同時に）押鍵されるKON1,2,4のタイミングでは、各アサイナは音高ｎ１，ｎ２，ｎ４の３つの鍵が押鍵された状態で発音すべき音高を選択することになる。しかし、音高ｎ３の鍵が押鍵されるKON3のタイミングでは、各アサイナは、音高ｎ１〜ｎ４の４つの鍵が押鍵されている状態で音高の選択を行うこととなってしまう。また、その後すぐに音高ｎ４の鍵が離鍵されるKOFF4のタイミングでは、単に音高ｎ４について発音している音を消音することになる。
【００１１】
このため、KON1,2,4からKON3の期間と、KOFF4以降の期間とでは、押鍵されている鍵の音高順と、各アサイナが選択する音高との関係がずれてしまう可能性がある。すなわち、演奏操作からは、音高ｎ４の音と音高ｎ３の音とは続けて発音させる意図が推測できるのに、これらの音高の音を異なる音色で発音してしまい、不自然な発音となってしまう可能性がある。
【００１２】
特許文献２には、複数のアサイナを用いる方式とは異なるものの、このようなレガート演奏時に発音が不自然とならないようにするためのミスレガート処理について記載されている。このミスレガート処理は、発音中の最新ノートのノートオンからミスレガート判定時間以内にノートオフがあった場合に、その時点でノートへのパートの割り当てと発音をやり直すというものである。
【００１３】
このようにすれば、図１５のような演奏操作がなされた場合に、KON3からKOFF4までの期間がミスレガート判定時間以内であれば、KOFF4のタイミングで割り当てをやり直すことができ、KOFF4以降は音高ｎ１〜ｎ３の３つの押鍵と対応した発音を行うことができる。
【００１４】
しかしながら、特許文献２のミスレガート処理では、ミスレガート判定時間の設定が難しいという問題がある。すなわち、前の鍵と後の鍵が重複して押鍵される時間がミスレガート判定時間を超えると、前の鍵の離鍵時に再割り当てが行われない。ミスレガート判定時間を短くするほど、レガート演奏操作がこの条件に該当してしまい、レガートと判定されなくなる危険が高くなる。
一方、ミスレガート判定時間を長くしすぎると、レガート演奏ではなく一部音を重ねることを意図した演奏であっても、前の鍵の離鍵時に再割り当てを行ってしまい、却って演奏者の意図と異なる発音になってしまうことが考えられる。
【００１５】
また、特許文献２のミスレガート処理では、再割り当てを、再割り当て時点で押鍵中の全てのノートについて行うようになっている。このため、再割り当ての際に、レガート演奏と関係ない、図１５における音高ｎ１及びｎ２のような音についても意図せずパートの割り当てが変わってしまう可能性があるという問題があった。
【００１６】
なお、以上のレガート演奏は、あくまでも望ましい演奏ができない場合の一例であり、これ以外にも、奏法や演奏内容と、アサイナにおける音高選択の規則との相性が悪いと、同様な問題が発生し得る。
また、このような問題は、電子楽器が鍵盤楽器でない場合であっても、それぞれ音高と対応する複数の操作部の操作状態に応じて、発音する音高を選択する場合には、同様に生じ得るものである。
【００１７】
この発明は、このような事情に鑑みてなされたものであり、操作部の操作状態に応じて１又は複数の選択手段に発音する音高を選択させる場合において、演奏者の演奏操作の意図に合った発音を容易に行えるようにすることを目的とする。
【課題を解決するための手段】
【００１８】
上記の目的を達成するため、この発明の電子楽器は、それぞれ音高と対応する複数の操作部の操作状態に応じて、発音する音高を選択する１又は複数の選択手段と、上記選択手段毎に、上記操作部の発音停止操作に応じてその選択手段に発音する音高の選択を行わせるか否かを決定する決定手段と、上記操作部の発音停止操作があった場合に、上記決定手段が音高の選択を行わせると決定した選択手段に、その発音停止操作後の上記複数の操作部の操作状態に応じて発音する音高を選択するよう指示する制御手段とを設けたものである。
【００１９】
このような電子楽器において、上記決定手段が、ユーザが各選択手段について行った、発音停止操作に応じた発音音高の選択有無の設定に基づき、上記決定を行うようにするとよい。
あるいは、上記決定手段が、上記操作部の発音停止操作に応じて、上記各選択手段について、その選択手段がその発音停止操作の時点で選択していた音高と、その選択手段がその発音停止操作後の上記複数の操作部の操作状態に応じて選択する音高の予測値との音高差が所定値以上である場合に、その選択手段について上記発音停止操作に応じた音高の選択を行わせないと決定し、上記音高差が上記所定値未満である場合に、その選択手段について上記発音停止操作に応じた音高の選択を行わせると決定するようにするとよい。
【００２０】
あるいは、上記決定手段が、上記操作部の発音停止操作があった場合に、その発音停止操作がどの奏法の操作であるかを推定し、その推定結果の奏法に基づき、その発音停止操作がなされた操作部の音高を選択していた選択手段に関する上記決定を行うようにするとよい。
さらに、上記決定手段が、上記推定した奏法がレガート奏法である場合に、その発音停止操作がなされた操作部の音高を選択していた選択手段について、上記発音停止操作に応じた音高の選択を行わせるようにするとよい。
【００２１】
また、上記の各電子楽器において、上記決定手段が、特定の操作子が操作されている期間は、上記各選択手段のうち予め定めた選択手段について、強制的に、上記発音停止操作に応じた音高の選択を行わせない又は行わせるのうちいずれか一方に決定するようにするとよい。
この発明は、装置として実現する他、プログラム、方法、システム、その他任意の形態で実現することができる。
【発明の効果】
【００２２】
以上のようなこの発明の電子楽器、プログラム及び発音音高選択方法によれば、操作部の操作状態に応じて１又は複数の選択手段に発音する音高を選択させる場合において、演奏者の演奏操作の意図に合った発音を容易に行えるようにすることができる。
【図面の簡単な説明】
【００２３】
【図１】本発明の第１実施形態である電子楽器のハードウェア構成を示すブロック図である。
【図２】図１に示した電子楽器における、アサイナを用いた発音制御に関連する機能の機能ブロック図である。
【図３】アサイナに設定する、発音音高選択規則の例を示す図である。
【図４】アサイナに設定する、キーオフリトリガー有無の例を示す図である。
【図５】図１に示した電子楽器においてＣＰＵが実行する処理を示すフローチャートである。
【図６】図５に示した発音割り当て処理のフローチャートである。
【図７】図５に示したリトリガー設定処理のフローチャートである。
【図８】第１実施形態のリトリガー設定処理の効果について説明するための説明図である。
【図９】その別の説明図である。
【図１０】そのさらに別の説明図である。
【図１１】そのさらに別の説明図である。
【図１２】第２実施形態におけるリトリガー設定処理のフローチャートである。
【図１３】第２実施形態のリトリガー設定処理の効果について説明するための説明図である。
【図１４】第３実施形態の電子楽器の機能構成を示す、図２と対応する機能ブロック図である。
【図１５】電子楽器において行われる演奏操作の例を示す図である。
【図１６】操作履歴テーブルの例を示す図である。
【図１７】第３実施形態におけるリトリガー設定処理のフローチャートである。
【図１８】第３実施形態のリトリガー設定処理の効果について説明するための説明図である。
【図１９】その別の説明図である。
【図２０】そのさらに別の説明図である。
【図２１】そのさらに別の説明図である。
【図２２】アサイナに設定する、発音音高選択規則の、図３と異なる例を示す図である。
【発明を実施するための形態】
【００２４】
以下、この発明を実施するための形態を図面に基づいて具体的に説明する。
〔第１実施形態：図１乃至図１１〕
図１は、本発明の第１実施形態である電子楽器のハードウェア構成を示すブロック図である。
図１に示すように、電子楽器１０は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、記憶装置１４、通信インタフェース（Ｉ／Ｆ）１５、検出回路１６、表示回路１７、音源回路１８を備え、これらをシステムバス１９により接続している。また、電子楽器１０は、ＣＰＵ１１に接続するタイマ２１、検出回路１６に接続する演奏操作子２２及び設定操作子２３、表示回路１７に接続するディスプレイ２４、音源回路１８に接続するＤＡＣ（デジタルアナログ変換回路）２５及びサウンドシステム２６も備える。
【００２５】
そして、ＣＰＵ１１が、ＲＡＭ１３をワークエリアとしてＲＯＭ１２又は記憶装置１４に記憶された所要のプログラムを実行することにより、電子楽器１０全体を制御し、演奏操作の検出、演奏操作子の操作状態に応じた発音音高の選択、その選択に従った発音の制御等の各種機能を実現する。ＣＰＵ１１に接続されるタイマ２１は、基本クロック信号、割り込み処理タイミング等をＣＰＵ１１に供給する。
なお、ＲＯＭ１２には、上記のプログラムの他、音色に対応する波形データなどの各種データファイル、各種パラメータ及び各種テーブル等も記憶する。
【００２６】
ＲＡＭ１３は、ＣＰＵ１１のワークエリアの他、再生バッファ等のバッファ領域としても用いる。
記憶装置１４は、ハードディスク、半導体メモリ等の記録媒体とその駆動装置の組み合わせの少なくとも１つで構成される。
【００２７】
通信Ｉ／Ｆ１５は、サーバ、音響機器、外部コントローラ等の外部装置と通信を行うためのインタフェースであり、有線、無線を問わず、任意の規格の通信手段を用いて構成することができる。例えば、ＵＳＢ（Universal  Serial  Bus）やＭＩＤＩ（Musical  Instrument  Digital  Interface）＿Ｉ／Ｆを用いることが考えられる。
【００２８】
検出回路１６は、演奏操作子２２及び設定操作子２３をシステムバス１９に接続するためのインタフェースである。
演奏操作子２２は、検出回路１６に接続され、ユーザの演奏動作に従い、演奏情報（演奏データ）を供給する。演奏操作子２２は、ユーザの演奏操作を受け付けるための、それぞれ音高と対応する複数の操作部を備える。そして、該ユーザの操作部に対する操作開始タイミング及び終了タイミングを、それぞれユーザが操作した操作部に対応する音高の情報を含むキーオンデータ及びキーオフデータとして、検出回路１６を通じてＣＰＵ１１に供給する。また、演奏操作子２２は、ユーザの演奏操作に応じてベロシティ値等の各種パラメータを供給することも可能である。なお、本実施例では、鍵盤型の演奏操作子２２を備え、上記各操作部が鍵であるとして説明するが、これに限るものではない。
【００２９】
また、演奏操作子２２には、後述するキーオフリトリガーを一時的に無効にすることを指示するための、特定の操作子であるリトリガー解除操作子を含む。このリトリガー解除操作子は、鍵盤の演奏中に操作できるよう、ペダル等の手を使わずに操作できるものが望ましく、ここではペダルであるとする。
【００３０】
また、設定操作子２３は、例えば、ボタン、スライダ、ロータリーエンコーダ、文字入力用キーボード、マウス等、ユーザの入力に応じた信号を出力できるものならどのようなものでもよい。また、設定操作子２３は、ディスプレイ２４上に表示されるＧＵＩ（Graphical User Interface）に対する操作を行うためのポインティングデバイスや、ディスプレイ２４に積層したタッチパネルでもよい。
いずれにせよ、ユーザは、設定操作子２３を用いて、各種入力及び設定、選択をすることができる。
【００３１】
表示回路１７は、ディスプレイ２４をシステムバス１９に接続するためのインタフェースである。
ディスプレイ２４は、電子楽器１０の設定のための各種情報や、電子楽器１０の動作状態等を表示するための表示手段であり、例えば液晶表示装置や発光ダイオード（ＬＥＤ）等により構成することができる。
【００３２】
音源回路１８は、ＣＰＵ１１からの発音指示に応じて、複数の発音ｃｈ（チャンネル）でそれぞれ楽音信号（デジタル波形データ）を生成する機能を備える。ＣＰＵ１１からの発音指示には、音色、音高、音量等の指定が含まれる。ＣＰＵ１１は、演奏操作子２２の演奏操作を検出した場合に、アサイナの機能により、押鍵中の鍵の音高から、各アサイナと対応する発音を行わせる音高を選択し、その選択に従った発音を音源回路１８に指示する。その詳細については後述する。
【００３３】
そして、音源回路１８は、生成した楽音信号をＤＡＣ２５に出力する。ＤＡＣ２５はこの楽音信号をアナログ音響信号に変換し、ＤＡＣ２５に接続されているサウンドシステム２６に供給する。サウンドシステム２６は、アンプ、スピーカを含む発音手段であり、ＤＡＣ２５から供給されるアナログ音響信号を、発音出力する。ＤＡＣ２５及びサウンドシステム２６は、電子楽器１０の外部にあってもよい。
以上の電子楽器１０において、特徴的な点は、アサイナの動作に関する点である。そこで、次にアサイナの動作についてより具体的に説明する。
【００３４】
図２に、電子楽器１０における、アサイナを用いた発音制御に関連する機能の機能ブロック図を示す。
図２に示すように、電子楽器１０は、発音指示受付部３１、操作状態検出部３２、割当制御部３３、楽音生成部３４、キーオフリトリガー制御部３５、キーオフリトリガー設定部３６、リトリガー解除操作受付部３７、および出力部３８を備える。これらのうち、発音指示受付部３１及びリトリガー解除操作受付部３７の機能は演奏操作子２２及び検出回路１６により実現され、楽音生成部３４の機能は音源回路１８により実現され、出力部３８の機能はサウンドシステム２６により実現される。他の各部の機能はＣＰＵ１１により実現される。
【００３５】
そして、発音指示受付部３１は、ユーザによる発音指示操作を受け付ける機能を備える。例えば、演奏操作子２２である鍵盤がいずれかの鍵の押鍵操作（発音開始操作）を受け付けると、発音指示受付部３１はこれを検出し、操作状態検出部３２に対し、押鍵操作があったこと及び押鍵された鍵の音高であるノートナンバを示す操作信号であるキーオンデータを送信する。離鍵操作（発音停止操作）を受け付けた場合には、同様に離鍵操作があったこと及びその鍵のノートナンバを示すキーオフデータを送信する。
【００３６】
なお、以下の説明において、押鍵のように発音開始を指示するための操作を「キーオン操作」、離鍵の用に発音停止を指示するための操作を「キーオフ操作」と呼ぶことにする。また、キーオン操作からキーオフ操作までの状態を、「操作中」と呼ぶことにする。鍵盤の鍵で言えば、「押鍵中」がこれに該当する。ただし、発音開始の指示があった場合でも、必ずしも実際に発音が開始されるとは限らない。一定の音高について発音を行わない設定を可能としたり、同時発音数に制限を設けたりすることがあり得るためである。
【００３７】
操作状態検出部３２は、発音指示受付部３１から送信される操作信号に基づき、現在の演奏操作子２２の操作状態（ここでは鍵盤なので押鍵状態）を検出する。より具体的には、操作中の（鍵の）音高を求める。この押鍵状態は、例えば、キーオンデータに含まれるノートナンバを操作中の音高のリストに追加し、キーオフデータに含まれるノートナンバを操作中の音高のリストから削除することにより求めることができる。
【００３８】
そして、操作状態検出部３２は、キーオンデータを受信した場合には、検出した操作状態の情報を割当制御部３３に供給し、発音する音高の選択を行わせる。具体的な供給先は、割当制御部３３が備える第１アサイナＡＳ−１から第ｎアサイナＡＳ−ｎまでのｎ個のアサイナのうち、機能が有効になっているアサイナである。
【００３９】
なお、人が演奏を行う場合には、同時に複数の鍵の操作を行ったつもりでも、寸分違わず同じタイミングでその操作を行うことは困難である。そこで、複数の操作のタイミング差が同時操作とみなせる程度の所定閾値（例えば１５〜３０ミリ秒程度）以内であれば、それらの操作は同時に行われたものとみなして取り扱うことが望ましい。ここではこの取り扱いをするとして説明する。ある鍵のキーオン操作と別の鍵のキーオフ操作が同時に行われることもあり得る。
【００４０】
さらに、操作状態検出部３２は、キーオフデータを受信した場合に、楽音生成部３４に対し、キーオフ操作が行われた音高の発音を停止させる機能も備える。
さらに、操作状態検出部３２は、キーオフデータを受信した場合に、その旨及びその音高をキーオフリトリガー制御部３５に通知し、キーオフ操作に応じてアサイナＡＳに発音する音高の選択を行わせる必要があるか否かを判定させる。この点については後述する。
【００４１】
次に、割当制御部３３は、１又は複数（ここではｎ個とする）のアサイナＡＳ−１〜ＡＳ−ｎを備える（アサイナの個体を特定する必要がない場合は符号「ＡＳ」を用いる）。これらの各アサイナＡＳはそれぞれ、操作状態検出部３２からキーオン操作に応じて供給される演奏操作子２２の操作状態の情報に応じて、操作中（押鍵中）の音高の中から、楽音生成部３４に発音させる音高（ノート）を選択する選択手段である。この選択は、アサイナ毎に設定される規則に従って行う。
【００４２】
図３に、アサイナに設定する規則の例を示す。
図３には、４つのアサイナを用いる場合の例であり、各アサイナに設定する規則は、「対象押鍵」及び「優先方式」の項目からなる。「説明」の項目は、これらの項目の情報により定められる規則の内容の理解を助けるための説明であり、選択処理には用いない。
【００４３】
対象押鍵の項目は、押鍵中の音高のうちどの範囲を選択の対象として考慮するかを定める項目である。「全押鍵」は、押鍵中の音高全てを考慮することを示す。「低音側Ｘ音」は、押鍵中の音高のうち低音側からＸ個の音高のみ考慮することを示す。ただし、押鍵数がＸ未満の場合には、押鍵中の音高全てを考慮する。また、図３には示していないが、同様に「高音側Ｘ音」の設定も可能である。
【００４４】
優先方式の項目は、選択の対象として考慮する音高の中で、発音する音高をどのように選択するかを定める項目である。「高音優先」は、考慮する音高の中で最も高い音高を選択することを示す。「低音優先」は、考慮する音高の中で最も低い音高を選択することを示す。
【００４５】
以上から、第１アサイナについては、押鍵中の音高全てのうち最も高い音高を選択する規則が設定されていることがわかる。
第２アサイナについては、押鍵数が３以下であれば、その押鍵の中で最も高い音高を選択することになる。押鍵数が４以上であれば、低音側３音の中で最も高い音高、すなわち下から３番目の音高を選択することになる。
第３アサイナについては、同様に、押鍵数が２以下であれば、その押鍵の中で最も高い音高を、押鍵数が３以上であれば、下から２番目の音高を選択することになる。
第４アサイナについては、押鍵中の音高全てのうち最も低い音高を選択する規則が設定されていることがわかる。
表にないアサイナについては機能が無効化されていると考えればよい。
【００４６】
各アサイナＡＳは、以上の規則に従い発音する音高を選択すると、楽音生成部３４に対し、その選択した音高の楽音を発音開始するよう要求する。また、各アサイナＡＳには対応する音色Ｔ１〜Ｔｎが設定されており、楽音をその対応する音色で発音するよう要求する。なお、アサイナＡＳには対応するパートを設定し、音色はパートに対応付けて設定することも可能である。この場合、アサイナＡＳと音色とは、パートを介して対応付けられることになり、アサイナＡＳ−ｎに対応付けられたパートを第ｎパートと表す。
【００４７】
なお、各アサイナＡＳは、自身が最後に選択した音高がどの音高であるかの情報を、次に別の音高を選択するまで保持しておく。そして、音高の選択を行った場合でも、選択した音高が前回と変わらず、かつその音高が今回キーオン操作された音高でない（以前から操作中であった）音高である場合、楽音生成部３４に対する発音の要求を行わないようにするとよい。この場合、該当のアサイナＡＳが今回選択した音高については、今回検出されたキーオン操作とは関係なく、以前のキーオン操作に応じて開始した発音を継続することが望ましいと考えられるためである。
【００４８】
また、この例では説明を簡単にするため各アサイナが音高を１つ選択するものとして説明するが、複数の音高を選択可能な規則を設定することも可能である。高音優先で２音を選択する、等である。
また、複数のアサイナが同じ音高を選択しても問題ない。この場合、選択された音高について、複数の音色で発音することになる。
【００４９】
楽音生成部３４は、ｍ個の発音ｃｈＴＣ１〜ＴＣｍを備える（発音ｃｈの個体を特定する必要がない場合は符号「ＴＣ」を用いる）。そして、アサイナＡＳから発音開始の要求を受けると、発音中でない発音ｃｈを検索し、発見した発音ｃｈＴＣにて、発音開始要求で指定された音高及び音色の楽音の音響信号を生成（発音）させる。なお、図２では、アサイナＡＳと発音ｃｈＴＣの間を線で結んでいるがこれらの間に固定的な対応関係があるわけではない。
【００５０】
また、楽音生成部３４は、操作状態検出部３２から特定の音高の発音を停止するよう指示された場合に、発音ｃｈＴＣの中からその音高の発音を行っているものを検索し、その発音ｃｈに発音を停止させる機能も備える。この停止には、リリース状態への移行も含まれる。
そして、楽音生成部３４は、各発音ｃｈＴＣが生成した音響信号をミキシングして出力部３８に供給し、楽音の出力を行わせる。
【００５１】
次に、キーオフリトリガー制御部３５は、操作状態検出部３２からキーオフ操作があった旨を通知された場合に、割当制御部３３のアサイナＡＳ毎に、キーオフ操作に応じてアサイナＡＳに発音音高の選択を行わせる必要があるか否かを決定する決定手段の機能を備える。そして、行わせる必要があると決定した場合、そのアサイナＡＳに、発音音高の選択を行うよう指示する。
【００５２】
このように、キーオフ操作に応じてアサイナＡＳに発音音高を選択させることを、「キーオフリトリガー」と呼ぶことにする。また、キーオフリトリガーの指示を受けたアサイナＡＳは、発音する音高の選択及び楽音生成部３４への発音開始要求の処理を、操作状態検出部３２からの指示に応じた選択の場合と同様に行う。指示自体も、キーオンに応じた発音音高の選択を行わせる場合と、キーオフリトリガーの場合とで、特に区別する必要はない。
【００５３】
キーオフリトリガー設定部３６は、アサイナＡＳ毎に、キーオフリトリガーを行うか否かを設定する機能を備える。この設定は、ここではユーザによる設定操作子２３の操作に従って行い、その設定内容は、例えば図４に示すキーオフリトリガー設定テーブルに保存する。
【００５４】
リトリガー解除操作受付部３７は、ユーザによるリトリガー解除操作子であるペダルの操作を受け付ける機能を備える。演奏操作子２２中のペダルが踏み込みあるいは踏み込み解除操作されると、リトリガー解除操作受付部３７はこれを検出し、キーオフリトリガー制御部３５に対し、ペダルの操作状態（踏み込みされているか否か）の情報を、随時供給する。
【００５５】
上記キーオフリトリガー制御部３５は、キーオフリトリガー設定部３６においてなされている設定及び、リトリガー解除操作受付部３７から供給されるリトリガー解除操作子の操作状態の情報に基づき、アサイナＡＳ毎に、キーオフリトリガーを行うか否かを決定する。この決定の詳細については後述する。
【００５６】
次に、図２に示した機能のうち、ＣＰＵ１１が担う機能を実現するためにＣＰＵ１１が実行する処理について説明する。
図５乃至図７は、その処理のフローチャートである。
ＣＰＵ１１は、検出回路１６からキーオンデータ及び／又はキーオフデータを受信した場合に、所要のプログラムを実行することにより図５のフローチャートに示す処理を開始する。なお、所定閾値以内のタイミング差で行われた操作を同時操作とみなすことは上述の通りである。
【００５７】
図５の処理において、ＣＰＵ１１はまず、受信したキーオンデータ及び／又はキーオフデータが示す演奏操作子２２の操作内容に基づき、各鍵の押鍵状態の情報を更新する（Ｓ１１）。
次に、ＣＰＵ１１は、検出した操作にキーオン操作が含まれているか否か判断する（Ｓ１２）。複数の操作を同時に検出した場合、その中に１つでもキーオン操作があればＹｅｓとなる。
【００５８】
そして、Ｙｅｓの場合、ＣＰＵ１１は、検出した操作の中にキーオフ操作があれば、そのキーオフ操作に係る音高の発音停止を、楽音生成部３４に指示する（Ｓ１３）。その後、アサイナＡＳによる、キーオン操作に応じた発音音高の選択を行うべく、全アサイナＡＳについて発音割り当てフラグを立てて（Ｓ１４）、図６に示す発音割り当て処理に進む（Ｓ１５）。
【００５９】
図６の処理において、ＣＰＵ１１はまず、変数ｎに１を代入する（Ｓ２１）。そして、第ｎアサイナＡＳ−ｎに発音割り当てフラグがセットされているか否か判断する（Ｓ２２）。
ここでセットされていれば、ＣＰＵ１１は、第ｎアサイナＡＳ−ｎについて設定されている規則に従い、操作中の鍵の音高の中から発音する音高を選択する（Ｓ２３）。そして、ステップＳ２３で選択した音高で、第ｎアサイナＡＳ−ｎと対応する第ｎパートの発音を開始するよう、楽音生成部３４に指示する（Ｓ２４）。この場合、発音に用いる音色は、第ｎパートについて設定されている音色である。
【００６０】
以上のステップＳ２３とＳ２４が、アサイナＡＳ１つ分の処理である。その後、ＣＰＵ１１は、現在処理したアサイナが最後のアサイナであるか否か判断し（Ｓ２５）、最後でなければｎを１加算して（Ｓ２６）、ステップＳ２２に戻って処理を繰り返す。
ステップＳ２２でＮｏの場合、第ｎアサイナについては音高の選択は行わないので、そのままステップＳ２５に進む。
【００６１】
ステップＳ２５でＮｏの場合、全てのアサイナに関する処理が終了したことがわかるため、図６の処理を終了して元の処理に戻る。ここでは、図５のステップＳ１５に戻るので、ＣＰＵ１１はそのまま処理を終了する。なお、ステップＳ１４からＳ１５に進んだ場合は、発音割り当て処理において、全アサイナと対応する音高選択及び発音指示を行うことになる。
なお、図６の処理を始める前に、初めに全アサイナの発音割り当てフラグを確認し、フラグのあるアサイナについてのみステップＳ２３及びＳ２４を実行するようにしてもよい。この場合、フラグのあるアサイナがなければ、発音割り当て処理自体をスキップできる。
【００６２】
一方、図５のステップＳ１２でＮｏの場合、すなわち検出した操作がキーオフ操作のみであった場合、ＣＰＵ１１は、そのキーオフ操作に係る音高の発音停止を、楽音生成部３４に指示する（Ｓ１６）。その後、図７に示すリトリガー設定処理に進む（Ｓ１７）。なお、キーオフ操作が複数あった場合には、その各キーオフ操作について、発音停止を行う。
【００６３】
図７の処理において、ＣＰＵ１１はまず、変数ｎに１を代入する（Ｓ３１）。そして、第ｎアサイナＡＳ−ｎについて、図４に示したキーオフリトリガーの設定がＯＮになっているか否か判断する（Ｓ３２）。これがＹｅｓであれば、さらに、リトリガー解除操作子が操作中であるか否か判断する（Ｓ３３）。ここで操作中でなければ、ＣＰＵ１１は、第ｎアサイナについてキーオフリトリガーを行うことを決定し（Ｓ３４）、第ｎアサイナに発音割り当てフラグを立てる（Ｓ３５）。
【００６４】
一方、ステップＳ３２でＮｏの場合、すなわちキーオフリトリガーの設定がＯＦＦであ場合、ＣＰＵ１１は、第ｎアサイナについてキーオフリトリガーを行わないことを決定する（Ｓ３６）。この場合、第ｎアサイナに発音割り当てフラグは立てない。ステップＳ３３でリトリガー解除操作子が操作中であった場合も同様である。
いずれの場合も、その後、ＣＰＵ１１は、現在処理したアサイナが最後のアサイナであるか否か判断し（Ｓ３７）、最後でなければｎを１加算して（Ｓ３８）、ステップＳ３２に戻って処理を繰り返す。
【００６５】
ステップＳ３７でＹｅｓの場合、全てのアサイナに関する処理が終了したことがわかるため、図７の処理を終了して元の処理に戻る。このとき、処理は図５のステップＳ１７に戻るので、図５の処理では次に図６の発音割り当て処理に進む（Ｓ１５）。そして、この発音割り当て処理においては、ステップＳ３５で発音割り当てフラグを立てたアサイナＡＳについてのみ、ステップＳ２２の判断がＹｅｓとなり、発音する音高の選択と発音開始指示を行う。
【００６６】
以上の図５乃至図７の処理が、この発明の発音音高選択方法の第１実施形態に係る処理である。また、図６の発音割り当て処理が選択手順と、図５のステップＳ１２以降が制御手順と、図７のリトリガー設定処理が決定手順と、それぞれ対応する。また、図５のステップＳ１２以降の処理において、ＣＰＵ１１は制御手段として機能する。図７のリトリガー設定処理においてＣＰＵ１１は決定手段として機能する。
【００６７】
そして、以上の処理を実行することにより、ＣＰＵ１１は、キーオフ操作に応じてアサイナＡＳに発音する音高の選択と発音開始指示を行わせるべき場合を、ユーザが行った設定に従って適切に判別し、これを行わせることができる。さらに、リトリガー解除操作子が操作中である場合には、アサイナＡＳ毎の設定によらず、一時的かつ強制的にキーオフリトリガーをＯＦＦ中にすることができる。そして、このことにより、ユーザの演奏操作の意図に合った発音を行うことができる。また、この発音を行うために、特許文献２におけるミスレガート判定時間のようなパラメータの値の設定に試行錯誤する必要もない。
【００６８】
なお、図５のステップＳ１２でＹｅｓの場合、キーオン操作に応じて必ず全アサイナについて発音音高の選択を行うため、キーオフリトリガーについて考慮する必要がない。リトリガー判定処理を行ってもよいが、その結果如何に関わらず、全アサイナについて発音音高の選択を行うことに変わりはない。
【００６９】
次に、リトリガー設定処理の効果について、図８乃至図１１を用いて説明する。
これらのうち図８乃至図１０は、図３に示した４つのアサイナに対するキーオフリトリガーのＯＮ／ＯＦＦ中の設定に応じて、演奏操作に従った各アサイナによる発音音高の選択がどのように異なるかを説明するための図である。いずれの場合も、リトリガー解除操作子の操作はないものとする。
【００７０】
図８乃至図１０において、縦軸が時間、横軸が音高であり、各音高における帯が、その音高の鍵を押鍵している期間を示す。図８乃至図１０の例において、各鍵のキーオン操作及びキーオフ操作のタイミングは全て共通である。そして、音高ｎ３の鍵が押鍵され、これが離鍵される前に、音高ｎ４の鍵が押鍵されている。また、音高ｎ４の鍵が離鍵される前に、音高ｎ５の鍵が押鍵されている。そして、いずれも次の音高のキーオン操作の直後に前の音高についてキーオフ操作がされていることから、この演奏は音高ｎ３〜ｎ５の音を続けて発音させることを意図した演奏であると推測できる。
【００７１】
そして、図８の例は、全てのアサイナについてキーオフリトリガーＯＦＦが設定されている場合の例である。
この場合、初めのKON1,2,3のタイミングでは、ｎ１，ｎ２，ｎ３の３つの音高の鍵が押鍵中の状態で各アサイナＡＳが発音する音高を選択する。その結果、第１アサイナＡＳ−１及び第２アサイナＡＳ−２は最高音のｎ３を、第３アサイナＡＳ−３は下から２番目のｎ２を、第４アサイナＡＳ−４は最低音のｎ１を選択する。
【００７２】
次のKON4のタイミングでは、ｎ１，ｎ２，ｎ３，ｎ４の４つの音高の鍵が押鍵中の状態で各アサイナＡＳが発音する音高を選択する。その結果、第１アサイナＡＳ−１は最高音のｎ４の選択に変わり、新たに発音を開始する。他の３つのアサイナの選択は、KON1,2,4のタイミングにおける選択と変わらない。
【００７３】
そして、次のKOFF3のタイミングでは、キーオフ操作された音高ｎ３の発音が停止される。このとき、全てのアサイナについてキーオフリトリガーがＯＦＦに設定されているため、新たに発音させる音高の選択は行われない。このため、音高ｎ３を選択していた第２アサイナＡＳ−２の音色による発音は、ここで停止されることになる。
【００７４】
次のKON5のタイミングでは、ｎ１，ｎ２，ｎ４，ｎ５の４つの音高の鍵が押鍵中の状態で各アサイナＡＳが発音する音高を選択する。その結果、第１アサイナＡＳ−１は最高音のｎ５の選択に変わり、新たに発音を開始する。第２アサイナＡＳ−２は下から３番目のｎ４を選択し、新たに発音を開始する。他の２つのアサイナの選択は、前回のKON4のタイミングにおける選択と変わらない。
【００７５】
次のKOFF4のタイミングでは、キーオフ操作された音高ｎ４の発音が停止される。このとき、全てのアサイナについてキーオフリトリガーがＯＦＦに設定されているため、新たに発音させる音高の選択は行われない。このため、音高ｎ４を選択していた第２アサイナＡＳ−２の音色による発音は、発音開始されたばかりだがここで停止されることになる。
次のKOFF1,2のタイミングでは、キーオフ操作された音高ｎ１，ｎ２の発音が停止される。その次のKOFF5のタイミングでは、キーオフ操作された音高ｎ５の発音が停止される。これらのタイミングでも、キーオフリトリガーは行われない。
【００７６】
以上からわかるように、全てのアサイナについてキーオフリトリガーがＯＦＦであると、すなわちキーオフリトリガーを全く行わないとすると、演奏者が続けて発音させることを意図していると推測される音高ｎ３〜ｎ５の音について、異なる音色で発音されてしまうことがわかる。初めのｎ３は第１アサイナと対応する音色ＴＧ１と第２アサイナと対応する音色ＴＧ２であり、続くｎ４及びｎ５は第１アサイナと対応する音色ＴＧ１のみである。ｎ４の末尾にはＴＧ２による発音も起こるが、時間が短いため、これは雑音に近い発音となる。
【００７７】
次に、図９の例は、全てのアサイナについてキーオフリトリガーＯＮが設定されている場合の例である。キーオフ操作時にアサイナが必ず発音音高の選択を行う例であるということもできる。この場合の各アサイナによる音高の選択について、図８と異なる点を説明する。
【００７８】
図９の例において、KOFF3のタイミングでは、図８と異なり、全てのアサイナが発音させる音高の選択を行う。その結果、第２アサイナＡＳ−２が最高音のｎ４を選択し、新たに発音を開始する。他のアサイナの選択は変化ないため、それまでの発音を継続する。
また、KOFF4のタイミングでも、全てのアサイナが発音させる音高の選択を行う。その結果、第２アサイナＡＳ−２が最高音のｎ５を選択し、新たに発音を開始する。他のアサイナの選択は変化ないため、それまでの発音を継続する。
【００７９】
以上により、音高ｎ３〜ｎ５の音について、第２アサイナと対応する音色ＴＧ２が途中で消えてしまうことなく、全てを、音色ＴＧ１と音色ＴＧ２で発音することができる。
しかし、KOFF1,2のタイミングでも、全てのアサイナが発音させる音高の選択は行う。その結果、第１アサイナＡＳ−１及び第２アサイナＡＳ−２の選択は、前回のKOFF4における選択と変わらないものの、第３アサイナＡＳ−３及び第４アサイナＡＳ−４が、この時点で押鍵されている唯一の音高であるｎ５を選択し、新たに発音を開始する。
【００８０】
このため、それまで低音側で発音していた音色の音が急に高音側で発音されることになる。ｎ１及びｎ２の押鍵が伴奏であり、ｎ３〜ｎ５の押鍵がメロディーであると考えると、伴奏の音色で急にメロディーが発音されることとなり、不自然な発音となってしまうと考えられる。
【００８１】
次に、図１０の例は、第１アサイナＡＳ−１及び第２アサイナＡＳ−２にキーオフリトリガーＯＮが、第３アサイナＡＳ−３及び第４アサイナＡＳ−４にキーオフリトリガーＯＦＦが設定されている場合の例である。この場合の各アサイナによる音高の選択について、図８及び図９と異なる点を説明する。
【００８２】
図１０の例において、KOFF3及びKOFF4のタイミングでは、第１アサイナＡＳ−１及び第２アサイナＡＳ−２のみが発音させる音高の選択を行う。第３アサイナＡＳ−３及び第４アサイナＡＳ−４は音高の選択は行わない。しかし、図９のように選択を行ったとしても、これらのアサイナは前回の選択と同じ音高を選択するため、選択を行っても行わなくても、発音される音に変わりはない。
【００８３】
一方、KOFF1,2のタイミングでは、第３アサイナＡＳ−３及び第４アサイナＡＳ−４が発音される音高の選択を行わないため、図９の例のように音高ｎ５が新たに発音されることがない。第１アサイナＡＳ−１及び第２アサイナＡＳ−２は音高の選択を行うが、前回のKOFF4における選択と変わらないため、新たに発音を行うことはない。
【００８４】
このように、アサイナの音高選択規則と、実際に行う演奏操作により、キーオフリトリガーを行う方が演奏者の意図に合った発音が可能になる場合と、行わない方が演奏者の意図に合った発音が可能になる場合とがある。従って、図４に示したように、キーオフリトリガーを行うか否かをアサイナ毎に設定できるようにすることにより、演奏者の意図に合った発音を行いやすくなると考えられる。
また、これに加えてリトリガー解除操作子を設けることにより、さらに演奏者の意図に合った発音を行いやすくなる。
【００８５】
図１１に、図１０の場合と比べ、音高ｎ１，ｎ２のキーオフ操作（KOFF1,2）がｎ５のキーオフ操作(KOFF5)よりも後である場合の例を示す。
この場合、KOFF5のタイミングで第１アサイナＡＳ−１及び第２アサイナＡＳ−２は音高の選択を行い、押鍵中の音高ｎ１，ｎ２のうち最高音のｎ２を選択して、新たに発音を開始することになる。
【００８６】
このため、それまで高音側で発音していた音色の音が急に低音側で発音されることになる。そして、メロディーの音色で急に伴奏が発音されるような、不自然な発音となってしまうと考えられる。
しかし、演奏者がリトリガー解除操作子を操作した状態でKOFF5のタイミングを迎えれば、第１アサイナＡＳ−１及び第２アサイナＡＳ−２は音高の選択を行わない。従って、図１０を用いて説明したような、演奏者の意図に合った演奏を行うことが可能となる。
このように、アサイナ毎のキーオフリトリガーの設定を最適なものとしたとしても、常に好適な結果を得られるとは限らないため、リトリガー解除操作子による更なる調整を可能とすることが好ましい。
【００８７】
なお、リトリガー解除操作子が操作されていた場合に、全アサイナについてリトリガーを行わないようにするのではなく、予め定めたアサイナについてのみリトリガーを行わないようにしてもよい。また、複数のリトリガー解除操作子を用意して、それらを各々１又は複数のアサイナのグループと対応付け、該当のアサイナのリトリガーを一時的に停止させるための操作子として用いることができるようにしてもよい。
【００８８】
また、図４に示したアサイナ毎のキーオフリトリガーの設定につき、ユーザが直接このパラメータを設定するのではなく、他のパラメータの設定に連動してこの設定を行うようにしてもよい。ユーザがメロディパートに用いることを設定したアサイナについてＣＰＵ１１が自動的にキーオフリトリガーをＯＮに設定し、同じく伴奏パートに用いることを設定したアサイナについて自動的にキーオフリトリガーをＯＦＦに設定する等である。
【００８９】
〔第２実施形態：図１２及び図１３〕
次に、この発明の第２実施形態の電子楽器について説明する。
この第２実施形態は、ユーザの設定に従ってキーオフリトリガーの有無を決定することに代えて、キーオフ操作の際にアサイナが選択していた音高と、キーオフ操作後の演奏操作子の操作状態に応じてそのアサイナが選択すると予測される音高との音高差が所定値以上である場合にキーオフリトリガーを行わないようにした点が第１の実施形態と異なるのみである。そこで、この相違点についてのみ説明し、第１実施形態と同じ又は対応する構成には、第１実施形態と同じ符号を用いる。
【００９０】
第２実施形態の電子楽器１０は、ハードウェアは図１に示した第１実施形態のものと共通である。機能構成は、キーオフリトリガー設定部３６が不要である点と、キーオフリトリガー制御部３５におけるキーオフリトリガー有無の判断基準が図２に示したものと異なるのみである。これは、ＣＰＵ１１の処理について言えば、第１実施形態で説明した図５乃至図７の処理のうち、図７のリトリガー設定処理が異なることに該当する。
【００９１】
ここで、図１２に、第２実施形態におけるリトリガー設定処理のフローチャートを示す。なお、キーオフ操作が複数あった場合には、その各キーオフ操作について、リトリガー設定処理を行う。
図１２の処理において、ＣＰＵ１１はまず、今回キーオフ操作された音高Ｎの発音をしていたパートと対応するアサイナＡＳが何番目のアサイナであるかの情報を取得する（Ｓ４１）。これは、キーオフ操作の時点で、発音する音高として音高Ｎを選択していたアサイナＡＳを探索することに該当する。複数のアサイナが該当すれば、それら全てのアサイナの情報を取得する。この探索は、各アサイナＡＳが保持している、自身が最後に選択した音高の情報に基づき行うことができる。
【００９２】
ＣＰＵ１１は次に、変数ｎに１を代入する（Ｓ４２）。そして、ステップＳ４１で情報を取得したアサイナのうちｎ番目のアサイナを処理対象とする（Ｓ４３）。
次に、ＣＰＵ１１は、処理対象のアサイナＡＳについて、図３に示したように設定されている選択規則に従い、（キーオフ操作後の状態で）操作中の鍵の音高の中から、発音すべき音高を選択し、これを音高Ｍとする（Ｓ４４）。この音高Ｍは、キーオフ操作後の演奏操作子の操作状態に応じてアサイナが選択する音高の予測値である。
【００９３】
そして、ＣＰＵ１１は、キーオフ操作時にそのアサイナが選択していた音高Ｎと、ステップＳ４４で選択した音高Ｍとの音高差が所定範囲内であるか否か判断する（Ｓ４５）。ここで所定範囲内であれば、処理対象のアサイナＡＳについてキーオフリトリガーを行うことを一応決定し、リトリガー解除操作子が操作中でない（Ｓ４６）場合にその旨を最終決定する（Ｓ４７）。そして、処理対象のアサイナに発音割り当てフラグを立てる（Ｓ４８）。
【００９４】
一方、ステップＳ４５で所定範囲内でなければ、ＣＰＵ１１は、処理対象のアサイナについてキーオフリトリガーを行わないことを決定する（Ｓ４９）。この場合、第ｎアサイナに発音割り当てフラグは立てない。ステップＳ４６でリトリガー解除操作子が操作中であった場合も同様である。
いずれの場合も、その後、ＣＰＵ１１は、現在処理したアサイナがステップＳ４１で取得した最後のアサイナであるか否か判断し（Ｓ５０）、最後でなければｎを１加算して（Ｓ５１）、ステップＳ４３に戻って処理を繰り返す。
【００９５】
ステップＳ５０でＹｅｓの場合、全てのアサイナに関する処理が終了したことがわかるため、図１２の処理を終了して元の処理に戻る。このとき、処理は図５のステップＳ１７に戻るので、図５の処理では次に図６の発音割り当て処理に進む（Ｓ１５）。そして、この発音割り当て処理においては、ステップＳ４８で発音割り当てフラグを立てたアサイナＡＳについてのみ、ステップＳ２２の判断がＹｅｓとなり、発音する音高の選択と発音開始指示を行う。
【００９６】
そして、以上の処理を実行することにより、ＣＰＵ１１は、キーオフ操作に応じてアサイナＡＳに発音する音高の選択と発音開始指示を行わせるべき場合を、演奏操作子２２の操作内容及びアサイナに設定されている選択規則に従って適切に判別し、これを行わせることができる。そして、このことにより、ユーザの演奏操作の意図に合った発音を行うことができる。
【００９７】
第２実施形態におけるリトリガー設定処理は、キーオフ操作により発音が停止される音高を選択していたアサイナについてキーオフリトリガーを原則有効としつつ、キーオフリトリガーにより、アサイナが選択する音が伴奏音からメロディ音のように全く異なる音高の音に変化してしまうことを防止するためのものである。
【００９８】
この点について、図１３を用いて説明する。図１３は、演奏操作に応じたアサイナによる発音音高の選択の様子を示す、図８乃至図１０と対応する図である。
図１３の例において、キーオン操作及びキーオフ操作の順は、図８乃至図１０と同じである。ただし、音高ｎ２とｎ３の間は、図１２のステップＳ４５における所定範囲よりも音高差が大きいとする。また、各アサイナと対応するキーオフリトリガーの設定はない。
【００９９】
図１３の例において、キーオン時の各アサイナによる音高の選択は、図１０と同じである。キーオフ時の各アサイナによる音高の選択も、結果の発音内容だけ見れば、図１０と同じであるが、その過程の処理が異なる。
まず、KOFF3のタイミングでのキーオフリトリガーは、ここでキーオフ操作された音高ｎ３を選択している第２アサイナＡＳ−２が検討対象となる。そして、キーオフ後の操作状態に従い第２アサイナＡＳ−２が選択する音高の予測値は、この時点の最高音のｎ４である。ｎ３とｎ４との音高差が所定範囲内であるとすると、ＣＰＵ１１は、第２アサイナＡＳ−２はキーオフリトリガーを行うと決定し、第２アサイナＡＳ−２は音高ｎ４を選択して新たに発音を開始する。
KOFF4のタイミングについても同様であり、ｎ４とｎ５との音高差が所定範囲内であるとすると、ＣＰＵ１１は、第２アサイナＡＳ−２はキーオフリトリガーを行うと決定し、第２アサイナＡＳ−２は音高ｎ５を選択して新たに発音を開始する。
【０１００】
一方、KOFF1,2のタイミングでは、ここでキーオフ操作された音高ｎ１又はｎ２を選択している第３アサイナＡＳ−３及び第４アサイナＡＳ−４が検討対象となる。そして、キーオフ後の操作状態に従い第３アサイナＡＳ−３及び第４アサイナＡＳ−４が選択する音高の予測値は、いずれもこの時点で唯一押鍵されているｎ５である。しかし、ｎ１とｎ５の間、ｎ２とｎ５の間は、いずれも音高差が所定範囲内でない。このため、ＣＰＵ１１は、第３アサイナＡＳ−３及び第４アサイナＡＳ−４はキーオフリトリガーを行わないと決定し、結果として、KOFF1,2のタイミングでキーオフリトリガーを行うアサイナはない。
【０１０１】
このように、キーオフリトリガーを行った場合の音高差を用いてキーオフリトリガーを行うか否かを決定することにより、アサイナ毎にキーオフリトリガーの有無を設定しなくても、図１０と同様な発音が可能となる。さらに、キーオフリトリガーを行うか否かの設定が固定的でないため、例えば伴奏パートとメロディパートの音数（アサイナ数）が動的に変化するような演奏を行う場合でも、それに追随して、自動的に、伴奏パートとメロディパートの間での意図しない音移動（図９のKOFF1,2あるいは図１１のKOFF5のような音高選択の変化）が生じないようにすることができる。
【０１０２】
なお、図１２の処理では、キーオフ操作の時点で、発音する音高として音高Ｎを選択していたアサイナＡＳのみを、キーオフリトリガーを行うか否かの検討対象とし、他のアサイナはキーオフリトリガーを行わないようにした。これは、押鍵中の鍵と対応する音高の発音をそのまま続けられるようにするためである。
しかし、全てのアサイナＡＳについてステップＳ４４及びＳ４５の処理を行い、キーオフリトリガーを行うか否かの検討対象とすることも妨げられない。
【０１０３】
〔第３実施形態：図１４乃至図２１〕
次に、この発明の第３実施形態の電子楽器について説明する。
この第３実施形態は、キーオフ操作があった場合に、その操作がどの奏法の操作であるか推定し、その推定結果の奏法に基づきキーオフリトリガーを行うか否かを決定するようにした点が第１の実施形態と異なるのみである。そこで、この相違点についてのみ説明し、第１実施形態と同じ又は対応する構成には、第１実施形態と同じ符号を用いる。
なお、ここで説明する例では、検出したキーオフ操作を含む押鍵がレガート奏法の操作か、スタッカート奏法の操作か、それ以外かを推定するようにしている。しかし、これらの一方の奏法のみ考慮したり、その他の奏法について考慮したりしてもよい。
第３実施形態の電子楽器１０も、ハードウェアは図１に示した第１実施形態のものと共通である。
【０１０４】
図１４に、第３実施形態の電子楽器１０における、図２と対応する機能ブロック図を示す。
図１４に示す通り、第３実施形態の電子楽器１０は、第１実施形態におけるキーオフリトリガー設定部３６に代えて、操作履歴保存部３９を備える。
そして、操作状態検出部３２は、演奏操作子２２の操作を検出する度に、その操作の内容及びその操作を反映させた操作状態の情報を操作履歴保存部３９に供給し、操作内容及び操作状態の履歴を保存させる。
【０１０５】
操作履歴保存部３９は、操作状態検出部３２から供給される、演奏操作子２２の操作内容及び操作状態の情報を、時系列的に履歴として保存する機能を備える保存手段である。ここで保存する履歴は、上述した奏法の推定に用いる。
【０１０６】
図１５に、演奏操作子２２の操作内容の例を、図１６にこれと対応する履歴を登録した操作履歴テーブルの例を示す。
図１５の内容については発明が解決しようとする課題の項で説明したのでここでは再度の説明は省略する。
【０１０７】
図１６に示すように、操作履歴保存部３９が保存する履歴は、各時点における演奏操作子２２の操作状態（ここでは押鍵状態）と操作内容の情報を含む。
ここで、操作履歴保存部３９は、操作状態検出部３２から操作内容及び操作状態の情報を受け取る度に、新たな情報を操作履歴テーブルに追加する。このとき、レガート奏法に関する推定を行うだけであれば、各時刻は正確に計時する必要はなく、順序が特定されていればよい。しかし、スタッカート奏法に関する推定を行う場合には、各操作の時刻を正確に計時して記録する。図１６の例では、時刻の欄に、t(1)から始まってt(2)、t(3)、・・・のように、順序を示す変数ｎを用いてt(n)で各時点の時刻を示しているが、実際の内容を、単なる順序を示す情報とするか、正確な時刻とするかは、どの奏法についてどのような推定を行うかに基づき定めればよい。
【０１０８】
押鍵状態の項目には、操作状態検出部３２から通知された操作状態の情報が示す、その時点での押鍵中の（鍵の）音高を登録する。このとき、降順でも昇順でも構わないので、音高順に登録するとよい。後で音高の順序の情報を用いるためである。
操作内容の項目には、操作状態検出部３２から通知された操作内容の情報を、操作された鍵の音高を用いて登録する。この操作内容の履歴を時系列的に参照することにより、鍵の操作順を把握することができる。
【０１０９】
操作履歴保存部３９は、図１５に示す鍵操作があった場合、まず、KON1,2,4のタイミングで音高ｎ１、ｎ２及びｎ４の鍵が同時にキーオン操作されたことに対応して、時刻t(1)において押鍵中の音高がｎ１、ｎ２及びｎ４であり、この時点の操作内容がｎ１、ｎ２及びｎ４のキーオンであることを登録する。
次に、KON3のタイミングで音高ｎ３の鍵がキーオン操作されたことに対応して、次の時刻t(2)において押鍵中の音高がｎ１、ｎ２、ｎ３及びｎ４であり、この時点の操作内容がｎ３のキーオンであることを登録する。以降も同様にKOFF4、KOFF1,2、KOFF3の時点の情報を、時刻t(3)、t(4)及びt(5)の時点情報として登録する。
【０１１０】
この操作履歴テーブルは、例えばＲＡＭ１３に保存すればよい。しかし、電子楽器１０の外部のものも含め、任意の記憶手段に保存することができる。
なお、図１６に示した押鍵状態と操作内容の情報は、一方が時系列的に参照可能であれば、他方の情報は、上記一方の情報に基づき作成可能である。従って、必ずしも両方の履歴を保存しておく必要はない。また、後述のように、この履歴は、直近の時点から大きく遡って参照するものではないので、記憶容量を圧迫しないよう、適当な数のデータを残して古いものは随時削除してしまって差し支えない。
【０１１１】
その他の点については、キーオフリトリガー制御部３５におけるキーオフリトリガー有無の判断基準が図２に示したものと異なるのみである。なお、この違いは、ＣＰＵ１１の処理について言えば、第１実施形態で説明した図５乃至図７の処理のうち、図７のリトリガー設定処理が異なることに該当する。
ここで、図１７に、第３実施形態におけるリトリガー設定処理のフローチャートを示す。なお、キーオフ操作が複数あった場合には、その各キーオフ操作について、リトリガー設定処理を行う。
【０１１２】
図１７の処理において、ＣＰＵ１１はまず、図５のステップＳ１１での更新後の操作履歴テーブルにおける最新の時刻を示す値を、変数ａに代入する（Ｓ６１）。図１６の操作履歴テーブルが作成される場合において、ｎ４キーオフの時点で図１７の処理を行ったとすると、ａ＝３となる（この時点ではｔ（４）及びｔ（５）のデータはまだテーブルに登録されていない）。
次に、ＣＰＵ１１は、操作履歴テーブルを参照して、今回検出したキーオフ操作が、所定の条件を満たすか否か判断する（Ｓ６２〜Ｓ６５）。これらの判断は、今回検出したキーオフ操作がレガート奏法の操作であるか否かを推定するためのものである。
【０１１３】
この判断は、例えば、判断のトリガとなったキーオフ操作が行われた鍵の音高をＮ（図１５の例ではｎ４）として、音高Ｎの鍵のキーオン操作、Ｎと異なる音高Ｍ（図１５の例ではｎ３）の鍵のキーオン操作、音高Ｎの鍵のキーオフ操作の順で操作が行われ、かつ、音高Ｍの鍵のキーオン操作の時点で、音高Ｍと音高Ｎの間の音高の鍵が操作中でない、という条件を満たす音高Ｍがあること、とすることが考えられる。
【０１１４】
上記のうち操作順の条件は、図１５の音高ｎ４と音高ｎ３のように、発音指示期間に一部重なりのある操作が行われた、ということを判定するためのものである。
また、音高Ｍと音高Ｎの間の音高の鍵が操作中でないという条件（音高順の条件）は、レガート演奏の特性を考慮したものである。すなわち、図１５のような操作が行われるのは典型的にはレガート演奏の場合であるが、この場合、続けて押鍵される２つの鍵の間の音高で、押鍵が移行するタイミングに他の鍵が押鍵されることは希である。そこで、間で他の鍵が押鍵されていれば、それはレガート演奏ではなく、音数を変えることを意図した演奏であると解釈し、発音音高の再選択を行わないようにすることが好ましい。
【０１１５】
なお、左右の手でメロディーと伴奏を演奏する場合にも、たまたま一部の鍵の押鍵期間がレガート演奏に近い形で重なることもあり得る。このような演奏を効率的に見分けるため、音高Ｍと音高Ｎの音高差が所定値以内であること、という条件を追加することも考えられる。
レガート演奏の場合、続けて押鍵される２つの鍵の音高が大きく離れることは希であるが、メロディーと伴奏であれば、通常は押鍵される鍵の音高はある程度離れていると考えられるためである。
ステップＳ６２〜Ｓ６５で用いる条件は、上記の操作順の条件と音高順の条件を、操作履歴テーブルの登録内容と直接対応するようにより具体的なものとした一例である。
【０１１６】
ステップＳ６２〜Ｓ６５では、ＣＰＵ１１は、
ｉ）時刻t(a-1)において検出した操作にキーオンがある、
ｉｉ）時刻t(a-1)にキーオン操作された音高Ｍと、今回キーオフ操作を検出した
音高Ｎとの間に時刻t(a-1)時点で押鍵中の鍵がない、
ｉｉｉ）時刻t(a-2)において音高Ｎの鍵が押鍵中、
ｉｖ）時刻t(a)において音高Ｍの鍵が押鍵中、
の全てが成り立つか否か判断する。
【０１１７】
そして、全て成り立つ場合、ＣＰＵ１１は、今回検出したキーオフ操作はレガート奏法の操作であると推定する。この場合、ＣＰＵ１１は、音高Ｎの発音を図５のステップＳ１６で停止する前に上記音高Ｎの発音を行っていたパートと対応するアサイナＡＳについて、キーオフリトリガーを行うことを一応決定し、リトリガー解除操作子が操作中でない（Ｓ６８）場合にその旨を最終決定する（Ｓ６９）。そして、該当のアサイナに発音割り当てフラグを立てる（Ｓ７０）。ステップＳ７０の処理は、キーオフ操作がされた音高を選択しているアサイナＡＳについて発音割り当てフラグをセットするということもできる。
【０１１８】
一方、ステップＳ６２乃至Ｓ６５のいずれかでＮｏの場合には、ＣＰＵ１１は、今回検出したキーオフ操作はレガート奏法の操作でないと推定する。そこで、次に、音高Ｎのキーオンから今回キーオフまでの時間が所定値以内であるか否か判断する（Ｓ６６）。すなわち、今回キーオフ操作された鍵の押鍵期間が所定値以内であるか否か判断する。
【０１１９】
ここでＹｅｓであれば、ＣＰＵ１１は、今回検出したキーオフ操作はスタッカート奏法の操作であると推定する。この場合、ＣＰＵ１１は、上記ステップＳ６９及びＳ７０の場合と同じアサイナＡＳについて、キーオフリトリガーを行わないことを決定する（Ｓ７１）。この場合、該当のアサイナに発音割り当てフラグは立てない。ステップＳ６８でリトリガー解除操作子が操作中であった場合も同様である。
【０１２０】
また、ステップＳ６６でＮｏである場合、ＣＰＵ１１は、今回検出したキーオフ操作はレガート奏法及びスタッカート奏法以外の操作であると推定する。この場合、キーオフリトリガーの有無は、予め登録してあるデフォルトの設定に従って行う（Ｓ６７）。ただし、この場合でも、リトリガー解除操作子が操作中であった場合には、キーオフリトリガーは行わない（Ｓ６８）。また、デフォルトの設定は、全アサイナについて共通であっても、アサイナ毎に設定できるようにしてもよい。
いずれの場合も、ステップＳ７０又はＳ７１の後、元の処理に戻る。
【０１２１】
このとき、処理は図５のステップＳ１７に戻るので、図５の処理では次に図６の発音割り当て処理に進む（Ｓ１５）。そして、この発音割り当て処理においては、ステップＳ７０で発音割り当てフラグをセットしたアサイナＡＳについてのみ、ステップＳ２２の判断がＹｅｓとなり、発音する音高の選択と発音開始指示を行う。いずれのアサイナＡＳについても発音割り当てフラグがなければ、発音する音高の選択と発音開始指示を行うことはない。
【０１２２】
そして、以上の処理を実行することにより、ＣＰＵ１１は、キーオフ操作の奏法に応じてアサイナＡＳに発音する音高の選択と発音開始指示を行わせるべき場合を適切に判別し、これを行わせることができる。そして、このことにより、ユーザの演奏操作の意図に合った発音を行うことができる。
この点について、図１８乃至図２１を用いて説明する。
図１８は、図１５に示した操作に応じて図５、図６及び図１７に示した処理を実行し、図３に示した４つのアサイナにより発音する音高を選択させた場合の発音の様子を示す、図８等と対応する図である。
【０１２３】
この場合、初めのKON1,2,4のタイミングでは、ｎ１，ｎ２，ｎ４の３つの音高の鍵が押鍵中の状態で各アサイナＡＳが発音する音高を選択する。その結果、第１アサイナＡＳ−１及び第２アサイナＡＳ−２は最高音のｎ４を、第３アサイナＡＳ−３は下から２番目のｎ２を、第４アサイナＡＳ−４は最低音のｎ１を選択する。
次のKON3のタイミングでは、ｎ１，ｎ２，ｎ３，ｎ４の４つの音高の鍵が押鍵中の状態で各アサイナＡＳが発音する音高を選択する。その結果、第２アサイナＡＳ−２は下から３番目のｎ３の選択に変わる。他の３つのアサイナの選択は、KON1,2,4のタイミングにおける選択と変わらない。
【０１２４】
そして、次のKOFF4のタイミングでは、キーオフ操作された音高ｎ４の発音が停止される。しかし、このときのキーオフ操作は、図８のステップＳ３２〜Ｓ３５の条件を全て満たす。このため、発音が停止された音高ｎ４を選択していた第１アサイナＡＳ−１に、この時点で押鍵中のｎ１，ｎ２，ｎ３の３つの音高から、発音する音高を選択させる。その結果、第１アサイナＡＳ−１は最高音のｎ３を選択する。他のアサイナにはこの時点での選択は行わせないので、KON3のタイミングにおける選択の状態が維持される。
その結果、図１８に示すように、アサイナ毎にキーオフリトリガーの有無を設定しなくても、レガート奏法による音高ｎ３の押鍵に応じて、その前の音高ｎ４の押鍵の時と同じ第１及び第２アサイナＡＳ−１，２と対応する音色Ｔ１，Ｔ２での発音が可能となる。
【０１２５】
次に、図１９に、リトリガー判定処理を行わない比較例における、図１８と対応する発音の様子を示す。
この場合、KOFF4のタイミングで第１アサイナＡＳ−１が音高ｎ３を選択することがないので、第１アサイナＡＳ−１と対応する音色での発音は、KOFF4のタイミングで停止されたままとなる。このため、音高ｎ３の押鍵と対応する発音は、第２アサイナＡＳ−２と対応する音色Ｔ２のみとなる。
従って、音高ｎ３の押鍵と対応する発音は、音高ｎ４の押鍵と対応する発音と異なる音色でなされることになり、演奏者の意図に合わないものとなってしまう。逆に言えば、図１７のリトリガー判定処理を行うことにより、このような不具合を防止することができる。
【０１２６】
図２０及び図２１は、スタッカート奏法の演奏操作があった場合の発音の様子を示す、図１８及び図１９と対応する図である。音高ｎ３における３回の押鍵時間は、いずれも図１７のステップＳ６６における所定値以内であるとする。すなわち、スタッカート奏法の押鍵とする。このため、前の押鍵から次の押鍵までに若干の間隔が開く。
この場合、初めのKON1,2,3-1のタイミングでは、ｎ１，ｎ２，ｎ３の３つの音高の鍵が押鍵中の状態で各アサイナＡＳが発音する音高を選択する。その結果、第１アサイナＡＳ−１及び第２アサイナＡＳ−２は最高音のｎ３を、第３アサイナＡＳ−３は下から２番目のｎ２を、第４アサイナＡＳ−４は最低音のｎ１を選択する。
【０１２７】
図２０は、スタッカート奏法にも関わらず、音高ｎ３におけるキーオフ操作のタイミング（KOFF3-1, KOFF3-2, KOFF3-3）にて、音高ｎ３を選択していた第１アサイナＡＳ−１及び第２アサイナＡＳ−２についてキーオフリトリガーを行うようにした場合の例である。
この場合、第１アサイナＡＳ−１及び第２アサイナＡＳ−２は、リトリガー時点で最高音のｎ２を選択し、新規に発音を開始してしまう。そして、その後の音高ｎ３におけるキーオン操作のタイミングで、再度音高ｎ３を選択してまた新規に発音を開始する。従って、演奏者はスタッカート奏法で同じ音を続けて演奏しているにも関わらず、発音される音は、音高ｎ２と音高ｎ３をめまぐるしく繰り返す音となってしまう。
【０１２８】
図２１は、図１７に示したリトリガー判定処理により、スタッカート奏法と推定されるキーオフ操作の際にはキーオフリトリガーを行わないようにした場合の例である。
この場合、音高ｎ３におけるキーオフ操作のタイミング（KOFF3-1,
KOFF3-2, KOFF3-3）ではキーオフリトリガーは起こらない。従って、第１アサイナＡＳ−１及び第２アサイナＡＳ−２と対応する音色ＴＧ１及びＴＧ２の楽音は、演奏者の意図した演奏内容に合うように、音高ｎ３で若干の間隔を開けて３度発音される。
なお、図１７の処理では、キーオフ操作の時点で、発音する音高として音高Ｎを選択していたアサイナＡＳのみを、キーオフリトリガーを行うか否かの検討対象とし、他のアサイナはキーオフリトリガーを行わないようにした。これは、押鍵中の鍵と対応する音高の発音をそのまま続けられるようにするためである。
【０１２９】
〔変形例：図２２〕
以上で実施形態の説明を終了するが、装置の構成、演奏操作子を始めとする操作子の構成、処理に用いるデータの構成、具体的な処理の手順等が上述の実施形態で説明したものに限られないことはもちろんである。
例えば、図１７に示したリトリガー判定処理において、レガート奏法と推定する条件を、時刻t(a-1)にキーオンがない場合でも、図１７の説明で述べた操作順の条件と音高順の条件が満たされていれば、発音割り当てフラグのセットを行うようにすることも考えられる。その他、図１７の説明で述べたｉ）〜ｉｖ）の条件を一部のみ考慮するようにするなど、どのような発音をさせたいかという意図に合わせて、任意に異なる条件を採用可能である。
【０１３０】
また、上述した各実施形態ではキーオフリトリガー制御部３５を割当制御部３３と別に設ける例について説明したが、割当制御部３３の各アサイナＡＳがキーオフリトリガー制御部３５の機能を備えていてもよい。この場合、操作状態検出部３２がキーオフデータを受信した場合に、キーオンデータの場合と同様に割当制御部３３の各アサイナＡＳにその操作の情報を通知するとよい。そして、各アサイナＡＳが、自身が選択している音高についてのキーオフ操作を通知された場合に、図７、図１２及び図１７等を用いて説明したように、所定の条件に基づきキーオフリトリガーの要否を判定し、必要と判断した場合に、図６のステップＳ２３及びＳ２４のようにリトリガーの処理を行うようにすればよい。
なお、第１実施形態においては、キーオフ操作が行われたときに、全アサイナＡＳについてステップＳ３２以降の処理を行うようにしていたが、キーオフ操作が行われた音高を選択していたアサイナＡＳについてのみステップＳ３２以降の処理を行うようにしてもよい。
【０１３１】
また、図５のステップＳ１２でＮｏの場合に、キーオフ操作に係る音高を発音しているパートと対応するアサイナについて発音割り当てフラグを立て、リトリガー設定処理において、キーオフリトリガーを行わないこととしたアサイナについてフラグをクリアするようにしてもよい。
なお、第１実施形態でこのように処理した場合、キーオフ操作された音高で発音していたパートについてのみ図４のリトリガー設定に沿って発音割り当てフラグが立てられ、その他のパートではそもそも発音割り当てフラグが立たなくなる。
【０１３２】
また、上述した実施形態におけるリトリガー解除操作子の機能を、単独で設けてもよい。すなわち、キーオフリトリガーの有無を、リトリガー解除操作子の操作有無のみに基づき、あるいはこれに加えてアサイナＡＳがキーオフ操作が行われた音高を選択していたか否かに基づき、決定することも考えられる。
また、各アサイナについて設定する音高選択の規則につき、図２２に示すように、押鍵数毎に異なる挙動を示すものとしてもよい。図２２では第２アサイナと第３アサイナについて押鍵数４までしか規則を規定していないが、５以上の場合について規定してもよい。
【０１３３】
また、上述した実施形態では、リトリガー解除操作子を、鍵盤とは別の操作子として設ける例について説明した。しかし、鍵盤上の一番端の鍵など、鍵盤上の鍵のいずれかを、リトリガー解除操作子として用いることができるようにしてもよい。
また、キーオフリトリガーを一時的に無効にすることを指示するための操作子に代えて、又はこれに加えて、キーオフリトリガーを一時的に有効にすることを指示するための操作子を設けてもよい。この操作子が操作されている間にキーオフ操作があった場合には、全てのアサイナＡＳ、あるいはキーオフ操作が行われた音高を選択していた全てのアサイナＡＳに、強制的に、キーオフリトリガーを行わせることが考えられる。
また、これらの操作子の操作に応じてキーオフリトリガーを一時的に無効にするあるいは有効にするアサイナの範囲を、ユーザが設定できるようにすることも考えられる。
【０１３４】
また、上述した実施形態では、演奏操作子が鍵盤であり、発音開始指示を押鍵操作により、発音停止指示を離鍵操作により行う例について説明した。しかし、演奏操作子の形態はこれに限られない。他の楽器の形状はもちろん、マトリクス状に操作部を配置したパッドなど、伝統的な楽器と全く異なる形状のユーザインタフェースを備える装置にもこの発明は適用可能である。この場合、発音開始指示及び発音停止指示は、そのユーザインタフェースの特性に応じた操作方法で受け付けることになる。
【０１３５】
また、電子楽器１０が演奏操作子を内蔵している必要もない。通信Ｉ／Ｆ１５に接続された外部のコントローラから、演奏操作子の操作内容を示す演奏データを取得し、その演奏データに基づいて電子楽器１０が各操作部の操作状態を把握することも考えられる。
また、汎用コンピュータのキーボードや、タッチパネルに表示したＧＵＩ（グラフィカルユーザインタフェース）を、演奏操作子として用いることも考えられる。この場合において、汎用コンピュータに図２等に示した各部の機能を実現させることにより、電子楽器として機能させることができる。また、いずれの場合でも、図２等に示した各部の機能を、複数の装置に分散して設け、それらを協働させて電子楽器１０の機能を実現させることもできる。
【０１３６】
この発明の実施形態であるプログラムは、１のコンピュータに、または複数のコンピュータを協働させて、図２等に示した各部（特にキーオフリトリガー制御部３５）の機能を実現させるためのプログラムである。
そして、このようなプログラムをコンピュータに実行させることにより、上述したような効果を得ることができる。
【０１３７】
このようなプログラムは、はじめからコンピュータに備えるＲＯＭや他の不揮発性記憶媒体（フラッシュメモリ，ＥＥＰＲＯＭ等）などに格納しておいてもよい。しかし、メモリカード、ＣＤ、ＤＶＤ、ブルーレイディスク等の任意の不揮発性記録媒体に記録して提供することもできる。それらの記録媒体に記録されたプログラムをコンピュータにインストールして実行させることにより、上述した各手順を実行させることができる。
【０１３８】
さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部装置あるいはプログラムを記憶手段に記憶した外部装置からダウンロードし、コンピュータにインストールして実行させることも可能である。
また、以上説明してきた実施形態及び変形例の構成は、相互に矛盾しない限り任意に組み合わせて実施可能であることは勿論である。
【産業上の利用可能性】
【０１３９】
以上の説明から明らかなように、この発明によれば、操作部の操作状態に応じて１又は複数の選択手段に発音する音高を選択させる場合において、演奏者の演奏操作の意図に合った発音を容易に行えることができる。
従って、この発明を適用することにより、電子楽器の利便性を向上させることができる。
【符号の説明】
【０１４０】
１０：電子楽器、１１：ＣＰＵ、１２：ＲＯＭ、１３：ＲＡＭ、１４：記憶装置、１５：通信Ｉ／Ｆ、１６：検出回路、１７：表示回路、１８：音源回路、１９：システムバス、２１：タイマ、２２：演奏操作子、２３：設定操作子、２４：ディスプレイ、２５：ＤＡＣ、２６：サウンドシステム、３１：発音指示受付部、３２：操作状態検出部、３３：割当制御部、３４：楽音生成部、３５：キーオフリトリガー制御部、３６：キーオフリトリガー設定部、３７：リトリガー解除操作受付部、３８：出力部、３９：操作履歴保存部、ＡＳ：アサイナ、ＴＣ：発音ｃｈ
【図１】
2015081927.tif 000003
【図２】
2015081927.tif 000004
【図３】
2015081927.tif 000005
【図４】
2015081927.tif 000006
【図５】
2015081927.tif 000007
【図６】
2015081927.tif 000008
【図７】
2015081927.tif 000009
【図８】
2015081927.tif 000010
【図９】
2015081927.tif 000011
【図１０】
2015081927.tif 000012
【図１１】
2015081927.tif 000013
【図１２】
2015081927.tif 000014
【図１３】
2015081927.tif 000015
【図１４】
2015081927.tif 000016
【図１５】
2015081927.tif 000017
【図１６】
2015081927.tif 000018
【図１７】
2015081927.tif 000019
【図１８】
2015081927.tif 000020
【図１９】
2015081927.tif 000021
【図２０】
2015081927.tif 000022
【図２１】
2015081927.tif 000023
【図２２】
2015081927.tif 000024