(57)【要約】【課題】演奏者の演奏意図を反映させたアドリブ的な演奏出力を得ることが可能な演奏補助装置を提供する。【解決手段】演奏補助装置は、修正対象となる演奏情報を入力する入力手段と、コード進行を記憶し、現在の時刻におけるコードを供給するコード供給手段と、前記入力手段から入力される第１の演奏情報を、前記供給されるコードのルート音と特定の度数の音高差を有する第２の演奏情報に変換する第１の変換手段と、前記第１の演奏情報を、直前に入力された演奏情報と相対的な音高差を有する第３の演奏情報に変換する第２の変換手段と、前記入力手段から直前に入力された演奏情報と今回入力された演奏情報との音高差を検出する音高差検出手段と、前記第１の演奏情報が最初に入力される演奏情報である場合及び前記検出した音高差が０度又は５度以上である場合は、前記第１の変換手段に前記第１の演奏情報の変換を行わせ、前記検出した音高差が１度から４度以内である場合は、前記第２の変換手段に前記第１の演奏情報の変換を行わせる変換手段選択手段とを有する。【選択図】  図２
2005049444.tif 000002
【特許請求の範囲】
【請求項１】
修正対象となる演奏情報を入力する入力手段と、
コード進行を記憶し、現在の時刻におけるコードを供給するコード供給手段と、
前記入力手段から入力される第１の演奏情報を、前記供給されるコードのルート音と特定の度数の音高差を有する第２の演奏情報に変換する第１の変換手段と、
前記第１の演奏情報を、直前に入力された演奏情報と相対的な音高差を有する第３の演奏情報に変換する第２の変換手段と、
前記入力手段から直前に入力された演奏情報と今回入力された演奏情報との音高差を検出する音高差検出手段と、
前記第１の演奏情報が最初に入力される演奏情報である場合及び前記検出した音高差が０度又は５度以上である場合は、前記第１の変換手段に前記第１の演奏情報の変換を行わせ、前記検出した音高差が１度から４度以内である場合は、前記第２の変換手段に前記第１の演奏情報の変換を行わせる変換手段選択手段と
を有する演奏補助装置。
【請求項２】
前記第２の変換手段は、直前に入力された演奏情報と今回入力された演奏情報との音高差に応じて、スケール的な音高変換又はアルペジオ的な音高変換のいずれかを行う請求項１記載の演奏補助装置。
【請求項３】
修正対象となる演奏情報を入力する入力手順と、
コード進行を記憶し、現在の時刻におけるコードを供給するコード供給手順と、
前記入力手順から入力される第１の演奏情報を、前記供給されるコードのルート音と特定の度数の音高差を有する第２の演奏情報に変換する第１の変換手順と、
前記第１の演奏情報を、直前に入力された演奏情報と相対的な音高差を有する第３の演奏情報に変換する第２の変換手順と、
前記入力手順から直前に入力された演奏情報と今回入力された演奏情報との音高差を検出する音高差検出手順と、
前記第１の演奏情報が最初に入力される演奏情報である場合及び前記検出した音高差が０度又は５度以上である場合は、前記第１の変換手順に前記第１の演奏情報の変換を行わせ、前記検出した音高差が１度から４度以内である場合は、前記第２の変換手順に前記第１の演奏情報の変換を行わせる変換手順選択手順と
を有する演奏補助処理をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、演奏補助装置に関し、より詳しくは、ユーザの入力する演奏情報を補正する演奏補助装置に関する。
【０００２】
【従来の技術】
従来、音楽的知識の乏しい演奏者が、音楽理論を気にしないで、自由に演奏を楽しめるように、入力される演奏信号を音楽理論に沿ったものに変換する装置が知られている。（例えば、特許文献１参照。）
【０００３】
【特許文献１】特開平０５−０２７７５７号公報
【０００４】
【発明が解決しようとする課題】
従来の演奏補助装置は、入力される演奏信号を、一律にコード構成音や、指定される調のスケールトーンに変換してしまい。演奏者の感性を十分に活かすことが出来ない場合がある。
【０００５】
また、従来の演奏補助装置は、伴奏演奏（和音演奏）を行うことを主な目的としているので、入力されたノートをその時点におけるコードに合うノートに変換する。従って、演奏者がアドリブ演奏を意図した演奏入力を行ったとしても、例えば、相対的な音程等はある程度破棄されるため、演奏者の演奏意図を反映させたアドリブ的な演奏出力を得ることは難しい。
【０００６】
本発明の目的は、演奏者の演奏意図を反映させたアドリブ的な演奏出力を得ることが可能な演奏補助装置を提供することである。
【０００７】
【課題を解決するための手段】
本発明の一観点によれば、演奏補助装置は、修正対象となる演奏情報を入力する入力手段と、コード進行を記憶し、現在の時刻におけるコードを供給するコード供給手段と、前記入力手段から入力される第１の演奏情報を、前記供給されるコードのルート音と特定の度数の音高差を有する第２の演奏情報に変換する第１の変換手段と、前記第１の演奏情報を、直前に入力された演奏情報と相対的な音高差を有する第３の演奏情報に変換する第２の変換手段と、前記入力手段から直前に入力された演奏情報と今回入力された演奏情報との音高差を検出する音高差検出手段と、前記第１の演奏情報が最初に入力される演奏情報である場合及び前記検出した音高差が０度又は５度以上である場合は、前記第１の変換手段に前記第１の演奏情報の変換を行わせ、前記検出した音高差が１度から４度以内である場合は、前記第２の変換手段に前記第１の演奏情報の変換を行わせる変換手段選択手段とを有する。
【０００８】
【発明の実施の形態】
図１は、本発明の実施例による演奏補助装置１のハードウェア構成を示すブロック図である。
【０００９】
演奏補助装置１のバス２には、ＲＡＭ３、ＲＯＭ４、ＣＰＵ５、外部記憶装置７、検出回路８、表示回路１０、音源回路１２、効果回路１３、ＭＩＤＩインターフェイス１６、通信インターフェイス１７が接続される。
【００１０】
ユーザは、検出回路８に接続される複数のパネル操作子９を用いて、各種設定をすることができる。パネル操作子９は、例えば、ロータリーエンコーダ、スイッチ、マウス、文字入力用キーボード、ジョイスティック、ジョグシャトル等、ユーザの入力に応じた信号を出力できるものならどのようなものでもよい。
【００１１】
また、パネル操作子９は、マウス等の他の操作子を用いて操作するディスプレイ１１上に表示されるソフトスイッチ等でもよい。
【００１２】
表示回路１０は、ディスプレイ１１に接続され、各種情報をディスプレイ１１に表示することができる。
【００１３】
外部記憶装置７は、外部記憶装置用のインターフェイスを含み、そのインターフェイスを介してバス２に接続される。外部記憶装置７は、例えばフロッピ（登録商標）ディスクドライブ（ＦＤＤ）、ハードディスクドライブ（ＨＤＤ）、光磁気ディスク（ＭＯ）ドライブ、ＣＤ−ＲＯＭ（コンパクトディスク−リードオンリィメモリ）ドライブ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）ドライブ、半導体メモリ等である。
【００１４】
外部記憶装置７には、各種パラメータ、各種データ、及び本実施例を実現するためのプログラム及び演奏情報等を記憶することができる。
【００１５】
ＲＡＭ３は、フラグ、レジスタ又はバッファ、各種パラメータ等を記憶するＣＰＵ５のワーキングエリアを有する。ＲＯＭ４には、各種パラメータ及び制御プログラム、又は本実施例を実現するためのプログラム等を記憶することができる。ＣＰＵ５は、ＲＯＭ４又は、外部記憶装置７に記憶されている制御プログラム等に従い、演算又は制御を行う。
【００１６】
タイマ６は、ＣＰＵ５に接続されており、基本クロック信号、割り込み処理タイミング等をＣＰＵ５に供給する。
【００１７】
音源回路１２は、外部記憶装置７等に記録された演奏情報ＭＤ、演奏操作子１５又はＭＩＤＩインターフェイス１６に接続されたＭＩＤＩ機器１８等から供給されるＭＩＤＩ信号等の演奏信号に応じて楽音信号を生成し、効果回路１３を介して、サウンドシステム１４に供給する。
【００１８】
音源回路１２の方式は、波形メモリ方式、ＦＭ方式、物理モデル方式、高調波合成方式、フォルマント合成方式、ＶＣＯ＋ＶＣＦ＋ＶＣＡのアナログシンセサイザ方式、アナログシミュレーション方式等、どのような方式であってもよい。また、専用のハードウェアを用いて音源回路１２を構成してもよいし、ＤＳＰ＋マイクロプログラムを用いて音源回路１２を構成してもよいし、ＣＰＵ＋ソフトウェアのプログラムで音源回路１２を構成してもよい。また、これらの組合せでもよい。さらに、１つの回路を時分割で使用して複数の発音チャンネルを形成してもよいし、１つの発音チャンネルを１つの回路で形成してもよい。
【００１９】
効果回路１３は、音源回路１２から供給されるデジタル形式の楽音信号に各種効果を与える。サウンドシステム１４は、Ｄ／Ａ変換器及びスピーカを含み、供給されるデジタル形式の楽音信号をアナログ形式に変換し、発音する。
【００２０】
演奏操作子１５は、検出回路８に接続され、ユーザの演奏動作に従い、演奏信号を供給する。本実施例では、演奏操作子１５として、演奏用の鍵盤が用いられている。演奏操作子１５は、少なくとも、ＭＩＤＩ信号等の演奏信号を出力可能な操作子であればどのようなものでもよい。
【００２１】
ＭＩＤＩインターフェイス（ＭＩＤＩ  Ｉ／Ｆ）１６は、電子楽器、その他の楽器、音響機器、コンピュータ等に接続できるものであり、少なくともＭＩＤＩ信号を送受信できるものである。ＭＩＤＩインターフェイス１６は、専用のＭＩＤＩインターフェイスに限らず、ＲＳ−２３２Ｃ、ＵＳＢ（ユニバーサル・シリアル・バス）、ＩＥＥＥ１３９４（アイトリプルイー１３９４）等の汎用のインターフェイスを用いて構成してもよい。この場合、ＭＩＤＩメッセージ以外のデータをも同時に送受信するようにしてもよい。
【００２２】
ＭＩＤＩ機器１８は、ＭＩＤＩインターフェイス１６に接続される音響機器、楽器等である。ＭＩＤＩ機器１８の形態は鍵盤楽器に限らず、弦楽器タイプ、管楽器タイプ、打楽器タイプ等の形態でもよい。また、音源装置、自動演奏装置等を１つの電子楽器本体に内蔵したものに限らず、それぞれが別体の装置であり、ＭＩＤＩや各種ネットワーク等の通信手段を用いて各装置を接続するものであってもよい。ユーザは、このＭＩＤＩ機器１８を演奏（操作）することにより演奏信号の入力を行うこともできる。
【００２３】
また、ＭＩＤＩ機器１８は、演奏情報以外の各種データ及び各種設定を入力するための操作子としても用いることが出来る。
【００２４】
通信インターフェイス１７は、ＬＡＮ（ローカルエリアネットワーク）やインターネット、電話回線等の通信ネットワーク１９に接続可能であり、該通信ネットワーク１９を介して、サーバコンピュータ２０と接続し、ＨＤＤ等外部記憶装置７、又はＲＡＭ４等内に、サーバコンピュータ２０から制御プログラムや本実施例を実現するためのプログラム、演奏情報等をダウンロードすることができる。
【００２５】
なお、通信インターフェイス１７及び通信ネットワーク１９は、有線のものに限らず無線でもよい。また双方を備えていてもよい。
【００２６】
図２は、本発明の実施例による演奏補助装置１の機能を表すブロック図である。
【００２７】
演奏補助装置１は、例えば、演奏信号入力部２１、コード進行供給部２２、ノート変換部２３及び発音部２４で構成される。
【００２８】
演奏信号入力部２１は、例えば、図１の演奏操作子１５及び検出回路８、あるいはＭＩＤＩ機器１８等で構成され、ノート変換部２３に演奏信号を供給する。
【００２９】
コード進行供給部２２は、ＲＯＭ４又は外部記憶装置７等で構成され、複数のコード進行データを記憶している。コード進行データは、楽曲のコード進行を、一連のコードネーム又はコードを度数表記したＤｅｇｒｅｅコードにより記録したデータである。コード進行データは、特定の楽曲に対応したものでもよいし、特定の楽曲を想定していないものでもよい。また、コード進行データ以外に、ドラムやその他のパートの演奏データを含んでいてもよい。本実施例では、コードネームを「ｋｅｙ（調）情報＋度数」で管理することにより、各コードの機能を音楽的に解釈している。よって、コード進行データには、Ｄｅｇｒｅｅコードのみが記録され、ユーザの指定するｋｅｙ情報と併せて、実際のコードネームを特定する。あるいは、ｋｅｙ情報をコード進行データ中に含ませてもよい。なお、実際のコードネームをコード進行データに記録するようにしても良く、その場合はｋｅｙ情報は無くてもよい。コード進行供給部２２は、ユーザの指定するコード進行データをノート変換部２３に供給する。
【００３０】
ノート変換部２３は、後述する本実施例による演奏補助処理により、コード進行供給部２２から供給されるコード進行データに基づき、演奏信号入力部２１から供給される演奏信号に含まれるノートナンバーを変更する。
【００３１】
ノート変換部２３は、移調部３１、直前音高差検出部３２、ゲート３３、セレクタ３４、加算部３５、ルート音高差検出部３６、ディレイ３７、復調部３８、入力記憶部３９及びテーブルＴ１、Ｔ２を含んで構成される。
【００３２】
移調部３１は、演奏信号入力部２１から入力される演奏信号に含まれるノートナンバー（音高情報）をコード進行供給部２２からｋｅｙ情報として供給される原調からＣＭａｊｏｒ調（ハ長調）に移調する。
【００３３】
直前音高差検出部３２は、移調部３１で、ＣＭａｊｏｒ調に移調された入力ノートナンバーと、入力記憶部３９に記憶されている直前の入力ノートナンバー（ＣＭａｊｏｒ調に移調されている）との音高差を算出する。算出した音高差に従い、テーブルＴ２の列参照ポインタｉと、ゲート３３及びセレクタ３４を制御するための制御信号ｇａｔｅを出力する。なお、算出した各音高差における列参照ポインタｉ及び制御信号ｇａｔｅの値は、図８のステップＳＡ８を参照。
【００３４】
ゲート３３は、直前音高差検出部３２から入力される制御信号ｇａｔｅの値が「０」の場合（ｇａｔｅ＝０）に、テーブルＴ１を参照して変換される入力ノートナンバー（変換ノートナンバー）を、セレクタ３４に出力する。制御信号ｇａｔｅの値が「１」の場合（ｇａｔｅ＝０）は、入力ノートナンバーを遮断する。
【００３５】
テーブルＴ１は、Ｄｅｇｒｅｅコードごとに複数用意されており、例えば、図３（Ａ）に示すように、一定範囲の入力ノートナンバー（ノートナンバー０〜３１、３２〜３７等）を、現在のＤｅｇｒｅｅコードにおける３度又は７度の音（２８（Ｅ０）、３５（Ｂ０）等）に変換するためのテーブルである。なお、図３（Ａ）に示すテーブルＴ１は、Ｄｅｇｒｅｅコードが、ＩＭ７の場合のものである。
【００３６】
セレクタ３４は、直前音高差検出部３２から入力される制御信号ｇａｔｅの値が「０」の場合（ｇａｔｅ＝０）に、ゲート３３から供給されるテーブルＴ１によって変換された入力ノートナンバーを、復調部３８及びディレイ３７に出力する。直前音高差検出部３２から入力される制御信号ｇａｔｅの値が「１」の場合（ｇａｔｅ＝０）は、加算部３５から入力されるテーブルＴ２によって変換された入力ノートナンバー（変換ノートナンバー）を、復調部３８及びディレイ３７に出力する。
【００３７】
加算部３５は、ルート音高差検出部３６から供給される直前の変換ノートナンバーに一番近いルート音（Ｃ音）のノートナンバーｒｏｏｔと、テーブルＴ２を参照して得られたオフセット値を加算して、変換ノートナンバーを出力する。
【００３８】
ルート音高差検出部３６は、ディレイ３７から供給される直前の変換ノートナンバーに一番近いルート音（Ｃ音）のノートナンバーｒｏｏｔを算出するとともに、該算出したルート音（Ｃ音）のノートナンバーｒｏｏｔとディレイ３７から供給される直前の変換ノートナンバーとの差分値をテーブルＴ２の行参照ポインタ（音高差）ｊとして決定する。
【００３９】
テーブルＴ２は、テーブルＴ１と同様に、Ｄｅｇｒｅｅコードごとに複数用意されており、例えば、図３（Ｂ）に示すように、列参照ポインタｉ及び行参照ポインタ（音高差）ｊで示されるノートナンバーのオフセット値（変換係数）を出力するためのテーブルである。
【００４０】
ここで、テーブルＴ２では、列参照ポインタｉの値が、「１」の場合、すなわち直前の入力ノートナンバーと今回の入力ノートナンバーの音高差が「１」又は「２」である場合（０＜直前の入力ノートナンバー−今回の入力ノートナンバー≦２）は、スケール的な演奏で且つスケールアップしていく演奏に変換する。列参照ポインタｉの値が、「２」の場合、すなわち直前の入力ノートナンバーと今回の入力ノートナンバーの音高差が「−１」又は「−２」である場合（０＞直前の入力ノートナンバー−今回の入力ノートナンバー≧−２）は、スケール的な演奏で且つスケールダウンしていく演奏に変換する。
【００４１】
また、列参照ポインタｉの値が、「３」の場合、すなわち直前の入力ノートナンバーと今回の入力ノートナンバーの音高差が「３」又は「４」である場合（２＜直前の入力ノートナンバー−今回の入力ノートナンバー≦４）は、アルペジオ的な演奏で且つスケールアップしていく演奏に変換する。列参照ポインタｉの値が、「４」の場合、すなわち直前の入力ノートナンバーと今回の入力ノートナンバーの音高差が「−３」又は「−４」である場合（−２＞直前の入力ノートナンバー−今回の入力ノートナンバー≧−４）は、アルペジオ的な演奏で且つスケールダウンしていく演奏に変換する。
【００４２】
なお、列参照ポインタｉの値が、「０」の場合、すなわち直前の入力ノートナンバーと今回の入力ノートナンバーの音高差が「０」又は「±５」以上である場合は、オフセット値「０」を出力する。
【００４３】
また、本明細書では、現在の調に含まれるスケールノートを用いた演奏をスケール的な演奏と呼び、現在のＤｅｇｒｅｅコードの構成音を用いた演奏をアルペジオ的な演奏と呼ぶ。
【００４４】
上述したように、テーブルＴ２は、テーブルＴ１と同様に、Ｄｅｇｒｅｅコードごとに複数用意されており、図３（Ａ）に示すテーブルは、Ｄｅｇｒｅｅコードが、ＩＭ７の場合に適用されるものである。例えば、Ｄｅｇｒｅｅコードが、ＩＩＩｍ７の場合には図４（Ａ）に示すテーブルＴ２が用いられ、ＩＩｍ７の場合は、
図４（Ｂ）に示すテーブルＴ２が用いられる。
【００４５】
図３に戻り、ディレイ３７は、セレクタ３４から選択出力される変換ノートナンバーを一時的に保存して、次回の変換時（次のノートナンバーの変換時）に、直前の変換ノートナンバーとして、ルート音高差検出部３６に出力する。
【００４６】
復調部３８は、セレクタ３４から選択出力される変換ノートナンバーをＣＭａｊｏｒ調から原調に復調して、該変換されて復調されたノートナンバーを含む演奏信号を発音部２４に出力する。
【００４７】
発音部２４は、例えば、図１の音源回路１２、効果回路１３及びサウンドシステム１４からなり、入力される演奏信号に基づく楽音信号を生成して発音する。なお、発音部２４を外部に接続される装置（音源モジュール等）で構成しても良い。
【００４８】
次ぎに、図２に示す本実施例の演奏補助装置１において、最初に入力される演奏情報（ノートナンバー）、２回目以降に入力されるノートナンバーであって直前のノートナンバーとの音高差が１〜４度以内のもの及び直前に入力されるノートナンバーとの音高差が０度又は５度以上ある場合のそれぞれについて、図５〜図７を参照して具体的に説明する。
【００４９】
図５は、最初に入力される演奏情報（１音目）の変換処理の一例を表すブロック図である。
【００５０】
まず、移調部３１に、コード進行供給部２２からｋｅｙ情報（Ｆ）と演奏信号入力部２１から第１音目の音高（ノートナンバー）「Ｇ３♯（６８）」とが入力される。移調部３１では、入力された「Ｇ３♯（６８）」を現在の調である「Ｆ」から、「Ｃ」に移調（音高を５度下げる）し、ノートナンバーを「Ｄ３♯（６３）」とする。その後、移調されたノートナンバー「Ｄ３♯（６３）」は、入力記憶部３９に次回の変換処理のために記憶されるとともに、直前音高差検出部３２及びゲート３３に送られる。
【００５１】
直前音高差検出部３２は、移調されたノートナンバー「Ｄ３♯（６３）」と、入力記憶部３９に記憶されている前回入力されたノートナンバーの音高差を検出するが、前回入力されたノートナンバーが記憶されていないので、ｇａｔｅ＝０及びｉ＝０を出力する。
【００５２】
ゲート３３が、ｇａｔｅ＝０の信号を受け取ることにより、ｏｐｅｎの状態となり、移調されたノートナンバー「Ｄ３♯（６３）」は、テーブルＴ１を用いて、コード進行供給部２２から供給される現在のＤｅｇｒｅｅコード「ＩＭ７」の三度の音であるノートナンバー「Ｅ３（６４）」に変換される。ここで変換されたノートナンバー「Ｅ３（６４）」は、セレクタ３４に送られる。
【００５３】
セレクタ３４は、ｇａｔｅ＝０の信号に従い、テーブルＴ１によって変換されたノートナンバーを選択し、後段の復調部３８及びディレイ３７に変換されたノートナンバー「Ｅ３（６４）」を送出する。復調部３８では、受け取ったノートナンバー「Ｅ３（６４）」を元々の調である「Ｆ」に復調（音高を５度上げる）し、ノートナンバー「Ａ３（６９）」として、発音部２４に出力する。ディレイ３７は、受け取ったノートナンバー「Ｅ３（６４）」を次に入力される演奏信号の処理に使うために一時的に保存する。
【００５４】
一方、テーブルＴ２は、ｉ＝０の信号を直前音高差検出部３２から受け取るとともに、ルート音高差検出部３６から、ｊ＝０の信号を受け取り、オフセット値「０」を加算部３５に出力する。ルート音高差検出部３６は、ディレイ３７に前回の変換ノートナンバーが記憶されていないので、ｉ＝０の信号を出力する。なお、制御信号ｇａｔｅの値が「０」の場合（ｇａｔｅ＝０）は、テーブルＴ２、ルート音高差検出部３６、加算部３５の処理を省略しても良い。
【００５５】
図６は、２番目以降に入力される演奏情報（２音目以降）の変換処理の一例を表すブロック図である。ここでは、第２音目として、第１音目との音高差が４度以下のノートナンバーが入力された場合の例を説明する。
【００５６】
まず、移調部３１に、コード進行供給部２２からｋｅｙ情報（Ｆ）と演奏信号入力部２１から第２音目の音高（ノートナンバー）「Ｆ３♯（６６）」とが入力される。移調部３１では、入力された「Ｆ３♯（６６）」を現在の調である「Ｆ」から、「Ｃ」に移調（音高を５度下げる）し、ノートナンバーを「Ｃ３♯（６１）」とする。その後、移調されたノートナンバー「Ｃ３♯（６１）」は、入力記憶部３９に次回の変換処理のために記憶されるとともに、直前音高差検出部３２及びゲート３３に送られる。
【００５７】
直前音高差検出部３２は、移調されたノートナンバー「Ｃ３♯（６１）」と、入力記憶部３９に記憶されている前回入力（及び移調）されたノートナンバー「Ｄ３♯（６３）」の音高差「−２」を検出し、ｇａｔｅ＝１及びｉ＝２を出力する。
【００５８】
ゲート３３が、ｇａｔｅ＝１の信号を受け取ることにより、ｃｌｏｓｅの状態となり、移調されたノートナンバー「Ｃ３♯（６１）」に対するテーブルＴ１を用いた変換処理は行われなくなる。
【００５９】
ルート音高差検出部３６は、ディレイ３７に前回の変換ノートナンバー「Ｅ３（６４）」に一番近いルート音「Ｃ３（６０）」を算出し、該算出したルート音「Ｃ３（６０）」と前回の変換ノートナンバー「Ｅ３（６４）」との音高差「４」をｊ＝４としてテーブルＴ２に出力する。テーブルＴ２は、ｉ＝２の信号を直前音高差検出部３２から受け取るとともに、ルート音高差検出部３６から、ｊ＝４の信号を受け取り、オフセット値「２」を加算部３５に出力する。加算部３５では、ルート音高差検出部３６から出力されるルート音「Ｃ３（６０）」に、オフセット値「２」を加算して、ノートナンバー「Ｄ３（６２）」を変換ノートナンバーとして出力する。
【００６０】
セレクタ３４は、ｇａｔｅ＝１の信号に従い、テーブルＴ２によって変換されたノートナンバー「Ｄ３（６２）」を選択し、後段の復調部３８及びディレイ３７に変換されたノートナンバー「Ｄ３（６２）」を送出する。復調部３８では、受け取ったノートナンバー「Ｄ３（６２）」を元々の調である「Ｆ」に復調（音高を５度上げる）し、ノートナンバー「Ｇ３（６７）」として、発音部２４に出力する。ディレイ３７は、受け取ったノートナンバー「Ｄ３（６２）」を次に入力される演奏信号の処理に使うために一時的に保存する。
【００６１】
図７は、２番目以降に入力される演奏情報（２音目以降）の変換処理の他の例を表すブロック図である。ここでは、第２音目として、第１音目との音高差が４度以上のノートナンバーが入力された場合の例を説明する。
【００６２】
まず、移調部３１に、コード進行供給部２２からｋｅｙ情報（Ｆ）と演奏信号入力部２１から第２音目の音高（ノートナンバー）「Ｇ４♯（８０）」とが入力される。移調部３１では、入力された「Ｇ４♯（８０）」を現在の調である「Ｆ」から、「Ｃ」に移調（音高を５度下げる）し、ノートナンバーを「Ｄ４♯（７５）」とする。その後、移調されたノートナンバー「Ｄ４♯（７５）」は、入力記憶部３９に次回の変換処理のために記憶されるとともに、直前音高差検出部３２及びゲート３３に送られる。
【００６３】
直前音高差検出部３２は、移調されたノートナンバー「Ｄ４♯（７５）」と、入力記憶部３９に記憶されている前回入力（及び移調）されたノートナンバー「Ｃ３♯（６１）」の音高差「１４」を検出し、ｇａｔｅ＝０及びｉ＝０を出力する。
【００６４】
ゲート３３が、ｇａｔｅ＝０の信号を受け取ることにより、ｏｐｅｎの状態となり、移調されたノートナンバー「Ｄ４♯（７５）」は、テーブルＴ１を用いて、コード進行供給部２２から供給される現在のＤｅｇｒｅｅコード「ＩＭ７」の三度の音であるノートナンバー「Ｅ４（７６）」に変換される。ここで変換されたノートナンバー「Ｅ４（７６）」は、セレクタ３４に送られる。
【００６５】
一方、ルート音高差検出部３６は、ディレイ３７に前回の変換ノートナンバー「Ｄ３（６２）」に一番近いルート音「Ｃ３（６０）」を算出し、該算出したルート音「Ｃ３（６０）」と前回の変換ノートナンバー「Ｄ３（６２）」との音高差「２」をｊ＝２としてテーブルＴ２に出力する。テーブルＴ２は、ｉ＝０の信号を直前音高差検出部３２から受け取るとともに、ルート音高差検出部３６から、ｊ＝２の信号を受け取り、オフセット値「０」を加算部３５に出力する。加算部３５では、ルート音高差検出部３６から出力されるルート音「Ｃ３（６０）」に、オフセット値「０」を加算して、ノートナンバー「Ｃ３（６０）」を変換ノートナンバーとして出力する。なお、制御信号ｇａｔｅの値が「０」（ｇａｔｅ＝０）であるので、テーブルＴ２、ルート音高差検出部３６、加算部３５の処理は省略しても良い。
【００６６】
セレクタ３４は、ｇａｔｅ＝０の信号に従い、テーブルＴ１によって変換されたノートナンバー「Ｅ４（７６）」を選択し、後段の復調部３８及びディレイ３７に変換されたノートナンバー「Ｅ４（７６）」を送出する。復調部３８では、受け取ったノートナンバー「Ｅ４（７６）」を元々の調である「Ｆ」に復調（音高を５度上げる）し、ノートナンバー「Ａ５（８１）」として、発音部２４に出力する。ディレイ３７は、受け取ったノートナンバー「Ａ５（８１）」を次に入力される演奏信号の処理に使うために一時的に保存する。
【００６７】
以上のように、最初に入力されるノートナンバー及び前回入力されたノートナンバーとの音高差が「０度」又は「５度以上（＋５度及び−５度を含む）」ある場合は、テーブルＴ１を用いて現在のＤｅｇｒｅｅコードの三度（若しくは７度の構成音）の構成音に変換する。また、前回入力されたノートナンバーとの音高差が「２度〜４度以内（±２度〜±４度以内）」の場合は、テーブルＴ２を用いて、スケール的演奏又は、アルペジオ的演奏に変換する。
【００６８】
このようにすることで、入力されるノートナンバー（演奏情報）の相対的音高差に基づき変換態様を異ならせることができる。よって、現在のコードにそって、演奏者の意図を反映したアドリブ演奏の変換を行うことができる。
【００６９】
図８は、本発明の実施例による演奏補助処理を説明するためのフローチャートである。
【００７０】
ステップＳＡ１では、演奏補助処理をスタートし、ステップＳＡ２で、演奏時刻の計時を開始するとともに、コード進行の管理を開始する。コード進行の管理は、予め用意され保存されたコード進行に従い行われる。
【００７１】
ステップＳＡ３では、現在の演奏時刻がコード進行の切り替えタイミングか否かを判断する。コード進行の切り替えタイミングである場合は、ＹＥＳの矢印で示すステップＳＡ４に進み、切り替えタイミングで無い場合は、ＮＯの矢印で示すステップＳＡ５に進む。
【００７２】
ステップＳＡ４では、テーブルＴ１及びテーブルＴ２を現在のコード（Ｄｅｇｒｅｅコード）に合わせて切り替える。その後、ステップＳＡ５では、演奏信号の入力を検出する。演奏信号の入力を検出した場合は、ＹＥＳの矢印で示すステップＳＡ６に進む。演奏信号の入力を検出しない場合は、ＮＯの矢印で示すステップＳＡ３に戻る。
【００７３】
ステップＳＡ６では、入力された演奏信号に含まれるノートナンバーをＣＭａｊｏｒ調に移調する。
【００７４】
ステップＳＡ７では、ステップＳＡ６で移調された今回入力された演奏信号の音高（ノートナンバー）と前回入力されて移調された演奏信号の音高（ノートナンバー）の音高差を検出する。
【００７５】
ステップＳＡ８では、ステップＳＡ７で検出された音高差に従い、テーブルＴ２の列参照ポインタｉと、制御信号ｇａｔｅとを決定する。例えば、ステップＳＡ７で検出された音高差が、「０」、「５」以上又は「−５」以下の場合は、列参照ポインタｉ＝「０」、制御信号ｇａｔｅ＝「０」となる。ステップＳＡ７で検出された音高差が、「１」、又は「２」の場合は、列参照ポインタｉ＝「１」、制御信号ｇａｔｅ＝「１」となる。ステップＳＡ７で検出された音高差が、「−１」、又は「−２」の場合は、列参照ポインタｉ＝「２」、制御信号ｇａｔｅ＝「１」となる。ステップＳＡ７で検出された音高差が、「３」、又は「４」の場合は、列参照ポインタｉ＝「３」、制御信号ｇａｔｅ＝「１」となる。ステップＳＡ７で検出された音高差が、「−３」、又は「−４」の場合は、列参照ポインタｉ＝「４」、制御信号ｇａｔｅ＝「１」となる。
【００７６】
ステップＳＡ９では、ステップＳＡ８で決定された列参照ポインタｉの値が、「０」であるか否か、すなわち、ステップＳＡ７で検出された音高差が、「０」、「５」以上又は「−５」以下であるか否かを判断する。列参照ポインタｉの値が、「０」である場合は、ＹＥＳの矢印で示すステップＳＡ１０に進み、列参照ポインタｉの値が、「０」でない場合は、ＹＥＳの矢印で示すステップＳＡ１１に進む。ここでの分岐は、直前の入力ノートナンバーと今回の入力ノートナンバーの音高差が０度又は±５度以上である場合に、仕切りなおしとして、今回のノートナンバーを現在のＤｅｇｒｅｅコードの３度あるいは７度の音に変換して出力し、それ以外の場合は、音高差に応じたノート変換係数（オフセット値）を特定してノート変換を行うためのものである。
【００７７】
ステップＳＡ１０では、入力ノートナンバーをテーブルＴ１を用いて変換し、変換ノートナンバーとする。その後、ステップＳＡ１２に進む。
【００７８】
ステップＳＡ１１では、列参照ポインタｉ及び行参照ポインタ（音高差）ｊで示されるノートナンバーのオフセット値（変換係数）をテーブルＴ２から取得し、該オフセット値と算出したルート音（Ｃ音）のノートナンバーｒｏｏｔとを加算して、変換ノートナンバーとする。なお、直前の変換ノートナンバーに一番近いルート音（Ｃ音）のノートナンバーｒｏｏｔと、該ルート音（Ｃ音）のノートナンバーｒｏｏｔと直前の変換ノートナンバーとの差分値であるテーブルＴ２の行参照ポインタ（音高差）ｊは、後のステップＳＡ１２及び１３で決定される。最初の入力ノートナンバーである場合は、必然的にステップＳＡ１０が実行されるので、このステップＳＡ１１が実行される時点では、既に、ルート音ｒｏｏｔと行参照ポインタｉは、決定されている。
【００７９】
ステップＳＡ１２では、直前の変換ノートナンバーに一番近いルート音（Ｃ音）のノートナンバーｒｏｏｔを算出する（ｒｏｏｔ＝Ｉｎｔ（直前の変換ノートナンバー／１２）×１２）。
【００８０】
ステップＳＡ１３では、ステップＳＡ１２で算出された該ルート音（Ｃ音）のノートナンバーｒｏｏｔと直前の変換ノートナンバーとの差分値であるテーブルＴ２の行参照ポインタ（音高差）ｊを決定する（ｊ＝直前の変換ノートナンバー−ｒｏｏｔ）。
【００８１】
ステップＳＡ１４では、ステップＳＡ１０又はステップＳＡ１１で変換されたノートナンバーを原調に復調（移調）し、ステップＳＡ１５で、該復調された変換ノートナンバーを含む演奏信号を出力する。
【００８２】
ステップＳＡ１６では、演奏が終了したか否かを判断する。演奏の終了は、例えば、ユーザの終了指示により判断する。演奏が終了した場合は、ＹＥＳの矢印で示すステップＳＡ１７に進み、この演奏補助処理を終了する。演奏が終了していない場合は、ＮＯの矢印で示すステップＳＡ３に戻り、以降の処理を繰り返す。
【００８３】
以上、本発明の実施例によれば、音高差が小さければスケール的な演奏意図とみなして自動的に変換を行い、音高差が中程度であれば、アルペジオ的な演奏意図とみなして自動的に変換を行う。このように、音高差に応じて異なる処理を行うので、全く音楽的知識のない、又は楽器の演奏経験のない演奏者であっても、演奏者の演奏意図を反映しつつ、容易にコード進行上破綻のないアドリブ演奏を行うことができる。
【００８４】
また、本発明の実施例によれば、音楽的知識に乏しい演奏者であっても、音楽理論等を気にすることなく、音楽理論に沿った演奏を行うことが出来る。
【００８５】
また、さまざまな音楽ジャンルや楽器に対応した複数種類のコード発音分布テーブル又はコードトーン選択テーブルを用意することにより、幅広い音楽ジャンルへの対応や各楽器ごとの特長を活かした演奏を行うことが出来る。
【００８６】
なお、本発明の実施例では、入力された演奏信号を一旦Ｃ  Ｍａｊｏｒ調に移調してから、変換したが、それぞれの調に対応するテーブルを用意することで、移調せずに入力された演奏信号をそのまま変換するようにしてもよいし、任意の数の調に対応するテーブルを持ち、指定された調から最も近い調のテーブルに基づいて変換するようにしてもよい。
【００８７】
なお、本実施例の演奏補助装置１は、電子楽器の形態に限らず、カラオケ装置や、ゲーム装置、携帯電話等の携帯型通信端末、自動演奏ピアノに適用してもよい。携帯型通信端末に適用した場合、端末のみで所定の機能が完結している場合に限らず、機能の一部をサーバ側に持たせ、端末とサーバとからなるシステム全体として所定の機能を実現するようにしてもよい。
【００８８】
また、電子楽器の形態を取った場合、その形態は実施例で説明したような鍵盤楽器に限らず、弦楽器タイプ、管楽器タイプ、打楽器タイプ等の形態でもよい。また、音源装置、自動演奏装置等を１つの電子楽器本体に内蔵したものに限らず、それぞれが別体の装置であり、ＭＩＤＩや各種ネットワーク等の通信手段を用いて各装置を接続するものであってもよい。
【００８９】
また、本実施例は、本実施例に対応するコンピュータプログラム等をインストールした汎用のコンピュータ等によって、実施させるようにしてもよい。
【００９０】
その場合には、本実施例に対応するコンピュータプログラム等を、ＣＤ−ＲＯＭやフロッピー（登録商標）ディスク等の、コンピュータが読み込むことが出来る記憶媒体に記憶させた状態で、ユーザに提供してもよい。
【００９１】
以上実施例に沿って本発明を説明したが、本発明はこれらに制限されるものではない。例えば、種々の変更、改良、組合せ等が可能なことは当業者に自明であろう。
【００９２】
【発明の効果】
以上説明したように、本発明によれば、演奏者の演奏意図を反映させたアドリブ的な演奏出力を得ることが可能な演奏補助装置を提供することができる。
【図面の簡単な説明】
【図１】本発明の実施例による演奏補助装置１のハードウェア構成を示すブロック図である。
【図２】本発明の実施例による演奏補助装置１の機能を表すブロック図である。
【図３】本発明の実施例によるテーブルＴ１及びテーブルＴ２の一例を表す概念図である。
【図４】本発明の実施例によるテーブルＴ２のその他の例を表す概念図である。
【図５】最初に入力される演奏情報（１音目）の変換処理の一例を表すブロック図である。
【図６】２番目以降に入力される演奏情報（２音目以降）の変換処理の一例を表すブロック図である。
【図７】２番目以降に入力される演奏情報（２音目以降）の変換処理の他の例を表すブロック図である。
【図８】本発明の実施例による演奏補助処理を説明するためのフローチャートである。
【符号の説明】
１…演奏補助装置、２…バス、３…ＲＡＭ、４…ＲＯＭ、５…ＣＰＵ、６…タイマ、７…外部記憶装置、８…検出回路、９…パネル操作子、１０…表示回路、１１…ディスプレイ、１２…音源回路、１３…効果回路、１４…サウンドシステム、１５…演奏操作子、１６…ＭＩＤＩ  Ｉ／Ｆ、１７…通信Ｉ／Ｆ、１８…ＭＩＤＩ機器、１９…通信ネットワーク、２０…サーバコンピュータ、２１…演奏信号入力部、２２…コード進行供給部、２３…ノート変換部、２４…発音部、３１…移調部、３２…直前音高差検出部、３３…ゲート、３４…セレクタ、３５…加算部、３６…ルート音高差検出部、３７…ディレイ、３８…復調部、３９…入力記憶部
【図１】
2005049444.tif 000003
【図２】
2005049444.tif 000004
【図３】
2005049444.tif 000005
【図４】
2005049444.tif 000006
【図５】
2005049444.tif 000007
【図６】
2005049444.tif 000008
【図７】
2005049444.tif 000009
【図８】
2005049444.tif 000010