(57)【特許請求の範囲】
【請求項１】
以下の工程（１）、（２）を繰り返すことにより運指ガイド表示データを生成する運指ガイド表示データ生成方法。
（１）対応する運指ガイド表示データが生成されていない発音指示データを順次検査し、発音指示データの最高音と最低音の音域幅を検出する工程。
（２）工程（１）において音域幅が所定の値を超えた場合には、直前までの発音指示データに基づき、対応する運指ガイド表示データを生成する工程。
【請求項２】
以下の工程（１）から（４）からなる運指ガイド表示データ生成方法。
（１）演奏情報中の発音指示データを順に一時記憶バッファに入力していき、入力された複数の発音指示データ中の最高音と最低音の音域幅が予め定められた値を超えたか否かを判定する工程。
（２）前回の運指ガイド表示データ生成から所定の時間が経過したか否かを判定する工程。
（３）工程（１）あるいは（２）のいずれかにおいて判定結果が肯定の場合には、直前までの発音指示データ群の各音高情報に基づき、前記発音指示データ群に対応して運指ガイド表示データを生成する工程。
（４）一時記憶バッファ内の前記直前までの発音指示データ群を消去し、発音指示データの終わりに達するまで、工程（１）に戻って処理を繰り返す工程。
【請求項３】
前記運指ガイド表示データを生成する工程は、前記発音指示データ群中の最低音を運指ガイド表示範囲の下限とし、該最低音と最高音との音域幅が所定の最低音域幅以下である場合には、最低音に最低音域幅を加算した音を運指ガイド表示範囲の上限とし、該最低音と最高音との音域幅が所定の最低音域幅より大きい場合には、最高音を運指ガイド表示範囲の上限とすることを特徴とする請求項１または２のいずれかに記載の運指ガイド表示データ生成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は運指ガイド表示データ生成方法に関し、特に運指ガイド表示データを含まない演奏データから運指ガイド表示データを生成して表示することが可能な運指ガイド表示データ生成方法に関するものである。
【０００２】
【従来の技術】
従来、アコースティックピアノや電子ピアノ、さらには両者の機能を持つ消音型ピアノ等の鍵盤楽器において、各鍵ごとに例えばＬＥＤ（発光ダイオード）を配置し、演奏情報に従って、予め定められたテンポでキーオンすべき鍵を表示する押鍵表示装置を備えたものが提案されている。このような押鍵表示装置を有する鍵盤楽器においては、記憶装置に記憶された演奏情報、あるいはＭＩＤＩシーケンサ等の外部装置から入力された演奏情報に基づき、キーオンすべき鍵の位置と共に例えば運指ガイド情報（手の位置や指の情報）等を表示していた。このために、運指ガイド表示等を行う演奏情報の中には予め運指ガイド情報等の表示用データも含まれていた。
【０００３】
【発明が解決しようとする課題】
前記したような従来の押鍵表示装置においては、運指ガイドの表示を行うためには、予め運指ガイド表示用データを含んだ専用の演奏情報を用意する必要があり、運指ガイド表示データを含まない通常のスタンダードＭＩＤＩファイル等の演奏情報を使用して押鍵位置表示を行った場合には、運指ガイド表示を行うことができないという問題点があった。本発明の目的は、前記のような従来技術の問題点を解決し、運指ガイド表示データを含まない演奏情報を入力あるいは自動演奏し、該演奏情報から運指ガイド表示データを生成して表示することが可能な運指ガイド表示データ生成方法を提供することにある。
【０００４】
【課題を解決するための手段】
本発明は、対応する運指ガイド表示データが生成されていない発音指示データを順次検査し、発音指示データの最高音と最低音の音域幅を検出する工程１と、工程１において音域幅が所定の値を超えた場合には、直前までの発音指示データに基づき、対応する運指ガイド表示データを生成する工程２とを繰り返すことにより運指ガイド表示データを生成する点に特徴がある。また、運指ガイ表示データの生成は、押鍵範囲が所定幅を超えるか、あるいは所定の演奏時間が経過する度に実行される点にも特徴がある。
本発明は上記のような構成により、運指ガイド表示データを含まない演奏情報を外部から入力するか、あるいはメモリに記憶して自動演奏処理を行い、前記運指ガイド表示データを生成して、表示することができる。従って、既存の任意の演奏データを使用して押鍵表示と共に運指ガイド表示を行うことが可能となり、左右の手の位置が表示されるので、演奏が視覚的に補助される。
【０００５】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して詳細に説明する。図１は、本発明を適用した電子ピアノの構成を示すブロック図である。なお消音型ピアノの場合も回路構成は全く同じである。ＣＰＵ１は、ＲＯＭ３に格納されている制御プログラムに  基づき、電子ピアノ全体の制御を行う中央処理装置である。ＣＰＵ１は、タイマ割り込み回路およびＭＩＤＩインターフェース回路２と接続するためのシリアルポートも備えている。ＭＩＤＩインターフェース回路２は外部のＭＩＤＩ機器とのＭＩＤＩメッセージの送受信のための信号送受信回路である。
【０００６】
ＲＯＭ３には制御プログラム、音色パラメータ、演奏データ等が記憶されている。音色パラメータには波形メモリに記憶されている楽音波形のアドレス情報、エンベロープ制御情報等がある。ＲＡＭ４はワークエリアおよびバッファとして使用される。また、バッテリ等によりバックアップされていてもよい。パネル回路５は、音色選択などのための各種スイッチ、液晶やＬＥＤにより文字等を表示する表示装置およびそれらのインターフェース回路からなる。
【０００７】
鍵盤９は、例えばそれぞれ２つのスイッチを備えた複数の鍵から成り、スキャン回路１０は各鍵のスイッチの状態をスキャンし、その変化を検出してキーイベント（キーオン／キーオフ）情報やタッチ情報を生成する回路である。運指ガイド表示装置８は、鍵盤９の各鍵に対応した複数のＬＥＤからなり、各ＬＥＤは単色であってもよいし、赤と緑など複数の色を発光可能なものでもよい。但し、複数色を発光するために１つのランプ内に複数のＬＥＤ素子を備えたＬＥＤランプの場合には、各ＬＥＤ素子ごとに駆動回路（シフトレジスタ）が必要である。
【０００８】
シフトレジスタ７はＣＰＵ１によって生成される表示制御データを受信し、保持して、ＬＥＤ素子を駆動する回路である。シフトレジスタ７は各ＬＥＤと対応する段数だけ直列接続されたデータ保持回路を有し、例えばＬＥＤが８８個ある場合にはシフトレジスタ７も８８段のものを使用する。そして各データ保持回路の出力端子は各ＬＥＤ素子に接続されており、ＬＥＤの反対側の端子は抵抗を介して電源（５Ｖ）に接続されている。従って、データ保持回路に転送された表示制御ビットが０の場合にはＬＥＤが点灯し、１の場合には消灯する。
【０００９】
表示データ送信回路６は信号送出用のシフトレジスタを有し、ＣＰＵ１からの制御により、各ＬＥＤ対応の表示制御ビットデータを直列信号として送出し、また該信号と同期してシフトレジスタ７のシフトパルスを送出する。従って、１回の表示制御情報の転送時には例えば８８個の表示制御ビット情報およびシフトパルスが送出される。そして、転送時の表示の乱れが肉眼で認識されないように、転送速度は数百キロビット／秒以上とする。なお、転送周期はちらつきが認識されないように例えば３０ミリ秒程度以下とする。
【００１０】
楽音発生回路１１は、波形読み出し方式により所望の楽音信号を発生する回路であり、例えばデジタル楽音波形サンプル値が記憶されている波形メモリから、発音すべき音高に比例したアドレス間隔で順次波形データを読み出し、補間演算を行って楽音波形信号を発生させる。また、エンベロープ発生回路を有し、設定されたエンベロープパラメータに基づいて発生したエンベロープ信号を楽音波形信号に乗算してエンベロープを付与し、楽音信号を出力する。楽音発生回路７は、複数（例えば３２）の楽音発生チャネルを有しているが、実際には、１つの楽音発生回路を時分割多重動作させることにより、同時に複数の楽音信号を独立して発生可能に構成されている。
【００１１】
Ｄ／Ａ変換器１２はデジタル楽音信号をアナログ信号に変換し、アンプ１３によって増幅された楽音信号はスピーカ１４から発音される。バス１５は電子ピアノ内の各回路を接続している。なお、必要に応じて、メモリカードインターフェース回路、フロッピィディスク装置等を備えていてもよい。
【００１２】
図２は、本発明の機能ブロック図である。例えば外部のＭＩＤＩシーケンサから入力されたＭＩＤＩ（発音指示）データは、ＲＡＭ４内に設けられた遅延用バッファ２０に入力されると共に、運指ガイドデータ生成部２１にも入力される。運指ガイドデータ生成部２１においては、後述するような処理によって、例えば音域が所定値を超える毎に運指ガイドデータが生成される。
【００１３】
遅延用バッファ２０は、例えば入力されたＭＩＤＩデータを１小節分あるいはそれ以上の予め定められた任意の時間だけ遅延させて出力するＦＩＦＯ型バッファである。そして、ＭＩＤＩデータが書き込まれてから読み出されるまでの間に、運指ガイドデータ生成部２１において対応する運指ガイドデータが生成され、生成した運指ガイドデータは遅延用バッファ２０内の対応するＭＩＤＩデータの位置に追加（挿入）されるか、あるいは別のバッファに格納され、対応するＭＩＤＩデータと同期して読み出される。
【００１４】
運指ガイド表示と同時に発音するモードの場合には、読み出されたＭＩＤＩデータは楽音信号発生部２２に出力されて発音処理が行われ、楽音が発生する。また運指ガイド表示データは運指ガイド表示部２３に出力されて運指ガイド表示が行われる。
【００１５】
図３は、運指ガイド表示の一例を示す説明図である。この例においては、運指ガイド表示装置として各鍵毎に２個のＬＥＤを設けたものを使用している。そして、上段のＬＥＤにおいて押鍵位置（キーオン情報）を表示し、下段のＬＥＤにおいて運指ガイド表示（手の位置あるいは指の範囲情報の表示）を行う。
【００１６】
今、ＬＥＤ３０、３１、３２に対応する３つの発音指示データが順に（あるいは同時に）入力され、この３個の発音指示データに基づき運指ガイド表示データが生成される場合を考える。まず、発音指示データ中の最低音Ｎｍｉｎ  はＬＥＤ３０に対応する音であるので、運指ガイド表示下限位置はＬＥＤ３３の位置に決定される。次に、音域Ｗ（＝Ｎｍａｘ−Ｎｍｉｎ）は所定の最小音域幅Ｗｍｉｎ  より小さいので、運指ガイド表示の上限位置は、下限位置からＷｍｉｎ  だけ上方のＬＥＤ３４の位置となり、上限位置と下限位置の間のＬＥＤが全て点灯する。従って、演奏者は該表示範囲に指が対応するように手を移動させることにより、運指の練習ができる。
【００１７】
なお、音域Ｗ（＝Ｎｍａｘ−Ｎｍｉｎ）が最小音域幅Ｗｍｉｎ  より大きい場合には、運指ガイド表示の上限位置は最高音Ｎｍａｘ  、即ちＬＥＤ３２の位置となる。また、この例においては、Ｎｍｉｎ  を運指ガイド表示下限位置としたが、例えば右手はそのように決定し、左手は逆にＮｍａｘ  を運指ガイド表示上限位置として決定し、Ｗに応じて下限を決めるようにしてもよい。
【００１８】
図４は、ＣＰＵ１のメイン処理を示すフローチャートである。ステップＳ１においてはＲＡＭ４や楽音発生回路１１の内部状態を初期化する。ステップＳ２においては、パネル上のスイッチ等の状態変化がチェックされ、もし状態変化が検出された場合には対応する処理を行う。このパネル処理においては、受信したＭＩＤＩメッセージに対応して、発音を行うモードか否か、運指ガイド表示を行うモードか否か等の設定も行われる。
【００１９】
ステップＳ３においては、キーイベント、即ち各鍵のスイッチの状態変化が発生したか否かが判定され、結果が肯定の場合には周知のキーイベント処理が行われる。即ち、キーオン情報である場合には発音チャネルを割り当て、必要な発音パラメータをセットして発音を開始する。またキーオフ情報の場合にはレベルを減衰させ、チャネルを開放する。
【００２０】
ステップＳ４においては、外部装置からＭＩＤＩメッセージ信号が受信されたか否かが判定され、メッセージが受信されていた場合にはキーイベントと同様に発音処理等が実行されると共に、運指ガイドを表示するモードにおいては、後述するように受信したＭＩＤＩデータから運指ガイド表示データが生成される。ステップＳ５においては、運指ガイド表示処理が行われる。この運指ガイド表示処理においては、運指ガイド表示データに基づきＬＥＤ表示制御データが更新され、該データがＣＰＵ１から表示データ送信回路６を介して、シフトレジスタ７へ転送される。
【００２１】
図５は、図４のステップＳ４のＭＩＤＩ処理の内容を示すフローチャートである。ステップＳ１０においては、受信バッファにＭＩＤＩメッセージが受信されているか否かが判定され、結果が肯定の場合にはステップＳ１１に移行する。なおＭＩＤＩメッセージの受信バッファへの格納は図示しないＭＩＤＩ受信割り込み処理によって行われる。
【００２２】
ステップＳ１１においては、受信バッファから発音指示データを１つ読み出す。なお、このときのキーナンバを「Ｎ」とする。また、このステップＳ１１において、あるいはステップＳ１０の前において、前回の運指ガイドデータ生成処理（ステップＳ１８の処理）から所定の時間が経過したか否かを判定し、結果が肯定の場合にはステップＳ１８に移行するようにしてもよい。なお所定の時間とは例えば１〜数小節に相当する時間あるいは数秒程度の時間である。
【００２３】
ステップＳ１２においては、「Ｎ」が、既にガイド処理バッファ内に一時的に格納されている発音指示データ中の最低音のキーナンバＮｍｉｎ  より小さいか否かが判定され、結果が肯定の場合にはステップＳ１３に移行する。ステップＳ１３においては、既にガイド処理バッファ内に一時的に格納されている発音指示データ中の最高音のキーナンバＮｍａｘ  から「Ｎ」を引いた値が、予め定められている最大音域幅Ｗｍａｘ  より大きいか否かが判定され、結果が肯定の場合にはステップＳ１８に移行するが、否定の場合にはステップＳ１４に移行する。ステップＳ１４においては「Ｎ」の値がＮｍｉｎ  にセットされ、ステップＳ２１に移行する。
【００２４】
ステップＳ１５においては、「Ｎ」が、既にガイド処理バッファ内に一時的に格納されている発音指示データ中の最高音のキーナンバＮｍａｘ  より大きいか否かが判定され、結果が肯定の場合にはステップＳ１６に移行する。ステップＳ１６においては、「Ｎ」から、既にガイド処理バッファ内に一時的に格納されている発音指示データ中の最低音のキーナンバＮｍｉｎ  を引いた値が、予め定められている最大音域幅Ｗｍａｘ  より大きいか否かが判定され、結果が肯定の場合にはステップＳ１８に移行するが、否定の場合にはステップＳ１７に移行する。ステップＳ１７においては「Ｎ」がＮｍａｘ  にセットされ、ステップＳ２１に移行する。
【００２５】
ステップＳ１８においては、ガイド処理バッファ内の発音指示データに基づき、後述する運指ガイドデータ生成処理が実行される。ステップＳ１９においては、次の運指ガイドデータ生成処理のためにパラメータを更新し、ステップＳ２０においてはガイド処理バッファをクリアする。
ステップＳ２１においては、ステップＳ１１において読み出した発音指示データをガイド処理バッファに格納する。ステップＳ２２においては、受信バッファ内に受信データが残っていないか否かが判定され、結果が否定の場合にはステップＳ１１に戻るが、肯定の場合にはステップＳ２３に移行する。ステップＳ２３においては、後述する遅延バッファ処理が行われる。
【００２６】
図６は、図５のステップＳ２３の遅延バッファ処理の内容を示すフローチャートである。ステップＳ３０において、受信データが存在する場合には該データを遅延用バッファに格納する。この際、受信データに例えば１小節分先の時刻に相当する読み出し時刻情報を付加する。ステップＳ３１においては、遅延バッファ内の最も古いデータについて、付加されている読み出し時刻情報と、図示しないタイマ値とを比較し、読み出しタイミングに達したか否かが判定される。そして、結果が肯定の場合にはステップＳ３２に移行する。ステップＳ３２においては、遅延バッファから読み出しタイミングに達した発音情報、および、もし同じタイミングに存在するならば運指ガイド表示データを読み出す。
【００２７】
ステップＳ３３においては、ＭＩＤＩデータを発音するモードであるか否かが判定され、結果が肯定の場合にはステップＳ３４に移行して、発音処理が実行される。ステップＳ３５においては、運指ガイド表示データが読み出された場合には、運指ガイド表示装置に出力されるＬＥＤ表示制御データが更新される。運指ガイド表示データは運指ガイド表示上限鍵番号および下限鍵番号から成り、更新時には一旦全ての表示制御データが消灯状態にリセットされ、次に上限鍵番号と下限鍵番号の間に存在する全ての鍵番号に対応するＬＥＤの表示制御ビットが点灯状態にセットされる。
【００２８】
図７は、図５のステップＳ１８、１９、２０の運指ガイドデータ生成処理の内容を示すフローチャートである。ステップＳ４０においては、運指ガイド表示の下限鍵番号として最低音のキーナンバＮｍｉｎ  を設定する。ステップＳ４１においては、音域幅Ｗ（＝Ｎｍａｘ−Ｎｍｉｎ）が最小音域幅Ｗｍｉｎ  より小さいか否かが判定され、結果が肯定の場合にはステップＳ４２に移行するが、否定の場合にはステップＳ４３に移行する。
【００２９】
ステップＳ４２においては、運指ガイド表示の上限の鍵番号としてＮｍｉｎ  ＋Ｗｍｉｎ  の値が設定され、またステップＳ４３においては、運指ガイド表示の上限の鍵番号としてＮｍａｘ  の値が設定される。ステップＳ４４においては、運指ガイド表示の上限鍵番号および下限鍵番号から成る運指ガイド表示データが、ガイド処理バッファの先頭の発音データと同一の遅延バッファ内の発音データに付加（後ろに挿入）される。付加方法は任意であるが、例えばＭＩＤＩメッセージの形式で付加する場合には、処理タイミングを直前の発音データと同じ（時間差が零）として、存在しても発音に影響のないメッセージ（例えばポリフォニックキープレッシャやエクスクルーシブメッセージ）を使用し、該メッセージのデータ内に運指ガイド表示データを埋め込む。
【００３０】
ステップＳ４５（図５のＳ１９に相当）においては、最低音Ｎｍｉｎ  最高音Ｎｍａｘ  の値を共にＮとする。ステップＳ４６（Ｓ２０に相当）においては、ガイド処理バッファをクリアする。以上の様な処理によって、外部のＭＩＤＩシーケンサ等から入力される通常のＭＩＤＩメッセージに基づき、運指ガイド表示データを生成して表示することができる。
【００３１】
図８は、本発明による運指ガイド表示例を示す説明図である。例えば外部のＭＩＤＩシーケンサから図８（ａ）に示すような楽譜に対応する発音指示データ（Ｔ１〜Ｔ８）がリアルタイムに入力された場合を考える。発音指示データＴ１〜Ｔ３までは音域ＷがＷｍａｘ  未満であるが、Ｔ４  を加えるとＷｍａｘ  を超える。従って、この時点で直前までのデータＴ１〜Ｔ３により、図８（ｂ）に示す運指ガイド表示データが生成される。この運指ガイド表示データは下限がＴ１  であり、Ｗ＞Ｗｍｉｎ  であるので上限はＴ３  となる。この運指ガイド表示データは発音指示データＴ１  のタイミングで演奏データに付加される。
【００３２】
次の運指ガイド表示データ生成処理はＴ４  から始まり、Ｔ８  を加えた時点で音域ＷがＷｍａｘ  を超えるので、データＴ４〜Ｔ７により運指ガイド表示データ生成処理が実行され、図８（ｃ）に示すような運指ガイド表示に相当するデータが生成される。なお、例えば１小節に相当する時間以上経過した時にも運指データ生成処理を実行する場合には、Ｔ８  がどのような値であっても、Ｔ８  のタイミングで運指データ生成処理が実行される。
【００３３】
以上、実施例を説明したが、以下に述べるような変形例も考えられる。実施例においては、外部のＭＩＤＩシーケンサからＭＩＤＩデータを入力して運指ガイド表示データを生成する例を開示したが、例えば自動演奏用の演奏データをメモリに記憶し、内部で自動演奏処理を行うことによって発音指示データを生成し、該データに基づいて運指ガイド表示データを生成してもよい。また、この場合に、まず１曲分全ての演奏データに基づき運指ガイド表示データを生成してメモリに記憶し、その後表示を開始するようにしてもよい。
【００３４】
最低音域幅Ｗｍｉｎ  および最高音域幅Ｗｍａｘ  は手の指をすぼめた場合の幅および広げた場合の幅に相当する値であり、例えば子供と大人では最適値が異なる。従って、該値を固定値ではなく、演奏者に合わせて設定可能に構成してもよい。
【００３５】
運指ガイド表示のタイミングは、該手の位置における最初のキーオンと同時である例を開示したが、手の移動は発音前に行われるので、例えば直前のキーオフあるいは最初のキーオンの所定時間前のタイミングで運指ガイド表示を開始するようにしてもよい。
【００３６】
【発明の効果】
以上述べたように、本発明においては、運指ガイド表示データを含まない演奏情報を外部から入力するか、あるいはメモリに記憶して自動演奏処理を行い、前記運指ガイド表示データを生成して、表示することができる。従って、既存の任意の演奏データを使用して押鍵表示と共に運指ガイド表示を行うことが可能となり、左右の手の位置が表示されるので、演奏が視覚的に補助されるという効果がある。
【図面の簡単な説明】
【図１】本発明を適用した電子ピアノの構成を示すブロック図である。
【図２】本発明の機能ブロック図である。
【図３】運指ガイド表示の一例を示す説明図である。
【図４】ＣＰＵ１のメイン処理を示すフローチャートである。
【図５】Ｓ４のＭＩＤＩ処理の内容を示すフローチャートである。
【図６】Ｓ２３の遅延バッファ処理の内容を示すフローチャートである。
【図７】Ｓ１８、１９、２０の運指ガイドデータ生成処理の内容を示すフローチャートである。
【図８】本発明による運指ガイド表示例を示す説明図である。
【符号の説明】
１…ＣＰＵ、２…ＭＩＤＩインターフェース回路、３…ＲＯＭ、４…ＲＡＭ、５…パネル回路、６…表示データ送信回路、７…シフトレジスタ、８…運指ガイド表示装置、９…鍵盤、１０…スキャン回路、１１…楽音発生回路、１２…Ｄ／Ａ変換器、１３…アンプ、１４…スピーカ、１５…バス
【図１】
0003597308.tif 000002
【図２】
0003597308.tif 000003
【図３】
0003597308.tif 000004
【図４】
0003597308.tif 000005
【図５】
0003597308.tif 000006
【図６】
0003597308.tif 000007
【図７】
0003597308.tif 000008
【図８】
0003597308.tif 000009