(57)【要約】【課題】  演奏者の個性に基づく統一的な演奏を維持しつつ、演奏に応じて伴奏パターンを変化させることにより、個性的であるとともにバリエーション豊かな演奏を実現する。【解決手段】  ＣＰＵ１は、鍵盤４の演奏によるメロディの演奏パターンに対するリズムパターンをスイッチ部５の操作に応じて選択するマニュアル演奏のモードにおいては、メロディの演奏パターンに対応するリズムパターンが選択されるごとに、ＲＡＭ３に記憶されているその演奏パターンおよびリズムパターンの履歴情報を更新し、リズムパターンを自動的に選択する自動演奏のモードにおいては、履歴情報に基づいてメロディの演奏パターンに最適なリズムパターンを選択する。【選択図】  図１
2006098858.tif 000002
【特許請求の範囲】
【請求項１】
主旋律の演奏パターンとともに演奏される伴奏パターンを操作に応じて選択するマニュアル演奏のモードにおいては、前記伴奏パターンが選択されるごとに所定の記憶手段に記憶されている当該演奏パターンおよび当該伴奏パターンの履歴情報を更新する履歴管理手段と、
主旋律の演奏パターンとともに演奏される伴奏パターンを自動的に選択する自動演奏のモードにおいては、前記記憶手段の履歴情報に基づいて主旋律の演奏パターンに最適な伴奏パターンを選択する伴奏選択手段と、
を備えた楽音制御装置。
【請求項２】
前記伴奏選択手段は、前記自動演奏のモードで演奏中の主旋律の演奏パターンに対応する履歴情報において使用頻度が最も多い伴奏パターンを最適な伴奏パターンとして選択することを特徴とする請求項１に記載の楽音制御装置。
【請求項３】
前記履歴管理手段は、前記マニュアル演奏のモードで演奏中の主旋律の演奏パターンと前記記憶手段の履歴情報に記憶されている主旋律の演奏パターンとの類似度が所定の閾値を超えている場合には、当該記憶されている主旋律の演奏パターンおよび当該演奏パターンに対応する伴奏パターンの使用頻度を増加することを特徴とする請求項１に記載の楽音制御装置。
【請求項４】
主旋律の演奏パターンとともに演奏される伴奏パターンを操作に応じて選択するマニュアル演奏のモードにおいては、前記伴奏パターンが選択されるごとに所定の記憶手段に記憶されている当該演奏パターンおよび当該伴奏パターンの履歴情報を更新する第１のステップと、
主旋律の演奏パターンとともに演奏される伴奏パターンを自動的に選択する自動演奏のモードにおいては、前記記憶手段の履歴情報に基づいて主旋律の演奏パターンに最適な伴奏パターンを選択する第２のステップと、
を実行する楽音制御処理のプログラム。
【請求項５】
前記第２のステップは、前記自動演奏のモードで演奏中の主旋律の演奏パターンに対応する履歴情報において使用頻度が最も多い伴奏パターンを最適な伴奏パターンとして選択することを特徴とする請求項４に記載の楽音制御処理のプログラム。
【請求項６】
前記第１のステップは、前記マニュアル演奏のモードで演奏中の主旋律の演奏パターンと前記記憶手段の履歴情報に記憶されている主旋律の演奏パターンとの類似度が所定の閾値を超えている場合には、当該記憶されている主旋律の演奏パターンおよび当該演奏パターンに対応する伴奏パターンの使用頻度を増加することを特徴とする請求項４に記載の楽音制御処理のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽音制御装置および楽音制御処理のプログラムに関し、特に、鍵盤演奏による主旋律に対して発生する伴奏パターンを制御する楽音制御装置および楽音制御処理のプログラムに関するものである。
【背景技術】
【０００２】
従来の電子鍵盤楽器や外部音源と組み合わせて楽音を発生する電子鍵盤装置においては、高音域である上鍵盤で主旋律すなわちメロディパートを演奏し、低音域である下鍵盤で伴奏パートを制御するための指令を入力する機能を備えている。そして、主旋律の演奏に応じて自動的に伴奏パターンを発生するための提案がなされている。
ある提案の自動伴奏装置においては、予め定められた複数種の伴奏パターンごとに、その特徴を示す特徴データを記憶しておき、このデータのうち予め設定された所定期間内の演奏操作タイミングに基づいて抽出される特徴データに同一もしくは最も類似する特徴データを選択することにより、その演奏に最も適した伴奏パターンに自動的に変更する。（特許文献１参照）
また、別の提案の自動伴奏装置においては、複数の伴奏パートの伴奏データを各パートごとに指定し、指定した各パートの伴奏データのパターンを鍵盤の押鍵の強弱によって各伴奏パターンごとに決定する。あるいは、複数の伴奏パターンのうち、ある伴奏パターンについては、伴奏パターンをモジュレーションホイールの操作方向に応じて各パートごとに指定し、別の伴奏パートについては鍵盤によって指定する。そして、モジュレーションホイールの操作方向に応じて指定した各パートの伴奏データについては、モジュレーションホイールの操作量によってパターンを選択する。また、別の伴奏パターンについては、鍵盤の押鍵の強弱によってパターンを選択する。（特許文献２参照）
【特許文献１】特公平６−５６５５０号公報
【特許文献２】特開２０００−３５６９８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記特許文献１ないし特許文献２の提案においては、その時々の演奏状態に応じた伴奏パターンの変化が偶発的になることにより、演奏者の個性に基づく統一的な演奏が損なわれるおそれがあった。
本発明は、このような従来の課題を解決するためのものであり、演奏者の個性に基づく統一的な演奏を維持しつつ、演奏に応じて伴奏パターンを変化させることにより、個性的であるとともにバリエーション豊かな演奏を実現することを目的とする。
【課題を解決するための手段】
【０００４】
請求項１に記載の楽音制御装置は、主旋律（実施形態においては、図２のシーケンスデータＳＥＱに相当する）の演奏パターン（実施形態においては、図２（Ａ）のＰＴ［１］…ＰＴ［ＮＰ］に相当する）とともに演奏される伴奏パターン（実施形態においては、図２（Ｂ）のリズムパターンＲＰに相当する）を操作に応じて選択するマニュアル演奏のモード（実施形態においては、ＭＯＤＥ＝０に相当する）においては、伴奏パターンが選択されるごとに所定の記憶手段（実施形態においては、図１のＲＡＭ３に相当する）に記憶されている当該演奏パターンおよび当該伴奏パターンの履歴情報（実施形態においては、図２（Ａ）のＮおよびＮ＿Ｒ［１］…Ｎ＿Ｒ［ＮＲ］に相当する）を更新する履歴管理手段（実施形態においては、図１のＣＰＵ１の機能に相当する）と、主旋律の演奏パターンとともに演奏される伴奏パターンを自動的に選択する自動演奏のモード（実施形態においては、ＭＯＤＥ＝１に相当する）においては、記憶手段の履歴情報に基づいて主旋律の演奏パターンに最適な伴奏パターンを選択する伴奏選択手段（実施形態においては、図１のＣＰＵ１の機能に相当する）と、を備えた構成になっている。
【０００５】
請求項１の楽音制御装置において、請求項２に記載したように、伴奏選択手段は、自動演奏のモードで演奏中の主旋律の演奏パターンに対応する履歴情報において使用頻度が最も多い伴奏パターンを最適な伴奏パターンとして選択する（実施形態においては、図７のステップＳＤ２３の処理に相当する）ような構成にしてもよい。
【０００６】
請求項１の楽音制御装置において、請求項３に記載したように、履歴管理手段は、マニュアル演奏のモードで演奏中の主旋律の演奏パターンと記憶手段の履歴情報に記憶されている主旋律の演奏パターンとの類似度が所定の閾値を超えている場合（実施形態においては、図７のステップＳＤ１６でＡ＞ＴＨ１の場合に相当する）には、当該記憶されている主旋律の演奏パターンおよび当該演奏パターンに対応する伴奏パターンの使用頻度を増加する（実施形態においては、図７のステップＳＤ１７の処理に相当する）ような構成にしてもよい。
【０００７】
請求項４に記載の楽音制御処理のプログラムは、主旋律（実施形態においては、図２のシーケンスデータＳＥＱに相当する）の演奏パターン（実施形態においては、図２（Ａ）のＰＴ［１］…ＰＴ［ＮＰ］に相当する）とともに演奏される伴奏パターン（実施形態においては、図２（Ｂ）のリズムパターンＲＰに相当する）を操作に応じて選択するマニュアル演奏のモード（実施形態においては、ＭＯＤＥ＝０に相当する）においては、伴奏パターンが選択されるごとに所定の記憶手段（実施形態においては、図１のＲＡＭ３に相当する）に記憶されている当該演奏パターンおよび当該伴奏パターンの履歴情報（実施形態においては、図２（Ａ）のＮおよびＮ＿Ｒ［１］…Ｎ＿Ｒ［ＮＲ］に相当する）を更新する第１のステップ（実施形態においては、図７のステップＳＤ１６ないしステップＳＤ２０の処理に相当する）と、主旋律の演奏パターンとともに演奏される伴奏パターンを自動的に選択する自動演奏のモード（実施形態においては、ＭＯＤＥ＝１に相当する）においては、記憶手段の履歴情報に基づいて主旋律の演奏パターンに最適な伴奏パターンを選択する第２のステップ（実施形態においては、図７のステップＳＤ２２ないしステップＳＤ２４の処理に相当する）と、を実行するような構成になっている。
【０００８】
請求項４の楽音制御処理のプログラムにおいて、請求項５に記載したように、第２のステップは、自動演奏のモードで演奏中の主旋律の演奏パターンに対応する履歴情報において使用頻度が最も多い伴奏パターンを最適な伴奏パターンとして選択する（実施形態においては、図７のステップＳＤ２３の処理に相当する）ような構成にしてもよい。
【０００９】
請求項４の楽音制御処理において、請求項６に記載したように、第１のステップは、マニュアル演奏のモードで演奏中の主旋律の演奏パターンと記憶手段の履歴情報に記憶されている主旋律の演奏パターンとの類似度が所定の閾値を超えている場合（実施形態においては、図７のステップＳＤ１６でＡ＞ＴＨ１の場合に相当する）には、当該記憶されている主旋律の演奏パターンおよび当該演奏パターンに対応する伴奏パターンの使用頻度を増加する（実施形態においては、図７のステップＳＤ１７の処理に相当する）ような構成にしてもよい。
【発明の効果】
【００１０】
本発明の楽音制御装置および楽音制御処理のプログラムによれば、個性的であるとともにバリエーション豊かな演奏を実現できるという効果が得られる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明による実施形態について、電子鍵盤楽器を例に採って説明する。
図１は、実施形態における電子鍵盤楽器の構成を示すブロック図である。ＣＰＵ１は、システムバスを介して、ＲＯＭ２、ＲＡＭ３、鍵盤４、スイッチ部５、音源部６に接続されており、これら各部との間で指令およびデータを授受して、この電子鍵盤楽器全体を制御する。
ＲＯＭ２には、ＣＰＵ１によって実行される楽音制御処理のプログラム、種々の変数の初期データなどがあらかじめ記憶されている。ＲＡＭ３は、ＣＰＵ１のワークエリアであり、ＣＰＵ１によって処理されるデータを一時的に記憶するためのエリア、楽音制御処理のプログラムに実行に必要なレジスタ、フラグ、および変数のエリアが設けられている。なお、ＲＡＭ３の少なくとも一部のエリアは、電源がオフになった後もデータを保持できるようにバックアップされる構成でもよい。鍵盤４は、主旋律すなわちメロディパートを演奏するための通常演奏用の上鍵盤と、コード指定用の下鍵盤とで構成されている。スイッチ部５は、モードスイッチ、プレイスイッチ、コード指定スイッチ、リズムパターン選択スイッチ等で構成されている。各スイッチの機能については後述する。音源部６は、ＣＰＵ１の発音指令およびメロディパート、リズムパート等を含む楽音データに応じて、波形データを生成してサウンドシステム７に出力し、ＣＰＵ１の消音指令に応じて消音制御信号をサウンドシステム７に出力して発音を停止させる。サウンドシステム７は、Ｄ／Ａコンバータ回路、フィルタ回路、増幅回路等（いずれも図示せず）で構成されており、音源部６からの楽音信号をスピーカ８に出力し、消音制御信号に応じて発音を停止する。
【００１２】
図２（Ａ）、（Ｂ）は、ＲＡＭ３のエリアに記憶されるデータのフォーマットを示す図である。図２（Ａ）において、ＴＥＭＰのエリアには、鍵盤の演奏に応じたシーケンスデータＳＥＱが一時的に記憶される。シーケンスデータＳＥＱは、図２（Ｂ）に示すように、イベントＮＯＴＥが演奏に応じて順次ストアされる。各ＮＯＴＥは、演奏された鍵の鍵番号すなわちノート番号、押鍵の強弱を表わすベロシティ、あるいは必要に応じて押鍵時間すなわちデルタタイムで構成されている。また、演奏中にリズムパターン選択スイッチがオンされたときは、その選択されたリズムパターンのイベントＲＰがストアされる。また、シーケンスデータの最後にはエンドデータＥＮＤのイベントが記憶されている。
【００１３】
図２（Ａ）において、ＰＴ［１］、ＰＴ［２］…ＰＴ［ＮＰ］のエリアには、マニュアル演奏時の複数種類の演奏パターンの履歴情報が記憶されている。すなわち、各ＰＴ［］のエリアには、パターン発生時刻Ｔ、同一演奏パターン又は類似の演奏パターンの演奏回数を示すＮ、その演奏パターンの演奏中においてリズムパターン選択スイッチによって選択されたリズムパターンの種類を示すＮ＿Ｒ［１］…Ｎ＿Ｒ［ＮＲ］、図２（Ｂ）に示すシーケンスデータＳＥＱが記憶されている。
【００１４】
次に、図１に示した電子鍵盤楽器の動作について、図３ないし図８に示すＣＰＵ１の動作フローチャートに基づいて説明する。
図３はメインルーチンのフローチャートである。まず、パラメータの初期処理を行う（ステップＳＡ１）。パラメータの初期処理においては、ＰＴ［ｉ］（ｉ＝１〜ＮＰ）のパターン発生時刻Ｔを−１にセットし、モードフラグＭＯＤＥを０にセットし、プレイフラグＰＬＡＹを０にセットし、演奏パターン書込み開始コードＣ［１］および演奏パターン書込み終了コードＣ［２］をともに−１にセットする。この初期処理の後、スイッチ処理（ステップＳＡ２）、鍵盤処理（ステップＳＡ３）、その他の処理（ステップＳＡ４）を繰り返し実行する。
【００１５】
図４は、図３のメインルーチンにおけるステップＳＡ２のスイッチ処理のフローチャートである。このフローにおいては、スイッチ部５の各スイッチのオン・オフをサーチして、オンされたスイッチを検出したときは、以下に記述するように、そのスイッチに対応する処理を行う。
モードスイッチがオンされたか否かを判別し（ステップＳＢ１）、このスイッチがオンされたときは、モードフラグＭＯＤＥを反転する（ステップＳＢ２）。ＭＯＤＥが０の場合は、マニュアル演奏モードであり、リズムパターン選択スイッチによるリズムパターン手動設定となる。これに対して、ＭＯＤＥが１の場合は、自動演奏モードであり、演奏パターン判別によるリズムパターン自動設定となる。また、プレイスイッチがオンされたか否かを判別し（ステップＳＢ３）、このスイッチがオンされたときは、プレイフラグＰＬＡＹを反転する（ステップＳＢ４）。そして、ＰＬＡＹが１であるか否かを判別する（ステップＳＢ５）。ＰＬＡＹが１である場合にはリズム演奏状態であり、リズム発音処理を行う（ステップＳＢ６）。一方、ＰＬＡＹが０の場合はリズム演奏停止状態であり、リズム消音処理を行い、書込みフラグＷＲＩＴＥを０にセットする（ステップＳＢ７）。ＷＲＩＴＥが０の場合には、図２（Ａ）に示したＲＡＭのエリアＴＥＭＰへのイベントデータの書込みを不可とし、ＷＲＩＴＥが１の場合には、ＴＥＭＰへのイベントデータの書込みを許可する。
【００１６】
次に、コード指定スイッチがオンされたか否かを判別し（ステップＳＢ８）、このスイッチがオンされたときは、Ｃ［１］およびＣ［２］を設定する（ステップＳＢ９）。次に、ＰＬＡＹが１で、かつ、リズムパターン選択スイッチがオンされたか否かを判別し（ステップＳＢ１０）、ＰＬＡＹが１でこのスイッチがオンされたときは、その選択されたリズムパターンの発音処理を行う（ステップＳＢ１１）。さらに、ＷＲＩＴＥが１であるか否かを判別し（ステップＳＢ１２）、このフラグが１である場合には、リズムパターンのイベントＲＰを作成して、ＴＥＭＰの書込みポインタＰＴＲのエリアに書込み、書込みポインタＰＴＲを次の書込みエリアに更新する（ステップＳＢ１３）。そして、図３のメインルーチンに戻る。
【００１７】
図５は、メインルーチンにおけるステップＳＡ３の鍵盤処理のフローチャートである。まず、コード指定用の下鍵盤をサーチして（ステップＳＣ１）、新たなコードが確定されたか否かを判別する（ステップＳＣ２）。新たなコードが確定されたときは、ＰＬＡＹが１であるか否かを判別し（ステップＳＣ３）、このフラグが１である場合には、ブレークパターン処理を実行する（ステップＳＣ４）。次に、確定されたコードの発音処理を行う（ステップＳＣ５）。コード発音処理の後、又は、ステップＳＣ２において新たなコードが確定されていない場合には、通常演奏用の上鍵盤処理を実行する（ステップＳＣ６）。そして、図３のメインルーチンに戻る。
【００１８】
図６および図７は、図５の鍵盤処理におけるステップＳＣ４のブレークパターン処理のフローチャートである。図６において、Ｃ［１］のコードが入力されたか否かを判別し（ステップＳＤ１）、Ｃ［１］のコードが入力されたときは、演奏パターンの書込み開始となり、ＷＲＩＴＥを１にセットし、ＴＥＭＰの書込みポインタＰＴＲをＴＥＭＰの先頭に設定する（ステップＳＤ２）。そして、図５の鍵盤処理に戻る。ステップＳＤ１において、Ｃ［１］のコードが入力されない場合には、Ｃ［２］のコードが入力されたか否かを判別し（ステップＳＤ３）、Ｃ［２］のコードが入力されない場合、すなわち、他のコード指定の入力があったときは、ＷＲＩＴＥを０にセットして（ステップＳＤ４）、図５の鍵盤処理に戻る。
【００１９】
ステップＳＤ３において、Ｃ［２］のコードが入力されたときは、ＷＲＩＴＥが１であるか否かを判別する（ステップＳＤ５）。このフラグが０である場合には図５の鍵盤処理に戻るが、このフラグが１である場合には、演奏パターンの書込み終了となり、ＴＥＭＰにＥＮＤイベントを書込み、変数ｎを１にセットし、変数ｋを１にセットし、レジスタＡに−１をストアする（ステップＳＤ６）。そして、変数ｎをインクリメントしながら、ステップＳＤ７からステップＳＤ１４までのループ処理を繰り返し、ＲＡＭ３に記憶されている演奏パターンＰＴ［１］〜ＰＴ［ＮＰ］をサーチする。
【００２０】
ループ処理の最初に、変数ｎの値が記憶エリアの最後のインデックスＮＰの値を超えたか否かを判別し（ステップＳＤ７）、ｎの値がＮＰの値以下である場合には、ＰＴ［ｎ］のパターン発生時刻Ｔが−１であるか否かを判別する（ステップＳＤ８）。すなわち、ＰＴ［ｎ］に演奏パターンが記憶されておらず、そのエリアがＮＵＬＬであるか否かを判別する。ＰＴ［ｎ］のパターン発生時刻Ｔが−１でなく、ＰＴ［ｎ］の演奏パターンが記憶されている場合には、レジスタＡの値が−１（初期値）であるか否かを判別する（ステップＳＤ９）。Ａの値が−１である場合には、Ａに０をストアする（ステップＳＤ１０）。Ａに０をストアした後、又は、Ａの値が−１でない場合には、ＴＥＭＰにストアしたシーケンスデータの演奏パターンと、ＰＴ［ｎ］のシーケンスデータの演奏パターンの類似度をレジスタＢにストアする（ステップＳＤ１１）。類似度は０（完全不一致）から１００（完全一致）までの数値で表わされる。類似度の算出としては、例えば、次のような方法がある。
（１）両方のシーケンスデータのＮＯＴＥイベントのノート番号の並び順の一致具合を考慮して算出する。
（２）両方のシーケンスデータのイベントのベロシティの一致具合を考慮して算出する。
（３）両方のシーケンスデータのイベントがデルタタイムを含む場合には、その一致具合を考慮して算出する。
（４）上記（１）ないし（３）の２つ以上を組み合わせて、それぞれの一致具合を考慮して算出する。
【００２１】
次に、Ｂの類似度がＡの類似度よりも高いか否かを判別し（ステップＳＤ１２）、Ｂの類似度がＡの類似度よりも高いときは、ＡにＢの値をストアし、変数ｋに変数ｎの値をセットする（ステップＳＤ１３）。すなわち、ＴＥＭＰに一時的にストアした演奏パターンに類似度が最も高いものとして、ＰＴ［ｋ］の演奏パターンを暫定的に決定する。このステップＳＤ１３の処理の後、若しくは、ステップＳＤ１２においてＢの類似度がＡの類似度以下である場合、又は、ステップＳＤ８において、ＰＴ［ｎ］のパターン発生時刻Ｔが−１で、ＰＴ［ｎ］の演奏パターンが記憶されていない場合には、ｎの値を１つインクリメントして（ステップＳＤ１４）、ループ処理の最初のステップＳＤ７に戻る。
【００２２】
ステップＳＤ７において、ｎの値がＮＰの値を超えたとき、すなわち、演奏パターンＰＴ［１］〜ＰＴ［ＮＰ］のサーチがすべて終了したときは、ＰＴ［ｋ］の演奏パターンはＴＥＭＰに一時的にストアした演奏パターンに類似度が最も高いものとして、最終的に決定される。この場合には、図７のフローにおいて、ＭＯＤＥが０であるか否かを判別する（ステップＳＤ１５）。ＭＯＤＥが０でマニュアル演奏のモードの場合には、Ａの値が閾値ＴＨ１の値よりも高いか否かを判別する（ステップＳＤ１６）。ＴＨ１は類似度がかなり高い値に設定されているので、Ａの値が閾値ＴＨ１の値よりも高い場合には、ＰＴ［ｋ］の演奏回数であるＮの値を１つインクリメントし、ＴＥＭＰのシーケンスデータにおけるリズムパターンに対応するＰＴ［ｋ］のＮ＿Ｒ［］の値を増加する（ステップＳＤ１７）。
【００２３】
ステップＳＤ１６において、Ａの値が閾値ＴＨ１の値以下の場合には、Ａの値が閾値ＴＨ２の値よりも高いか否かを判別する（ステップＳＤ１８）。ＴＨ２は類似度が比較的高い値（ただしＴＨ１よりも小さい値）に設定されている。Ａの値が閾値ＴＨ２の値よりも高い場合には、コピー先の適当なＰＴ［ｋ］を決定して（ステップＳＤ１９）、ＴＥＭＰのシーケンスデータを保存する。ＰＴ［ｋ］を決定する手順としては、例えば、下記の手順がある。
（１）ＰＴ［ｎ］のパターン発生時刻Ｔが−１であるエリア、すなわち、演奏パターンが存在しないＮＵＬＬのエリアをコピー先のＰＴ［ｋ］として決定する。
（２）Ｔが−１のエリアがない場合には、ＰＴ［ｎ］の演奏回数であるＮの値が最小のエリアをコピー先のＰＴ［ｋ］として決定する。
（３）演奏回数であるＮの値が最小のエリアが複数ある場合には、その中でパターン発生時刻Ｔが最も古いエリアをコピー先のＰＴ［ｋ］として決定する。
【００２４】
コピー先のＰＴ［ｋ］を決定した後は、ＰＴ［ｋ］のパターン発生時刻Ｔに現在時刻をストアし、ＰＴ［ｋ］の演奏回数Ｎに１をストアし、ＰＴ［ｋ］のＳＥＱにＴＥＭＰのシーケンスデータをストアし、ＴＥＭＰのシーケンスデータにおけるリズムパターンに対応して、ＰＴ［ｋ］のＮ＿Ｒ［］を設定する（ステップＳＤ２０）。ステップＳＤ１８において、Ａの値がＴＨ２の値以下である場合には、Ａの値が−１であるか否かを判別する（ステップＳＤ２１）。Ａの値が−１である場合には、図６のステップＳＤ８において、ｎ＝１〜ＮＰのすべてのＰＴ［ｎ］のパターン発生時刻Ｔが−１で、ステップＳＤ９およびＳＤ１０の処理をスキップした状態である。この場合には、図２（Ａ）のＰＴ［１］〜ＰＴ［ＮＰ］に演奏パターンが全くない初期状態である。この場合にはｋの値は１（初期値）であるので、ステップＳＤ２０において、ＰＴ［１］のＴに現在時刻をストアし、ＰＴ［１］のＮに１をストアし、ＰＴ［１］のＳＥＱにＴＥＭＰのシーケンスデータをストアし、ＴＥＭＰのリズムパターンに対応して、ＰＴ［１］のＮ＿Ｒ［］を設定する。すなわち、ＴＥＭＰのシーケンスデータ内に存在するリズムパターンのＮ＿Ｒ［］には１を、存在しないリズムパターンのＮ＿Ｒ［］には０を、それぞれ設定する。
【００２５】
ステップＳＤ１５においてＭＯＤＥが１で、リズムパターンを自動的に選択する自動演奏のモードの場合には、Ａの値が閾値ＴＨ１の値よりも高いか否かを判別する（ステップＳＤ２２）。Ａの値が閾値ＴＨ１の値よりも高い場合には、ＰＴ［ｋ］においてＮ＿Ｒ［］の値が最大のリズムパターンを選択して、発音処理を行う（ステップＳＤ２３）。一方、Ａの値が閾値ＴＨ１の値以下である場合には、ＴＥＭＰのＮＯＴＥイベントのベロシティ平均値からリズムパターンを決定し、発音処理を行う（ステップＳＤ２４）。
【００２６】
ステップＳＤ１７においてＰＴ［ｋ］のＮおよびＮ＿Ｒ［］の値を増加した後、ステップＳＤ２０においてＰＴ［ｋ］にデータを設定した後、又は、ステップＳＤ２３において選択したリズムパターンの発音処理を行った後、若しくは、ステップＳＤ２４において決定したリズムパターンの発音処理を行った後は、図６のステップＳＤ４においてＷＲＩＴＥを０にセットして、図５の鍵盤処理に戻る。また、図７のステップＳＤ２１においてＡの値が−１でない場合、すなわち、初期状態ではない状態の場合で、ＴＥＭＰのシーケンスデータの演奏パターンとＰＴ［ｎ］の演奏パターンとの類似度が閾値ＴＨ２以下である場合には、ＴＥＭＰの演奏パターンを保存することなく、図６のステップＳＤ４においてＷＲＩＴＥを０にセットして、図５の鍵盤処理に戻る。
【００２７】
図８は、図５の鍵盤処理におけるステップＳＣ６の上鍵盤処理のフローチャートである。まず、上鍵盤をサーチして（ステップＳＥ１）、各鍵に押鍵又は離鍵の変化があるか否かを判別する（ステップＳＥ２）。すべての鍵に変化がない場合にはメインルーチンに戻るが、押鍵の変化があったときは、ＷＲＩＴＥが１であるか否かを判別する（ステップＳＥ３）。このフラグが１である場合には、押鍵の鍵番号に対応するＮＯＴＥイベントを作成し、そのイベントを書込みポインタＰＴＲのＴＥＭＰのエリアに書込み、ＰＴＲの値を次のエリアに更新する（ステップＳＥ４）。この後、又は、ステップＳＥ３においてＷＲＩＴＥが０の場合には、押鍵された鍵番号に対応するノートの発音処理を行う（ステップＳＥ５）。ステップＳＥ２において、離鍵の変化があったときは、離鍵された鍵番号に対応するノートの消音処理を行う（ステップＳＥ６）。ステップＳＥ５の発音処理、又は、ステップＳＥ６の消音処理の後は、メインルーチンに戻る。
【００２８】
以上のように、この実施形態によれば、ＣＰＵ１は、鍵盤４の演奏によるメロディの演奏パターンに対するリズムパターンをスイッチ部５の操作に応じて選択するマニュアル演奏のモードにおいては、シーケンスデータの演奏パターンに対応するリズムパターンが選択されるごとに、ＲＡＭ３に記憶されているその演奏パターンおよびリズムパターンの履歴情報である演奏回数ＮおよびＮ＿Ｒ［］を更新し、メロディの演奏パターンに対応するリズムパターンを自動的に選択する自動演奏のモードにおいては、ＲＡＭ３の履歴情報に基づいてメロディの演奏パターンに最適なリズムパターンを選択する。
したがって、演奏者の個性に基づく統一的な演奏を維持しつつ、演奏に応じて伴奏パターンを変化させることにより、個性的であるとともにバリエーション豊かな演奏を実現することができる。
【００２９】
この場合において、ＣＰＵ１は、自動演奏のモードで演奏中のシーケンスデータの演奏パターンに対応する履歴情報において、使用頻度を示すＮ＿Ｒ［］の値が最も多いリズムパターンを最適なリズムパターンとして選択する。
ＣＰＵ１はまた、マニュアル演奏のモードで演奏中のシーケンスデータの演奏パターンと、ＲＡＭ３の履歴情報に記憶されているシーケンスデータの演奏パターンとの類似度がかなり高い閾値ＴＨ１を超えている場合には、その記憶されているシーケンスデータの演奏パターンおよびその演奏パターンに対応するリズムパターンの使用頻度を示すＮの値およびＮ＿Ｒ［］の値を増加する。
【００３０】
なお、上記実施形態においては、シーケンスデータの演奏パターンに対するリズムパターンを使用頻度に応じて選択する構成について説明したが、リズムパターン以外の伴奏パターンを使用頻度に応じて選択する構成にしてもよい。例えば、シーケンスデータにおけるノート番号の並びの演奏パターンに対して、コードパターンを使用頻度に応じて選択する構成にしてもよい。あるいは、メロディパートを引き立てるオブリガードを使用頻度に応じて選択する構成にしてもよい。
【００３１】
上記実施形態においては、ＲＯＭ２にあらかじめ記憶された楽音制御処理のプログラムをＣＰＵ１が実行する装置の発明について説明したが、汎用のパソコン、電子鍵盤装置、および外部音源を組み合わせたシステムによって本発明を実現することも可能である。すなわち、フレキシブルディスク（ＦＤ）、ＣＤ、ＭＤなどの記憶媒体に記録されている楽音制御処理のプログラムをパソコンのハードディスクなどの不揮発性メモリにインストールしたり、インターネットなどのネットワークからダウンロードした楽音制御処理のプログラムを不揮発性メモリにインストールして、そのプログラムをパソコンのＣＰＵが実行することも可能である。この場合には、プログラムの発明やそのプログラムを記録した記録媒体の発明を実現できる。
【００３２】
すなわち、本発明によるプログラムは、
主旋律の演奏パターンとともに演奏される伴奏パターンを操作に応じて選択するマニュアル演奏のモードにおいては、前記伴奏パターンが選択されるごとに所定の記憶手段に記憶されている当該演奏パターンおよび当該伴奏パターンの履歴情報を更新する第１のステップと、主旋律の演奏パターンとともに演奏される伴奏パターンを自動的に選択する自動演奏のモードにおいては、前記記憶手段の履歴情報に基づいて主旋律の演奏パターンに最適な伴奏パターンを選択する第２のステップと、を実行する。
【００３３】
前記第２のステップは、前記自動演奏のモードで演奏中の主旋律の演奏パターンに対応する履歴情報において使用頻度が最も多い伴奏パターンを最適な伴奏パターンとして選択する。
【００３４】
前記第１のステップは、前記マニュアル演奏のモードで演奏中の主旋律の演奏パターンと前記記憶手段の履歴情報に記憶されている主旋律の演奏パターンとの類似度が所定の閾値を超えている場合には、当該記憶されている主旋律の演奏パターンおよび当該演奏パターンに対応する伴奏パターンの使用頻度を増加する。
【図面の簡単な説明】
【００３５】
【図１】本発明の実施形態における電子鍵盤楽器の構成を示すブロック図。
【図２】図１のＲＡＭのエリアに記憶されるデータのフォーマットを示す図。
【図３】図１のＣＰＵのメインルーチンのフローチャート。
【図４】図３のメインルーチンにおけるスイッチ処理のフローチャート。
【図５】図３のメインルーチンにおける鍵盤処理のフローチャート。
【図６】図５の鍵盤処理におけるブレークパターン処理のフローチャート。
【図７】図６に続くブレークパターン処理のフローチャート。
【図８】図５の鍵盤処理における上鍵盤処理のフローチャート。
【符号の説明】
【００３６】
１  ＣＰＵ
２  ＲＯＭ
３  ＲＡＭ
４  鍵盤
５  スイッチ部
６  音源部
７  サウンドシステム
８  スピーカ
【図１】
2006098858.tif 000003
【図２】
2006098858.tif 000004
【図３】
2006098858.tif 000005
【図４】
2006098858.tif 000006
【図５】
2006098858.tif 000007
【図６】
2006098858.tif 000008
【図７】
2006098858.tif 000009
【図８】
2006098858.tif 000010