(57)【要約】【課題】  演奏者の演奏操作の意図に合った発音音高の選択を容易に行えるようにする。【解決手段】  それぞれ音高と対応する複数の操作部の操作状態に応じて、発音する音高を選択する複数のアサイナを設け、上記複数の操作部と対応する音域中に複数の部分音域を設定し、上記各アサイナをそれぞれ、上記複数の部分音域のいずれかと対応付け、上記各アサイナに、対応する部分音域中の音高と対応する操作部の操作状態を示す押鍵リストから、発音する音高を選択させるようにした（Ｓ１８，Ｓ１９）。【選択図】        図５
2015125391.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ音高と対応する複数の操作部の操作状態に応じて、発音する音高を選択する複数の選択手段と、
前記複数の操作部と対応する音域中に複数の部分音域を設定する部分音域設定手段とを備え、
前記各選択手段はそれぞれ、前記複数の部分音域のいずれかと対応付けられており、対応する部分音域中の音高と対応する操作部の操作状態に応じて、発音する音高を選択することを特徴とする電子楽器。
【請求項２】
請求項１に記載の電子楽器であって、
特定の第１の操作に従い、前記各選択手段が対応する部分音域中の音高と対応する操作部の操作状態に応じて発音する音高を選択するか、該対応する部分音域中の音高と対応する操作部の操作状態に加え、前記第１の操作がなされている間になされた、対応する部分音域以外の音高と対応する操作部の操作にも応じて発音する音高を選択するか、を切り替える切替手段を備えることを特徴とする電子楽器。
【請求項３】
請求項１又は２に記載の電子楽器であって、
第１音高と第２音高との対応関係を設定する対応設定手段と、
前記第１音高と対応する操作部が操作されている場合に前記第２音高と対応する操作部も操作されているとして前記各選択手段に前記音高の選択を行わせる音高追加モードの制御を行う制御手段とを備えることを特徴とする電子楽器。
【請求項４】
請求項３に記載の電子楽器であって、
前記制御手段は、特定の第２の操作がなされている場合に前記音高追加モードの制御を行うことを特徴とする電子楽器。
【請求項５】
コンピュータを、
それぞれ音高と対応する複数の操作部の操作状態に応じて、発音する音高を選択する複数の選択手段と、
前記複数の操作部と対応する音域中に複数の部分音域を設定する部分音域設定手段として機能させるためのプログラムであって、
前記各選択手段はそれぞれ、前記複数の部分音域のいずれかと対応付けられており、対応する部分音域中の音高と対応する操作部の操作状態に応じて、発音する音高を選択することを特徴とするプログラム。
【請求項６】
それぞれ音高と対応する複数の操作部の操作状態に応じて、複数の選択手段がそれぞれ発音する音高を選択する選択手順と、
前記複数の操作部と対応する音域中に複数の部分音域を設定する部分音域設定手順とを備え、
前記各選択手段はそれぞれ、前記複数の部分音域のいずれかと対応付けられており、前記選択手順において、対応する部分音域中の音高と対応する操作部の操作状態に応じて、発音する音高を選択することを特徴とする発音音高選択方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数の操作部の操作状態に応じて発音する音高を選択する電子楽器、コンピュータにこのような音高選択機能を実現させるためのプログラム、および、複数の操作部の操作状態に応じて発音する音高を選択する発音音高選択方法に関する。
【背景技術】
【０００２】
従来から、電子楽器において、押鍵されたノートに、押鍵数に応じた規則で所定数のパートを割り当て、各ノートを、そのノートに割り当てたパートの音色で発音させる電子楽器が知られている。この電子楽器によれば、押鍵数によらず、常に所定数のパートを発音させることができる。
このような電子楽器については、例えば特許文献１に記載がある。
【０００３】
また、電子楽器において、押鍵されている音高の中から予め定めたルールに従って発音すべき音高を選択するアサイナを複数設け、各アサイナが選択した音高を、そのアサイナと対応する音色で発音させることも知られている。
そして、この複数のアサイナを用いることにより、例えば１のアサイナに低音側の音高を選択させ、他のアサイナに高音側の音高を選択させるようにルールを定めておけば、自動的に低音側と高音側の音（例えば伴奏とメロディ）を異なる音色で弾き分けることができる。
このような電子楽器については、例えば特許文献２に記載がある。
【０００４】
またこれらの他、鍵盤の鍵域を２つに分け、押鍵操作のされた鍵域により、異なるパートの音色を発音させるようにした「スプリット」の機能を備えた電子楽器も知られている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−７９１７９号公報
【特許文献２】特許第２５６５０６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、従来のスプリット機能は、単に押鍵位置が属する鍵域と対応する音色で発音するのみであるので、使える音色が限られ、演奏が単調になるという問題があった。
また、特許文献１に記載の電子楽器においては、押鍵数によらず全パートが押鍵に割り当てられるため、自然な発音とならない場合があるという問題があった。例えば、１つの鍵のみを押鍵すると、その鍵の音高で全パートが発音するため、高音域で発音すべき楽器の音も低音域で発音すべき楽器の音も同じ音高で発音してしまう。
【０００７】
また、特許文献２に記載の電子楽器においては、各アサイナに設定する音高選択のルールを工夫することにより、ある程度このような問題を回避可能である。しかし、ルールの設定にはルール毎の特性に関する知識が必要であり、行おうとする演奏の内容に合わせてその都度適切なルールを設定することは難しいという問題があった。
なお、このような問題は、電子楽器が鍵盤楽器でない場合であっても、それぞれ音高と対応する複数の操作部の操作状態に応じて発音する音高を選択する場合には、同様に生じ得るものである。
【０００８】
この発明は、このような事情に鑑みてなされたものであり、それぞれ音高と対応する複数の操作部の操作状態に応じて複数の選択手段がそれぞれ発音する音高を選択する場合において、演奏者の演奏操作の意図に合った発音音高の選択を容易に行えるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
上記の目的を達成するため、この発明の電子楽器は、それぞれ音高と対応する複数の操作部の操作状態に応じて、発音する音高を選択する複数の選択手段と、上記複数の操作部と対応する音域中に複数の部分音域を設定する部分音域設定手段とを設け、上記各選択手段はそれぞれ、上記複数の部分音域のいずれかと対応付けられており、対応する部分音域中の音高と対応する操作部の操作状態に応じて、発音する音高を選択するようにしたものである。
【００１０】
このような電子楽器において、特定の第１の操作に従い、上記各選択手段が対応する部分音域中の音高と対応する操作部の操作状態に応じて発音する音高を選択するか、その対応する部分音域中の音高と対応する操作部の操作状態に加え、上記第１の操作がなされている間になされた、対応する部分音域以外の音高と対応する操作部の操作にも応じて発音する音高を選択するか、を切り替える切替手段を設けるとよい。
さらに、第１音高と第２音高との対応関係を設定する対応設定手段と、上記第１音高と対応する操作部が操作されている場合に上記第２音高と対応する操作部も操作されているとして上記各選択手段に上記音高の選択を行わせる音高追加モードの制御を行う制御手段とを設けるとよい。
【００１１】
さらに、上記制御手段が、特定の第２の操作がなされている場合に上記音高追加モードの制御を行うようにするとよい。
この発明は、装置として実現する他、プログラム、方法、システム、その他任意の形態で実現することができる。
【発明の効果】
【００１２】
以上のようなこの発明の電子楽器、プログラム及び発音音高選択方法によれば、それぞれ音高と対応する複数の操作部の操作状態に応じて複数の選択手段がそれぞれ発音する音高を選択する場合において、演奏者の演奏操作の意図に合った発音音高の選択を容易に行えるようにすることができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１実施形態である電子楽器のハードウェア構成を示すブロック図である。
【図２】図１に示した電子楽器における、アサイナを用いた発音制御に関連する機能の機能ブロック図である。
【図３】図１に示した電子楽器が用いる押鍵リストの例を示す図である。
【図４】アサイナに設定する、発音音高選択規則の例を示す図である。
【図５】図１に示した電子楽器においてＣＰＵが実行する処理を示すフローチャートである。
【図６】第１実施形態における、ユーザが行う演奏操作と、それに応じて各アサイナが選択する発音音高との関係を示す図である。
【図７】その別の例を示す図である。
【図８】そのさらに別の例を示す図である。
【図９】第１実施形態の比較例における、図６と対応する関係を示す図である。
【図１０】第１実施形態の比較例における、図８と対応する関係を示す図である。
【図１１】第２実施形態の電子楽器における、図２と対応する機能ブロック図である。
【図１２】第２実施形態における、押鍵リスト生成の処理を示すフローチャートである。
【図１３】第２実施形態における、ユーザが行う演奏操作と、それに応じて各アサイナが選択する発音音高との関係を示す図である。
【図１４】図１３に示す演奏操作がなされた場合の押鍵リストを示す図である。
【図１５】第３実施形態における、押鍵リスト生成の処理を示すフローチャートである。
【図１６】追加設定テーブルの例を示す図である。
【図１７】第３実施形態における、ユーザが行う演奏操作と、それに応じて各アサイナが選択する発音音高との関係を示す図である。
【図１８】図１７に示す演奏操作がなされた場合の押鍵リストを示す図である。
【発明を実施するための形態】
【００１４】
以下、この発明を実施するための形態を図面に基づいて具体的に説明する。
〔第１実施形態：図１乃至図８〕
図１は、本発明の第１実施形態である電子楽器のハードウェア構成を示すブロック図である。
図１に示すように、電子楽器１０は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、記憶装置１４、通信インタフェース（Ｉ／Ｆ）１５、検出回路１６、表示回路１７、音源回路１８を備え、これらをシステムバス１９により接続している。また、電子楽器１０は、ＣＰＵ１１に接続するタイマ２１、検出回路１６に接続する演奏操作子２２及び設定操作子２３、表示回路１７に接続するディスプレイ２４、音源回路１８に接続するＤＡＣ（デジタルアナログ変換回路）２５及びサウンドシステム２６も備える。
【００１５】
そして、ＣＰＵ１１が、ＲＡＭ１３をワークエリアとしてＲＯＭ１２又は記憶装置１４に記憶された所要のプログラムを実行することにより、電子楽器１０全体を制御し、演奏操作の検出、演奏操作子の操作状態に応じた発音音高の選択、その選択に従った発音の制御等の各種機能を実現する。ＣＰＵ１１に接続されるタイマ２１は、基本クロック信号、割り込み処理タイミング等をＣＰＵ１１に供給する。
なお、ＲＯＭ１２には、上記のプログラムの他、音色に対応する波形データや自動演奏データ、自動伴奏データ（伴奏スタイルデータ）などの各種データファイル、各種パラメータ及び各種テーブル等も記憶する。
【００１６】
ＲＡＭ１３は、フラグ、レジスタ、各種パラメータ等を記憶するＣＰＵ１１のワークエリアの他、再生バッファ等のバッファ領域としても用いる。
記憶装置１４は、ハードディスク、半導体メモリ等の記録媒体とその駆動装置の組み合わせの少なくとも１つで構成される。
通信Ｉ／Ｆ１５は、サーバ、音響機器、外部コントローラ等の外部装置と通信を行うためのインタフェースであり、有線、無線を問わず、任意の規格の通信手段を用いて構成することができる。例えば、ＵＳＢ（Universal  Serial  Bus）やＭＩＤＩ（Musical  Instrument  Digital  Interface）＿Ｉ／Ｆを用いることが考えられる。
【００１７】
検出回路１６は、演奏操作子２２及び設定操作子２３をシステムバス１９に接続するためのインタフェースである。
演奏操作子２２は、検出回路１６に接続され、ユーザの演奏操作に従い、演奏情報（演奏データ）を供給する。演奏操作子２２は、ユーザの演奏操作を受け付けるための、それぞれ音高と対応する複数の操作部を備える。そして、該ユーザの操作部に対する操作開始タイミング及び終了タイミングを、それぞれユーザが操作した操作部に対応する音高の情報を含むキーオンデータ及びキーオフデータとして、検出回路１６を通じてＣＰＵ１１に供給する。また、演奏操作子２２は、ユーザの演奏操作に応じてベロシティ値等の各種パラメータを供給することも可能である。なお、本実施例では、鍵盤型の演奏操作子２２を備え、上記各操作部が鍵であるとして説明するが、これに限るものではない。
【００１８】
また、設定操作子２３は、例えば、ボタン、スライダ、ロータリーエンコーダ、文字入力用キーボード、マウス等、ユーザの入力に応じた信号を出力できるものならどのようなものでもよい。また、設定操作子２３は、ディスプレイ２４上に表示されるＧＵＩ（Graphical  User  Interface）に対する操作を行うためのポインティングデバイスや、ディスプレイ２４に積層したタッチパネルでもよい。
いずれにせよ、ユーザは、設定操作子２３を用いて、各種入力及び設定、選択をすることができる。
【００１９】
表示回路１７は、ディスプレイ２４をシステムバス１９に接続するためのインタフェースである。
ディスプレイ２４は、電子楽器１０の設定のための各種情報や、電子楽器１０の動作状態等を表示するための表示手段であり、例えば液晶表示装置や発光ダイオード（ＬＥＤ）等により構成することができる。
【００２０】
音源回路１８は、ＣＰＵ１１からの発音指示に応じて、複数の発音ｃｈ（チャンネル）でそれぞれ楽音信号（デジタル波形データ）を生成する機能を備える。ＣＰＵ１１からの発音指示には、音色、音高、音量等の指定が含まれる。ＣＰＵ１１は、演奏操作子２２の演奏操作を検出した場合に、アサイナの機能により、押鍵中の鍵の音高から、各アサイナと対応する発音を行わせる音高を選択し、その選択に従った発音を音源回路１８に指示する。その詳細については後述する。
【００２１】
なお、音源回路１８は、記憶装置１４、ＲＯＭ１２又はＲＡＭ１３等に記録された波形データ、オーディオデータ、自動伴奏データ、自動演奏データ又は、通信Ｉ／Ｆ１５に接続された外部機器等から供給される演奏信号、ＭＩＤＩ信号、フレーズ波形データ等に応じて楽音信号を生成することも可能である。また、音源回路１８は、生成した楽音信号に各種音楽的効果を付加する機能も備える。
【００２２】
そして、音源回路１８は、生成した楽音信号をＤＡＣ２５に出力する。ＤＡＣ２５はこの楽音信号をアナログ音響信号に変換し、ＤＡＣ２５に接続されているサウンドシステム２６に供給する。サウンドシステム２６は、アンプ、スピーカを含む発音手段であり、ＤＡＣ２５から供給されるアナログ音響信号を、発音出力する。ＤＡＣ２５及びサウンドシステム２６は、電子楽器１０の外部にあってもよい。
以上の電子楽器１０において、特徴的な点は、演奏操作子２２が演奏操作を受け付け可能な音域に設定した部分音域に関係するアサイナの動作である。そこで、次にアサイナの動作についてより具体的に説明する。
【００２３】
図２に、電子楽器１０における、アサイナを用いた発音制御に関連する機能の機能ブロック図を示す。
図２に示すように、電子楽器１０は、発音指示受付部３１、操作状態検出部３２、部分音域設定部３３、割当制御部３４、楽音生成部３５、出力部３６を備える。これらのうち、発音指示受付部３１の機能は演奏操作子２２及び検出回路１６により実現され、楽音生成部３５の機能は音源回路１８により実現され、出力部３６の機能はサウンドシステム２６により実現される。他の各部の機能はＣＰＵ１１により実現される。
【００２４】
そして、発音指示受付部３１は、ユーザによる発音指示操作を受け付ける機能を備える。例えば、演奏操作子２２である鍵盤がいずれかの鍵の押鍵操作（発音開始操作）を受け付けると、発音指示受付部３１はこれを検出し、操作状態検出部３２に対し、押鍵操作があったこと及び押鍵された鍵の音高であるノートナンバを示す操作信号であるキーオンデータを送信する。離鍵操作（発音停止操作）を受け付けた場合には、同様に離鍵操作があったこと及びその鍵のノートナンバを示すキーオフデータを送信する。
【００２５】
なお、以下の説明において、押鍵のように発音開始を指示するための操作を「キーオン操作」、離鍵のように発音停止を指示するための操作を「キーオフ操作」と呼ぶことにする。また、キーオン操作からキーオフ操作までの状態を、「操作中」と呼ぶことにする。鍵盤の鍵で言えば、「押鍵中」がこれに該当する。ただし、発音開始の指示があった場合でも、必ずしも実際に発音が開始されるとは限らない。一定の音高について発音を行わない設定を可能としたり、同時発音数に制限を設けたりすることがあり得るためである。
【００２６】
操作状態検出部３２は、発音指示受付部３１から送信される操作信号に基づき、現在の演奏操作子２２の操作状態（ここでは鍵盤なので押鍵状態）を示すデータを作成する。より具体的には、操作中の（鍵の）音高を示す押鍵リストを作成する。
また、操作状態検出部３２は、部分音域設定部３３から供給される部分音域の情報を参照して、部分音域毎に押鍵リストを作成する。
【００２７】
なお、部分音域設定部３３は、演奏操作子２２が演奏操作を受け付け可能な音域中に複数の部分音域を設定する機能を備える部分音域設定手段である。ここでは、図６に示すように、演奏操作子２２が演奏操作を受け付け可能な音域中に分割点を設定し、その分割点により音域を分割して、分割点より低音側を部分音域Ａ、高音側を部分音域Ｂとしている。
【００２８】
しかし、部分音域毎に具体的に音高範囲を定めることも可能であるし、部分音域の数は２に限られない。また、隣接する部分音域間にどの部分音域にも属しない音高があったり、複数の部分音域に属する音高があったりしてもよい。いずれにせよ、この部分音域の設定は、ユーザが設定操作子２３を用いて随時変更できるようにするとよい。
【００２９】
ここで、図３に、操作状態検出部３２が作成する押鍵リストの時系列的な変化の例を示す。
図３において、「時刻」は、押鍵リストの作成時刻を示す。カッコ内の数字は、操作状態検出部３２がキーオン操作又はキーオフ操作を検出（キーオンデータ又はキーオフデータを受信）する度に１ずつ増加する、時間の経過を示す変数である。
【００３０】
なお、人が演奏を行う場合には、同時に複数の鍵の操作を行ったつもりでも、寸分違わず同じタイミングでその操作を行うことは困難である。そこで、複数の操作のタイミング差が同時操作とみなせる程度の所定閾値（例えば１５〜３０ミリ秒程度）以内であれば、それらの操作は同時に行われたものとみなして取り扱うことが望ましい。ここではこの取り扱いをするとして説明する。ある鍵のキーオン操作と別の鍵のキーオフ操作が同時に行われることもあり得る。
【００３１】
「検出操作」は、操作状態検出部３２が検出した操作を示す。アンダーバーの前が操作の音高を、アンダーバーの後ろが、その操作がキーオン(on)であるかキーオフ(off)であるかを示す。また、各音高の２文字目が、その音高が属する部分音域を示す。「ａ」なら部分音域Ａ、「ｂ」なら部分音域Ｂである。
「全体押鍵リスト」は、全音域についての押鍵リストである。
「Ａ押鍵リスト」及び「Ｂ押鍵リスト」は、それぞれ部分音域Ａ及び部分音域Ｂ内の音高における演奏操作子２２の操作状態を示す押鍵リストである。
【００３２】
これらのうち全体押鍵リストは、例えば、検出したキーオン操作の音高をリストに追加し、キーオフ操作の音高をリストから削除することにより、更新することができる。
また、作成した全体押鍵リストのうち、部分音域Ａに属する音高のデータを取り出してＡ押鍵リストとし、部分音域Ｂに属する音高のデータを取り出してＢ押鍵リストとすることができる。あるいは、各部分音域に属する音高について検出した操作の情報に基づき、全体押鍵リストと同様にＡ押鍵リストとＢ押鍵リストを個別に更新することもできる。この場合、全体押鍵リストを作成することは必須ではない。
【００３３】
なお、図３には、押鍵リストの内容を時系列的に示したが、操作状態検出部３２は、最新の押鍵リストのみ保持していればよく、過去の押鍵リストを保持することは必須ではない。しかし、過去の押鍵リストの履歴をある程度の期間保持しておき、操作の履歴に基づきアサイナＡＳによる音高選択を制御できるようにすることも妨げられない。
【００３４】
図２の説明に戻ると、操作状態検出部３２はさらに、キーオンデータを受信した場合には、作成した押鍵リストを割当制御部３４に供給し、発音する音高の選択を行わせる。具体的な供給先は、割当制御部３４が備える第１アサイナＡＳ−１から第ｎアサイナＡＳ−ｎまでのｎ個のアサイナのうち、機能が有効になっており、かつ、今回検出したキーオン操作に応じて押鍵リストを更新した部分音域と対応するアサイナである。
さらに、操作状態検出部３２は、キーオフデータを受信した場合に、楽音生成部３５に対し、キーオフ操作が行われた音高の発音を停止させる機能も備える。
【００３５】
次に、割当制御部３４は、１又は複数（ここではｎ個とする）のアサイナＡＳ−１〜ＡＳ−ｎを備える（アサイナの個体を特定する必要がない場合は符号「ＡＳ」を用いる）。これらの各アサイナＡＳはそれぞれ、操作状態検出部３２からキーオン操作に応じて供給される押鍵リストを参照し、操作中（押鍵中）の音高の中から、楽音生成部３５に発音させる音高（ノート）を選択する選択手段である。この選択は、アサイナ毎に設定される規則に従って行う。
また、各アサイナＡＳはそれぞれ、部分音域と対応付けられており、ここでは、対応する部分音域の押鍵リストを参照して、その部分音域内において操作中の音高の中から、楽音生成部３５に発音させる音高を選択する。操作状態検出部３２も、各アサイナＡＳに対して、そのアサイナと対応する部分音域の押鍵リストのみ渡せばよい。
【００３６】
図４に、アサイナに設定する規則の例を示す。
図４は、４つのアサイナを用いる場合の例であり、各アサイナに設定する規則は、「対象押鍵」及び「優先方式」の項目からなる。「対応部分音域」は、各アサイナと対応する部分音域を示す情報である。この情報も規則の一部であると捉えてもよい。
【００３７】
対象押鍵の項目は、押鍵中の音高のうちどの範囲を選択の対象として考慮するかを定める項目である。「全押鍵」は、押鍵中の音高全てを考慮することを示す。「最高音を除く」は、押鍵中の音高のうち最高音以外の音高のみ考慮することを示す。従って、１音しか押鍵がない場合は、いずれの音高も考慮せず、音高を選択しないことになる。「最低音を除く」も同様である。
また、図４には示していないが、押鍵中の音高のうち低音側からＸ個の音高のみ（押鍵がＸ音未満の場合には全ての音高を）考慮することを示す「低音側Ｘ音」や、同様な「高音側Ｘ音」の設定も可能である。
【００３８】
優先方式の項目は、選択の対象として考慮する音高の中で、発音する音高をどのように選択するかを定める項目である。「高音優先」は、考慮する音高の中で最も高い音高を選択することを示す。「低音優先」は、考慮する音高の中で最も低い音高を選択することを示す。
【００３９】
以上から、第１アサイナについては、押鍵中の音高全てのうち最も高い音高を選択する規則が設定されていることがわかる。
第２アサイナについては、押鍵数が２以上であれば、その押鍵の中で上から２番目の音高を選択することになる。押鍵数が１以下であれば、いずれの音高も選択しないことになる。
第３アサイナについては、同様に、押鍵数が２以上であれば、その押鍵の中で下から２番目の音高を選択し、押鍵数が１以下であれば、いずれの音高も選択しないことになる。
第４アサイナについては、押鍵中の音高全てのうち最も低い音高を選択する規則が設定されていることがわかる。
【００４０】
従って、第１及び第２アサイナは、高音側の音を選択させることを意識した規則を持つアサイナであり、第３及び第４アサイナは、低音側の音を選択させることを意識した規則を持つアサイナであると考えることができる。
図にないアサイナについては機能が無効化されていると考えればよい。
【００４１】
各アサイナＡＳは、以上の規則に従い発音する音高を選択すると、楽音生成部３５に対し、その選択した音高の楽音を発音開始するよう要求する。また、各アサイナＡＳには対応する音色Ｔ１〜Ｔｎが設定されており、楽音をその対応する音色で発音するよう要求する。なお、アサイナＡＳには対応するパートを設定し、音色はパートに対応付けて設定することも可能である。この場合、アサイナＡＳと音色とは、パートを介して対応付けられることになり、アサイナＡＳ−ｎに対応付けられたパートを第ｎパートと表す。
この発音開始要求の際には、部分音域を意識する必要はない。
【００４２】
なお、各アサイナＡＳは、自身が最後に選択した音高がどの音高であるかの情報を、次に別の音高を選択するまで保持しておく。そして、音高の選択を行った場合でも、選択した音高が前回と変わらず、かつその音高が今回キーオン操作された音高でない（以前から操作中であった）音高である場合、楽音生成部３５に対する発音の要求を行わないようにするとよい。この場合、該当のアサイナＡＳが今回選択した音高については、今回検出されたキーオン操作とは関係なく、以前のキーオン操作に応じて開始した発音を継続することが望ましいと考えられるためである。
【００４３】
また、この例では説明を簡単にするため各アサイナが音高を１つ選択するものとして説明するが、複数の音高を選択可能な規則を設定することも可能である。高音優先で２音を選択する、等である。
また、複数のアサイナが同じ音高を選択しても問題ない。この場合、選択された音高について、複数の音色で発音することになる。
【００４４】
楽音生成部３５は、ｍ個の発音ｃｈＴＣ１〜ＴＣｍを備える（発音ｃｈの個体を特定する必要がない場合は符号「ＴＣ」を用いる）。そして、アサイナＡＳから発音開始の要求を受けると、発音中でない発音ｃｈを検索し、発見した発音ｃｈＴＣにて、発音開始要求で指定された音高及び音色の楽音の音響信号を生成（発音）させる。なお、図２では、アサイナＡＳと発音ｃｈＴＣの間を線で結んでいるがこれらの間に固定的な対応関係があるわけではない。
【００４５】
また、楽音生成部３５は、操作状態検出部３２から特定の音高の発音を停止するよう指示された場合に、発音ｃｈＴＣの中からその音高の発音を行っているものを検索し、その発音ｃｈに発音を停止させる機能も備える。この停止には、リリース状態への移行も含まれる。
そして、楽音生成部３５は、各発音ｃｈＴＣが生成した音響信号をミキシングして出力部３６に供給し、楽音の出力を行わせる。
【００４６】
次に、図２に示した機能のうち、ＣＰＵ１１が担う機能を実現するためにＣＰＵ１１が実行する処理について説明する。
図５は、その処理のフローチャートである。
ＣＰＵ１１は、検出回路１６からキーオンデータ及び／又はキーオフデータを受信した場合に、所要のプログラムを実行することにより図５のフローチャートに示す処理を開始する。なお、所定閾値以内のタイミング差で行われた操作を同時操作とみなすことは上述の通りである。
【００４７】
図５の処理において、ＣＰＵ１１はまず、受信したキーオンデータ及び／又はキーオフデータが示す演奏操作子２２の操作内容に基づき、図３を用いて説明した全体及び各部分音域の押鍵リストを更新する（Ｓ１１）。そして、ステップＳ１１で押鍵リストに変更のあった部分音域を特定する（Ｓ１２）。
【００４８】
次に、ＣＰＵ１１は、ステップＳ１２で特定した各部分音域を順次処理対象として、ステップＳ１４乃至Ｓ２２の処理を実行する（Ｓ１３，Ｓ２３）。ステップＳ１４乃至Ｓ２２は、処理対象の部分音域の音高においてなされた操作に基づく発音の停止及び開始に関する処理である。
【００４９】
この処理において、ＣＰＵ１１はまず、検出した操作に処理対象の部分音域の音高のキーオフが含まれているか否か判断する（Ｓ１４）。複数の操作を同時に検出した場合、その中に１つでも該当のキーオフがあればＹｅｓとなる。
そして、ステップＳ１４でＹｅｓの場合、ＣＰＵ１１は、検出したキーオフ操作に係る音高の発音停止を楽音生成部３５に指示し（Ｓ１５）、ステップＳ１６に進む。ステップＳ１４でＮｏの場合には、ステップＳ１５をスキップしてステップＳ１６に進む。
【００５０】
次に、ＣＰＵ１１は、検出した操作に処理対象の部分音域の音高のキーオンが含まれているか否か判断する（Ｓ１６）。複数の操作を同時に検出した場合、その中に１つでも該当のキーオンがあればＹｅｓとなる。
そして、ステップＳ１６でＹｅｓの場合、各アサイナに発音する音高を選択させるべく、ステップＳ１７乃至Ｓ２２の処理を実行する。なおここでは、処理対象の部分音域内に１つでもキーオン操作を検出した場合、全アサイナＡＳについて処理を行う。ただし、実際に音高を選択するのは、処理対象の部分音域と対応するアサイナのみである。
【００５１】
この部分の処理において、ＣＰＵ１１はまず、変数ｎに１を代入する（Ｓ１７）。そして、第ｎアサイナＡＳ−ｎが処理対象の部分音域と対応するアサイナであるか否か判断する（Ｓ１８）。
ここでＹｅｓであれば、ＣＰＵ１１は、第ｎアサイナＡＳ−ｎについて設定されている規則に従い、処理対象の部分音域の押鍵リストから発音する音高を選択する（Ｓ１９）。そして、ステップＳ１９で選択した音高で、第ｎアサイナＡＳ−ｎと対応する第ｎパートの発音を開始するよう、楽音生成部３５に指示する（Ｓ２０）。この場合、発音に用いる音色は、第ｎパートについて設定されている音色である。
【００５２】
なお、ステップＳ１９において、処理対象の部分音域の押鍵リストに載っている音高のみが押鍵されているとして規則を適用する。すなわち、処理対象の部分音域以外における押鍵は無視する。例えば、図３のｔ（３）の時点で、処理対象の部分音域がＢで第２アサイナに関する選択を行うとすると、部分音域Ａには他の押鍵があっても、部分音域Ｂには１つしか押鍵がないため、最高音以外の音高がなく、いずれの音高も選択しないこととなる。
また、ステップＳ１８でＮｏであれば、第ｎアサイナＡＳ−ｎについて音高の選択は行わないので、ステップＳ１９及びＳ２０はスキップする。
【００５３】
以上のステップＳ１８乃至Ｓ２０が、アサイナＡＳ１つ分の処理である。その後、ＣＰＵ１１は、現在処理したアサイナが最後のアサイナであるか否か判断し（Ｓ２１）、最後でなければｎを１加算して（Ｓ２２）、ステップＳ１８に戻って処理を繰り返す。
ステップＳ２１でＹｅｓの場合、全てのアサイナに関する処理が終了したことがわかるため、ステップＳ２３に進む。
以上のステップＳ１４乃至Ｓ２２が、部分音域１つ分の処理である。その後、ＣＰＵ１１は、ステップＳ１２で特定した部分音域でまだ処理対象としていないものがあるか否か判断し（Ｓ２３）、あれば、ステップＳ１３に戻って処理を繰り返す。なければ、必要な全ての部分音域に関する処理が終了したことがわかるため、処理を終了する。
【００５４】
以上の図５の処理が、この発明の発音音高選択方法の実施形態に係る処理である。また、ステップＳ１７乃至Ｓ２２の処理が選択手順と対応する。
そして、以上の処理を実行することにより、ＣＰＵ１１は、それぞれ部分音域のいずれかと対応する各アサイナＡＳに、対応する部分音域中の音高と対応する演奏操作子２２の操作状態に応じて、発音する音高を選択させることができる。そして、このことにより、演奏者の演奏操作の意図に合った発音音高の選択を容易に行うことができる。また、この発音を行うために、各アサイナＡＳに設定する音高選択の規則を特段複雑なものにする必要もない。
【００５５】
次に、以上の部分音域毎の発音音高選択の効果について、図６乃至図１０を用いて説明する。
図６乃至図１０はそれぞれ、ユーザが行う演奏操作と、それに応じて各アサイナが選択する発音音高との関係を示す図である。これらの図において、横軸が音高、縦軸が時間であり、各音高の位置に示した帯が、各音高の押鍵期間を示す。また、分割点よりも低音側が部分音域Ａ、高音側が部分音域Ｂである。また、各アサイナと対応する矢印により、そのアサイナがいつどの音高を選択しているかを示している。
【００５６】
図６の例は、低音側から高音側に向かって、順次音高ｎａ１〜ｎｂ２の鍵を押鍵及び離鍵する場合の例である。図３に示した押鍵リストは、図６の演奏操作を行った場合の、ｔ（１）からｔ（５）までの各時点の押鍵リストである。
図６からわかるように、ｔ（１）のタイミングでは、部分音域Ａの音高ｎａ１の鍵のみが押鍵されているため、部分音域Ａと対応する第３及び第４アサイナＡＳ−３，４のみが発音音高の選択を行う。しかし、第３アサイナＡＳ−３は押鍵数が１の場合どの音高も選択しないため、この時点では第４アサイナＡＳ−４が音高ｎａ１を選択し、楽音生成部３５にこの音高の発音を開始させるのみである。
【００５７】
次のｔ（２）のタイミングでも、まだ押鍵されているのは部分音域Ａの音高ｎａ１，ｎａ２の鍵のみである。従って、部分音域Ａと対応する第３及び第４アサイナＡＳ−３，４が、図４に示した規則に従い、それぞれ音高ｎａ２及びｎａ１を選択する。第４アサイナＡＳ−４の選択はｔ（１）のタイミングと変わらないためここでは新たな発音は開始せず、第３アサイナＡＳ−３が選択した音高ｎａ２について楽音生成部３５に新たに発音を開始させる。
【００５８】
次のｔ（３）のタイミングでは、部分音域Ｂの音高ｎｂ１が押鍵される。一方、部分音域Ａの押鍵状態に変化はないため、ここでは部分音域Ｂと対応する第１及び第２アサイナＡＳ−１，２のみが発音音高の選択を行う。しかし、部分音域Ｂの押鍵は１つのみであるので、第２アサイナＡＳ−２はどの音高も選択せず、第１アサイナＡＳ−１が音高ｎｂ１を選択し、楽音生成部３５にこの音高の発音を開始させるのみである。第３及び第４アサイナＡＳ−３，４は、音高の選択に変動なく、対応する発音もそのまま継続される。
【００５９】
次のｔ（４）のタイミングでも、押鍵状態が変化するのは部分音域Ｂのみである。従って、部分音域Ｂと対応する第１及び第２アサイナＡＳ−１，２が、図４に示した規則に従い、それぞれ音高ｎｂ１及びｎｂ２を選択する。そして、どちらの選択もｔ（３）のタイミングと異なるため、楽音生成部３５にそれぞれ対応する新たな発音を開始させる。第３及び第４アサイナＡＳ−３，４は、ここでも音高の選択に変動なく、対応する発音もそのまま継続される。
【００６０】
ｔ（５）〜ｔ（８）のタイミングでは、各音高のキーオフ操作に応じて、キーオフされた音高の発音を楽音生成部３５に停止させる。これらのタイミングではキーオン操作はないので、アサイナＡＳが新たに音高を選択することはない。なお、図５では部分音域毎に処理するようにしたが、キーオフ操作に応じた発音停止に際しては、部分音域を意識する必要は特段ない。
【００６１】
このように、図５の処理によれば、ｔ（３）より前は、部分音域Ｂの鍵が操作されていないことから、低音側の音を選択させることを意識した第３及び第４アサイナＡＳ−３，４のみが発音音高を選択し、低音側の音を選択させることを意識した第１及び第２アサイナＡＳ−１，２は発音音高の選択を行わない。従って、低音域の鍵のみを先に操作した場合でも、高音域で発音すべき楽音（第１及び第２アサイナＡＳ−１，２と対応する音色）が低音域で発音してしまうことがない。
従って、演奏者の演奏操作の意図に合った発音音高の選択を容易に行うことができる。また、各アサイナＡＳに設定する選択規則は、図４に示したようなごく簡単なものでよい。
【００６２】
次に、図７の例は、高音側から低音側に向かって、順次音高ｎｂ１〜ｎａ１の鍵を押鍵及び離鍵する場合の例である。すなわち、図６の場合と逆順の操作を行う場合の例である。
図７からわかるように、ｔ（１）及びｔ（２）のタイミングでは、図６の場合と逆に、部分音域Ｂの鍵のみが押鍵されているため、部分音域Ｂと対応する第１及び第２アサイナＡＳ−１，２のみが発音音高の選択を行う。そして、ｔ（１）には第１アサイナＡＳ−１が音高ｎｂ２を選択して楽音生成部３５にこの音高の発音を開始させ、ｔ（２）には第２アサイナＡＳ−２が音高ｎｂ１を選択して楽音生成部３５にこの音高の発音を開始させる。
【００６３】
また、ｔ（３）及びｔ（４）のタイミングでは、部分音域Ａの押鍵状態のみが変化する。このため、部分音域Ａと対応する第３及び第４アサイナＡＳ−３，４のみが発音音高の選択を行う。そして、ｔ（３）には第４アサイナＡＳ−４が音高ｎａ２を選択して楽音生成部３５にこの音高の発音を開始させ、ｔ（４）には第３，第４アサイナＡＳ−３，４がそれぞれ音高ｎａ２，ｎａ１を選択して楽音生成部３５にこの音高の発音を開始させる。
ｔ（５）〜ｔ（８）のタイミングで、各音高のキーオフ操作に応じて、キーオフされた音高の発音を楽音生成部３５に停止させる点も、図６と同様である。
【００６４】
このように、図５の処理によれば、図６の例と逆に、高音域の鍵のみを先に操作した場合に、低音域で発音すべき楽音（第３及び第４アサイナＡＳ−３，４と対応する音色）が高音域で発音してしまうことがない。従って、この点でも、演奏者の演奏操作の意図に合った発音音高の選択を容易に行うことができる。
【００６５】
次に、図８の例は、音数及び音高の異なる複数回の押鍵及び離鍵を続けて行う場合の例である。
図８からわかるように、ｔ（１）のタイミングでは、部分音域Ａでは音高ｎａ１の鍵のみが押鍵され、部分音域Ｂでは音高ｎｂ１の鍵のみが押鍵される。これに応じて、部分音域Ａでは第４アサイナＡＳ−４が音高ｎａ１を選択し、部分音域Ｂでは第１アサイナＡＳ−１が音高ｎｂ１を選択し、楽音生成部３５に対応する発音を開始させる。そして、これらの発音は、ｔ（２）での離鍵に応じて停止される。
【００６６】
次のｔ（３）のタイミングでは、部分音域Ａでは音高ｎａ２及びｎａ３の鍵が押鍵され、部分音域Ｂでは音高ｎｂ１及びｎｂ２の鍵が押鍵される。これに応じて、部分音域Ａでは第３，４アサイナＡＳ−３，４がそれぞれ音高ｎａ３，ｎａ２を選択し、部分音域Ｂでは第１，２アサイナＡＳ−１，２がそれぞれ音高ｎｂ２，ｎｂ１を選択し、楽音生成部３５に対応する発音を開始させる。そして、これらの発音は、ｔ（４）での離鍵に応じて停止される。
ｔ（５）のタイミングでは、部分音域Ａではｔ（３）の場合と押鍵される鍵が異なるため、これに応じて第３，４アサイナＡＳ−３，４がそれぞれ音高ｎａ２，ｎａ１を選択するが、それ以外はｔ（３）の場合と同じ動作である。
【００６７】
このように、図５の処理によれば、部分音域Ａと部分音域Ｂにまたがって、押鍵数の変化する演奏を行う場合であっても、高音域で発音すべき楽音が低音域で発音してしまったり、低音域で発音すべき楽音が高音域で発音してしまったりすることがない。これは、押鍵数が変わっても、各アサイナが、対応する部分音域以外の音高を選択しないためである。
【００６８】
一方、部分音域内であれば、ｔ（３）とｔ（５）の部分音域Ａでの発音からわかるように、同じ音高ｎａ２を、あるときには第４アサイナと対応する音色で、別の時には第３アサイナと対応する音色で、というように、場合によって異なる音色で発音させることができる。これは、対応する部分音域内であれば、アサイナが（規則に従えば）どの音高でも選択できるようにしたためであり、従来のスプリット機能の場合よりも、ダイナミックに各音色の音高が変化する、変化に富んだ演奏が可能である。
例えば、弦楽４重奏を想定し、第１パートと第２パートを２本のバイオリンの音色、第３パートと第４パートをビオラとチェロの音色とする場合、前者が低音域を、後者が高音域を発音するとおかしいが、担当の音域内ではなるべく広範囲の音高で発音できることが望ましい。このような演奏を行いたい場合には、この実施形態の構成が特に有用である。
【００６９】
〔第１実施形態の比較例：図９，図１０〕
図９及び図１０に示すのは、部分音域を設定せず、各アサイナが全音域の押鍵から図４に示した規則に従って発音する音高を選択するようにした場合の比較例である。
図９は、図６と同じ演奏操作に応じた音高選択の様子を示す。
この場合、各キーオン操作のタイミングで、全アサイナＡＳが発音音高の選択を行う。
そして、ｔ（１）のタイミングでは、第２，第３アサイナＡＳ−２，３は押鍵数が１であるので音高選択を行わないが、第１，第４アサイナＡＳ−１，４が、押鍵された音高ｎａ１を選択し、楽音生成部３５にこの音高の発音を開始させる。
【００７０】
また、ｔ（２）のタイミングでは、第１，第３アサイナＡＳ−１，３が音高ｎａ２を選択し、第２，第４アサイナＡＳ−２，４が音高ｎａ１を選択し、楽音生成部３５にこの音高の発音を開始させる（第４アサイナＡＳ−４は以前と同じ選択なので新たな発音開始はしない）。
【００７１】
これらからわかるように、部分音域を設定しない場合には、低音域の鍵のみを先に操作すると、高音域で発音すべき楽音が低音域で発音してしまう。また、図示は省略するが、高音域の鍵のみを先に操作すると、同様に、低音域で発音すべき楽音が高音域で発音してしまう。従って、演奏者の演奏操作の意図から外れた発音音高の選択となってしまう。
図６及び図７の例ではこのような不具合が起こらないことは、上述の通りである。
【００７２】
また、図１０は、図８と同じ演奏操作に応じた音高選択の様子を示す。
この場合、ｔ（１）のタイミングで、第２，第４アサイナＡＳ−２，４が音高ｎａ１を選択し、第１，第３アサイナＡＳ−１，３が音高ｎｂ１を選択し、楽音生成部３５にこの音高の発音を開始させる。ｔ（３）以降の発音は図８と同じである。
この場合も、部分音域を設定しないと、押鍵数が少ない状態では、各アサイナが演奏者の演奏操作の意図から外れた発音音高の選択を行ってしまう。これに対し、図８の例ではこのような不具合が起こらないことは、上述の通りである。
【００７３】
〔第２実施形態：図１１乃至図１４〕
次に、本発明の第２実施形態である電子楽器について説明する。
この第２実施形態は、全音域モードを設けた点が第１実施形態と異なるのみであるので、この点についてのみ説明する。また、第１の実施形態と同じ又は対応する構成には第１の実施形態と同じ符号を用いる。この点は、以下の実施形態についても同様である。
【００７４】
図１１に、第２実施形態の電子楽器１０における、図２と対応する機能ブロック図を示す。
図１１に示すように、第２実施形態の電子楽器１０は、第１実施形態の電子楽器１０が備える構成に加え、モード選択指示受付部３７及びモード設定部３８を備える。これらのうち、モード選択指示受付部３７の機能は演奏操作子２２又は設定操作子２３及び検出回路１６により実現され、モード設定部３８の機能はＣＰＵ１１により実現される。
【００７５】
モード選択指示受付部３７は、ユーザによる電子楽器１０の動作モードの選択指示を受け付ける機能を備える。例えば、演奏操作子２２の一部であるペダルや、設定操作子２３の一部であるボタン等の操作状態によりこの指示を受け付けることができる。
また、第２実施形態において受け付ける動作モードは、第１実施形態の場合と同様に、各アサイナＡＳが対応する部分音域の押鍵リストから発音する音高を選択する通常モード及び、対応する部分音域以外の押鍵操作も考慮して発音する音高を選択する全音域モードである。また、モード選択指示受付部３７は、上記ペダルやボタンがオンにされている（第１の操作がなされている）場合に全音域モードが指示され、オフにされている（第１の操作がなされていない）場合に通常モードが指示されたと取り扱うとよい。
【００７６】
モード選択指示受付部３７は、以上の操作による動作モードの選択指示の情報をモード設定部３８に供給し、切替手段として機能するモード設定部３８がその情報に基づき動作モードを設定する。また、モード設定部３８は、操作状態検出部３２が各部分音域の押鍵リストを作成する際にその動作モードの情報を参照できるようにする。
そして、操作状態検出部３２は、動作モードが通常モードであるか全音域モードであるかに応じて異なるアルゴリズムで各部分音域の押鍵リストを作成する。
【００７７】
図１２に、第２実施形態においてＣＰＵ１１が実行する押鍵リスト作成処理のフローチャートを示す。この処理は、図５のステップＳ１１を置き換えるものである。
図１２の処理において、ＣＰＵ１１はまず、全音域モードを指示する操作がされているか否か判断する（Ｓ３１）。そして、Ｙｅｓであれば、検出したキーオン操作の音高を、全部分音域の押鍵リストにそれぞれ追加する（Ｓ３２）と共に、検出したキーオフ操作の音高を、全部分音域の押鍵リストからそれぞれ削除する（Ｓ３３）。複数の操作を検出した場合には、その全てについてこれらの処理を実行する。
【００７８】
後で具体例を示すが、ステップＳ３２の処理は、全音域モードを指示する操作がされている間になされた操作については、アサイナと対応する部分音域以外の音高についても発音音高選択の際に考慮させるための処理である。このため、全音域モードを指示する操作がされている間になされたキーオン操作は、そのキーオン操作がどの部分音域で行なわれたかによらず、全部分音域の押鍵リストに反映させるようにしている。また、これに対応して、キーオフ操作も、ステップＳ３３で全部分音域の押鍵リストに反映させるようにしている。なお、削除しようとする音高が押鍵リストにない場合には、何もしなくてよい。
【００７９】
一方、ステップＳ３１でＮｏであれば、ＣＰＵ１１は、検出したキーオン操作の音高を、その音高が属する部分音域の押鍵リストに追加する（Ｓ３４）と共に、検出したキーオフ操作の音高を、全部分音域の押鍵リストからそれぞれ削除する（Ｓ３５）。こちらも、複数の操作を検出した場合には、その全てについてこれらの処理を実行する。
【００８０】
この処理は、第１実施形態で説明した、各部分音域の押鍵リストを直接更新する場合の処理とほぼ同じものである。しかし、全音域モードの間に追加された、部分音域外の音高の情報も削除できるよう、ステップＳ３５での削除は、ステップＳ３３と同様、全部分音域の押鍵リストに対して行うようにしている。
【００８１】
ステップＳ３３又はＳ３５の後は図５のステップＳ１２以下の処理を実行し、各アサイナに発音音高選択を行わせる。ただし、ステップＳ１４及びＳ１６では、処理対象の部分音域の押鍵リストに反映されたキーオフ又はキーオンがあったか否かを判断する。全音域モードにおいては、アサイナと対応する部分音域外の音高のキーオン操作がアサイナと対応する部分音域の押鍵リストに反映され、それに応じてアサイナに発音音高を選択させるべき場合もあるためである。キーオフに応じた発音の停止も同様である。
なお、第２実施形態では、全音域モードの動作を考慮すると、全体押鍵リストから各部分音域の押鍵リストを作成することは困難であるため、全体押鍵リストの作成処理は図１２に示していない。しかし、全体押鍵リストを作成することも妨げられない。
【００８２】
次に、以上の全音域モードの効果について、図１３及び図１４を用いて説明する。
図１３は、ユーザが行う演奏操作と、それに応じて各アサイナが選択する発音音高との関係を示す、図７等と対応する図である。図１４は、図１３の各時点での検出操作及び押鍵リストの内容を示す、図３と対応する図である。ただし、全体押鍵リストは参考に記載したのみである。
【００８３】
図１３の例は、部分音域Ａの音高ｎａ１の鍵を押鍵しつつ、その間に、部分音域Ｂの音高ｎｂ１及びｎｂ２の鍵について複数回押鍵と離鍵を繰り返す場合の例である。また、ＳＷ＿ＯＮで示す期間は、全音域モードが指定されている。
図１３からわかるように、ｔ（１）のタイミングでは、部分音域Ａの音高ｎａ１の鍵のみが押鍵されているため、部分音域Ａと対応する第４アサイナＡＳ−４が音高ｎａ１を選択し、楽音生成部３５にこの音高の発音を開始させるのみである。
【００８４】
ｔ（２）のタイミングでは、部分音域Ｂの音高ｎｂ１及びｎｂ２の鍵のみが押鍵されるが、全音域モードが指定されているため、ｎｂ１及びｎｂ２はＡ押鍵リストにも追加される。従って、部分音域Ｂと対応する第１及び第２アサイナＡＳ−１，２が、音高ｎｂ１及びｎｂ２の中からそれぞれｎｂ２及びｎｂ１を選択するのに加え、部分音域Ａと対応する第３及び第４アサイナＡＳ−３，４も、発音音高の選択を行う。
【００８５】
このとき、選択は、Ａ押鍵リストに登録されている音高ｎａ１，ｎｂ１，ｎｂ２の３つの鍵が押鍵されているとして各アサイナの規則を適用する。その結果、第３アサイナＡＳ−３は最低音以外で最も低い音高ｎｂ１を、第４アサイナＡＳ−４は最低音の音高ｎａ１をそれぞれ選択する。そして、第１〜第３アサイナＡＳ−１〜３は、選択する音高が変化したため、楽音生成部３５に対応する発音を開始させる。
【００８６】
ｔ（３）のタイミングでは、離鍵された音高ｎｂ１及びｎｂ２の音高の発音が停止される。これは、どのアサイナと対応する発音であるかは関係なく行う。従って、本来音高ｎｂ１は選択しないはずの第３アサイナＡＳ−３と対応する発音も停止される。
ｔ（４）のタイミングの発音は、ｔ（２）の場合と同じである。また、ｔ（５）より前に全音域モードが解除されるが、これは、離鍵操作された音高を押鍵リストから削除する処理には影響しない。従って、ｔ（５）のタイミングでの発音停止もｔ（３）の場合と同じく行われる。
【００８７】
一方、ｔ（６）のタイミングでは、全音域モードの指定はなく、通常モードであるため、Ｂ押鍵リストにのみ音高ｎｂ１とｎｂ２が追加される。従って、部分音域Ａと対応するアサイナは発音音高の選択を行わず、部分音域Ｂと対応する第１及び第２アサイナＡＳ−１，２が、音高ｎｂ１及びｎｂ２の中からそれぞれｎｂ２及びｎｂ１を選択するのみである。
【００８８】
このように、全音域モードを用いることにより、各アサイナに、一時的に、対応する部分音域以外の音高を選択させることができる。部分音域毎の音高選択では制約が大きく、却って所望の音高選択ができない場合には、このようなモードを利用することにより、電子楽器１０により演奏者の演奏操作の意図に合った発音を行わせることができる。
【００８９】
なお、全音域モードにおいて、この第２実施形態では、全音域モードが指定されている間の操作についてのみ、各アサイナが、対応する部分音域外の音高への操作であっても考慮するようにした。しかし、これ以外にも、全音域モードが指定されている間は、各アサイナが、全体押鍵リストに基づき発音音高を選択する、とすることも考えられる。
このようにすると、例えば図１３のｔ（２）のタイミングにおいて、部分音域Ｂと対応する第１及び第２アサイナＡＳ−１，２が、音高ｎｂ１及びｎｂ２に加えて音高ｎａ１も考慮して発音音高の選択を行うことになる。このような手法でも、一時的に部分音域の制約を取り払った音高選択が可能である。
【００９０】
〔第３実施形態：図１５乃至図１８〕
次に、本発明の第３実施形態である電子楽器について説明する。
この第３実施形態は、音高追加モードを設けた点が第１実施形態と異なるのみであるので、この点についてのみ説明する。また、第１の実施形態と同じ又は対応する構成には第１の実施形態と同じ符号を用いる。この点は、以下の実施形態についても同様である。
【００９１】
第３実施形態においては、図１１と対応する機能ブロック図は省略するが、モード選択指示受付部３７が受け付けるのは、ある鍵が操作された場合に、その鍵の音高と対応する音高の鍵も操作されているとして各アサイナに発音音高の選択を行わせる音高追加モードである。モード選択指示受付部３７は、上記ペダルやボタンがオンにされている（第２の操作がなされている）場合に音高追加モードが指示され、オフにされている（第２の操作がなされていない）場合に通常モードが指示されたと取り扱うとよい。
操作状態検出部３２は、動作モードが通常モードであるか音高追加モードであるかに応じて異なるアルゴリズムで各部分音域の押鍵リストを作成する。
【００９２】
図１５に、第３実施形態においてＣＰＵ１１が実行する押鍵リスト作成処理のフローチャートを示す。この処理も、図５のステップＳ１１を置き換えるものである。
図１５の処理において、ＣＰＵ１１はまず、検出したキーオン操作の音高を全体押鍵リストに追加する（Ｓ４１）。これは、音高追加モードか通常モードかによらず共通の、検出した操作に係る音高そのものに関する処理である。
次に、ＣＰＵ１１は、音高追加モードを指示する操作がされているか否か判断する（Ｓ４２）。そして、Ｙｅｓであれば、検出したキーオン操作の音高と対応する追加音高を全体押鍵リストに追加する（Ｓ４３）。これは、音高追加モードにおいて追加する音高に関する処理である。
【００９３】
図１６に、操作を検出した音高である操作音高と、追加音高との対応関係を規定する追加設定テーブルの例を示す。この対応関係は、一方通行である。すなわち、追加音高について操作があった場合でも、操作音高が押鍵リストに追加されるとは限らない。また、この対応関係を設定するに際し、部分音域は考慮しなくてよい。すなわち、部分音域内の対応関係も、部分音域をまたぐ対応関係も、任意に設定可能である。
この追加設定テーブルは、モード設定部３８が保持し、その内容を操作状態検出部３２が参照できるようにするとよい。この場合、モード設定部３８が対応設定手段として機能する。また、ユーザが追加設定テーブルの内容を編集できるようにするとよい。
【００９４】
図１５の説明に戻ると、ステップＳ４２でＮｏであれば、すなわち通常モードであれば、ステップＳ４３はスキップする。
そして、ステップＳ４２又はＳ４３の後、ＣＰＵ１１は、検出したキーオフ操作の音高及びその音高と対応する追加音高を、全体押鍵リストから削除する（Ｓ４４）。ステップＳ４３で追加音高を全体押鍵リストに追加した後で音高追加モードが解除された場合でも、その追加音高を削除できるよう、ステップＳ４４では、モードによらず、追加音高の削除を行うようにしている。削除しようとする音高が全体押鍵リストに登録されていない場合には、削除を行わなくてよい。
【００９５】
その後ＣＰＵ１１は、ステップＳ４４までの更新後の全体押鍵リストに基づき、各部分音域の押鍵リストを更新する（Ｓ４５）。例えば、全体押鍵リストから、各部分音域に属する音高を抽出することにより、その部分音域の最新の押鍵リストを作成することができる。
【００９６】
ステップＳ４５の後は図５のステップＳ１２以下の処理を実行し、各アサイナに発音音高選択を行わせる。ただし、ステップＳ１４及びＳ１６では、処理対象の部分音域の押鍵リストに反映されたキーオフ又はキーオンがあったか否かを判断する。音高追加モードにおいては、アサイナと対応する部分音域外の音高のキーオン操作が、アサイナと対応する部分音域の追加音高として押鍵リストに反映され、それに応じてアサイナに発音音高を選択させるべき場合もあるためである。キーオフに応じた発音の停止も同様である。
【００９７】
なお、ある音高が追加音高としてある部分音域の押鍵リストに登録されている間にその音高の鍵が押鍵された場合、その押鍵に応じて改めて同じ音高をその押鍵リストに登録することはない。従ってこの場合、押鍵操作は該当の押鍵リストには反映されていないことになり、該当の部分音域と対応するアサイナは、その押鍵に応じた発音音高の選択は行わない。ステップＳ４４で登録しようとした追加音高が既に押鍵リストに登録されていた場合にも同様である。
【００９８】
次に、以上の音高追加モードの効果について、図１７及び図１８を用いて説明する。
図１７は、ユーザが行う演奏操作と、それに応じて各アサイナが選択する発音音高との関係を示す、図７等と対応する図である。破線の帯は、追加音高として押鍵リストに登録される音高を示す。図１８は、図１７の各時点での検出操作及び押鍵リストの内容を示す、図３と対応する図である。ただし、全体押鍵リストは参考に記載したのみである。
【００９９】
図１７の例は、図１３の例と同じ押鍵操作を行い、ＳＷ＿ＯＮで示す期間に音高追加モードを指定した例である。
図１７からわかるように、ｔ（１）のタイミングでは、部分音域Ａの音高ｎａ１の鍵のみが押鍵されているため、部分音域Ａと対応する第４アサイナＡＳ−４が音高ｎａ１を選択し、楽音生成部３５にこの音高の発音を開始させるのみである。
【０１００】
ｔ（２）のタイミングでは、部分音域Ｂの音高ｎｂ１及びｎｂ２の鍵のみが押鍵されるが、音高追加モードが指定されているため、これらと対応する追加音高であるｎａ２及びｎａ３も全体押鍵リストに追加され、これがＡ押鍵リストに反映される。従って、部分音域Ｂと対応する第１及び第２アサイナＡＳ−１，２が、音高ｎｂ１及びｎｂ２の中からそれぞれｎｂ２及びｎｂ１を選択するのに加え、部分音域Ａと対応する第３及び第４アサイナＡＳ−３，４も、発音音高の選択を行う。
【０１０１】
このとき、選択は、Ａ押鍵リストに登録されている音高ｎａ１，ｎａ２，ｎａ３の３つの鍵が押鍵されているとして各アサイナの規則を適用する。その結果、第３アサイナＡＳ−３は最低音以外で最も低い音高ｎａ２を、第４アサイナＡＳ−４は最低音の音高ｎａ１をそれぞれ選択する。そして、第１〜第３アサイナＡＳ−１〜３は、選択する音高が変化したため、楽音生成部３５に対応する発音を開始させる。
【０１０２】
ｔ（３）のタイミングでは、離鍵された音高ｎｂ１及びｎｂ２の音高の発音が停止される。また、これらと対応する追加音高であるｎａ２及びｎａ３の音高の発音も停止される。従って、本来音高ｎａ２を選択している第３アサイナＡＳ−３と対応する発音も停止される。
ｔ（４）のタイミングの発音は、ｔ（２）の場合と同じである。また、ｔ（５）より前に音高追加モードが解除されるが、これは、離鍵操作された音高を押鍵リストから削除する処理には影響しない。従って、ｔ（５）のタイミングでの発音停止もｔ（３）の場合と同じく行われる。
【０１０３】
一方、ｔ（６）のタイミングでは、音高追加モードの指定はなく、通常モードであるため、実際に押鍵された音高ｎｂ１とｎｂ２のみが全体押鍵リストに追加される。従って、Ａ押鍵リストに変化はないため、部分音域Ａと対応するアサイナは発音音高の選択を行わず、部分音域Ｂと対応する第１及び第２アサイナＡＳ−１，２が、音高ｎｂ１及びｎｂ２の中からそれぞれｎｂ２及びｎｂ１を選択するのみである。
【０１０４】
このように、音高追加モードを用いることにより、少ない押鍵数であっても、各部分鍵域で多数の押鍵をしたかのような楽音生成を行うことができる。従って、音数の多い演奏でも容易に行うことができる。また、音高追加モードと通常モードとを任意に切り替えることができるようにすれば、演奏者の望む時に簡単な操作で音数を増加させる、といったことも可能となり、さらに演奏の幅が広がる。
【０１０５】
なお、図１５の例では押鍵リストを作成する際に追加音高を検索するようにしたが、初めに操作を検出した際に、その操作に係る音高と対応する追加音高にも同じ操作があった（追加音高に関するキーオン／オフデータも検出した）ことにして、第１実施形態の場合と同様に図５の処理を実行することも考えられる。
また、音高追加モードが指示された時点で、その時に押鍵中の音高と対応する追加音高に、新たに押鍵操作があったものとして図１５の処理を実行してもよい。
【０１０６】
〔変形例〕
以上で実施形態の説明を終了するが、装置の構成、演奏操作子を始めとする操作子の構成、アサイナの数やアサイナに設定する選択規則、処理に用いるデータの構成、具体的な処理の手順等が上述の実施形態で説明したものに限られないことはもちろんである。
例えば、上述した実施形態では、部分音域毎に押鍵リストを用意するようにしたが、押鍵リストは全体押鍵リストのみとし、各アサイナが、全体押鍵リストに登録された音高のうち、対応する部分音域に属する音高のみを抽出して、その抽出結果に音高選択規則を適用するようにしてもよい。このようにしても、対応する部分音域中の音高と対応する演奏操作子２２の操作状態に応じた発音音高の選択は可能である。
【０１０７】
また、各部分音域と対応付けるアサイナの数は２ずつに限らないし、部分音域毎に均等である必要もない。
また、部分音域と対応付けたアサイナを用いる発音に加えて、押鍵に応じて、アサイナの動作によらず必ず発音する音色を設定できるようにしてもよい。ピアノやストリングスなどのポリ音色を、アサイナを用いる発音に加えて発音させる等である。また、この追加の発音は、一部の音域のみにおいて行ってもよい。その音域は、アサイナと対応付ける部分音域とは別に定義してもよい。
【０１０８】
また、３以上の部分音域を設ける場合に、そのうち２以上の部分音域について上述した実施形態のように発音音高の選択を行うアサイナを用意すれば、その他の部分音域については、部分音域内の押鍵と対応する発音を、部分音域と対応付けた音色で行うようにしてもよい。このようにしても、上記２以上の部分音域については、上述した実施形態と同様な効果が得られる。またこの場合、アサイナを用意した部分音域の範囲のみで、操作音高と追加音高の対応関係を定めることが望ましい。
【０１０９】
また、上述した実施形態では、演奏操作子が鍵盤であり、発音開始指示を押鍵操作により、発音停止指示を離鍵操作により行う例について説明した。しかし、演奏操作子の形態はこれに限られない。他の楽器の形状はもちろん、マトリクス状に操作部を配置したパッドなど、伝統的な楽器と全く異なる形状のユーザインタフェースを備える装置にもこの発明は適用可能である。この場合、発音開始指示及び発音停止指示は、そのユーザインタフェースの特性に応じた操作方法で受け付けることになる。
【０１１０】
また、電子楽器１０が演奏操作子を内蔵している必要もない。通信Ｉ／Ｆ１５に接続された外部のコントローラから、演奏操作子の操作内容を示す演奏データを取得し、その演奏データに基づいて電子楽器１０が各操作部の操作状態を把握することも考えられる。
また、汎用コンピュータのキーボードや、タッチパネルに表示したＧＵＩ（グラフィカルユーザインタフェース）を、演奏操作子として用いることも考えられる。この場合において、汎用コンピュータに図２に示した各部の機能を実現させることにより、電子楽器として機能させることができる。また、いずれの場合でも、図２に示した各部の機能を、複数の装置に分散して設け、それらを協働させて電子楽器１０の機能を実現させることもできる。
【０１１１】
この発明の実施形態であるプログラムは、１のコンピュータに、または複数のコンピュータを協働させて、図２に示した各部（特に操作状態検出部３２及び部分音域設定部３３）の機能を実現させるためのプログラムである。
そして、このようなプログラムをコンピュータに実行させることにより、上述したような効果を得ることができる。
【０１１２】
このようなプログラムは、はじめからコンピュータに備えるＲＯＭや他の不揮発性記憶媒体（フラッシュメモリ，ＥＥＰＲＯＭ等）などに格納しておいてもよい。しかし、メモリカード、ＣＤ、ＤＶＤ、ブルーレイディスク等の任意の不揮発性記録媒体に記録して提供することもできる。それらの記録媒体に記録されたプログラムをコンピュータにインストールして実行させることにより、上述した各手順を実行させることができる。
【０１１３】
さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部装置あるいはプログラムを記憶手段に記憶した外部装置からダウンロードし、コンピュータにインストールして実行させることも可能である。
また、以上説明してきた実施形態及び変形例の構成は、相互に矛盾しない限り任意に組み合わせて実施可能であることは勿論である。
【産業上の利用可能性】
【０１１４】
以上の説明から明らかなように、この発明によれば、それぞれ音高と対応する複数の操作部の操作状態に応じて複数の選択手段がそれぞれ発音する音高を選択する場合において、演奏者の演奏操作の意図に合った発音音高の選択を容易に行えるようにすることができる。
従って、この発明を適用することにより、電子楽器の利便性を向上させることができる。
【符号の説明】
【０１１５】
１０：電子楽器、１１：ＣＰＵ、１２：ＲＯＭ、１３：ＲＡＭ、１４：記憶装置、１５：通信Ｉ／Ｆ、１６：検出回路、１７：表示回路、１８：音源回路、１９：システムバス、２１：タイマ、２２：演奏操作子、２３：設定操作子、２４：ディスプレイ、２５：ＤＡＣ、２６：サウンドシステム、３１：発音指示受付部、３２：操作状態検出部、３３：部分音域設定部、３４：割当制御部、３５：楽音生成部、３６：出力部、３７：モード選択指示受付部、３８：モード設定部、ＡＳ：アサイナ、ＴＣ：発音ｃｈ
【図１】
2015125391.tif 000003
【図２】
2015125391.tif 000004
【図３】
2015125391.tif 000005
【図４】
2015125391.tif 000006
【図５】
2015125391.tif 000007
【図６】
2015125391.tif 000008
【図７】
2015125391.tif 000009
【図８】
2015125391.tif 000010
【図９】
2015125391.tif 000011
【図１０】
2015125391.tif 000012
【図１１】
2015125391.tif 000013
【図１２】
2015125391.tif 000014
【図１３】
2015125391.tif 000015
【図１４】
2015125391.tif 000016
【図１５】
2015125391.tif 000017
【図１６】
2015125391.tif 000018
【図１７】
2015125391.tif 000019
【図１８】
2015125391.tif 000020