(57)【要約】【解決課題】  安全かつ高い即時性で、演奏者に情報を確実に伝達して、鍵盤楽器の演奏を支援することができるようにする。【解決手段】  押圧操作された鍵を示す値がキー値となっているノートオンメッセージをＭＩＤＩキーボードから入力されると（１０４）、入力されたノートオンメッセージのキー値及びノートオンメッセージが入力されたタイミングが正しいか否かを判定し（１０８、１１０）、ノートオンメッセージのキー値が示す音高と旋律データの音情報の音高とが異なると、又はノートオンメッセージのタイミングと旋律データの音情報のタイミングとの差が所定範囲外であると、入力されたノートオンメッセージのキー値と同じ値をキー値とするノートオンメッセージを作成し、ＭＩＤＩキーボードへ出力する（１１４）。【選択図】  図３
2006145681.tif 000002
【特許請求の範囲】
【請求項１】
複数の鍵を備え、かつ、各鍵が操作されたときに操作信号を出力するキーボードの前記鍵の各々に各々が収納された複数の振動手段と、
前記操作信号に基づいて、所定の振動手段を振動させるように制御する制御手段と、
を含む鍵盤楽器支援装置。
【請求項２】
前記制御手段は、前記操作信号と予め定められた演奏情報とを比較し、該操作信号が該演奏情報と異なる場合に、該操作信号に対応する鍵に収納された前記振動手段を振動させるように制御する請求項１に記載の鍵盤楽器支援装置。
【請求項３】
前記制御手段は、前記操作信号の時系列変化に基づいて、次の操作信号の出現確率を算出し、該出現確率が所定値以上でない場合に、該次の操作信号に対応する鍵に収納された前記振動手段を振動させるように制御する請求項１に記載の鍵盤楽器支援装置。
【請求項４】
前記次の操作信号は、所定時間内に複数の操作信号が出力された場合、前記複数の操作信号の複数の鍵のうち最も音高が高い鍵の操作信号である請求項３に記載の鍵盤楽器支援装置。
【請求項５】
複数の鍵を備え、かつ各鍵が操作されたときに操作信号をネットワークを介して送信するキーボードの前記鍵の各々に各々が収納された複数の振動手段、及び
前記ネットワークを介して前記操作信号を受信すると、該操作信号に基づいて、所定の振動手段を振動させるように制御する制御手段、を含む複数の鍵盤楽器支援装置を備えた鍵盤楽器支援システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、鍵盤楽器支援装置及び鍵盤楽器支援システムに係り、特に、演奏者が演奏するためのキーボードを有する鍵盤楽器の演奏を支援する鍵盤楽器支援装置及びこの鍵盤楽器支援装置を用いた鍵盤楽器支援システムに関する。
【背景技術】
【０００２】
従来、鍵盤楽器の練習を支援するために、鍵に対応させてＬＥＤを配置し、このＬＥＤを発光させることで操作すべき鍵を演奏者に示す光るキーボードが知られている。
【０００３】
また、鍵盤楽器の練習を支援するために、操作すべき鍵を示すだけでなく、操作した鍵の誤りを指摘する装置として、操作した鍵が誤っている場合に、鍵に対応させて配置されたＬＥＤを発光させる演奏練習補助装置（特許文献１）や、鍵盤上に貼付したペルチェ素子により鍵の温度を変更して、演奏者に伝える装置（非特許文献１）や、生体に張り付けた電極により、電気信号を体内に流す装置（非特許文献２）が知られている。
【特許文献１】特開２０００―２９８４７７公報
【非特許文献１】Ｈ．Ｍｉｙａｓｈｉｔａ  ａｎｄ  Ｋ．Ｎｉｓｈｉｍｏｔｏ，”Ｔｈｅｒｍｏｓｃｏｒｅ：Ａ  Ｎｅｗ−Ｔｙｐｅ  Ｍｕｓｉｃａｌ  Ｓｃｏｒｅ  ｗｉｔｈ  Ｔｅｍｐｒｅｔｕｒｅ  Ｓｅｎｓａｔｉｏｎ，”Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ２００４  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｎｅｗ  Ｉｎｔｅｒｆａｃｅｓ  ｆｏｒ  Ｍｕｓｉｃａｌ  Ｅｘｐｒｅｓｓｉｏｎ，ｐｐ．１０４−１０７，２００４．
【非特許文献２】長嶋  洋一、赤松  真之、照岡  正樹、電気刺激フィードバック装置の開発と音楽パフォーマンスへの応用、情報処理学会研究報告、２００２−ＭＵＳ−４５，ｐｐ．２７−３２，２００２．
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載の演奏練習補助装置では、鍵盤の上に手を置くと、光る部分が隠れてＬＥＤが発光したことを見逃してしまう、という問題がある。また、非特許文献１に記載の装置では、鍵盤を暖めたり、冷やしたりするために時間がかかり、情報伝達の即時性が低い、という問題がある。また、非特許文献２に記載の装置では、演奏者に対する影響が大きく、電気信号を体内に流した後の演奏に支障を来しかねない、という問題がある。
【０００５】
本発明は、上記の問題点を解決するためになされたもので、安全かつ高い即時性で、演奏者に情報を確実に伝達して、鍵盤楽器の練習を支援することができる鍵盤楽器支援装置及び鍵盤楽器支援システムを提供することを目的とする
【課題を解決するための手段】
【０００６】
上記の目的を達成するために本発明の鍵盤楽器支援装置は、複数の鍵を備え、かつ、各鍵が操作されたときに操作信号を出力するキーボードの前記鍵の各々に各々が収納された複数の振動手段と、前記操作信号に基づいて、所定の振動手段を振動させるように制御する制御手段と、を含んで構成されている。
【０００７】
本発明の鍵盤楽器支援装置によれば、各鍵が操作されたときにキーボードによって操作信号を出力し、制御手段によって、操作信号に基づいて、所定の振動手段を振動させるように制御する。
【０００８】
本発明の鍵盤楽器支援装置では、鍵が操作されたときに出力される操作信号に基づいて、鍵を振動させることにより、安全かつ高い即時性で、演奏者に情報を確実に伝達し、鍵盤楽器の練習を支援することができる。
【０００９】
本発明に係る制御手段は、操作信号と予め定められた演奏情報とを比較し、操作信号が演奏情報と異なる場合に、操作信号に対応する鍵に収納された振動手段を振動させるように制御することができる。これにより、演奏者が予め定められた演奏情報と異なる鍵を操作した場合に、安全かつ高い即時性で演奏者に操作した鍵の誤りを確実に伝達することができる。
【００１０】
また、本発明に係る制御手段は、操作信号の時系列変化に基づいて、次の操作信号の出現確率を算出し、出現確率が所定値以上でない場合に、次の操作信号に対応する鍵に収納された振動手段を振動させるように制御することができる。これにより、操作信号の時系列変化に基づいて、演奏者が鍵を操作したことによる次の操作信号の出現確率が所定値以上でないことを演奏者が安全かつ高い即時性で確実に知ることができるため、即興演奏の練習を支援することができる。
【００１１】
また、本発明に係る次の操作信号は、所定時間内に複数の操作信号が出力された場合、複数の操作信号の複数の鍵のうち最も音高が高い鍵の操作信号とすることができる。所定時間内に複数の操作信号が出力され、和音を形成している場合には、最も音高が高い鍵の操作信号の出現確率が所定値以上でないと、振動手段を振動させるように制御することができる。
【００１２】
本発明に係る鍵盤楽器支援システムは、複数の鍵を備え、かつ各鍵が操作されたときに操作信号をネットワークを介して送信するキーボードの前記鍵の各々に各々が収納された複数の振動手段、及び前記ネットワークを介して前記操作信号を受信すると、該操作信号に基づいて、所定の振動手段を振動させるように制御する制御手段、を含む複数の鍵盤楽器支援装置を備えて構成されている。
【００１３】
本発明に係る鍵盤楽器支援システムによれば、鍵盤楽器支援装置の各鍵が操作されたときにキーボードによって、操作信号をネットワークを介して送信し、他の鍵盤楽器支援装置において、ネットワークを介して操作信号を受信すると、制御手段によって、操作信号に基づいて、キーボードの鍵の各々に収納された所定の振動手段を振動させるように制御する。
【００１４】
本発明に係る鍵盤楽器支援システムでは、操作信号をネットワークを介して送受信し、操作信号に基づいて、所定の振動手段を振動させることにより、ネットワークを介して接続されている遠隔地同士で、安全かつ高い即時性で情報を確実にやりとりすることができ、遠隔地同士でのセッションにおけるインタラクションを支援することができる。
【発明の効果】
【００１５】
以上説明したように、本発明の鍵盤楽器支援装置によれば、鍵が操作されたときに出力される操作信号に基づいて、鍵を振動させることにより、安全かつ高い即時性で演奏者に情報を確実に伝達することができ、鍵盤楽器の練習を支援することができる、という効果が得られる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の第１の実施の形態について図面を参照して詳細に説明する。第１の実施の形態は、演奏者が押圧操作した鍵が模範演奏と異なっている場合に、押圧操作した鍵の誤りを演奏者に伝達する場合について説明する。
【００１７】
図１に示すように、鍵盤楽器支援装置１０は、ＭＩＤＩ（Ｍｕｓｉｃａｌ  Ｉｎｓｔｒｕｍｅｎｔｓ  Ｄｉｇｉｔａｌ  Ｉｎｔｅｒｆａｃｅ）ファイルに基づいて各種処理を行うコンピュータ１２と、操作された鍵に基づいてＭＩＤＩメッセージを出力するＭＩＤＩキーボード１４とから構成されている。また、コンピュータ１２には、後述する練習支援処理ルーチンのプログラムを含む各種プログラムやパラメータ等が記憶されたＲＯＭ１６、各種プログラムを実行するＣＰＵ１８、ＣＰＵ１８による各種プログラムの実行時におけるワークエリア等として用いられるＲＡＭ２０、ＭＩＤＩファイルを格納するためのＨＤＤ２２、キーボード２４、ＭＩＤＩメッセージに基づいて放音する音源２６、ディスプレイ２８、出力用のＭＩＤＩインタフェース３０、入力用のＭＩＤＩインタフェース３２、及びこれらを相互に接続するためのバス３４が設けられている。ＭＩＤＩインタフェース３０はＭＩＤＩケーブル３６を介してＭＩＤＩキーボード１４の入力端子（図示省略）と接続され、ＭＩＤＩインタフェース３２はＭＩＤＩケーブル３８を介してＭＩＤＩキーボード１４の出力端子（図示省略）と接続されている。
【００１８】
ＭＩＤＩキーボード１４には、図２に示すように、複数の鍵４０と、各鍵に収容された振動モータ４２と、入力されたＭＩＤＩメッセージを解析して振動モータを制御するＰＩＣマイコン（Ｒ）で構成されるマイクロコンピュータ４４とが設けられている。振動モータ４２の各々は、複数の配線４６の各々を介してマイクロコンピュータ４４の出力端と接続されている。また、マイクロコンピュータ４４の入力端には、ＭＩＤＩケーブル３６が接続されている。マイクロコンピュータ４４は、ＣＰＵ、ＲＯＭ、及びＲＡＭ（何れも図示省略）から構成されており、ＲＯＭには後述する振動制御処理ルーチン及び割り込み処理ルーチンのプログラムが格納されている。
【００１９】
また、ＭＩＤＩファイルは、伴奏を再生するための伴奏データと模範演奏の旋律を表す複数の音情報からなる旋律データとから構成されており、旋律データの音情報は、音高とタイミングとを表している。また、操作信号としてのＭＩＤＩメッセージは、メッセージの種類を示すステータスバイト値と、各メッセージ毎に定義されたデータバイト値とから構成されている。本実施の形態では、メッセージの種類として、ノートオンメッセージとノートオフメッセージとについて説明する。
【００２０】
ノートオンメッセージは、演奏動作のうち鍵４０を押圧操作した場合を示すメッセージであり、ステータスバイト値にはノートオンを示す値が割り当てられる。また、データバイト値には、押圧操作した鍵４０を示すキー値と、鍵４０を押圧操作した強さを示すベロシティ値が割り当てられる。また、ノートオフメッセージは、演奏動作のうち押圧操作した鍵４０を離した操作を示すメッセージであり、ステータスバイト値にはノートオフを示す値が割り当てられる。
【００２１】
また、コンピュータ１２が出力するＭＩＤＩメッセージでは、ノートオンメッセージが、振動モータ４２の振動を指示するメッセージとなっており、ノートオフメッセージが、振動モータ４２の振動停止を指示するメッセージとなっており、キー値には、指示対象となる振動モータ４２が収納されている鍵４０を示す値が割り当てられ、ベロシティ値には、振動の持続時間を示す値が割り当てられている。
【００２２】
次に、本発明の第１の実施の形態の作用を説明する。
【００２３】
まず、コンピュータ１２で、演奏者が演奏する楽曲を選択し、演奏開始を指示すると、図３に示す練習支援処理ルーチンが実行され、ステップ１００において、ＨＤＤ２２から選択された楽曲のＭＩＤＩファイルを読み込み、ＭＩＤＩファイルの伴奏データを再生し、ステップ１０２において、ｎを初期値にし、ステップ１０４で、ＭＩＤＩキーボード１４からのノートオンメッセージが入力されたか否かを判定する。再生されている伴奏に合わせて、演奏者が楽譜を見ながらＭＩＤＩキーボード１４の鍵４０を押圧操作すると、押圧操作された鍵４０を示す値がキー値となっているノートオンメッセージがＭＩＤＩキーボード１４から送信され、ステップ１０４の判定が肯定され、ステップ１０６において、ＭＩＤＩファイルの旋律データからｎ番目の音情報の音高とタイミングとを読込む。
【００２４】
次のステップ１０８では、ノートオンメッセージのキー値が表す音高とｎ番目の音情報の音高とが同じであるか否かを判定することにより、ステップ１０４で入力されたノートオンメッセージのキー値が正しいか否かを判定し、判定が肯定されると、ステップ１１０において、ノートオンメッセージが入力されたタイミングが正しいか否かを判定する。ノートオンメッセージのタイミングとｎ番目の音情報のタイミングとの差が所定範囲内であると、タイミングが正しいと判定され、ステップ１１２において、入力されたノートオンメッセージのキー値と同じ値をキー値とするノートオフメッセージを作成し、ＭＩＤＩキーボード１４へ出力する。
【００２５】
一方、ノートオンメッセージのキー値が示す音高とｎ番目の音情報の音高とが異なると、ステップ１０８の判定が否定され、ステップ１１４において、入力されたノートオンメッセージのキー値と同じ値をキー値とするノートオンメッセージを作成し、ＭＩＤＩキーボード１４へ出力する。また、ノートオンメッセージのタイミングとｎ番目の音情報のタイミングとの差が所定範囲外であると、ステップ１１０の判定が否定され、ステップ１１４でノートオンメッセージを作成し、ＭＩＤＩキーボード１４へ出力する。なお、作成するノートオンメッセージのベロシティ値には、所定の持続時間を示す値を予め割り当てておく。
【００２６】
次のステップ１１６では、旋律データにｎ＋１番目の音情報があるか否かを判定し、判定が肯定されると、ステップ１１８でｎをインクリメントしてステップ１０４へ戻り、ｎ番目の音情報について、上記と同様にステップ１０４〜１１４を実行し、旋律データの全ての音情報について上記の処理が終了すると、ステップ１１６の判定が否定され、練習支援処理ルーチンが終了する。
【００２７】
なお、ノートオンメッセージが入力されると、音源２６にノートオンメッセージを出力し、ノートオンメッセージの音高を放音させ、ノートオフメッセージが入力されると、音源２６にノートオフメッセージを入力させ、ノートオンメッセージの音高の放音を停止させる。
【００２８】
次に、マイクロコンピュータ４４で実行される図４に示す振動制御処理ルーチンについて説明する。まず、ステップ１３０において、初期化処理を行い、マイクロコンピュータ４４のＲＡＭに設けられたモータレジスタ「ｎ」（ｎ＝１〜Ｎ）を全てゼロにする。ただし、ＮはＭＩＤＩキーボード１４の鍵４０の数である。そして、ステップ１３２において、コンピュータ１２からのＭＩＤＩメッセージによる割り込みを許可するか否かを設定している許可フラグをオンにし、割り込みを許可する。
【００２９】
次に、マイクロコンピュータ４４で実行される図５に示す割り込み処理ルーチンについて説明する。コンピュータ１２からマイクロコンピュータ４４にＭＩＤＩメッセージが入力されると、上記の振動制御処理ルーチンが中断され、割り込み処理ルーチンが実行される。まず、ステップ１６２において、ＭＩＤＩメッセージのキー値を読込み、キー値が示す鍵４０に収納されている振動モータ４２を特定する。そして、ステップ１６４で、ＭＩＤＩメッセージがノートオンメッセージであるか否かを判定し、ＭＩＤＩメッセージのステータスバイト値がノートオンを示す値であると判定されと、ステップ１６６において、ステップ１６４で特定されたモータレジスタにＭＩＤＩメッセージのベロシティ値を格納し、ステップ１６８へ移行する。一方、ＭＩＤＩメッセージのステータスバイト値がノートオフを示す値であると判定されると、ステップ１６８へ移行する。
【００３０】
ステップ１６８では、入力されたＭＩＤＩメッセージがノートオフメッセージであるか否かを判定し、ＭＩＤＩメッセージのステータスバイト値がノートオフを示す値であると判定されると、ステップ１７０において、ステップ１６４で特定されたモータレジスタに０を格納し、割り込み処理ルーチンを終了する。一方、入力されたＭＩＤＩメッセージのステータスバイト値がノートオンを示す値であると判定されると、割り込み処理ルーチンを終了する。
【００３１】
次に、図４に示す振動制御処理ルーチンのステップ１３４では、モータレジスタを示す番号であるｎを初期値とし、ステップ１３６では、ｎ番目のモータレジスタの値が０より大きいか否かを判定し、０より大きい値が格納されていると判定されると、ステップ１３８において、ｎ番目の振動モータ４２にオン信号を出力し、ｎ番目の振動モータ４２をオンにし、ステップ１４０へ移行する。一方、ｎ番目のモータレジスタの値が０であると、ステップ１３６の判定が否定され、ステップ１４０へ移行する。
【００３２】
ステップ１４０では、ｎがＮ未満であるか否かを判定し、ｎ＋１番目のモータレジスタがあると判定されると、ステップ１４２でｎをインクリメントしてステップ１３６に戻り、ｎ番目のモータレジスタについてステップ１３６〜１４０の処理を繰り返し、Ｎ番目のモータレジスタについてステップ１３６〜１４０の処理を終了すると、ステップ１４０の判定が否定され、ステップ１４４へ移行する。
【００３３】
ステップ１４４では、所定時間、例えば５ミリ秒間待機し、ステップ１４６で、ｎを初期値とし、次のステップ１４８では、ｎ番目のモータレジスタの値が０であるか否かを判定し、値が０であると判定されると、ステップ１５０において、ｎ番目の振動モータ４２にオフ信号を出力し、ｎ番目の振動モータ４２をオフにし、ステップ１５２へ移行する。一方、ｎ番目のモータレジスタの値が０ではないと判定されると、ステップ１５１において、ｎ番目のモータレジスタの値をデクリメントして、ステップ１５２へ移行する。
【００３４】
ステップ１５２では、ｎがＮ未満であるか否かを判定し、判定が肯定されると、ステップ１５４で、ｎをインクリメントしてステップ１４８へ戻り、ｎ番目のモータレジスタについてステップ１４８〜１５２の処理を繰り返し、Ｎ番目のモータレジスタについてステップ１４８〜１５２の処理を終了すると、ステップ１５２の判定が否定され、ステップ１３４へ戻り、上記のステップ１３４〜１５４の処理を繰り返す。そして、コンピュータ１２で再生されている伴奏データの再生終了を検知すると、振動制御処理ルーチンを終了する。
【００３５】
以上説明したように、本発明の第１の実施の形態に係る鍵盤楽器支援装置によれば、鍵が押圧操作されたときに入力されるノートオンメッセージに基づいて、模範演奏の旋律データと異なる鍵が押圧操作された場合に、押圧操作された鍵を振動させることにより、安全かつ高い即時性で演奏者に押圧操作された鍵の誤りを確実に伝達することができ、演奏者がすばやく自分のミスを自覚できるので、効率的な演奏練習が可能となる。
【００３６】
また、誤った鍵を押圧操作したときだけでなく、鍵を押し逃した場合や鍵を押圧操作したタイミングが模範演奏の旋律データのタイミングと大幅にずれている場合にも鍵を振動させて、安全かつ高い即時性で演奏者に演奏ミスを確実に伝達することができる。
【００３７】
演奏者は指先で直接鍵の振動を感じるので、気づかないことがなく、演奏中であっても確実に演奏ミスを伝達することができる。また、特に初学者は楽譜を読み間違うことがあり、自分では誤って鍵を押圧操作していることに気づかない可能性があるが、演奏ミスをリアルタイムに伝達できるため、鍵盤楽器の練習を支援することができる。
【００３８】
また、ＭＩＤＩメッセージのベロシティ値を用いて、振動の持続時間を指定しているため、コンピュータからのノートオフメッセージが入力されない場合でも、一定の時間経過後に振動を停止することができる。
【００３９】
なお、ＭＩＤＩファイルの旋律データに基づいて、演奏が正しいか否かを判定する場合を例に説明したが、比較対象はＭＩＤＩファイルである必要はなく、単なる楽譜データでもよく、音高とタイミングとが記憶されているデータであればよい。
【００４０】
次に、本発明の第２の実施の形態について説明する。なお、第１の実施の形態と同様の部分については、同一の符号を付して説明を省略する。従来、楽器練習の支援を実現する光るキーボードやピアノ練習ソフトでは、画一的なメロディガイダンスやゲームによる練習を支援できるだけで、即興演奏の独習を支援することはできなかった。そこで、第２の実施の形態では、即興演奏による鍵盤楽器の練習を支援する場合について説明する。
【００４１】
第１の実施の形態では、ＭＩＤＩキーボード１４の鍵４０を押圧操作した場合に出力されるノートオンメッセージのキー値が表す音高が、旋律データの音情報の音高と比較して正しいか否かを判定していたのに対し、第２の実施の形態では、ノートオンメッセージのキー値が示す鍵４０の音高が、旋律として自然であるか否かを判定する点が異なる。
【００４２】
また、ＨＤＤ２２には、旋律データベースが記憶されおり、旋律データベースは特徴ベクトルで表された音からなる旋律が複数記憶されている。この特徴ベクトルは、例えば、コード構成音やキー構成音などの音の種類、直前の音との音高差、発音のタイミングが８分音符レベルで表か裏か、及び直前に休符があるか否かという要素から構成され、以下、特徴ベクトルｘで表される音を「音ｘ」と表す。なお、特徴ベクトルの要素は、旋律データベースの旋律の数や旋律のジャンルにより変化させてもよい。
【００４３】
また、旋律データベースには、旋律の出現確率が記憶されており、本実施の形態では、Ｎ−１個の音ｘN―1…ｘ1からなる旋律の出現確率が予め計算され、旋律データベースに記憶されている。例えば、ジャズ・スタンダード２００曲の旋律に基づいて、旋律の出現確率を予め計算し、旋律データベースに記憶しておく。
【００４４】
また、ＲＡＭ２０に旋律バッファが設けられ、旋律バッファには特徴ベクトルが発音する順番に記憶されている。
【００４５】
なお、第２の実施の形態に係る鍵盤楽器支援装置１０のその他の構成は、第１の実施の形態と同一であるので、同一の符号を付して説明を省略する。
【００４６】
次に、本発明の第２の実施の形態の作用について説明する。まず、コンピュータ１２で、演奏者が伴奏曲を選択し、伴奏再生開始を指示すると、図６に示す即興演奏支援処理ルーチンが実行され、ステップ２００において、ＨＤＤ２２から選択された伴奏曲のＭＩＤＩファイルを読み込み、ＭＩＤＩファイルの伴奏データを再生し、ステップ２０２では、ＭＩＤＩキーボード１４からノートオンメッセージが入力されたか否かを判定する。演奏者がＭＩＤＩキーボード１４の鍵４０を押圧操作し、押圧操作された鍵４０を示す値がキー値となっているノートオンメッセージがＭＩＤＩキーボード１４から入力されたと判定されると、ステップ２０４において、ステップ２０２においてノートオンメッセージが入力されてから１５ミリ秒以内に更にノートオンメッセージが入力されたか否かを判定し、１５ミリ秒以内にノートオンメッセージが入力されなかった場合には、判定が否定され、ステップ２０８へ移行する。一方、１５秒以内に更にノートオンメッセージが入力された場合には、ステップ２０４の判定が肯定され、ステップ２０６において、ステップ２０２、２０４で入力されたノートオンメッセージが示す鍵４０の音高は、和音を形成しているため、それらの音高の中から主旋律となる音高を選択する。例えば、ノートオンメッセージの音高の中から最も高い音高を主旋律として選択する。
【００４７】
次のステップ２０８では、ステップ２０６で主旋律として選択された音高に基づいて特徴ベクトルを作成する。なお、ステップ２０４の判定が否定された場合には、ステップ２０２で受信したノートオンメッセージの音高に基づいて特徴ベクトルを作成する。
【００４８】
そして、ステップ２１０では、ＲＡＭ２０に設けられた旋律バッファに特徴ベクトルがＮ―１個以上記憶されたか否かを判定し、旋律バッファに記憶されている特徴ベクトルがＮ―１個未満であると判定されると、ステップ２１８において旋律バッファに記憶されている特徴ベクトルに基づき、ステップ２０８で作成された特徴ベクトルの音高がコードトーンであるか否かを判定する。コードトーンであると判定されると、ステップ２２６へ移行するが、コードトーンでないと判定されると、ステップ２２０において、最近傍のコードトーンとなるように音高を補正して、ステップ２１２へ移行する。
【００４９】
一方、旋律バッファにＮ―１個以上特徴ベクトルが記憶されていると、ステップ２１０の判定が肯定され、ステップ２１２において、直前のＮ−１個の音からなる旋律Ｘ（＝ｘn-N+1…ｘn-1）の次にステップ２０８で作成された特徴ベクトルｘnが出現する出現確率Ｐ（ｘn｜Ｘ）を以下のＮ−ｇｒａｍ確率を計算する式により算出する。
【００５０】
【数１】
2006145681.tif 000003
【００５１】
上記の式より、旋律データベースに記憶されている旋律の出現確率Ｐ（ｘn-N+1…ｘn）とＰ（ｘn-N+1…ｘn-1）とに基づいて、旋律Ｘの次に続く特徴ベクトルｘnの出現確率Ｐ（ｘn｜Ｘ）を計算する。
【００５２】
次のステップ２１４では、ステップ２１２で算出された出現確率Ｐ（ｘn｜Ｘ）が予め定められた閾値以上であるか否かを判定し、出現確率Ｐ（ｘn｜Ｘ）が閾値未満であると判定されると、ステップ２１６において、どの音高に補正すればよいかを算出する。例えば、ｘnの音高を様々な音高に変更したときの出現確率Ｐ（ｘn｜Ｘ）を算出し、この出現確率が最大となる音高を補正後の音高とする。そして、ステップ２２２において、補正前の音高のノートオンメッセージを作成し、すなわち、ステップ２０４で入力されたノートオンメッセージがない場合には、ステップ２０２で入力されたノートオンメッセージのキー値と同じ値をキー値としたノートオンメッセージを作成し、ステップ２０４で入力されたノートオンメッセージがある場合、主旋律のノートオンメッセージのキー値と同じ値をキー値としたノートオンメッセージを作成し、ＭＩＤＩキーボード１４へ出力し、次のステップ２２４において、ステップ２０８で作成した特徴ベクトルの音高を補正後の音高とした特徴ベクトルを旋律バッファに記憶し、ステップ２３０へ移行する。また、このときに補正後の音高のノートオンメッセージを音源２６へ出力し、補正後の音高を放音させる。
【００５３】
一方、出現確率Ｐ（ｘn｜Ｘ）が閾値以上であると、ステップ２１４の判定が肯定され、ステップ２２６において、ステップ２０２で入力されたノートオフメッセージ又はステップ２０４で入力されたノートオンメッセージがある場合、主旋律のノートオンメッセージのキー値と同じ値をキー値としたノートオフメッセージを作成し、ＭＩＤＩキーボード１４へ出力する。そして、ステップ２２８において、ステップ２０８で作成した特徴ベクトルを旋律バッファに記憶し、ステップ２３０へ移行する。また、このときに、主旋律のノートオンメッセージを音源２６へ出力し、主旋律のノートオンメッセージの音高を放音させる。
【００５４】
ステップ２３０では、主旋律以外のノートオンメッセージが入力されているか否かを判定し、ステップ２０４において入力されたノートオンメッセージがないと、ステップ２３４へ移行するが、ステップ２０４で入力されたノートオンメッセージがあると、ステップ２３２において、主旋律以外のノートオンメッセージの音高がコードトーンであるか否かを判定し、コードトーンを構成していると、主旋律以外のノートオンメッセージを音源２６へ出力し、また、主旋律以外のノートオンメッセージのキー値と同じ値をキー値としたノートオフメッセージを作成し、ＭＩＤＩキーボード１４へ出力する。一方、主旋律以外のノートオンメッセージの音高がコードトーンでないと、主旋律以外のノートオンメッセージの音高を最近傍のコードトーンになるように補正し、補正後の音高のノートオンメッセージを音源２６へ出力し、また、補正前の音高のノートオンメッセージ、すなわち、主旋律以外のノートオンメッセージのキー値と同じ値をキー値としたノートオンメッセージを作成し、ＭＩＤＩキーボード１４へ出力する。
【００５５】
次のステップ２３４において、、ＭＩＤＩファイルの伴奏データが終了したか否かを判定し、判定が否定されると、ステップ２０２へ戻り、ステップ２０２〜２３０の処理を繰り返し実行するが、伴奏データが終了すると、判定が肯定され、即興演奏支援処理ルーチンを終了する。なお、出現確率の閾値には、統計的に旋律として自然であると判断できる出現確率を予め設定しておく。
【００５６】
なお、ノートオフメッセージが入力された場合には、ノートオフメッセージを音源２６へ出力し、ノートオフメッセージの音高の放音を停止させる。
【００５７】
マイクロコンピュータ４４では、図４に示す振動制御処理ルーチン及び図５に示す割り込み処理ルーチンを実行し、コンピュータ１２から入力されたＭＩＤＩメッセージに応じて振動モータ４２のオンオフを制御し、即興演奏における旋律が自然であるか否かを鍵４０の振動により演奏者に伝達する。
【００５８】
以上説明したように、本発明の第２の実施の形態に係る鍵盤楽器支援装置によれば、与えられた旋律の次に続く音のＮ−ｇｒａｍ確率に基づいて、演奏者が操作した鍵の音高が旋律として自然であるか否かを演奏者が安全かつ高い即時性で確実に知ることができるため、即興演奏の練習を支援することができる。また、所定時間内に複数のノートオンメッセージが入力され、和音を形成している場合には、最も音高が高い鍵のノートオンメッセージが示す音の出現確率が閾値以上であるか否かを判定することにより、複数の鍵を押圧操作した場合に、操作した鍵の音高が旋律として自然であるか否かを演奏者が知ることができる。
【００５９】
また、即興演奏では、意図的に音を外すので、押圧操作した鍵の音高が旋律として自然であるか否か判断しにくいが、鍵の振動により判断できるため、効率的な練習が可能となる。
【００６０】
また、すでに即興演奏の技能を身につけた人がより幅広いスタイルの即興演奏を習得するための即興演奏練習においても練習効率を向上させることができる。即興演奏をある程度習得すると、少数の旋律を無意識のうちに多用してしまうことがよくある（「手癖」と呼ばれる）。そうすると、即興演奏の幅を広げようと使ったことがない旋律を試みようとしても、いつのまにか習得済みの旋律を多用してしまうことが少なくない。この場合に、違うジャンルの旋律を記憶した旋律データベースを利用することにより、違うジャンルでは多用されない旋律を鍵の振動により知ることができるため、無意識のうちに自分の手癖に頼ることを防ぐことができる。
【００６１】
なお、演奏中に押圧操作された鍵の音が妥当でないことを指摘するだけの場合を例に説明したが、演奏後には演奏をプレイバックすることができるようにしてもよい。その場合には、補正された音高でプレイバック再生できるようにし、どのような場面でどの音を弾くと旋律として自然でないのかを知ることができ、即興演奏の独習の効率性を向上させることができる。
【００６２】
次に、本発明の第３の実施の形態について説明する。なお、第１の実施の形態と同様の部分については、同一の符号を付して説明を省略する。ネットワークを介して遠隔地同士でセッションを行う場合に、各演奏者は、他の演奏者による演奏を聞き、それに影響されながら自己の演奏を生成し、他の演奏者に伝える。曲の盛り上がりや変化の予兆などを各演奏者が演奏中に表現したり演奏から判断するだけでなく、ジェスチャーを使いながら曲の進行に関して共通理解をもつといったインタラクションが行われる。ここで、ジェスチャーをカメラとモニターとを通して行う場合、モニター内での小さな動きであるため、演奏者は見逃してしまう可能性がある。そこで、第３の実施の形態では、複数の鍵盤楽器支援装置の間で、ＭＩＤＩメッセージの送受信を行い、鍵の振動によりセッションにおけるインタラクションを支援する場合について説明する。
【００６３】
図７に示すように、第３の実施の形態に係る鍵盤楽器支援システム５０は、複数の鍵盤楽器支援装置５６から構成され、鍵盤楽器支援装置５６には、コンピュータ１２、ＭＩＤＩキーボード１４、及び複数のペダルを備えたフットペダル５４が設けられている。フットペダル５４は、ＭＩＤＩキーボード１４に接続されており、鍵盤楽器支援装置５６のコンピュータ１２は、ＬＡＮやインターネットなどのネットワーク５２を介して相互に接続されている。
【００６４】
フットペダル５４のペダルが押されると、ＭＩＤＩキーボード１４によって、押されたペダルに対応する値がキー値となっているノートオンメッセージが作成され、コンピュータ１２に出力されるように構成されており、フットペダル５４の各ペダルが押されたことによるノートオンメッセージは、ネットワーク５２で接続された鍵盤楽器支援装置５６へ伝達する複数のメッセージの各々と対応している。
【００６５】
次に、本発明の第３の実施の形態の作用について説明する。まず、コンピュータ１２において、図８に示すメッセージ送信処理ルーチンが実行される。ステップ２５０において、ＭＩＤＩキーボード１４からノートオンメッセージが入力されたか否かを判定する。ＭＩＤＩキーボード１４の鍵４０が押圧操作されたり、フットペダル５４のペダルが押されたりして、ノートオンメッセージが入力されたと判定されると、ステップ２５２において、受信したノートオンメッセージをネットワーク５２を介して他のコンピュータ１２へ送信し、メッセージ送信処理を終了する。なお、ＭＩＤＩキーボード１４の鍵４０が押圧操作されてノートオンメッセージが入力されると、このノートオンメッセージを音源２６へ出力して、ノートオンメッセージの音高を放音させ、鍵４０を離した操作がなされノートオフメッセージが入力されると、このノートオフメッセージを音源２６へ出力して、ノートオフメッセージの音高の放音を停止させる。
【００６６】
次に、コンピュータ１２において実行される図９に示すセッション支援処理ルーチンを説明する。まず、ステップ２６０において、ネットワーク５２を介してノートオンメッセージを受信したか否かを判定し、他のコンピュータ１２からのノートオンメッセージを受信したと判定されると、ステップ２６２において、受信したノートオンメッセージがフットペダル５４が押されたことによるノートオンメッセージであるか否かを判定する。ノートオンメッセージのキー値がフットペダル５４のペダルを示す値であると判定されると、ステップ２６４において、受信したノートオンメッセージのキー値に対応するノートオンメッセージを作成し、ＭＩＤＩキーボード１４へ出力する。例えば、キー値が「コード進行の切り替え」というメッセージに対応している場合、このメッセージを演奏者に伝えるために予め決められた鍵４０を予め決められた長さで振動させるようにキー値及びベロシティ値を設定したノートオンメッセージを作成して出力し、セッション支援処理ルーチンを終了する。
【００６７】
一方、ノートオンメッセージのキー値が鍵４０を示す値であると、ステップ２６２の判定が否定され、ステップ２６６において、ステップ２６０で受信したノートオンメッセージをそのままＭＩＤＩキーボード１４へ出力し、セッション支援処理ルーチンを終了する。
【００６８】
そして、マイクロコンピュータ４４で、図４に示す振動制御処理ルーチン及び図５に示す割り込み処理ルーチンを実行し、コンピュータ１２から入力されたＭＩＤＩメッセージに応じて振動モータ４２のオンオフを制御して、他の鍵盤楽器支援装置５６からのメッセージを演奏者に伝達し、また、他の鍵盤楽器支援装置５６での演奏者による演奏を伝達する。
【００６９】
以上、説明したように、第３の実施の形態に係る鍵盤楽器支援システムによれば、ノートオンメッセージをネットワークを介して送受信し、ノートオンメッセージに基づいて、所定の鍵を振動させることにより、ネットワークを介して接続されている遠隔地同士で、安全かつ高い即時性でメッセージや演奏などを確実に伝達することができ、セッションにおけるインタラクションを支援することができる。
【００７０】
また、この鍵盤楽器支援システムを応用すれば、聴取者から演奏者への情報伝達用としても利用することができる。これまで、演奏者と観客は一方通行の関係しかなく、拍手や手拍子などで演奏者を盛り上げることはできたが、それ以上の詳細な情報のやり取りは行われてこなかった。ネットワークに接続されたスイッチやミニ鍵盤を観客側に設け、音楽性の低い演奏をした演奏者に対してスイッチを押して振動によってブーイングをしたり、観客が特定の鍵盤を振動させることでその鍵盤を弾きにくくし、変則的なスケールを作り出したり、弾いて欲しい旋律を振動で伝えたりすることが可能となる。
【００７１】
なお、フットペダルが押されたことによるノートオンメッセージをコンピュータが他の鍵盤楽器支援装置から受信すると、所定のキー値を持つノートオンメッセージを作成し、ＭＩＤＩキーボードへ出力する場合を例に説明したが、鍵の押圧操作の各々と予め定められた複数のメッセージの各々とを対応させて、フットペダルが押されると、鍵の押圧操作に対応するノートオンメッセージによる振動を開始するようにして、遠隔地にいる演奏者によるメッセージを伝達するようにしてもよい。その場合には、コンピュータでは、図１０に示すセッション支援処理ルーチンが実行される。
【００７２】
まず、ステップ２８０において、鍵が押圧操作されたことによるノートオンメッセージを受信したか否かを判定し、キー値が鍵に対応した値であるノートオンメッセージを受信したと判定されると、ステップ２８２において、フットペダルが押されたことによるノートオンメッセージを受信したか否かを判定する。キー値がフットペダルのペダルを示す値であるノートオンメッセージを受信したと判定されると、ステップ２８４において、ステップ２８０で受信したノートオンメッセージをＭＩＤＩキーボード１４に出力し、セッション支援処理ルーチンを終了する。これにより、演奏者は演奏中でも振動によるメッセージを伝達したいタイミングを選択しやすくなる。
【００７３】
また、上記の実施の形態では、鍵を振動させることによって、演奏者にメッセージを伝える場合を例に説明したが、同時にメッセージをコンピュータのディスプレイに表示させてもよい。また、その場合には、鍵の振動はもっぱらメッセージの受信を知らせるために用いてもよい。
【００７４】
また、複数の鍵盤楽器支援装置をネットワークを介して接続した場合を例に説明したが、鍵盤楽器支援装置を一つとし、セッションする相手は、コンピュータ内の仮想ミュージシャンとすることができる。これによれば、仮想ミュージシャンからのメッセージが振動で演奏者に伝えられるので、仮想ミュージシャンからのメッセージを確実に気付くことができ、仮想ミュージシャンとのセッションにおけるインタラクションを支援することができる。
【図面の簡単な説明】
【００７５】
【図１】本発明の第１の実施の形態に係る鍵盤楽器支援装置の構成を示す概略図である。
【図２】本発明の第１の実施の形態に係るＭＩＤＩキーボードの構成を示す概略図である。
【図３】本発明の第１の実施の形態に係る練習支援処理ルーチンの内容を示すフローチャートである。
【図４】本発明の第１の実施の形態に係る振動制御処理ルーチンの内容を示すフローチャートである。
【図５】本発明の第１の実施の形態に係る割り込み処理ルーチンの内容を示すフローチャートである。
【図６】本発明の第２の実施の形態に係る即興演奏支援処理ルーチンの内容を示すフローチャートである。
【図７】本発明の第３の実施の形態に係る鍵盤楽器支援システムの構成を示す概略図である。
【図８】本発明の第３の実施の形態に係るメッセージ送信処理ルーチンの内容を示すフローチャートである。
【図９】本発明の第３の実施の形態に係るセッション支援処理ルーチンの内容を示すフローチャートである。
【図１０】本発明の第３の実施の形態に係るセッション支援処理ルーチンのもう一つの例の内容を示すフローチャートである。
【符号の説明】
【００７６】
１０、５６  鍵盤楽器支援装置
１２  コンピュータ
１４  ＭＩＤＩキーボード
４０  鍵
４２  振動モータ
４４  マイクロコンピュータ
５０  鍵盤楽器支援システム
５２  ネットワーク
５４  フットペダル
【図１】
2006145681.tif 000004
【図２】
2006145681.tif 000005
【図３】
2006145681.tif 000006
【図４】
2006145681.tif 000007
【図５】
2006145681.tif 000008
【図６】
2006145681.tif 000009
【図７】
2006145681.tif 000010
【図８】
2006145681.tif 000011
【図９】
2006145681.tif 000012
【図１０】
2006145681.tif 000013