(57)【特許請求の範囲】
【請求項１】
所定の弦楽器の演奏パートを含み、複数のコードの進行からなるコード情報が対応づけられたカラオケ楽曲データを記憶する楽曲データ記憶手段と、
前記楽曲データ記憶手段に記憶された前記カラオケ楽曲データを読み出して再生する楽曲データ再生手段と、
前記楽曲データ再生手段での前記カラオケ楽曲データの再生に応じて、対応する前記コード情報に含まれる各コードごとに、前記弦楽器における当該コードに対応した目標音高データを生成する目標データ生成手段と、
前記楽曲データ再生手段による前記カラオケ楽曲データの再生にしたがって、楽器演奏者の前記弦楽器の演奏により当該弦楽器から出力される演奏信号を入力する演奏信号入力手段と、
前記演奏信号入力手段から入力される前記演奏信号の周波数成分を抽出してクロマベクトル処理を行うことにより、所定の時間区分ごとの実音高データを生成する実データ生成手段と、
前記時間区分ごとに、当該時間区分において前記実データ生成手段により生成された前記実音高データと対応する前記目標音高データとの一致度に応じた、前記楽器演奏者の前記演奏に対する採点を行う採点手段と、
を有し、
前記コード情報において特定の前記時間区分に複数の前記コードが含まれる場合には、
前記目標データ生成手段は、
それら複数のコードにそれぞれ対応する複数の前記目標音高データを生成し、
前記採点手段は、
前記特定の時間区分に関して前記目標データ生成手段により生成された前記複数の目標音高データのそれぞれを、当該特定の時間区分において前記実データ生成手段により生成された前記実音高データと比較するデータ比較手段と、
前記データ比較手段における比較結果に基づき、前記複数の目標音高データのうち前記実音高データに対し最も高い一致度を与える目標音高データを決定するデータ決定手段と、
を備え、
前記データ決定手段により決定された前記目標音高データの前記最も高い一致度に基づき、前記採点を行う
ことを特徴とする楽音演奏装置。
【請求項２】
請求項１記載の楽音演奏装置において、
前記実データ生成手段は、
前記クロマベクトル処理されたデータのうちレベルが所定のしきい値以下のものをカットするフィルタ手段と、
前記複数のコードが含まれる前記特定の時間区分における前記しきい値を、１つのコードが含まれる他の時間区分における前記しきい値よりも大きくなるように可変に設定するしきい値設定手段と、
を備えることを特徴とする楽音演奏装置。
【請求項３】
所定の弦楽器の演奏パートを含み、複数のコードの進行からなるコード情報が対応づけられたカラオケ楽曲データを記憶する楽曲データ記憶手段と、前記楽曲データ記憶手段に記憶された前記カラオケ楽曲データを読み出して再生する楽曲データ再生手段と、前記楽曲データ再生手段による前記カラオケ楽曲データの再生にしたがって、楽器演奏者の前記弦楽器の演奏により当該弦楽器から出力される演奏信号を入力する演奏信号入力手段と、を有する楽音演奏装置に備えられた演算手段に対し、
前記楽曲データ再生手段での前記カラオケ楽曲データの再生に応じて、対応する前記コード情報に含まれる各コードごとに、前記弦楽器における当該コードに対応した目標音高データを生成する目標データ生成手順と、
前記演奏信号入力手段から入力される前記演奏信号の周波数成分を抽出してクロマベクトル処理を行うことにより、所定の時間区分ごとの実音高データを生成する実データ生成手順と、
前記時間区分ごとに、当該時間区分において前記実データ生成手順で生成された前記実音高データと対応する前記目標音高データとの一致度に応じた、前記楽器演奏者の前記演奏に対する採点を行う採点手順と、
を実行させるための楽音演奏処理プログラムであって、
前記コード情報において特定の前記時間区分に複数の前記コードが含まれる場合には、
前記目標データ生成手順は、
それら複数のコードにそれぞれ対応する複数の前記目標音高データを生成し、
前記採点手順は、
前記特定の時間区分に関して前記目標データ生成手順で生成された前記複数の目標音高データのそれぞれを、当該特定の時間区分において前記実データ生成手順で生成された前記実音高データと比較するデータ比較手順と、前記データ比較手順における比較結果に基づき、前記複数の目標音高データのうち前記実音高データに対し最も高い一致度を与える目標音高データを決定するデータ決定手順と、を備え、前記データ決定手順で決定された前記目標音高データの前記最も高い一致度に基づき、前記採点を行う
ことを特徴とする楽音演奏処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽曲を演奏する楽音演奏装置及び楽音演奏処理プログラムに関する。
【背景技術】
【０００２】
ユーザ（楽器演奏者）による楽器演奏に対し、採点を行う楽音演奏装置が知られている（例えば、特許文献１参照）。
【０００３】
この従来技術では、ユーザが楽器（例えば鍵盤楽器）を演奏することで、その演奏に対する採点が行われる。すなわち、演奏される楽曲（練習曲）のデータにコード情報が対応づけられており、各コードごとに上記鍵盤楽器の目標音高データ（押さえ方情報）が生成されている。そして、上記ユーザの演奏により鍵盤楽器から電気的に出力された演奏信号（演奏情報）と上記目標音高データとの一致度に基づき、採点手段（演奏評価手段）によって上記採点が行われる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１２３２３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一方、上記のような鍵盤楽器ではなく、ユーザが弦楽器を演奏する場合も考えられる。この場合、弦楽器の演奏に対する採点を行うためには、弦楽器から出力された演奏信号の周波数成分を抽出し、公知のクロマベクトル処理を行う手法が考えられる。このクロマベクトル処理により、所定の時間区分ごとに上記演奏に対応した実音高データが生成されることで、当該実音高データと、対応する上記目標音高データとの一致度に基づき、上記採点を行うことができる。
【０００６】
しかしながら、上記のように周波数成分の抽出及びクロマベクトル処理により実音高データを生成する手法の場合、生成される実音高データの高精度化を図る観点からは、採点対象とする上記時間区分をなるべく長くとって演奏信号のサンプル数を多くするのが好ましい。しかしながら、上記時間区分が長くなるほど、当該時間区分に複数のコードが含まれる（言い換えれば当該時間区分の途中で１つのコードから別のコードに切り替わる）可能性が高くなる。この場合、そのままでは、生成された実音高データを、どのコードの目標音高データと比較するべきかの判別が難しく、適正な採点を実行することが難しくなる。
【０００７】
本発明の目的は、ユーザによる弦楽器の演奏に対し適正な採点を確実に行うことができる、楽音演奏装置及び楽音演奏処理プログラムを提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、第１の発明は、所定の弦楽器の演奏パートを含み、複数のコードの進行からなるコード情報が対応づけられたカラオケ楽曲データを記憶する楽曲データ記憶手段と、前記楽曲データ記憶手段に記憶された前記カラオケ楽曲データを読み出して再生する楽曲データ再生手段と、前記楽曲データ再生手段での前記カラオケ楽曲データの再生に応じて、対応する前記コード情報に含まれる各コードごとに、前記弦楽器における当該コードに対応した目標音高データを生成する目標データ生成手段と、前記楽曲データ再生手段による前記カラオケ楽曲データの再生にしたがって、楽器演奏者の前記弦楽器の演奏により当該弦楽器から出力される演奏信号を入力する演奏信号入力手段と、前記演奏信号入力手段から入力される前記演奏信号の周波数成分を抽出してクロマベクトル処理を行うことにより、所定の時間区分ごとの実音高データを生成する実データ生成手段と、前記時間区分ごとに、当該時間区分において前記実データ生成手段により生成された前記実音高データと対応する前記目標音高データとの一致度に応じた、前記楽器演奏者の前記演奏に対する採点を行う採点手段と、を有し、前記コード情報において特定の前記時間区分に複数の前記コードが含まれる場合には、前記目標データ生成手段は、それら複数のコードにそれぞれ対応する複数の前記目標音高データを生成し、前記採点手段は、前記特定の時間区分に関して前記目標データ生成手段により生成された前記複数の目標音高データのそれぞれを、当該特定の時間区分において前記実データ生成手段により生成された前記実音高データと比較するデータ比較手段と、前記データ比較手段における比較結果に基づき、前記複数の目標音高データのうち前記実音高データに対し最も高い一致度を与える目標音高データを決定するデータ決定手段と、を備え、前記データ決定手段により決定された前記目標音高データの前記最も高い一致度に基づき、前記採点を行うことを特徴とする。
【０００９】
本願発明の楽音演奏装置では、カラオケ楽曲データの再生とともにユーザ（楽器演奏者）が楽器を演奏することができる。すなわち、楽曲データ記憶手段に記憶されたカラオケ楽曲データは、楽曲データ再生手段によって読み出されて再生される。
【００１０】
このとき、本願発明では、この再生に合わせてユーザが弦楽器を演奏することで、その演奏に対する採点が行われる。すなわち、上記再生されるカラオケ楽曲データには、コード情報が対応づけられている。そして、当該カラオケ楽曲データの再生に応じて、目標データ生成手段により、上記コード情報に含まれる各コードごとに上記弦楽器の目標音高データが生成される。一方、上記ユーザの演奏により弦楽器から出力された演奏信号は演奏信号入力手段によって入力された後、実データ生成手段により、当該演奏信号の周波数成分が抽出されてクロマベクトル処理が行われ、これによって所定の時間区分ごとに実音高データが生成される。そして、この生成された実音高データと、対応する上記目標音高データとの一致度に基づき、採点手段によって上記採点が行われる。
【００１１】
ここで、上記のように周波数成分の抽出及びクロマベクトル処理により実音高データを生成する手法の場合、生成される実音高データの高精度化を図る観点からは、採点対象とする上記時間区分をなるべく長くとって演奏信号のサンプル数を多くするのが好ましい。しかしながら、上記時間区分が長くなるほど、当該時間区分に複数のコードが含まれる（言い換えれば当該時間区分の途中で１つのコードから別のコードに切り替わる）可能性が高くなる。この場合、そのままでは、生成された実音高データを、どのコードの目標音高データと比較するべきかの判別が難しく、適正な採点を実行することが難しくなる。
【００１２】
そこで本願発明においては、上記のように複数のコードが含まれるような特定の時間区分を採点対象とする場合には、それ以外の時間区分の採点とは異なる手法をとる。すなわち、目標データ生成手段が、上記複数のコードにそれぞれ対応する複数の目標音高データを生成する。そして、採点手段において、データ比較手段が、それら複数の目標音高データそれぞれを当該特定の時間区分において生成された上記実音高データと個別に比較し、データ決定手段が、それらのうち最も高い一致度を得られる目標音高データ（言い換えれば当該特定の時間区分において主として演奏されたコードに対応した音高データ）を決定する。そして、この決定された目標音高データに係わる上記最も高い一致度を用いて、採点が行われる。
【００１３】
以上の手法により、（上記周波数成分の抽出及びクロマベクトル処理による）演奏信号からの実音高データ生成を高精度に行うために採点対象となる時間区分を長くし、結果として当該時間区分に複数のコードが含まれたとしても、目標音高データとの比較による上記採点を適正に行うことができる。言い換えれば、高精度な実音高データの生成と、これに対応する目標音高データとの適正な比較と、の両立を図ることができる。このようにして弦楽器の演奏に対する適正な採点を確実に行える結果、ユーザの利便性を向上することができる。
【００１４】
第２の発明は、上記第１発明において、前記実データ生成手段は、前記クロマベクトル処理されたデータのうちレベルが所定のしきい値以下のものをカットするフィルタ手段と、前記複数のコードが含まれる前記特定の時間区分における前記しきい値を、１つのコードが含まれる他の時間区分における前記しきい値よりも大きくなるように可変に設定するしきい値設定手段と、を備えることを特徴とする。
【００１５】
本願発明では、演奏信号の周波数成分の抽出及びクロマベクトル処理を実行する上記実データ生成手段が、フィルタ手段を備えている。このフィルタ手段は、上記のようにクロマベクトル処理されたデータのうち所定のしきい値以下のレベルのものをカットする。これにより、上記カットによりノイズが除去されたデータに対しその後の処理を実行することができるので、より迅速かつ明瞭な態様で実音高データを生成することができる。
【００１６】
しかしながら、前述のように、採点対象となる時間区分に複数のコードが含まれる場合には、クロマベクトル処理されたデータにそれら複数のコードの和音が大小様々なレベルで混在している可能性がある。そのような場合に、上記フィルタ手段によるカットをそのまま実行すると、本来はノイズではない成分まで誤ってカットしてしまう可能性がある。
【００１７】
そこで、本願発明では、しきい値設定手段により、複数のコードが含まれるような特定の時間区分においては、上記しきい値を、（１つのコードのみが含まれる）他の時間区分よりも大きく設定する。これにより、上記のような誤ったカットが実行されるのを防止できるので、高精度な実音高データを確実に生成することができる。
【００１８】
上記目的を達成するために、第３の発明は、所定の弦楽器の演奏パートを含み、複数のコードの進行からなるコード情報が対応づけられたカラオケ楽曲データを記憶する楽曲データ記憶手段と、前記楽曲データ記憶手段に記憶された前記カラオケ楽曲データを読み出して再生する楽曲データ再生手段と、前記楽曲データ再生手段による前記カラオケ楽曲データの再生にしたがって、楽器演奏者の前記弦楽器の演奏により当該弦楽器から出力される演奏信号を入力する演奏信号入力手段と、を有する楽音演奏装置に備えられた演算手段に対し、前記楽曲データ再生手段での前記カラオケ楽曲データの再生に応じて、対応する前記コード情報に含まれる各コードごとに、前記弦楽器における当該コードに対応した目標音高データを生成する目標データ生成手順と、前記演奏信号入力手段から入力される前記演奏信号の周波数成分を抽出してクロマベクトル処理を行うことにより、所定の時間区分ごとの実音高データを生成する実データ生成手順と、前記時間区分ごとに、当該時間区分において前記実データ生成手順で生成された前記実音高データと対応する前記目標音高データとの一致度に応じた、前記楽器演奏者の前記演奏に対する採点を行う採点手順と、を実行させるための楽音演奏処理プログラムであって、前記コード情報において特定の前記時間区分に複数の前記コードが含まれる場合には、前記目標データ生成手順は、それら複数のコードにそれぞれ対応する複数の前記目標音高データを生成し、前記採点手順は、前記特定の時間区分に関して前記目標データ生成手順で生成された前記複数の目標音高データのそれぞれを、当該特定の時間区分において前記実データ生成手順で生成された前記実音高データと比較するデータ比較手順と、前記データ比較手順における比較結果に基づき、前記複数の目標音高データのうち前記実音高データに対し最も高い一致度を与える目標音高データを決定するデータ決定手順と、を備え、前記データ決定手順で決定された前記目標音高データの前記最も高い一致度に基づき、前記採点を行うことを特徴とする。
【発明の効果】
【００１９】
本発明によれば、ユーザによる弦楽器の演奏に対し適正な採点を確実に行うことができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の一実施形態のカラオケ装置の主要構成を示す説明図である。
【図２】カラオケ装置に備えられた制御装置の制御系の主要構成を示す機能ブロック図である。
【図３】楽曲データを含むサーバからの受信データのデータ構造の一例を示す説明図である。
【図４】歌唱パート及びギターパートを説明するための説明図である。
【図５】楽曲データの再生時にモニタに表示される表示内容の一例を示す説明図である。
【図６】ＣＰＵの詳細機能を表す機能ブロック図である。
【図７】複数の目標音高データを生成し、それぞれを特定の時間区分における実音高データと個別に比較する実施形態の手法を説明するための説明図である。
【図８】採点結果の表示例を説明するための説明図である。
【図９】カラオケ装置の楽曲再生時にＣＰＵにより実行される処理内容を示すフローチャートである
【図１０】ステップＳ１００の詳細手順を表すフローチャートである。
【図１１】フィルタリングのしきい値を可変に設定する変形例を説明するための説明図である。
【発明を実施するための形態】
【００２１】
以下、本発明の一実施の形態について、図面を参照しつつ説明する。本実施形態では、ユーザがカラオケ楽曲の演奏と共に主として自らエレキギターを演奏する場合を説明する。
【００２２】
＜主要構成＞
図１は、本実施形態の楽音演奏装置であるカラオケ装置の主要構成を示す説明図である。図１に示すように、カラオケ装置１０には、歌詞を示す歌詞テロップ、歌詞テロップの背景に表示する背景映像、選曲番号を示す映像などをＣＲＴに表示するモニタテレビ（以下、モニタと略称する）１３と、ユーザ用のモニタ１４と、エレキギター４やエレキベースなどの電子楽器を接続するための楽器接続ボード８と、複数の楽器演奏パートにより構成されるカラオケ用の楽曲（カラオケ楽曲。以下、適宜「曲」と略称する）の選曲及び曲の再生の予約などの選曲制御や、選曲された曲の送信要求を示すリクエスト信号のサーバへの送信、及びリクエスト信号により示される曲に対応する楽曲データ（カラオケ楽曲データに相当）の受信などの通信制御や、受信された楽曲データに含まれる楽音種類指定情報たるＭＩＤＩデータのうち楽器接続ボード８に接続された楽器と同じ種類の楽器の音源を指定する等を行う制御装置２０と、が備えられている。
【００２３】
さらに、カラオケ装置１０には、この例では、楽器接続ボード８から入力される楽器の演奏信号とマイクロフォン１７，１８から入力される音声信号と曲の再生信号とのミキシング（後述の図２に示すミキシング回路９参照）や、音声と曲との音量バランス調整や、エコー調整や、ディレィ調整や、ミキシング信号の増幅や、再生される曲の音程制御（キーコントロール）や、高音・低音の制御（トーンコントロール）等を行うアンプ１６と、このアンプ１６から出力される増幅信号を音として再生するフロアータイプの１組のスピーカ１１，１１と、天井吊下げ用の１組のスピーカ１２，１２と、制御装置２０を遠隔操作するリモコン３０と、が備えられている。リモコン３０には、各種の操作ボタン３０ａ，３０ｂが備えられている。
【００２４】
楽器接続ボード８は、図示を省略するが、電子ドラム、キーボード、エレキベース、エレキギター４の出力端子（フォンプラグ）を接続するそれぞれの入力端子（フォンジャック。演奏信号入力手段に相当）と、各入力端子に入力される演奏信号をそれぞれ出力する出力端子と、が設けられている。そして、楽器接続ボード８は、各楽器の出力端子を入力端子に接続することによって各楽器が接続されたこと及びその楽器の種類を自動検出するとともに、接続された楽器の１つの演奏信号を選択し、その選択された演奏信号を制御装置２０の入力端子４４（後述の図２参照）へ出力する役割をする。例えばエレキギター４から出力される演奏信号は、エレキギター４のフォンプラグを接続するフォンジャック４ａ（後述の図２参照）を介して楽器接続ボード８へ入力され、楽器接続ボード８の出力端子から出力される演奏信号は、制御装置２０の入力端子４４へ入力される。なお、上記のように楽器の接続及びその種類を自動検出するのに代え、ユーザが、既に接続済みの楽器に対応した設定等をリモコン３０等において手動で行うようにしてもよい。またその場合、エレキギター４のような電子弦楽器ではなく、ガットギターやフォークギターのようなアコースティック発音のギターの音を、マイクロフォンで集音してフォンジャック４ａへ入力してもよい。
【００２５】
＜制御系＞
上記制御装置２０の制御系の構成について図２を参照して説明する。図２は、制御装置２０の制御系の主要構成を示す機能ブロック図である。制御装置２０は、装置筺体にＬＡＮ回線１５を接続する通信端子４０と、楽器接続ボード８の出力端子と接続される入力端子４４と、アンプ１６の音声入力端子と接続される音声出力端子４１と、モニタ１３の映像入力端子と接続される映像出力端子４２と、モニタ１４の映像入力端子と接続される映像出力端子４３とを備えている。
【００２６】
また、制御装置２０には、制御プログラムにしたがって各種制御を実行するＣＰＵ４５（演算手段に相当）が設けられている。ＣＰＵ４５には、リモコン３０から送信されるデータ、選曲された曲の選曲番号を示す選曲番号データ、予約された曲の選曲番号データなどを一時保存するためのＲＡＭ４６と、ＣＰＵ４５により実行されるプログラム（図９、図１０に示すフローを実行する楽音演奏処理プログラムを含む）及び必要なデータテーブルなどが記憶されたＲＯＭ４７とが接続されている。
【００２７】
また、ＣＰＵ４５には、モニタ１３，１４に歌詞テロップや各種メッセージ映像を表示するための文字映像データが記憶されたビデオＲＡＭ４８と、サーバ５８から送信される楽曲データやコード譜情報（詳細は後述）、歌詞データ、及び映像データを通信端子４０を介して受信するためのＬＡＮボード５０と、このＬＡＮボード５０により受信される楽曲データ及び歌詞データ等を一時保存するためのＲＡＭ４９（楽曲データ記憶手段に相当）とが接続されている。
【００２８】
さらに、ＣＰＵ４５には、ＲＡＭ４９から読み出された曲データに含まれるＭＩＤＩデータを入力するとともに、その入力されたＭＩＤＩデータにより指定される音源から音源信号を出力するＭＩＤＩ音源ボード５１が接続されている。また、ＣＰＵ４５には、上記出力された音源信号を入力してアンプ１６により増幅可能な信号に変換する音声制御回路５２と、一般的な背景映像を示す背景映像データを読み出すＣＤ−ＲＯＭプレーヤ５３とが接続されている。
【００２９】
また、ＣＰＵ４５には、ＣＤ−ＲＯＭプレーヤ５３から読み出された一般的な背景映像データ、及びＲＡＭ４９から読み出された曲固有の背景データや曲データに含まれる歌詞テロップデータ等を入力し、モニタ１３の表示画面に表示される背景映像中に歌詞テロップがスーパーインポーズされた映像を作成したり、曲の進行にしたがって歌詞テロップの色を変えたりする映像制御を行う映像制御回路５４が接続されている。
【００３０】
さらに、ＣＰＵ４５には、制御装置２０の受光部３８により受光されたリモコン３０からの光信号をデジタル信号に変換する変換回路５５と、制御装置２０の筺体に設けられた各種ボタン及びキー（テンキー、選曲ボタン等）を押したときに点灯するＬＥＤへ表示信号を出力する表示回路５６と、上記各種ボタン及びキーを押したときに発生するスイッチング信号を入力する入力回路５７とが接続されている。
【００３１】
＜カラオケ装置の基本動作＞
以上の基本構成のカラオケ装置１０において、ユーザがリモコン３０により例えばエレキギター４の演奏パートを含むカラオケ楽曲を選曲し、選曲に対応してサーバ５８から送信された楽曲データを受信すると、楽曲データが演奏される。そのエレキギター４の演奏パートを含む楽曲データの演奏に合わせてユーザがエレキギター４を演奏すると、エレキギター４から出力される演奏信号は、楽器接続ボード８を介して制御装置２０の入力端子４４へ入力される。そして、音声制御回路５２において、音源信号が音声出力端子４１へ出力される。なお、いわゆるマイナスワン再生状態の場合には、音声制御回路５２において、音源信号のエレキギターの楽曲パート一部をエレキギター４の演奏信号と置き換えたマイナスワン再生状態で、音声出力端子４１へ出力される。
【００３２】
このとき、本実施形態では、サーバ５８より歌詞データや映像データとともに受信した当該エレキギター４のギター演奏パートを含む楽曲データに対し、予め演奏支援用にコード譜情報（詳細は後述）が対応付けられており、当該楽曲データの再生時にはモニタ１３，１４によってコード譜情報が歌詞データや映像データと共に表示される。これにより、演奏者であるユーザは、モニタ１３，１４に表示されるコード譜情報を活用することで、再生されるカラオケ楽曲に合わせてエレキギター４の演奏パートを自ら容易に演奏して、当該エレキギター４の練習を行ったり、カラオケ楽曲全体のアンサンブルを楽しむことができる。
【００３３】
＜データ構造＞
図３は、本実施形態における、サーバ５８より受信した楽曲データを含む受信データのデータ構造を示す説明図である。図３に示す例では、サーバから受信されるデータの、カラオケ楽曲の４小節分を示している。受信データは、４小節分の演奏の進行に対応した複数の楽器演奏パート（この例では、エレキギター４に対応するギターパート、ベースパート、ドラムパート）の楽曲データと、上記コード譜情報と、歌詞データ（歌詞テロップデータ）と、映像データと、を備えている。
【００３４】
楽曲データは、歌詞データ及び映像データとともに、図３に示すデータ中の１番目の小節（以下、単に「第１小節」等という）から再生され、時間の経過に従って第２小節、第３小節、第４小節へと再生が進行して行く。またその再生に対応して、歌詞データ及び映像データに基づく表示も進行していく。
【００３５】
＜コード譜情報＞
コード譜情報は、楽曲データに対応付けられており、この例では、図中の第１小節がコードＥｍ、第２小節がコードＥｍ，Ｂｍ，Ｃ、第３小節がコードＣ、第４小節がコードＢｍとなっている。この例では、図４に示すように、「あのことばさえ  いわなかったならば〜」の歌詞となるメロディーに対応し、コード進行は、コードＥｍ（図４中の第１小節）→コードＥｍ，Ｂｍ，Ｃ（第２小節）→コードＣ（第３小節）→コードＢｍ（第４小節）・・・の順となっている。そしてこれに対応するエレキギター４の演奏は、各小節とも当該コードのストローク奏法となっている。
【００３６】
なお、この例では、上記コード譜情報が楽曲データと同一ファイルにより構成されているが、これに限られず、コード譜情報が楽曲データと別ファイル（以下、コード譜情報ファイル）で構成され、同じ曲名で対応付けられていてもよい。
例えば、以下の構成と処理（１）〜（４）によって、コード譜情報が楽曲データと別ファイルであっても、コード譜情報が楽曲データと同一ファイルの場合と、同じ作用が得られる。
（１）コード譜情報ファイルとは、楽曲データの再生の時間進行に応じて出現するコード情報を、予め、楽曲の進行時間と対応付けたテーブルのファイルである。
テーブルは具体的には、（演奏時間ｔ１：コードＥｍ、ｔ２：コードＢｍ、・・・最後の演奏時間ｔＸ：最後のコード譜Ｘ）の情報が記録されている。
（２）前記コード情報ファイルを、楽曲データとともに、ＲＡＭ４９に記憶しておく。
（３）入力回路５７から楽曲の再生が指定された場合に、ＣＰＵ４５は、楽曲データとともに、対応するコード譜情報ファイルもＲＡＭ４９から読み出す。
（４）ＣＰＵ４５は、ＲＯＭ４７の実行プログラムに従い楽曲データを再生し、再生の進行時間に応じて、コード情報ファイルからコード譜情報を読み出す。
具体的には、楽曲データの再生の進行時間がｔ１（秒）に到達した場合には、コード情報ファイルからｔ１に対応するコードＥｍを読み出し、ｔ２（秒）の到達で、ｔ２に対応するコードＢｍを読み出す。以下同様に、楽曲データの再生終了（ｔＸ）迄、コード譜情報ファイルから進行時間に応じたコード譜を読み出し続ける。
【００３７】
図５は、楽曲データの再生時に上記コード譜情報に対応してモニタ１３，１４に表示される表示内容の一例を示す説明図である。この例では、上記図３に示した４小節分の楽曲データに対応した表示の例を示している。すなわち、モニタ１３，１４の表示内容は、上記４小節分の歌詞「あの言葉さえ言わなかったならば」と、歌詞の上側に添えられたコード譜（第１小節：Ｅｍ、第２小節：Ｅｍ，Ｂｍ，Ｃ、第３小節：Ｃ、第４小節：Ｂｍ）と、歌詞の下側に２小節分ずつ設けられた再生進行バーと、からなっている。再生進行バーは、楽曲データの再生の進行状態を帯状に延びる黒色部分によって示されている。エレキギター４のユーザは、楽曲データの再生時、モニタ１３，１４に表示される上記コード譜を見て、再生進行バーの延び状態に対応してコード進行順にエレキギター４のコードを押さえることで、カラオケ楽曲のエレキギターパートを容易に弾くことができる。
【００３８】
図５（ａ）は、第１小節（コードＥｍ）の冒頭から始まった上記楽曲データの再生が第１小節の途中（歌詞「あの言葉」の「の」部分）まで進行している状態であり、１つ目の再生進行バーの黒色部分が、上記第１小節の途中まで延びている。図５（ｂ）は、上記図５（ａ）の状態からさらに再生が進み、コードＥｍの第１小節が終了して、コードＥｍ，Ｂｍ，Ｃの第２小節の途中の部分（歌詞「言葉さえ」の「葉」の部分）が再生されている状態であり、上記黒色部分が第２小節の途中まで延びている。図５（ｃ）は、上記図５（ｂ）の状態からさらに再生が進み、第２小節の終わりのコードＣの部分（歌詞「言葉さえ言わ」の「わ」の部分）が再生されている状態であり、上記黒色部分が第２小節の終わりまで延びている。
【００３９】
＜本実施形態の特徴＞
ところで、カラオケ装置においてユーザの歌唱に対する採点を行う手法は既に広く行われている。ここで、上記のようにコード譜情報を用いてユーザが弦楽器（この例ではエレキギター４）の演奏を行うとき、その演奏に対する採点を行い採点結果を表示するようにすれば、ユーザにとっての楽しみをさらに増大させることができる。
【００４０】
そこで、本実施形態では、ユーザがエレキギター４を演奏することで出力された演奏信号の周波数成分が公知のＦＦＴ（高速フーリエ変換）の手法により抽出された後にクロマベクトル処理が行われることで、所定の時間区分ごとに、上記演奏に対応した実音高データ（詳細は後述）が生成される。その実音高データと、上記コード譜情報に基づき生成された目標音高データ（詳細は後述）との一致度に基づき、上記採点が行われる。以下、その詳細を図６〜図８を用いて説明する。
【００４１】
＜ＣＰＵの詳細機能＞
上記の採点を行うために、本実施形態の上記ＣＰＵ４５が備える機能的構成を、図６に示す。図示のように、ＣＰＵ４５は、ＦＦＴ処理部４５ａ、特徴パラメータ取得部４５ｂ、実データバッファ４５ｃ、目標データバッファ４５ｅ、マッチング処理部４５ｄ、及び、採点結果生成部４５ｆ等の各機能部を備えている。
【００４２】
前述のようにしてユーザのエレキギター４の演奏により出力され制御装置２０に入力された演奏信号は、デジタルデータに変換された後にＦＦＴ処理部４５ａ及び特徴パラメータ取得部４５ｂに入力される。ＦＦＴ処理部４５ａでは、入力されたサンプリングデータ列である演奏音声データを所定の時間区分（後述のように本実施形態では例えば１８６ｍｓｅｃである）毎に分割して高速フーリエ変換する。このＦＦＴによって得られた周波数スペクトルは、ＦＦＴ処理部４５ａから特徴パラメータ取得部４５ｂに入力される。
【００４３】
特徴パラメータ取得部４５ｂは、上記演奏音声データが入力されるとともに、ＦＦＴ処理部４５ａから、周波数領域の情報である周波数スペクトルが入力される。特徴パラメータ取得部４５ｂは、上記演奏音声データ及びその周波数スペクトルから、演奏音声データの様々な特徴を示す複数の特徴パラメータを取得し、公知のクロマベクトル化の手法によりその取得結果に対応した実音高データ（上記演奏信号に含まれる和音の各音を表すデータ）を生成し出力する。この特徴パラメータの取得は、上記時間区分ごとのフレームで行われる。具体的には、特徴パラメータ取得部４５ｂは、上記入力された演奏音声データから時間領域の特徴パラメータを割り出す時間領域情報取得部４５ｂａと、ＦＦＴ処理部４５ａから入力された周波数スペクトルから周波数領域の特徴パラメータを割り出す周波数領域情報取得部４５ｂｂを備えている。
【００４４】
時間領域情報取得部４５ｂａは、入力された演奏音声データをＦＦＴ処理部４５ａと同期した上記時間区分ごとのフレームに分割し、各フレームごとに時間領域の特徴パラメータを取得する。領域情報取得部４５ｂａが取得する特徴パラメータの例としては、例えば、エネルギ、エネルギ変化度、持続時間等がある。周波数領域情報取得部４５ｂｂは、上記ＦＦＴ処理部４５ａから入力された上記時間区分の長さの波形の周波数スペクトルから周波数領域の特徴パラメータを取得する。周波数領域情報取得部４５ｂｂが取得する特徴パラメータの例としては、例えば、ピッチ、倍音周波数、倍音レベル、倍音位相、等がある。
【００４５】
上記のようにして時間領域情報取得部４５ｂａ及び周波数領域情報取得部４５ｂｂで取得された特徴パラメータに基づき生成され出力された上記実音高データは、実データバッファ４５ｃに入力される。実データバッファ４５ｃは、入力された上記実音高データを時間情報（タイムスタンプ）を付して記憶する。
【００４６】
一方、目標データバッファ４５ｅには、上記カラオケ楽曲データに同期した上記コード譜情報が入力され、当該コード譜情報に基づく目標音高データが記憶される。この目標音高データは、コード譜情報に含まれる各コードの和音を構成する複数の音に対応したデータであり、上記コード譜情報が目標データバッファ４５ｅに入力されたときに、当該コード譜情報に基づいて生成され、目標データバッファ４５ｅに記憶される。
【００４７】
マッチング処理部４５ｄは、上述のようにして実データバッファ４５ｃに記憶された実音高データと、これに対応する、目標データバッファ４５ｅに記憶された上記目標音高データと、を公知の手法で比較し、一致度を算出する。算出された一致度は採点結果生成部４５ｆへ出力される。
【００４８】
採点結果生成部４５ｆは、マッチング処理部１８から入力された上記一致度に基づいてユーザによる演奏（この例ではエレキギター４の演奏）を評価し、一致度が高いほど演奏に高い評価をつける。採点結果生成部４５ｆは、この評価を例えば１００点を満点とした得点として採点し、採点結果をモニタ１３，１４に入力する。モニタ１３，１４は、入力された採点結果を表示する。
【００４９】
＜実音高データの高精度化時の問題＞
ここで、上記のようにＦＦＴ処理による周波数成分の抽出及びクロマベクトル処理により実音高データを生成する手法の場合、生成される実音高データの高精度化を図る観点からは、採点対象とする上記時間区分をなるべく長くとって演奏信号のサンプル数を多くするのが好ましい。しかしながら、当該時間区分が長くなるほど、当該区分中に複数のコードが含まれる（言い換えれば当該区分の途中で１つのコードから別のコードに切り替わる）可能性が高くなる。この場合、そのままでは、生成された実音高データを、どのコードの目標音高データと比較するべきかの判別が難しく、適正な採点を実行することが難しくなる。
【００５０】
＜複数の目標音高データとの比較＞
そこで本実施形態においては、上記のように複数のコードが含まれるような特定の時間区分を採点対象とする場合には、それ以外の時間区分の採点とは異なる手法をとる。すなわち、当該特定の時間区分では、上記複数のコードにそれぞれ対応する複数の目標音高データが生成され、各目標音高データが、当該特定の時間区分において生成された上記実音高データと個別に比較される。この手法を図７を用いて説明する。
【００５１】
図７において、この例では、上記図３、図４、図５に示した楽曲データにおける、前述した、コードＥｍ（第１小節）→コードＥｍ，Ｂｍ，Ｃ（第２小節）→コードＣ（第３小節）→・・・の順のコード進行で楽曲が再生され、ユーザが当該再生に合わせてエレキギター４を演奏し、対応する演奏信号が上記時間区分ごとにデータサンプリング（この例では１８６ｍｓｅｃごとに８１９２個のデータがサンプリング）された状態を示している。
【００５２】
上記演奏信号は、この例では、最初の１８６ｍｓｅｃの区分（図中の「第１区分」）が概ね上記第１小節におけるユーザの演奏に対応（すなわちコードＥｍに対応）したものとなっている。また、その次の１８６ｍｓｅｃの区分（図中の「第２区分」）が概ね上記第２小節におけるユーザの演奏に対応（すなわちコードＥｍ，Ｂｍ，Ｃの少なくとも１つに対応）したものとなっている。さらに、その次の１８６ｍｓｅｃの区分（図中の「第３区分」）が概ね上記第３小節におけるユーザの演奏に対応（すなわちコードＣに対応）したものとなっている。
【００５３】
上記第１区分では、ユーザのエレキギター４の演奏による演奏信号に基づき、上述のようにしてＦＦＴ処理による周波数成分の抽出及びクロマベクトル処理が行われた結果、「Ｃ」「Ｅ」「Ｇ」の３音を含む、実音高データが生成されている。なお、棒グラフの横軸が各音の信号レベルの大きさを表している。この第１区分は上記のように第１小節に対応し、演奏すべきコードはコードＥｍであることから、目標音高データには、当該コードＥｍの和音を構成する「Ｂ」「Ｅ」「Ｇ」の３音が含まれている。この結果、上記「Ｂ」「Ｅ」「Ｇ」の３音を含む目標音高データと上記「Ｃ」「Ｅ」「Ｇ」の３音を含む実音高データとが比較され、目標音高データのうち「Ｅ」の音と「Ｇ」の音に対しては実音高データが一致しているが、「Ｃ」の音については実音高データが一致していない（すなわち一致度６６．７％）。この一致度に対応して採点が行われことにより、この例では『６０点』という採点結果となっている。
【００５４】
上記第１区分の次の第２区分では、上記同様、エレキギター４の演奏信号に基づき、「Ｂ」「Ｄ＃」「Ｆ＃」の３音を含む、実音高データが生成されている。このとき、この第２区分は上記のように第２小節に対応しており、上記第１区分と異なり、演奏すべきコードとしてコードＥｍ、コードＢｍ、コードＣの３つがある（すなわちこの第２区分が前述の「特定の時間区分」に相当している）。そこで、目標音高データについても、コードＥｍに対応して当該コードＥｍの和音を構成する「Ｂ」「Ｅ」「Ｇ」の３音を含む目標音高データ（以下適宜、第１目標音高データという）と、コードＢｍに対応して当該コードＢｍの和音を構成する「Ｂ」「Ｄ」「Ｆ＃」の３音を含む目標音高データ（以下適宜、第２目標音高データという）と、コードＣに対応して当該コードＣの和音を構成する「Ｃ」「Ｅ」「Ｇ」の３音を含む目標音高データ（以下適宜、第３目標音高データという）と、の３つが生成される。
【００５５】
そして、この第２区分では、上記第１区分と異なり、上記第１目標音高データ、上記第２目標音高データ、上記第３目標音高データに対し、上記演奏信号に基づく「Ｂ」「Ｄ＃」「Ｆ＃」の３音を含む実音高データがそれぞれ比較される。すなわち、上記第１目標音高データについては、「Ｂ」の音に対しては実音高データが一致しているが、「Ｅ」の音と「Ｇ」の音については実音高データが一致していない（すなわち一致度３３．３％）。なお、この一致度に対応した点数は、この例では『３０点』となる。また上記第２目標音高データについては、「Ｂ」の音と「Ｆ＃」の音に対しては実音高データが一致しているが、「Ｄ」の音については実音高データが一致していない（すなわち一致度６６．７％）。なお、この一致度に対応した点数は、この例では『６０点』となる。また上記第３目標音高データについては、「Ｃ」の音、「Ｅ」の音、「Ｇ」の音いずれについても実音高データが一致していない（すなわち一致度０％）。なお、この一致度に対応した点数は、この例では『０点』となる。
【００５６】
以上のようにして、第１目標音高データについての一致度３３．３％（対応する点数は『３０点』）、第２目標音高データについての一致度６６．７％（対応する点数は『６０点』）、第３目標音高データについての一致度０％（対応する点数は『０点』）、が得られる。これにより、それらのうち最も高い一致度を得られる第２目標音高データが最終的な採点対象として決定され、この第２目標音高データに係わる上記一致度６６．７％により採点が行われ、この第２区分における最終的な採点結果は『６０点』となる。
【００５７】
上記第２区分の次の第３区分では、上記同様、エレキギター４の演奏信号に基づき、「Ｃ」「Ｅ」「Ｇ」の３音を含む、実音高データが生成されている。このとき、この第３区分は上記のように第３小節に対応し、上記１区分と同様、演奏すべきコードは、１つのコードＣである。したがって目標音高データには、当該コードＣの和音を構成する「Ｃ」「Ｅ」「Ｇ」の３音が含まれている。この結果、上記「Ｃ」「Ｅ」「Ｇ」の３音を含む目標音高データと上記「Ｃ」「Ｅ」「Ｇ」の３音を含む実音高データとが比較され、目標音高データの「Ｃ」の音と「Ｅ」の音と「Ｇ」の音すべてに対して実音高データが一致している（すなわち一致度１００％）。この一致度に対応して採点が行われことで、この例では『１００点』という採点結果となっている。
【００５８】
上記のような採点結果生成部４５ｆによる採点結果に応じて、上記モニタ１３，１４に表示される表示例を表示する。図８（ａ）は採点結果が１００点であった場合の例、図８（ａ）は採点結果が１００点であった場合の例、図８（ｂ）は採点結果が６０点であった場合の例、図８（ｃ）は採点結果が０点であった場合の例である。これ以外にも、楽曲データ再生の進行中の時間区分毎に、ユーザによるギター演奏の採点結果表示に加え、歌詞、コード譜も併せて表示するなど、各得点の値に応じて種々の表示態様が予め用意されている（図示省略）。
【００５９】
＜制御手順＞
上記のような本実施形態の手法を実現するために、カラオケ装置１０の楽曲再生時にＣＰＵ４５により実行される処理内容を、図９のフローチャートにより説明する。
【００６０】
図９において、このフローは、例えばカラオケ装置１０のユーザが、制御装置２０の電源ボタンを押して制御装置２０の電源を立ち上げると、開始される。制御装置２０の電源の立ち上がりに連動して、アンプ１６、楽器接続ボード８及びモニタ１３，１４の電源が立ち上がる。なお、前述したように、この例では、カラオケ装置１０のユーザが、楽器接続ボード８にエレキギター４を接続して演奏する場合を例にとって説明する。ユーザがエレキギター４のフォンプラグを楽器接続ボード８の入力端子（フォンジャック）４ａに接続すると、楽器接続ボード８はエレキギター４が接続されたことを検知する。
【００６１】
図９において、まず、ステップＳ１０において、ＣＰＵ４５は、ユーザによる選曲が終了したか否かを判定する。選曲は、例えば、ユーザがエレキギター４を演奏したい曲の選曲番号をリモコン３０のテンキーにより入力し、選曲ボタンを押すと、選曲が終了する。選曲が終了するまではステップＳ１０の判定が満たされず（ステップＳ１０：ＮＯ）、ループ待機する。選曲が終了した場合はステップＳ１０の判定が満たされ（ステップＳ１０：ＹＥＳ）、ステップＳ１５に移る。
【００６２】
ステップＳ１５では、ＣＰＵ４５は、ステップＳ１０での選曲結果に対応し、上記選曲番号を示す選曲番号データをＲＡＭ４６に一時保存するとともに、ＬＡＮボード５０を介し、上記選曲番号に対応する曲データの送信を要求するリクエスト信号を、ＬＡＮ回線１５を介してサーバ５８へ送信する。これにより、サーバ５８は、図示しない記憶装置から、上記リクエスト信号に示される選曲番号に対応する楽曲データ及び上記コード譜情報と当該楽曲データに対応した歌詞データ及び映像データとを検索して読み出し、その読み出された曲データ等を、ＬＡＮ回線１５を介して制御装置２０に送信する。ステップＳ１５が終了したら、ステップＳ２０に移る。
【００６３】
ステップＳ２０では、ＣＰＵ４５は、ＬＡＮボード５０を介し、サーバ５８からＬＡＮ回線１５を介して送信された（コード譜情報を含む）楽曲データ等を受信する。その後、ステップＳ２５に移る。
【００６４】
ステップＳ２５では、ＣＰＵ４５は、上記ステップＳ２０で受信した楽曲データ等をＲＡＭ４９に一時保存する。その後、ステップＳ３０に移る。
なお、ステップＳ１５，ステップＳ２０、ステップＳ２５の処理として、選曲番号に対応付けられた、楽曲データ、及び、コード譜情報等は選曲毎にサーバ５８からオンデマンドで取得する場合の処理を行う。他に、カラオケ装置１０の制御装置２０に、大容量の補助記憶手段（図示せず）を設けて、予め、楽曲データ等を、補助記憶手段に記憶し、選曲毎に、選曲番号に対応付けられた情報群を補助記憶手段から読み出して、目的とする情報を取得する処理としてもよい。
【００６５】
ステップＳ３０では、ＣＰＵ４５は、上記ステップＳ２５でＲＡＭ４９に記憶されているＭＩＤＩデータの読み出しを開始し、読み出されたＭＩＤＩデータをＭＩＤＩ音源ボード５１に書き込む。ステップＳ３０が終了したら、ステップＳ３５に移る。
【００６６】
ステップＳ３５では、ＣＰＵ４５は、ＭＩＤＩ音源ボード５１に制御信号を出力し、上記ステップＳ３０で書き込んだＭＩＤＩデータに対応した音源信号を、ＭＩＤＩ音源ボード５１から出力させる。ＭＩＤＩ音源ボード５１から出力される音源信号は、音声制御回路５２へ出力されるとともに、アンプ１６により増幅可能な音楽信号に変換され、この変換された音楽信号は、音声出力端子４１からアンプ１６へ出力される。また、マイクロフォン１７，１８から入力された音声信号は、アンプ１６に内蔵されたミキシング回路９において上記音楽信号とミキシングされる。このとき、エレキギター４の出力端子から出力された演奏信号は、楽器接続ボード８及び制御装置２０を介してミキシング回路９に入力され、上記音声信号及び音楽信号とミキシングされる。そして、そのミキシングされたミキシング信号は、アンプ１６に内蔵された図示しない増幅回路により増幅された後にスピーカ１１及びスピーカ１２へ出力され、両スピーカによって再生される。なお、このステップＳ３５の手順が各請求項記載の楽曲データ再生手段として機能する。ステップＳ３５が終了すると、ステップＳ４０に移る。
【００６７】
ステップＳ４０では、ＣＰＵ４５は、モニタ１３，１４に制御信号を出力し、ステップＳ２５で保存したコード譜情報及び歌詞等をモニタ１３，１４により表示させる（なお、後述のステップＳ１００による採点結果についてもこのときに併せて表示される）。これにより、エレキギター４の演奏者であるユーザは、モニタ１３，１４に表示されるコード譜にしたがってエレキギター４を演奏することにより、再生されるカラオケ楽曲に合わせてエレキギター演奏パートを容易に演奏することができる。その後、ステップＳ５０に移る。
【００６８】
ステップＳ５０では、ＣＰＵ４５は、上記ユーザのエレキギター４の演奏により入力端子４４から入力された演奏信号を演奏データとして例えば上記ＲＡＭ４９に蓄積する。その後、ステップＳ５５に移る。
【００６９】
ステップＳ５５では、ＣＰＵ４５は、前述のＦＦＴ（高速フーリエ変換）の処理単位に対応した１つの上記時間区分が終了したか否かを判定する。上記時間区分が終了していなければ判定が満たされず（Ｓ５５：ＮＯ）、上記ステップＳ３０に戻って同様の手順を繰り返す。上記時間区分が終了したら判定が満たされ（Ｓ５５：ＹＥＳ）、ステップＳ１００に移る。
【００７０】
ステップＳ１００では、ＣＰＵ４５は、前述した手法による採点処理を行う。この採点処理の詳細を、図１０に示す。
【００７１】
図１０において、まずステップＳ１１０で、ＣＰＵ４５は、上記ステップＳ５０で蓄積した（上記１つの区分に対応した）演奏データを読み出し、上記ＦＦＴ処理部４５ａにより、公知のＦＦＴ（高速フーリエ変換）の手法により各周波数成分を抽出し解析する。その後、ステップＳ１２０に移る。
【００７２】
ステップＳ１２０では、ＣＰＵ４５は、上記特徴パラメータ取得部４５ｂにより、上記ステップＳ１１０での解析結果を公知の手法によりクロマベクトル化することにより、前述の実音高データを生成する。なお、このステップＳ１２０の手順が各請求項記載の実データ生成手順に相当すると共に、実データ生成手段として機能する。その後、ステップＳ１３０に移る。
【００７３】
ステップＳ１３０では、ＣＰＵ４５は、上記マッチング処理部４５ｄにより、上記ステップＳ２０で取得されステップＳ４０で表示されたコード譜情報に基づき、各コードごとに（すなわち前述の第２区分のように複数のコードが含まれる場合にはそれら複数のコードそれぞれに）上記目標音高データが生成され、上記目標データバッファ４５ｅに記憶される。なお、このステップＳ１３０の手順が各請求項記載の目標データ生成手順に相当すると共に、目標データ生成手段として機能する。その後、ステップＳ１４０に移る。
【００７４】
ステップＳ１４０では、ＣＰＵ４５は、上記マッチング処理部４５ｄにより、上記実音高データとの比較対象として、上記区分に対応した少なくとも１つの上記目標音高データうち１番目の目標音高データ（１つしかない場合は当該１つの目標音高データ）を指定する。その後、ステップＳ１５０に移る。
【００７５】
ステップＳ１５０では、ＣＰＵ４５は、上記マッチング処理部４５ｄにより、上記ステップＳ１４０で指定された１つの目標音高データを、当該区分に対応した上記実音高データと比較し、一致度を算出する。その後、ステップＳ１６０に移る。
【００７６】
ステップＳ１６０では、ＣＰＵ４５は、上記マッチング処理部４５ｄにより、上記実音高データを、当該区分におけるすべての目標音高データと比較し終わったか否かを判定する。まだ全目標音高データとの比較が終了していなければ判定が満たされず（Ｓ１６０：ＮＯ）、ステップＳ１５０に戻って次の順番の目標音高データとの比較による一致度の算出が行われる。すべての目標音高データとの比較が終了するまで、順番を１つずつ繰り下げながら、各目標音高データとの比較が上記同様にして繰り返される。すべての目標音高データとの比較が終了したら判定が満たされ（Ｓ１６０：ＹＥＳ）、ステップＳ１７０に移る。なお、上記ステップＳ１４０、ステップＳ１５０、及びステップＳ１６０の各手順が、各請求項記載のデータ比較手順に相当すると共に、データ比較手段として機能する。
【００７７】
ステップＳ１７０では、上記採点結果生成部４５ｆにより、上記ステップＳ１５０でのすべての比較結果のうち、算出された一致度が最も高いもの（１つの比較結果しかない場合は当該１つの比較結果）を選択する。その後、ステップＳ１８０に移る。このステップＳ１７０の手順が、各請求項記載のデータ決定手順に相当すると共に、データ決定手段として機能する。
【００７８】
ステップＳ１８０では、上記ステップＳ１７０で選択された比較結果での上記一致度に基づき、適宜の手法により上記演奏データに対応した採点を行い、採点結果を例えば上記ＲＡＭ４９に出力して記憶させる。このステップＳ１８０が完了すると、このルーチンを終了する。なお、このステップＳ１８０と、上記ステップＳ１４０、ステップＳ１５０、ステップＳ１６０、及びステップＳ１７０とが、各請求項記載の採点手段として機能する。
【００７９】
図９に戻り、上記ステップＳ１８０が終了すると、ＣＰＵ４５は、ステップＳ６５において、楽曲データの再生が終了したか（言い換えれば、ステップＳ３０でのＭＩＤＩデータの読み出しが楽曲データの最後のＭＩＤＩデータまで終了したか）否かを判定する。楽曲データの再生が終了していれば判定が満たされ（ステップＳ６５：ＹＥＳ）、このフローを終了する。楽曲データの再生が終了するまでは判定が満たされず（ステップＳ６５：ＮＯ）、上記ステップＳ３０に戻り、上記ステップＳ３０〜ステップＳ６５の手順を繰り返す。
【００８０】
＜実施形態の効果＞
以上説明したように、本実施形態においては、楽曲の再生に応じてユーザがエレキギター４を演奏すると、その演奏信号の周波数成分がＦＦＴの手法により抽出された後にクロマベクトル処理が行われ、これによって所定の時間区分ごとに、上記演奏に対応した実音高データが生成される。そして、その実音高データと、楽曲データに対応づけられたコード譜情報に基づき生成された目標音高データとの一致度に基づき、上記演奏に対する採点が行われる。
【００８１】
その際、採点対象とする時間区分に複数のコードが含まれる場合（図７の例では図中の「第２区分」）には、上記複数のコードにそれぞれ対応する複数の目標音高データが生成され（上記ステップＳ１３０参照）、それら複数の目標音高データそれぞれが当該時間区分で生成された上記実音高データと個別に比較される（上記ステップＳ１４０〜ステップＳ１６０参照）。そして、それらのうち最も高い一致度を得られる目標音高データ（図７の例では上記第２目標音高データ）が決定され（上記ステップＳ１７０参照）、この決定された目標音高データに係わる上記最も高い一致度を用いて、採点が行われる（上記ステップＳ１８０参照）。
【００８２】
以上の手法により、（上記周波数成分の抽出及びクロマベクトル処理による）演奏信号からの実音高データ生成を高精度に行うために採点対象となる上記時間区分を長くし、結果として当該時間区分に複数のコードが含まれたとしても、目標音高データとの比較による上記採点を適正に行うことができる。言い換えれば、高精度な実音高データの生成と、これに対応する目標音高データとの適正な比較と、の両立を図ることができる。このようにして弦楽器（上記の例ではエレキギター４）の演奏に対する適正な採点を確実に行える結果、ユーザの利便性を向上することができる。
【００８３】
なお、上記実音高データを生成する際、クロマベクトル化を行った後に、ＣＰＵ４５において公知の手法によりフィルタリングによるノイズ除去を行うようにしても良い。このような変形例を図１１（ａ）〜（ｃ）を用いて示す。この場合、上記ＦＦＴ処理により抽出した周波数成分（図１１（ａ）に一例を示す）のうち、レベルが所定のしきい値以下のものがカットされる（図１１（ｂ）及び図１１（ｃ）参照）。これにより、上記カットによりノイズが除去された周波数成分に対しその後の処理を実行することができるので、より迅速かつ明瞭な態様で実音高データを生成することができる。なお、ＣＰＵ４５において実行されるこの機能が、各請求項記載のフィルタ手段として機能する。
【００８４】
しかしながら、上述のように、採点対象となる時間区分に複数のコードが含まれる場合には、抽出された周波数成分にそれら複数のコードの和音が大小様々なレベルで混在している可能性がある。そのような場合に、上記のカットをそのまま実行すると、本来はノイズではない成分まで誤ってカットしてしまう可能性がある。
【００８５】
これに対応するためには、複数のコードが含まれるような特定の時間区分においては、上記しきい値を、（１つのコードのみが含まれる）他の時間区分よりも大きく設定すればよい。図１１（ｂ）は、このような特定の時間区分におけるしきい値の設定例を示しており、図１１（ｃ）に示す上記他の時間区分におけるしきい値よりも、大レベル側の設定となっている。このような、複数のコードが含まれる特定の時間区分におけるしきい値を、１つのコードが含まれる他の時間区分におけるしきい値よりも大きくなるように可変に設定するＣＰＵ４５の機能が、各請求項記載のしきい値設定手段として機能する。これにより、上記のような誤ったカットが実行されるのを防止でき、高精度な実音高データを確実に生成できる効果がある。
【００８６】
なお、以上において、図６等の各図中に示す矢印は信号の流れの一例を示すものであり、信号の流れ方向を限定するものではない。
【００８７】
また、図９、図１０等に示すフローチャートは本発明を上記フローに示す手順に限定するものではなく、発明の趣旨及び技術的思想を逸脱しない範囲内で手順の追加・削除又は順番の変更等をしてもよい。
【００８８】
また、以上既に述べた以外にも、上記実施形態や各変形例による手法を適宜組み合わせて利用しても良い。
【００８９】
その他、一々例示はしないが、本発明は、その趣旨を逸脱しない範囲内において、種々の変更が加えられて実施されるものである。
【符号の説明】
【００９０】
４                エレキギター（弦楽器）
１０              カラオケ装置（楽音演奏装置）
４９              ＲＡＭ（楽曲データ記憶手段）
【図１】
0005884992.tif 000002
【図２】
0005884992.tif 000003
【図３】
0005884992.tif 000004
【図４】
0005884992.tif 000005
【図５】
0005884992.tif 000006
【図６】
0005884992.tif 000007
【図７】
0005884992.tif 000008
【図８】
0005884992.tif 000009
【図９】
0005884992.tif 000010
【図１０】
0005884992.tif 000011
【図１１】
0005884992.tif 000012