(57)【要約】【課題】  演奏者に対し自分の演奏に影響を与えている他の演奏パートの演奏を通知することにより、演奏力の向上を支援する手段を提供する。【解決手段】  ピッチ特定部１０１３はユーザの歌唱音のピッチを基準ピッチデータ１０２１により示されるガイド音の音高に基づき特定する。演奏パート特定部１０１４はピッチ特定部１０１３により特定された歌唱音のピッチと、ガイド音の音高と、基準ピッチデータ１０２１により示される伴奏音の音高との関係に基づき、歌唱音のピッチがガイド音の音高からずれた場合にそのずれをもたらしている伴奏音の演奏パートを推定する。画像信号生成部１０１５は演奏パート特定部１０１４により推定された演奏パートを示す画像信号を生成しディスプレイ１３に出力する。その結果、ユーザは自分の歌唱に影響を与えている他の演奏パートを確認しながら歌唱トレーニングを行うことができる。【選択図】      図１
2006301019.tif 000002
【特許請求の範囲】
【請求項１】
複数の演奏パートにより演奏される楽曲において前記複数の演奏パートのうちの一の演奏パートによって発音されるべき音のピッチを時系列的に示す基準ピッチデータを記憶する記憶手段と、
前記一の演奏パートにより発音された音を示す音信号を取得する入力手段と、
前記入力手段により取得された音信号により示される音のピッチを特定するピッチ特定手段と、
一のタイミングにおける前記一の演奏パートの前記基準ピッチデータにより示される音のピッチと、当該一のタイミングにおける前記ピッチ特定手段により特定された前記一の演奏パートの音のピッチと、当該一のタイミングにおける前記複数の演奏パートのうちの前記一の演奏パート以外の演奏パートの各々の音のピッチとの関係に基づき、当該一のタイミングにおいて前記一の演奏パートの演奏に影響を与えている他の演奏パートを特定する演奏パート特定手段と、
前記演奏パート特定手段により特定された演奏パートもしくは当該演奏パートにより発音された音のピッチを示すデータを出力する出力手段と
を備えることを特徴とするピッチ通知装置。
【請求項２】
前記記憶手段により記憶されている基準ピッチデータは、前記複数の演奏パートの各々によって発音されるべき音のピッチを時系列的に示すデータであり、
前記演奏パート特定手段は、前記他の演奏パートを特定するに際し、一のタイミングにおける前記一の演奏パート以外の演奏パートの各々の前記基準ピッチデータにより示される音のピッチを、当該一のタイミングにおける前記一の演奏パート以外の演奏パートの各々の音のピッチとして用いる
ことを特徴とする請求項１に記載のピッチ通知装置。
【請求項３】
前記入力手段は、前記複数の演奏パートの各々により発音された音を示す音信号を取得し、
前記ピッチ特定手段は、前記入力手段により取得された音信号により示される前記複数の演奏パートにより発音された音の各々に関し、当該音のピッチを特定し、
前記演奏パート特定手段は、前記他の演奏パートを特定するに際し、一のタイミングにおける前記ピッチ特定手段により特定された前記一の演奏パート以外の演奏パートの各々の音のピッチを、当該一のタイミングにおける前記一の演奏パート以外の演奏パートの各々の音のピッチとして用いる
ことを特徴とする請求項１に記載のピッチ通知装置。
【請求項４】
前記記憶手段は、前記ピッチ特定手段により特定されたピッチを時系列的に示す実演奏ピッチデータを記憶し、
前記演奏パート特定手段は、現在行われている演奏中の一のタイミングにおける前記ピッチ特定手段により特定された前記一の演奏パートの音のピッチと、過去に行われた演奏中の当該一のタイミングにおける前記一の演奏パートの前記実演奏ピッチデータにより示される音のピッチと、当該現在行われている演奏に参加しており当該過去に行われた演奏に参加していなかった演奏パートにより当該現在行われている演奏中の当該一のタイミングにおける音のピッチとの関係に基づき、前記他の演奏パートを特定する
ことを特徴とする請求項１に記載のピッチ通知装置。
【請求項５】
前記記憶手段は、前記ピッチ特定手段により特定されたピッチを時系列的に示す実演奏ピッチデータを記憶し、
前記演奏パート特定手段は、現在行われている演奏中の一のタイミングにおける前記ピッチ特定手段により特定された前記一の演奏パートの音のピッチと、過去に行われた演奏中の当該一のタイミングにおける前記一の演奏パートの前記実演奏ピッチデータにより示される音のピッチと、当該現在行われている演奏に参加しておらず当該過去に行われた演奏に参加していた演奏パートにより当該過去に行われた演奏中の当該一のタイミングにおける音のピッチとの関係に基づき、前記他の演奏パートを特定する
ことを特徴とする請求項１に記載のピッチ通知装置。
【請求項６】
前記記憶手段は、前記ピッチ特定手段により特定されたピッチを時系列的に示す実演奏ピッチデータを記憶し、
前記演奏パート特定手段は、前記一の演奏パートの前記基準ピッチデータにより示される音のピッチと前記一の演奏パートの前記実演奏ピッチデータにより示される音のピッチとの差と、前記一の演奏パートの前記基準ピッチデータにより示される音のピッチと前記一の演奏パート以外の演奏パートの各々の音のピッチとの差との相関関係に基づき、前記他の演奏パートを特定する
ことを特徴とする請求項１に記載のピッチ通知装置。
【請求項７】
前記ピッチ特定手段は、前記入力手段により取得された音信号により示される音のピッチの候補と前記一の演奏パートの前記基準ピッチデータにより示される音のピッチとの差を変数として含む関数の値を算出し、当該関数の値に基づき、前記一の演奏パートにより当該一のタイミングに発音された音のピッチを特定する
ことを特徴とする請求項１に記載のピッチ通知装置。
【請求項８】
前記入力手段は、前記複数の演奏パートの各々に対応付けて各々設けられた複数の入力手段であり、
前記関数は、一の周波数に関し、前記一の演奏パートに対応する入力手段により取得された音信号の当該一の周波数における周波数成分の振幅と、前記一の演奏パート以外の演奏パートに対応する入力手段のうちの少なくとも一の入力手段により取得された音信号の当該一の周波数における周波数成分の振幅との差を示す数値を変数として含む
ことを特徴とする請求項７に記載のピッチ通知装置。
【請求項９】
複数の演奏パートにより演奏される楽曲において前記複数の演奏パートのうちの一の演奏パートによって発音されるべき音のピッチを時系列的に示す基準ピッチデータを記憶する処理と、
前記一の演奏パートにより発音された音を示す音信号を取得する処理と、
取得した音信号により示される音のピッチを特定する処理と、
一のタイミングにおける前記一の演奏パートの前記基準ピッチデータにより示される音のピッチと、当該一のタイミングにおける特定した前記一の演奏パートの音のピッチと、当該一のタイミングにおける前記複数の演奏パートのうちの前記一の演奏パート以外の演奏パートの各々の音のピッチとの関係に基づき、当該一のタイミングにおいて前記一の演奏パートの演奏に影響を与えている他の演奏パートを特定する処理と、
特定した演奏パートもしくは当該演奏パートにより発音された音のピッチを示すデータを出力する処理と
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、演奏力向上のためのピッチ通知技術に関する。
【背景技術】
【０００２】
カラオケにおける歌唱者の歌唱力を評価する技術がある。例えば特許文献１は、ファジー推論を行うことにより歌唱力や楽器の演奏力をより正しく評価する音楽評価装置が開示されている。
【特許文献１】特許第３０７４６９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、歌唱や特にバイオリン等のフレットレス楽器を用いた演奏を他の演奏パートとともに行う場合、演奏者は他の演奏の音に影響されて、本来発音すべき音からずれたピッチの音を発音してしまうことがある。従来技術にかかる音楽評価装置による場合、そのような誤った演奏を行った場合に、例えば演奏全体として悪い評価が演奏者に通知されたり、音程が正しくとれていない旨の評価が演奏者に通知されたりする。しかしながら、音程が正しくとれていない原因が演奏者に通知されることはないため、演奏者は効率的に自分の演奏を改善することができない。
【０００４】
上記の状況に鑑み、本発明は、演奏者に対し自分の演奏に影響を与えている他の演奏パートの演奏を通知することにより、演奏力の向上を支援する手段を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記課題を達成するために、本発明は、複数の演奏パートにより演奏される楽曲において前記複数の演奏パートのうちの一の演奏パートによって発音されるべき音のピッチを時系列的に示す基準ピッチデータを記憶する記憶手段と、前記一の演奏パートにより発音された音を示す音信号を取得する入力手段と、前記入力手段により取得された音信号により示される音のピッチを特定するピッチ特定手段と、一のタイミングにおける前記一の演奏パートの前記基準ピッチデータにより示される音のピッチと、当該一のタイミングにおける前記ピッチ特定手段により特定された前記一の演奏パートの音のピッチと、当該一のタイミングにおける前記複数の演奏パートのうちの前記一の演奏パート以外の演奏パートの各々の音のピッチとの関係に基づき、当該一のタイミングにおいて前記一の演奏パートの演奏に影響を与えている他の演奏パートを特定する演奏パート特定手段と、前記演奏パート特定手段により特定された演奏パートもしくは当該演奏パートにより発音された音のピッチを示すデータを出力する出力手段とを備えることを特徴とするピッチ通知装置を提供する。
【０００６】
かかる構成のピッチ通知装置によれば、ユーザは自分の演奏が他の演奏パートのいずれに影響されているかを知ることができる。
【０００７】
好ましい態様において、前記記憶手段により記憶されている基準ピッチデータは、前記複数の演奏パートの各々によって発音されるべき音のピッチを時系列的に示すデータであり、前記演奏パート特定手段は、前記他の演奏パートを特定するに際し、一のタイミングにおける前記一の演奏パート以外の演奏パートの各々の前記基準ピッチデータにより示される音のピッチを、当該一のタイミングにおける前記一の演奏パート以外の演奏パートの各々の音のピッチとして用いる。
【０００８】
また、他の好ましい態様において、前記入力手段は、前記複数の演奏パートの各々により発音された音を示す音信号を取得し、前記ピッチ特定手段は、前記入力手段により取得された音信号により示される前記複数の演奏パートにより発音された音の各々に関し、当該音のピッチを特定し、前記演奏パート特定手段は、前記他の演奏パートを特定するに際し、一のタイミングにおける前記ピッチ特定手段により特定された前記一の演奏パート以外の演奏パートの各々の音のピッチを、当該一のタイミングにおける前記一の演奏パート以外の演奏パートの各々の音のピッチとして用いる。
【０００９】
また、他の好ましい態様において、前記記憶手段は、前記ピッチ特定手段により特定されたピッチを時系列的に示す実演奏ピッチデータを記憶し、前記演奏パート特定手段は、現在行われている演奏中の一のタイミングにおける前記ピッチ特定手段により特定された前記一の演奏パートの音のピッチと、過去に行われた演奏中の当該一のタイミングにおける前記一の演奏パートの前記実演奏ピッチデータにより示される音のピッチと、当該現在行われている演奏に参加しており当該過去に行われた演奏に参加していなかった演奏パートにより当該現在行われている演奏中の当該一のタイミングにおける音のピッチとの関係に基づき、前記他の演奏パートを特定する。
【００１０】
また、他の好ましい態様において、前記記憶手段は、前記ピッチ特定手段により特定されたピッチを時系列的に示す実演奏ピッチデータを記憶し、前記演奏パート特定手段は、現在行われている演奏中の一のタイミングにおける前記ピッチ特定手段により特定された前記一の演奏パートの音のピッチと、過去に行われた演奏中の当該一のタイミングにおける前記一の演奏パートの前記実演奏ピッチデータにより示される音のピッチと、当該現在行われている演奏に参加しておらず当該過去に行われた演奏に参加していた演奏パートにより当該過去に行われた演奏中の当該一のタイミングにおける音のピッチとの関係に基づき、前記他の演奏パートを特定する。
【００１１】
また、他の好ましい態様において、前記記憶手段は、前記ピッチ特定手段により特定されたピッチを時系列的に示す実演奏ピッチデータを記憶し、前記演奏パート特定手段は、前記一の演奏パートの前記基準ピッチデータにより示される音のピッチと前記一の演奏パートの前記実演奏ピッチデータにより示される音のピッチとの差と、前記一の演奏パートの前記基準ピッチデータにより示される音のピッチと前記一の演奏パート以外の演奏パートの各々の音のピッチとの差との相関関係に基づき、前記他の演奏パートを特定する。
【００１２】
また、他の好ましい態様において、前記ピッチ特定手段は、前記入力手段により取得された音信号により示される音のピッチの候補と前記一の演奏パートの前記基準ピッチデータにより示される音のピッチとの差を変数として含む関数の値を算出し、当該関数の値に基づき、前記一の演奏パートにより当該一のタイミングに発音された音のピッチを特定する。
【００１３】
また、上記の好ましい態様において、前記入力手段は、前記複数の演奏パートの各々に対応付けて各々設けられた複数の入力手段であり、前記関数は、一の周波数に関し、前記一の演奏パートに対応する入力手段により取得された音信号の当該一の周波数における周波数成分の振幅と、前記一の演奏パート以外の演奏パートに対応する入力手段のうちの少なくとも一の入力手段により取得された音信号の当該一の周波数における周波数成分の振幅との差を示す数値を変数として含むようにしてもよい。
【００１４】
また、本発明は、上記のピッチ通知装置により行われる処理をコンピュータに実行させるプログラムを提供する。
【発明を実施するための最良の形態】
【００１５】
［１．第１実施形態］
以下、歌唱者（以下、「ユーザ」と呼ぶ）が自動演奏される伴奏に合わせて歌唱トレーニングを行う場合を例として、本発明の第１実施形態を説明する。図１は第１実施形態にかかる演奏トレーニングシステム１の構成を示した図である。演奏トレーニングシステム１は、楽曲の伴奏音を示す音信号を出力するとともにユーザの歌唱音のピッチと模範歌唱音のピッチを表すグラフを表示するための画像信号を出力するピッチ通知装置１０と、ピッチ通知装置１０に接続されたスピーカ１１、マイク１２、ディスプレイ１３およびキーボード１４を備えている。
【００１６】
以下の説明において、ピッチは周波数で表され、単位は［Ｈｚ］であるものとする。従って、ある音のピッチはすなわちその音の波形の基本周波数である。しかしながら、ピッチを示す数値は周波数に限られず、例えば半音間が１００に相当するように変換した数値で表すようにしてもよい。その場合、単位は［ｃｅｎｔ］となる。
【００１７】
スピーカ１１はピッチ通知装置１０から音信号を受け取り、受け取った音信号を音に変換して発音する。マイク１２は周囲の音を集音し、集音した音を示す音信号をピッチ通知装置１０に出力する。ディスプレイ１３はピッチ通知装置１０から画像信号を受け取り、受け取った画像信号に従い図形や文字を含む画面の表示を行う。キーボード１４は複数のキーを備えユーザのキー操作に応じた信号をピッチ通知装置１０に送信する。
【００１８】
ピッチ通知装置１０は、ピッチ通知装置１０の構成部を制御する制御部１０１と、制御部１０１による各種処理を指示するプログラムおよび制御部１０１により利用される各種データを記憶するとともに制御部１０１のワークエリアとして用いられる記憶部１０２と、ピッチ通知装置１０が外部装置との間で信号の送受信を行う入出力インタフェース１０３と、所定の時間間隔でクロック信号を生成し制御部１０１に引き渡す発振器１０４を備えている。発振器１０４により生成されるクロック信号は、ピッチ通知装置１０の構成部間の処理の同期や楽曲の先頭からの経過時間等の計時に用いられる。
【００１９】
記憶部１０２には、楽曲の演奏情報を示す基準ピッチデータ１０２１が予め記憶されている。図２は、基準ピッチデータ１０２１の内容を例示した図である。基準ピッチデータ１０２１は、１つの楽曲に関し、楽曲を演奏する複数の演奏パートの各々が発音すべき音のピッチやユーザに対し表示されるべき歌詞等のデータを、それらのデータに関する処理が実行されるべきタイミングを示すデータとともに含むデータである。図２の例は、ボーカルパート、フルートパートおよびピアノパートの各演奏パートにより演奏される楽曲に関する基準ピッチデータ１０２１の内容の一部を示したものである。
【００２０】
基準ピッチデータ１０２１に含まれる各行のデータ（以下、「タイミング付イベントデータ」と呼ぶ）は、「タイミング」、「種別」および「内容」の項目を備えており、「タイミング」は楽曲におけるタイミングを示し、「種別」は「タイミング」により示されるタイミングで実行されるべき処理の種別を示し、「内容」は実行されるべき処理の内容を示している。
【００２１】
例えば、図２に例示されるタイミング付イベントデータ［０３：０１：０００／歌詞表示／「どうしてないているの」］は、楽曲の第３小節第１拍のティック「０００」のタイミングにおいて、歌詞「どうしてないているの」を表示すべきであることを指示している。「ティック」とは１拍の長さを所定数に分割した時間間隔のことであり、拍の先頭からの経過時間をティックの数で表すことで、楽曲における特定のタイミングが示される。従って、例えば［０３：０１：０００］は第３小節第１拍の先頭タイミングを示している。以下、例として１ティックを１／４８０拍とする。
【００２２】
図２に例示されるタイミング付イベントデータ［００：０１：０００／音色／フルート］は、その演奏パートにおいて発音される音の音色が「フルート」であることを指示している。ここでタイミングを示す［００：０１：０００］は楽曲の開始前もしくは開示時を示している。
【００２３】
また、タイミング付イベントデータ［０３：０１：２４０／ノートオン／Ｃ４（７２）］は、楽曲の第３小節第１拍のティック「２４０」のタイミングにおいて、音程「Ｃ４」の音を音強「７２」で発音すべきであることを指示している。また、タイミング付イベントデータ［０３：０１：４２０／ノートオフ／Ｃ４］は、楽曲の第３小節第１拍のティック「４２０」のタイミングにおいて、音程「Ｃ４」の音を消音（発音停止）すべきであることを指示している。
【００２４】
タイミング付イベントデータ［０３：０１：２４０／ノートオン／Ｃ４（７２）］に例示されるように、基準ピッチデータ１０２１においては、発音されるべき音の高さが周波数ではなく、「Ｃ４」等の音高名で表現されている。これはデータの可読性を高めるためであって、例えば音高名「Ｃ４」の代わりに周波数「２６１．６２６」（Ｈｚ）といったピッチを直接示すデータが用いられてもよい。
【００２５】
また、基準ピッチデータ１０２１の形式は図２に例示のものに限られず、例えばＳＭＦ（Ｓｔａｎｄａｒｄ  Ｍｕｓｉｃａｌ  Ｉｎｓｔｒｕｍｅｎｔ  Ｄｉｇｉｔａｌ  Ｉｎｔｅｒｆａｃｅ  Ｆｉｌｅ）の形式に従ったものであってもよい。
【００２６】
制御部１０１は、基準ピッチデータ１０２１に従い、楽曲の再生指示を行う再生部１０１１を備えている。再生部１０１１は、ユーザによるキーボード１４を用いた操作により楽曲の再生開始の指示を受けると、発振器１０４から受け取るクロック信号の数を数えることにより、楽曲の開始タイミングからの経過時間を継続的に計時し、基準ピッチデータ１０２１に含まれるタイミング付イベントデータの「タイミング」欄により示されるタイミングが到来すると、そのタイミング付イベントデータの「種別」欄および「内容」欄のデータに演奏パートを示すデータを付加した後、「種別」欄の内容に応じて、制御部１０１が備える他の構成部に引き渡す。以下、再生部１０１１により他の構成部に引き渡される「演奏パート」欄、「種別」欄および「内容」欄で構成されるデータを「イベントデータ」と呼ぶ。イベントデータは、例えば［ピアノ／ノートオン／Ｄ４（６３）］のような形式のデータである。
【００２７】
制御部１０１は、再生部１０１１から受け取るイベントデータに従い、指定された音色の指定されたピッチの音を示す音信号を生成する音源部１０１２を備えている。音源部１０１２は例えばＦＭ（Ｆｒｅｑｕｅｎｃｙ  Ｍｏｄｕｌａｔｉｏｎ）方式により同時に異なる音色、ピッチおよび音強の音を示す音信号を生成することができる。ただし、音源部１０１２の方式はＦＭ方式に限られず、ＰＣＭ（Ｐｕｌｓｅ  Ｃｏｄｅ  Ｍｏｄｕｌａｔｉｏｎ）方式や物理モデル方式など、他のいずれの方式であってもよい。音源部１０１２は再生部１０１１から「種別」欄が「音色」、「ノートオン」もしくは「ノートオフ」であるイベントデータを受け取る。音源部１０１２は受け取ったイベントデータに従い、各々の演奏パートに関し、指定された音を示す音信号を生成し、生成した音信号を入出力インタフェース１０３に引き渡す。
【００２８】
入出力インタフェース１０３は音信号を外部装置に出力する音信号出力部１０３１を備えている。音信号出力部１０３１は音源部１０１２から音信号を受け取り、受け取った音信号をスピーカ１１に出力する。スピーカ１１は音信号出力部１０３１から音信号を受け取ると、受け取った音信号を音に変換し発音する。その結果、ユーザは基準ピッチデータ１０２１により示される演奏の内容を聞くことができる。ここで、ボーカルパートの演奏音はユーザが歌唱すべき音のピッチを示すガイド音である。
【００２９】
ユーザは楽曲の演奏開始に先立ち、いずれの演奏パートの音をスピーカ１１から発音させるかを選択することができる。例えば、ユーザによりボーカルおよびフルートの音を消音して演奏を行う旨の指示があった場合、再生部１０１１は基準ピッチデータ１０２１のうちピアノパートのみのデータに従いイベントデータを音源部１０１２に引き渡す。その結果、ボーカルパートのガイド音とフルートパートの伴奏音はスピーカ１１から発音されなくなる。
【００３０】
入出力インタフェース１０３は外部装置から音信号を受け取る音信号入力部１０３２を備えている。ユーザがピッチ通知装置１０に対し演奏開始の指示を行い、スピーカ１１から発音される楽曲の伴奏音やガイド音に従い歌唱を行うと、マイク１２はユーザの歌唱音を含む周囲の音を集音し、集音した音を示す音信号を音信号入力部１０３２に出力する。音信号入力部１０３２はマイク１２から音信号を受け取ると、受け取った音信号を記憶部１０２に実演奏波形データ１０２２として記憶させる。
【００３１】
制御部１０１は、ユーザの歌唱音のピッチをほぼリアルタイムに特定するピッチ特定部１０１３を備えている。ピッチ特定部１０１３は、記憶部１０２に順次記憶されてゆく実演奏波形データ１０２２の中から、最近に記憶された所定時間分の波形データを取り出す。以下、所定時間分の波形データを「フレーム」と呼ぶ。１フレームの長さはピッチ特定に十分な長さであり、かつ特定したピッチと現在発音されている音のピッチとの時間的なズレがユーザにとって許容可能な程度に短い必要がある。以下、例として、１フレームの長さは１００ミリ秒であるものとする。
【００３２】
音の波形データからその音のピッチを特定する方法としては様々なものが提案されている。以下、例として、ピッチ特定部１０１３は音の波形データのパワースペクトルに基づきピッチの特定を行うものとする。ただし、ピッチ特定部１０１３がピッチの特定を行う際に用いる方法は、ほぼリアルタイムにピッチの特定が可能であるものであれば、既存のいずれの方法を利用するものであってもよい。
【００３３】
ピッチ特定部１０１３は、実演奏波形データ１０２２から取り出した１フレームに対し高速フーリエ変換等の処理を施し、取り出した１フレームにより示される波形に含まれる周波数成分の分布を算出する。続いて、ピッチ特定部１０１３は算出した周波数成分の分布を示すグラフの包絡線を示すグラフを求める。図３は、ピッチ特定部１０１３により算出される周波数成分の分布の包絡線を示すグラフを例示した図である。図３において、Ｗで示される周波数帯は、一般的な人間の声の中心周波数が分布する範囲である。
【００３４】
図３のグラフにより示される周波数成分の分布によれば、周波数ω１〜ω６の６つの周波数において周波数成分の振幅が極大値をとる。このように周波数成分の振幅が極大値をとる周波数は、音波形により示される音の基本周波数の候補となる周波数である。しかしながら、通常、音には基本周波数の成分のみでなく、基本周波数の倍音成分も多く含まれている。また、演奏トレーニングシステム１においてマイク１２が集音する音には、ユーザの歌唱音に加え、ピッチ通知装置１０の音源部１０１２により生成されスピーカ１１から発音される伴奏音やガイド音が混ざっている。従って、例えば図３に示される周波数ω１〜ω６のいずれがユーザの歌唱音の基本周波数であるかは容易に特定できない。
【００３５】
そこで、ピッチ特定部１０１３は再生部１０１１から演奏パート「ボーカル」、種別「ノートオン」であるイベントデータを受け取り、受け取ったイベントデータにより示される音程、すなわちボーカルパートがその時点で発音すべき歌唱音の音程を利用して、いずれの基本周波数の候補が正しい基本周波数であるかを特定する。
【００３６】
具体的には、ピッチ特定部１０１３は再生部１０１１から最後に受け取った演奏パート「ボーカル」、種別「ノートオン」であるイベントデータの「内容」欄に示される音高名を周波数に変換する。例えば、イベントデータにより示される音高名が「Ａ４」であれば、ピッチ特定部１０１３はその音高名に対応する周波数として「４４０．０００」を得る。以下、そのように変換された周波数をω０とする。また、イベントデータにより示される音高の音を以下、「基準音高」と呼ぶ。
【００３７】
続いて、ピッチ特定部１０１３は図３に示される周波数ω１〜ω６のうち、周波数帯Ｗに含まれるものを抽出する。この例の場合、周波数ω２およびω３が抽出される。続いて、ピッチ特定部１０１３は抽出した周波数の各々に関し、例えば以下の（式１）に示される関数の値を算出する。
【数１】
2006301019.tif 000003
【００３８】
ただし、（式１）におけるｓ（ω）は周波数ωにおける周波数成分の振幅を示している。また、ｋは任意の自然数であり、ωｋはユーザの歌唱音の基本周波数の候補を示す。図３の例による場合、ｋ＝２またはｋ＝３である。（式１）の右辺第１項は、基本周波数の候補における周波数成分の振幅を示す項である。（式１）の右辺第２項は、基準ピッチデータ１０２１により示される基準音高の周波数と基本周波数の候補との差を示す項であるが、必ず０以上の値をとるようにその差が自乗されている。（式１）におけるｃは、基本周波数の候補における周波数成分の振幅の関数ｆ（ωｋ）における寄与度を示す係数を決定するための変数であり、０から１の範囲で経験的に適当な値が選択される。
【００３９】
（式１）により示される関数ｆ（ωｋ）の値は、基本周波数の候補における周波数成分の振幅に対し、基準ピッチデータ１０２１により示される基準音高の周波数と基本周波数の候補との差に基づくバイアスを加えた値である。ピッチ特定部１０１３はｋ＝２およびｋ＝３の各々に関し関数ｆ（ωｋ）の値を算出し、それらの値が最大である場合のωｋを、ユーザが現在発音している歌唱音の基本周波数として特定する。
【００４０】
従来技術により単純に周波数成分が最大となる周波数を音波形の基本周波数として選択する場合、例えば図３において、ω３が歌唱音の正しい基本周波数であり、ω２はフルートパートによる伴奏音の基本周波数であったような場合、より振幅の大きいω２が誤って歌唱音の基本周波数として特定される。これに対し、ピッチ特定部１０１３が用いる上記（式１）のような関数値においては、基準音高の周波数から大きく外れた基本周波数の候補に関しては、第２項の絶対値が大きくなる結果、関数ｆ（ωｋ）の値が小さくなり、最終的に基本周波数として選択されることがなく、正しい基本周波数の特定が行われる可能性が高まる。
【００４１】
ただし、上記（式１）はピッチ特定部１０１３が歌唱音の基本周波数を特定するために用いる関数式の例示であって、他にも様々な関数式が利用可能であることは言うまでもない。要すれば、基準音高の周波数と基本周波数の候補との差を反映させることにより、複数の基本周波数の候補から正しい基本周波数を特定する方法であれば、如何なる方法であってもピッチ特定部１０１３がピッチを特定するための方法として採用可能である。
【００４２】
また、ピッチ特定部１０１３が周波数分布の振幅が極値をとる場合の周波数を基本周波数の候補として用いる代わりに、例えば周波数帯Ｗに含まれる周波数を１Ｈｚごとに順次取り出して基本周波数の候補とし、それらの基本周波数の候補について（式１）の関数（ωｋ）の値を算出し、算出した値が最大となるωｋを基本周波数として特定するようにしてもよい。
【００４３】
ピッチ特定部１０１３は、上記の基本周波数の特定処理を、例えば１０ミリ秒ごとに行い、その結果を示すデータをその時点の楽曲におけるタイミングを示すデータに対応付けて、順次、記憶部１０２に記憶する。ピッチ特定部１０１３は演奏が終了すると、その演奏において演奏音の発音が行われていた演奏パートを示すデータを、順次記憶した基本周波数およびタイミングを示すデータの集まりに対応付けて、実演奏ピッチデータ１０２３として記憶部１０２に記憶する。図４は実演奏ピッチデータ１０２３の内容を例示した図である。なお、ユーザにより演奏トレーニングシステム１を用いた歌唱練習が複数回行われた場合、その各々の歌唱練習に対応する実演奏ピッチデータ１０２３が記憶部１０２に記憶されることになる。
【００４４】
制御部１０１は、ユーザの歌唱音に影響を与えている他の演奏パートを特定する演奏パート特定部１０１４を備えている。演奏パート特定部１０１４の処理は、過去の演奏に関する実演奏ピッチデータ１０２３が記憶部１０２に記憶されているか否か、記憶されている場合にいずれの演奏パートによる演奏に関する実演奏ピッチデータ１０２３が記憶されているか、現在の演奏において発音している演奏パートはいずれであるか、に応じて異なる。以下、それらのバリエーションごとに演奏パート特定部１０１４の処理を説明する。
【００４５】
（ケース１：過去の演奏に関する実演奏ピッチデータがなく、発音中の伴奏パートが単声の場合）
まず、記憶部１０２にまだ過去の演奏に関する実演奏ピッチデータ１０２３が記憶されておらず、ボーカルパート以外の演奏パート、すなわち伴奏パートのうち発音を行っているものが１つであり、かつフルートのように単声楽器である場合、演奏パート特定部１０１４は再生部１０１１からボーカルパートおよび発音中の伴奏パートに関する種別「ノートオン」のイベントデータを受け取る。また、演奏パート特定部１０１４はピッチ特定部１０１３からピッチ特定部１０１３により特定された現時点の歌唱音のピッチを示すデータ（以下、「現時点実演奏ピッチデータ」と呼ぶ）を順次受け取る。
【００４６】
演奏パート特定部１０１４は、それらのデータにより示されるガイド音のピッチ、伴奏音のピッチおよびユーザの歌唱音のピッチの高低関係に基づき、演奏中において伴奏音により歌唱音が影響を受けている箇所を特定する。以下、具体例を用いてその処理を説明する。今、演奏中のあるタイミングにおいて、演奏パート特定部１０１４が最後に受け取った各演奏パートに関するイベントデータおよび現時点実演奏ピッチデータが以下のとおりであったとする。
（ａ）イベントデータ［ボーカル／ノートオン／Ｃ４］
（ｂ）イベントデータ［フルート／ノートオン／Ａ５］
（ｃ）現時点実演奏ピッチデータ［２５８．４１５］
【００４７】
ここで、上記（ａ）はガイド音の音高を示し、上記（ｂ）は伴奏音の音高を示している。演奏パート特定部１０１４は、伴奏音の音高がガイド音の音高の前後にまたがる１オクターブの音域に入るように、伴奏音の音高をオクターブ単位でシフトさせる。上記の例の場合、ガイド音の音高は［Ｃ４］であり、伴奏音の音高は［Ａ５］であるため、演奏パート特定部１０１４は伴奏音の音高を［Ａ４］にシフトダウンする。このように、伴奏音の音高をピッチシフトさせるのは、楽曲において音の絶対的な高低よりも音階上の高低の方が楽曲においては意味を有するためである。以下、ガイド音に伴奏音の音高を近づける音高のシフト処理を「音高シフト処理」と呼ぶ。
【００４８】
続いて、演奏パート特定部１０１４はガイド音の音高およびピッチシフト後の伴奏音（以下、単に「伴奏音」と呼ぶ）の音高を、対応する周波数に変換する。例えば、音高［Ｃ４］は周波数［２６１．６２６］Ｈｚに、音高［Ａ４］は周波数［２２０．０００］Ｈｚに各々変換される。以下、音高名により示される音高を周波数に変換する処理を「音高変換処理」と呼ぶ。演奏パート特定部１０１４は音高変換処理により、ガイド音の周波数［２６１．６２６］Ｈｚ、伴奏音の周波数［２２０．０００］Ｈｚおよびユーザの歌唱音の周波数［２５８．４１５］Ｈｚを得る。以下、それらの値をｆａ、ｆｂおよびｆｃと呼ぶ。
【００４９】
続いて、演奏パート特定部１０１４は歌唱音のガイド音からのずれの指標として、ｄ＝（｜ｆｃ−ｆａ｜）／ｆａ×１００（％）を算出する。演奏パート特定部１０１４はこのように算出したずれの指標が所定の閾値、例えば１．００（％）以上である場合、歌唱音が修正を要する程度にガイド音からずれていると判定する。以下、指標ｄにより歌唱音が修正を要する程度にずれていることを検出する処理を「ずれ検出処理」と呼ぶ。
【００５０】
ずれ検出処理において修正を要するずれを検出した場合、演奏パート特定部１０１４は伴奏音がそのずれに影響を与えているか否かを判断する。具体的には、演奏パート特定部１０１４は伴奏音のピッチがガイド音のピッチから見て歌唱音のピッチと同じ側にあり、かつ歌唱音のピッチよりも離れている場合、歌唱音のずれが伴奏音に影響されているものと判定する。
【００５１】
例えば上記の例の場合、ずれの指標はｄ＝約１．２３となり、所定の閾値１．００（％）以上である。また、ガイド音の周波数（ｆａ＝２６１．６２６）からみて伴奏音の周波数（ｆｂ＝２２０．０００）が歌唱音の周波数（ｆｃ＝２５８．４１５）と同じ側にあり、かつガイド音の周波数と伴奏音の周波数との差の絶対値（｜ｆａ−ｆｂ｜＝４１．６２６）が、ガイド音の周波数と歌唱音の周波数との差の絶対値（｜ｆａ−ｆｃ｜＝３．２１１）よりも大きい。従って、演奏パート特定部１０１４は歌唱音のずれが伴奏音により影響されている、と推定する。以下、ある伴奏音の周波数、ガイド音の周波数および歌唱音の周波数の関係に基づきその伴奏音が歌唱音のずれに影響を与えていると推定する処理を「影響推定処理」と呼ぶ。
【００５２】
制御部１０１は、イベントデータにより示されるガイド音および伴奏音のピッチと、ユーザの歌唱音のピッチをグラフで示す画面の画像信号を生成する画像信号生成部１０１５を備えている。演奏パート特定部１０１４は、影響推定処理において伴奏音が歌唱音のずれに影響を与えていると推定した場合、その伴奏音を発音している演奏パートを示すデータ（以下、「演奏パートデータ」と呼ぶ）を画像信号生成部１０１５に引き渡す。また、演奏パート特定部１０１４は伴奏音が歌唱音に影響を与えていないと推定した場合、いずれの演奏パートも歌唱に影響を与えていないことを示すデータとして、例えば演奏パートデータ「なし」を画像信号生成部１０１５に引き渡す。
【００５３】
（ケース２：過去の演奏に関する実演奏ピッチデータがなく、発音中の伴奏パートが複数もしくは多声の場合）
記憶部１０２にまだ過去の演奏に関する実演奏ピッチデータ１０２３が記憶されておらず、発音を行っている伴奏パートが複数ある場合や伴奏パートが多声楽器である場合、演奏パート特定部１０１４は再生部１０１１からボーカルパートおよび発音中の全ての伴奏パートに関する種別「ノートオン」のイベントデータを受け取る。また、演奏パート特定部１０１４はピッチ特定部１０１３から現時点実演奏ピッチデータを順次受け取る。
【００５４】
伴奏パートがピアノのように多声楽器である場合、演奏パート特定部１０１４はその伴奏パートにより同時に発音される和音の列を複数のメロディラインに分離し、以下の処理においてそれぞれのメロディラインを１つの単声楽器により演奏される音の列として扱う。
【００５５】
続いて、演奏パート特定部１０１４は、各々の伴奏音に関し音高シフト処理を行い、伴奏音の音高をガイド音の音高の近辺にシフトさせる。その後、演奏パート特定部１０１４はガイド音の音高およびシフト後の伴奏音（以下、単に「伴奏音」と呼ぶ）の音高に関し音高変換処理を行い、各々の周波数を得る。
【００５６】
演奏パート特定部１０１４は、上記のように得られた周波数を用いて、ずれ検出処理を行う。演奏パート特定部１０１４はピッチ特定部１０１３から現時点実演奏ピッチデータを受け取るごとに上述した一連の処理を行う。演奏パート特定部１０１４は、ずれ検出処理を行うと、ずれの有無を示すデータと、ガイド音、各々の伴奏音および歌唱音のピッチを示す周波数を対応付けたデータを生成し、生成したデータを順次、作業用ピッチデータ１０２４として一時的に記憶部１０２に記憶する。図５は作業用ピッチデータ１０２４の内容を例示した図である。図５において、伴奏音１は伴奏パート「フルート」の音のピッチを示し、伴奏音２〜伴奏音４は各々、伴奏パート「ピアノ」の第１声〜第３声の音のピッチを示している。
【００５７】
演奏パート特定部１０１４は、ずれ検出処理において修正を要するずれがあると判定した場合、複数の伴奏音のいずれによってそのずれが引き起こされているかを推定する。そのため、演奏パート特定部１０１４はまず各々の伴奏音について影響推定処理を行い、その処理において肯定的な結果が出た伴奏音を、ユーザの歌唱を誤らせている原因の伴奏音の候補として抽出する。つまり、ガイド音からみて、歌唱音と同じ側の音域であり、かつ歌唱音よりもガイド音から離れている伴奏音が、歌唱音に影響を与えている伴奏音の候補として抽出される。以下、歌唱音に影響を与えている伴奏音の候補を抽出する処理を「候補音抽出処理」と呼ぶ。
【００５８】
演奏の開始直後等であって、作業用ピッチデータ１０２４に記憶されているデータのうち、「ずれの有無」が「有」であるデータの数がまだ少ない場合、演奏パート特定部１０１４は候補音抽出処理によって抽出した伴奏音のうち歌唱音のピッチに最も近いピッチの伴奏音を発音している演奏パートを、歌唱音のずれに影響を与えている演奏パートであると推定する。
【００５９】
一方、作業用ピッチデータ１０２４に記憶されているデータのうち、「ずれの有無」が「有」であるデータの数が十分に多い場合、演奏パート特定部１０１４は作業用ピッチデータ１０２４に記憶されているデータの中から「ずれの有無」が「有」であるデータを抽出し、候補音抽出処理において抽出した伴奏音の演奏パートの各々に関し、抽出したデータにより示されるガイド音のピッチと歌唱音のピッチとの差と、ガイド音のピッチと伴奏音のピッチとの差との相関係数を算出する。
【００６０】
例えば、あるタイミングにおいて伴奏音１（フルート）が歌唱音に影響を与えている伴奏音の候補として抽出された場合、作業用ピッチデータ１０２４のデータのうち「ずれの有無」が「有」であるものに含まれるガイド音の周波数の列をｆａｋ、伴奏音１の周波数の列をｆｂｋ、歌唱音の周波数の列をｆｃｋ（ただし、ｋ＝１〜ｎの自然数、ｎは「ずれの有無」が「有」であるデータの数）とすると、演奏パート特定部１０１４はｋに応じて変化する（ｆｂｋ−ｆａｋ）と（ｆｃｋ−ｆａｋ）の組合せについての相関係数を算出する。そのように算出される相関係数は、過去に歌唱音がガイド音からずれた箇所において、ガイド音のピッチを基準とした場合における、歌唱音の変化と伴奏音の変化の相関関係を示す指標である。
【００６１】
演奏パート特定部１０１４は、候補音抽出処理において抽出した伴奏音の演奏パートの全てについて相関係数を算出すると、最も大きい相関係数が算出された演奏パートを、歌唱音のずれに影響を与えている演奏パートであると推定する。
【００６２】
演奏パート特定部１０１４は、上記のように歌唱音のずれに影響を与えている演奏パートを推定すると、推定した演奏パートを示す演奏パートデータを画像信号生成部１０１５に引き渡す。また、演奏パート特定部１０１４はいずれの演奏パートも歌唱音のずれに影響を与えていないと判定した場合、例えば演奏パートデータ「なし」を画像信号生成部１０１５に引き渡す。
【００６３】
（ケース３：現在の演奏に参加している伴奏パートが参加していない過去の演奏に関する実演奏ピッチデータが記憶されている場合）
現在行われている演奏において発音を行っている伴奏パートのいずれかが参加していない過去の演奏に関する実演奏ピッチデータ１０２３が記憶部１０２に記憶されている場合、演奏パート特定部１０１４は再生部１０１１からボーカルパートおよび発音中の全ての伴奏パートに関する種別「ノートオン」のイベントデータを受け取る。また、演奏パート特定部１０１４はピッチ特定部１０１３から現時点実演奏ピッチデータを順次受け取る。
【００６４】
演奏パート特定部１０１４は、多声楽器の伴奏パートの和音の列を複数のメロディラインに分離する処理、伴奏音に関する音高シフト処理、ガイド音および伴奏音に関する音高変換処理を行い、ガイド音の周波数、伴奏音の各々の周波数および現在の演奏における歌唱音の周波数を得る。
【００６５】
続いて、演奏パート特定部１０１４は記憶部１０２から、過去の演奏に関する実演奏ピッチデータ１０２３に含まれるデータのうち、現在演奏されている楽曲中のタイミングに対応するタイミングのデータを読み出す。以下、そのように読み出されたデータを「過去実演奏ピッチデータ」と呼ぶ。今、以上のようにして得られた周波数を示すデータが以下のとおりであるものとする。
（ａ）ガイド音［２６１．６２６］
（ｂ１）伴奏音１（フルート）［２２０．０００］
（ｂ２）伴奏音２（ピアノ１）［１９６．０００］
（ｂ３）伴奏音３（ピアノ２）［２４６．９４２］
（ｂ４）伴奏音４（ピアノ３）［２９３．６６５］
（ｃ）現時点実演奏ピッチデータ［２５８．４１５］
（ｄ）過去実演奏ピッチデータ［２６０．５２１］
【００６６】
ここで、記憶部１０２に記憶されている過去の演奏に関する実演奏ピッチデータ１０２３により示される、演奏において発音していた演奏パートが「ピアノ」であった場合、上記のデータは以下の事実を示している。
（イ）現在行われている演奏において、歌唱音（２５８．４１５Ｈｚ）はガイド音（２６１．６２６Ｈｚ）から修正を要する程度にずれている。
（ロ）過去に行われた演奏において、歌唱音（２６０．５２１Ｈｚ）は現在の歌唱音よりガイド音（２６１．６２６Ｈｚ）に近かった。
（ハ）過去に行われた演奏においては伴奏パート「フルート」は発音していなかったが、現在の演奏においては伴奏パート「フルート」が発音している。
【００６７】
上記のことから、ユーザは現在の歌唱において伴奏パート「フルート」の音に引きずられて本来出すべき音のピッチよりも低いピッチの音を出している可能性がある、と推論される。そこで、演奏パート特定部１０１４は伴奏パート「フルート」の伴奏音１が、現在の歌唱音のずれに影響を与えているか否かの推定を行う。その推定の方法は、上述したケース１におけるものと同様である。
【００６８】
一方、記憶部１０２に記憶されている過去の演奏に関する実演奏ピッチデータ１０２３により示される、演奏において発音していた演奏パートが「フルート」であった場合、上記のデータは以下の事実を示している。
（イ）現在行われている演奏において、歌唱音（２５８．４１５Ｈｚ）はガイド音（２６１．６２６Ｈｚ）から修正を要する程度にずれている。
（ロ）過去に行われた演奏において、歌唱音（２６０．５２１Ｈｚ）は現在の歌唱音よりガイド音（２６１．６２６Ｈｚ）に近かった。
（ハ）過去に行われた演奏においては伴奏パート「ピアノ」は発音していなかったが、現在の演奏においては伴奏パート「ピアノ」が発音している。
【００６９】
上記のことから、ユーザは現在の歌唱において伴奏パート「ピアノ」のいずれかの音に引きずられて本来出すべき音のピッチよりも低いピッチの音を出している、と推論される。そこで、演奏パート特定部１０１４は伴奏パート「ピアノ」から分離された伴奏音２〜４のいずれが現在の歌唱音のずれに影響を与えている伴奏音であるかを推定する。その推定の方法は、上述したケース２におけるものと同様である。
【００７０】
演奏パート特定部１０１４は、上記のように歌唱音のずれに影響を与えている伴奏音の演奏パートを推定すると、推定した演奏パートを示す演奏パートデータを画像信号生成部１０１５に引き渡す。また、演奏パート特定部１０１４はいずれの演奏パートも歌唱音のずれに影響を与えていないと判定した場合、例えば演奏パートデータ「なし」を画像信号生成部１０１５に引き渡す。
【００７１】
（ケース４：現在の演奏に参加していない伴奏パートが参加していた過去の演奏に関する実演奏ピッチデータが記憶されている場合）
現在行われている演奏において発音を行っていない伴奏パートのいずれかが参加している過去の演奏に関する実演奏ピッチデータ１０２３が記憶部１０２に記憶されている場合、演奏パート特定部１０１４は再生部１０１１から、ボーカルパートおよび過去の演奏において発音していた全ての伴奏パートに関する種別「ノートオン」のイベントデータを受け取る。また、演奏パート特定部１０１４はピッチ特定部１０１３から現時点実演奏ピッチデータを順次受け取る。
【００７２】
演奏パート特定部１０１４は、多声楽器の伴奏パートの和音の列を複数のメロディラインに分離する処理、伴奏音に関する音高シフト処理、ガイド音および伴奏音に関する音高変換処理を行い、ガイド音の周波数、伴奏音の各々の周波数および現在の演奏における歌唱音の周波数を得る。
【００７３】
続いて、演奏パート特定部１０１４は記憶部１０２から、過去の演奏に関する実演奏ピッチデータ１０２３から過去実演奏ピッチデータ、すなわち現在演奏されている楽曲中のタイミングに対応するタイミングのデータを読み出す。今、以上のようにして得られた周波数を示すデータが以下のとおりであるものとする。
（ａ）ガイド音［２６１．６２６］
（ｂ１）伴奏音１（フルート）［２２０．０００］
（ｂ２）伴奏音２（ピアノ１）［１９６．０００］
（ｂ３）伴奏音３（ピアノ２）［２４６．９４２］
（ｂ４）伴奏音４（ピアノ３）［２９３．６６５］
（ｃ）現時点実演奏ピッチデータ［２６１．１０２］
（ｄ）過去実演奏ピッチデータ［２６５．３１４］
【００７４】
ここで、現在の演奏において発音を行っている伴奏パートが「フルート」のみであった場合、上記のデータは以下の事実を示している。
（イ）現在行われている演奏において、歌唱音（２６１．１０２Ｈｚ）は修正を要しない程度にガイド音（２６１．６２６Ｈｚ）に近い。
（ロ）過去に行われた演奏において、歌唱音（２６５．３１４Ｈｚ）はガイド音（２６１．６２６Ｈｚ）から修正を要する程度にずれていた。
（ハ）過去に行われた演奏においては伴奏パート「ピアノ」が発音していたが、現在の演奏においては伴奏パート「ピアノ」は発音していない。
【００７５】
上記のことから、ユーザは過去の演奏において伴奏パート「ピアノ」のいずれかの音に引きずられて本来出すべき音のピッチよりも高いピッチの音を出していた、と推論される。そこで、演奏パート特定部１０１４は過去の演奏における伴奏パート「ピアノ」から分離された伴奏音２〜４のいずれが過去の歌唱音のずれに影響を与えていた伴奏音であったかを推定する。その推定の方法は、上述したケース２におけるものと同様である。
【００７６】
一方、現在の演奏において発音を行っている伴奏パートが「ピアノ」のみであった場合、上記のデータは以下の事実を示している。
（イ）現在行われている演奏において、歌唱音（２６１．１０２Ｈｚ）は修正を要しない程度にガイド音（２６１．６２６Ｈｚ）に近い。
（ロ）過去に行われた演奏において、歌唱音（２６５．３１４Ｈｚ）はガイド音（２６１．６２６Ｈｚ）から修正を要する程度にずれていた。
（ハ）過去に行われた演奏においては伴奏パート「フルート」が発音していたが、現在の演奏においては伴奏パート「フルート」は発音していない。
【００７７】
上記のことから、ユーザは過去の演奏において伴奏パート「フルート」の音に引きずられて本来出すべき音のピッチよりも高いピッチの音を出していた可能性がある、と推論される。そこで、演奏パート特定部１０１４は過去の演奏における伴奏パート「フルート」の伴奏音１が過去の歌唱音のずれに影響を与えていた伴奏音であったかを推定する。その推定の方法は、上述したケース１におけるものと同様である。
【００７８】
演奏パート特定部１０１４は、上記のように歌唱音のずれに影響を与えていた伴奏音の演奏パートを推定すると、推定した演奏パートを示す演奏パートデータを画像信号生成部１０１５に引き渡す。また、演奏パート特定部１０１４はいずれの演奏パートも歌唱音のずれに影響を与えていなかったと判定した場合、例えば演奏パートデータ「なし」を画像信号生成部１０１５に引き渡す。
【００７９】
画像信号生成部１０１５は、上述したように演奏パート特定部１０１４から、歌唱音のずれに影響を与えていると推定される演奏パートを示す演奏パートデータを受け取る。また、画像信号生成部１０１５は、再生部１０１１から各演奏パートにより発音される音の音高や表示されるべき歌詞を示すイベントデータを受け取る。また、画像信号生成部１０１５は、ピッチ特定部１０１３から現時点実演奏ピッチデータを受け取る。画像信号生成部１０１５はそれらのデータを用いて、ユーザに対し、歌唱すべき歌詞、ガイド音のピッチ、伴奏音のピッチ、歌唱音のピッチ、歌唱音がガイド音からずれた箇所およびそのずれに影響を与えたと推定される演奏パートを示すための画像信号を生成する。
【００８０】
入出力インタフェース１０３は、画像信号生成部１０１５により生成された画像信号を外部装置に出力する画像信号出力部１０３３を備えている。画像信号生成部１０１５は生成した画像信号を、画像信号出力部１０３３を介してディスプレイ１３に送信する。
【００８１】
図６は、画像信号出力部１０３３から送信された画像信号に従い、ディスプレイ１３により表示される画像を示した図である。図６に示される画像において、横軸は楽曲の進行に伴い経過する時間を示しており、縦軸は発音される音のピッチを示している。文字１３１は歌詞を示している。ライン１３２は楽曲における現在のタイミングを示している。
【００８２】
折れ線１３３〜１３５はそれぞれ、ガイド音、伴奏パート１（フルート）および伴奏パート２（ピアノ１）のピッチを示している。また、曲線１３６は歌唱音のピッチを示している。なお、図６においては図の簡略化のため伴奏パート３および４（ピアノ２および３）のピッチを示す折れ線は省略されている。なお、過去の演奏に参加し、現在の演奏に参加していない伴奏パートのピッチを示す折れ線については、例えば点線で示す等により現在の演奏に参加している伴奏パートのピッチを示す折れ線と区別される。
【００８３】
折れ線１３４および１３５には、それぞれマーカ１３７および１３８が付されている。これらのマーカは、歌唱音のピッチがガイド音のピッチから大きくずれた期間を示すとともに、そのずれの原因となったと推定される演奏パートおよびその演奏パートにより発音された音のピッチを示すマーカである。ただし、ここで折れ線１３４で示される伴奏パート１（フルート）は現在の演奏に参加しておらず、過去の演奏のマーカ１３７により示される期間において歌唱音に影響を与えていたことが示されている。従って、現在の歌唱音のピッチは、マーカ１３７により示される期間においてガイド音のピッチから大きく外れていない。つまり、その期間の演奏が、伴奏パート１（フルート）が抜けることにより改善されていることを示している。また、矢印１３９および１４０は、各々、いずれの伴奏パートにより歌唱音が影響されているかを示す矢印である。
【００８４】
以上のように、演奏トレーニングシステム１によれば、ユーザは自分の現在の演奏音のピッチが本来発音されるべき音のピッチからどれだけずれているかをリアルタイムに確認することができるとともに、そのずれが他のいずれの演奏パートの音によりもたらされているかを知ることができる。従って、ユーザはそのように通知された演奏パートの音に引きずられないように意識しながら演奏のトレーニングを繰り返すことにより、効果的に演奏能力を向上することができる。
【００８５】
ところで、上記の説明においては、ユーザの演奏パートはボーカルパートであるものとしたが、ユーザの演奏パートがバイオリン等の楽器であってもよい。その場合、ピッチ特定部１０１３により基本周波数の候補の抽出における周波数帯Ｗの範囲が異なる他、上記と異なることはない。
【００８６】
また、上記の説明においては、基準ピッチデータ１０２１は図２に例示されるような演奏制御データの形式をとるものとしたが、例えば図５に例示されるような、各々のタイミングで発音されるべき音のピッチを周波数等により示す形式のデータであってもよい。その場合、音高を周波数に変換する音高変換処理は不要になる。
【００８７】
また、図６に示した画像は演奏トレーニングシステム１によりユーザに対し演奏に影響を与えている他の演奏パートを通知するための画像の例示であって、他に様々な表示態様があり得ることは言うまでもない。例えば、マーカの代わりに折れ線の色や太さを変えたり、ユーザの演奏音が他の演奏パートの音に引きずられている様子を矢印で示したりしてもよい。
【００８８】
また、ピッチ通知装置１０は専用のハードウェアにより実現されてもよいし、汎用コンピュータにアプリケーションプログラムに従った処理を実行させることにより実現されてもよい。ピッチ通知装置１０が汎用コンピュータにより実現される場合、制御部１０１の各構成部は、汎用コンピュータが備えるＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）およびＣＰＵの制御下で動作するＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）が、アプリケーションプログラムに含まれる各モジュールに従った処理を同時並行して行うことにより、汎用コンピュータの機能として実現される。
【００８９】
［２．第２実施形態］
以下、複数のユーザがコーラスのトレーニングを行う場合を例として、本発明の第２実施形態を説明する。図７は第２実施形態にかかる演奏トレーニングシステム２の構成を示した図である。演奏トレーニングシステム２は演奏トレーニングシステム１と比較し、マイク１２をユーザの数に応じて複数備えている点が異なるが、他の構成は演奏トレーニングシステム１と同様である。従って、図７において、演奏トレーニングシステム１の構成部と同じもしくは類似の構成部には、図１において用いられているものと同じ符号が付されている。ただし、演奏トレーニングシステム２が備えるピッチ通知装置は制御部の処理が一部ピッチ通知装置１０のそれと異なるため、ピッチ通知装置２０としてピッチ通知装置１０と区別する。また、演奏トレーニングシステム２の動作は、演奏トレーニングシステム１の動作と多くの点で共通している。従って、以下、それらが異なる点のみを説明する。
【００９０】
以下、説明のため、演奏トレーニングシステム２を利用するユーザの数は３名であり、それらをユーザ１９−１〜３とする。また、演奏トレーニングシステム２はユーザ１９−１〜３が各々利用するマイク１２−１〜３を備えているものとする。さらに、ユーザ１９−１〜３は、トレーニングを行う合唱曲において、コーラスパート１〜３を各々担当するものとする。
【００９１】
ピッチ通知装置２０の制御部１０１が備えるピッチ特定部１０１３は、マイク１２−１〜３の各々により集音された音を示す音信号を受け取り、それら３組の音信号から、ユーザ１９−１〜３の各々の歌唱音の基本周波数を特定する。まず、マイク１２−１〜３の各々により集音される音には、演奏トレーニングシステム１における場合と同様に、音源部１０１２から出力されスピーカ１１により発音される伴奏パートの音が含まれている。また、マイク１２−１〜３の各々のユーザの歌唱音の周波数成分には、基本周波数の倍音成分も含まれている。
【００９２】
上記に加え、演奏トレーニングシステム２においては、マイク１２−１〜３が同じ空間内に配置されていることから、例えばマイク１２−１は主としてユーザ１９−１の歌唱音を集音するものの、同時に近くにいるユーザ１９−２および３の歌唱音も集音してしまう。従って、ピッチ通知装置２０のピッチ特定部１０１３は、例えばマイク１２−１から取得した音信号からユーザ１９−１の歌唱音の基本周波数を特定するに際し、他のマイク１２、すなわちマイク１２−２および３から取得した音信号の周波数成分とマイク１２−１から取得した音信号の周波数成分の、基本周波数の候補における振幅の差を変数として含む関数の値を算出し、その値に基づき基本周波数を特定する。
【００９３】
具体的には、ピッチ特定部１０１３は、まず演奏トレーニングシステム１における場合と同様に、再生部１０１１から受け取ったイベントデータにより示される、コーラスパート１のガイド音のピッチを示す周波数ω０を算出する。続いて、ピッチ特定部１０１３はマイク１２−１から入力された音信号を示す実演奏波形データ１０２２に対し周波数分析を行い、その包絡線を示すグラフを求める。ピッチ特定部１０１３はそのように求めたグラフにおいて、人の音声の基本周波数が分布する周波数帯Ｗに含まれる、振幅が極大値をとる周波数を基本周波数の候補として抽出する。以下、それらの基本周波数の候補をω１〜ωｋ（ただし、ｋは抽出された基本周波数の候補の数）とする。
【００９４】
続いて、ピッチ特定部１０１３はマイク１２−２および３から入力された音信号を示す実演奏波形データ１０２２に対し周波数分析を行い、各周波数における周波数成分の振幅を算出する。以下、マイク１２−１〜３の各々から入力された音信号の周波数ωにおける周波数成分をｓｉ（ω）（ただし、ｉはマイク１２−１〜３に対応する数値１〜３のいずれか）とする。
【００９５】
続いて、ピッチ特定部１０１３は、例えば以下の（式２）に示される関数の値を算出する。
【数２】
2006301019.tif 000004
【００９６】
（式２）の右辺第１項および第３項は、それぞれ演奏トレーニングシステム１における（式１）の右辺第１項および第２項と同様の役割を果たす項である。（式２）の右辺第２項は、基本周波数の候補ωｋにおけるマイク１２−１により集音された音の周波数成分と他のマイク１２により集音された音の周波数成分の差の総和を示す項である。この（式２）の右辺第２項は、ωｋがマイク１２−１〜３により集音された同じ音のうちマイク１２−１により大きなボリュームで集音された音の成分である場合に大きな値となる。従って、ｆ１（ωｋ）は、ユーザ１９−２および３の歌唱音の基本周波数よりも、マイク１２−１の近くで歌唱するユーザ１９−１の歌唱音の基本周波数において、より大きな値をとる。ピッチ特定部１０１３は、ｆ１（ωｋ）の値が最大となるωｋをユーザ１９−１の歌唱音の基本周波数として特定する。
【００９７】
ピッチ特定部１０１３は、マイク１２−２および３から入力された音信号を示す実演奏波形データ１０２２に対しても、同様の関数値を算出し、算出した関数値が最大となる周波数を、ユーザ１９−２および３の歌唱音の基本周波数として特定する。すなわち、（式２）は（式３）のように一般化される。
【数３】
2006301019.tif 000005
【００９８】
なお、（式２）もしくは（式３）におけるａおよびｂは、各項の寄与度を示す係数を決定するための変数であり、経験的に適当な値が選択される。ここで、（式３）はピッチ特定部１０１３が歌唱音の基本周波数を特定するために用いる関数式の例示であって、他にも様々な関数式が利用可能であることは演奏トレーニングシステム１における場合と同様である。要すれば、注目するマイク１２により集音された音の音信号の周波数成分と他のマイク１２により集音された音の音信号の周波数成分との差を評価指標に反映させることにより、注目していないマイク１２に向かって歌唱しているユーザ１９の歌唱音の基本周波数が誤って注目しているマイク１２に向かって歌唱しているユーザ１９の歌唱音の基本周波数として特定されることを防止する方法であれば、如何なる方法であってもピッチ特定部１０１３がピッチを特定するための方法として採用可能である。
【００９９】
ピッチ特定部１０１３は、上記のようにして特定されたユーザ１９−１〜３の歌唱音の基本周波数、すなわちコーラスパート１〜３のピッチを示すデータを生成し、生成したデータを順次、実演奏ピッチデータ１０２３として記憶部１０２に記憶するとともに、演奏パート特定部１０１４および画像信号生成部１０１５に引き渡す。
【０１００】
ピッチ通知装置２０の演奏パート特定部１０１４は、再生部１０１１からコーラスパート１〜３のガイド音の音高を示すイベントデータを受け取る代わりに、ピッチ特定部１０１３からコーラスパート１〜３の歌唱音のピッチを示すデータを受け取り、そのデータを用いて演奏パートの特定処理を行う。その処理の内容は、演奏トレーニングシステム１におけるものと同様である。
【０１０１】
および画像信号生成部１０１５は、演奏パート特定部１０１４により特定された演奏パートを示す演奏パートデータ、再生部１０１１から引き渡されるガイド音の音高を示すイベントデータ、そしてピッチ特定部１０１３から引き渡されるユーザ１９−１〜３の各々の歌唱音に関する現時点実演奏ピッチデータを用いて、ユーザ１９−１〜３の各々の歌唱音がいずれの他の歌唱音に引きずられているかを示す画像信号を生成し、生成した画像信号をディスプレイ１３に送信する。
【０１０２】
図８は、演奏トレーニングシステム２においてディスプレイ１３に表示される画像を例示した図である。図８において、折れ線２３１〜２３３はそれぞれコーラスパート１〜３のガイド音のピッチを示し、曲線２３４および２３５はそれぞれユーザ１９−２および３の歌唱音のピッチを示している。なお、ユーザ１９−１は現在の演奏に参加していないため、その歌唱音のピッチを示す曲線は示されていない。また、マーカ２３６〜２３８および矢印２３９〜２４１は、歌唱音が他のコーラスパートの音に影響されている様子を示す表示である。
【０１０３】
上記のように、演奏トレーニングシステム２によっても、演奏トレーニングシステム１による場合と同様に、ユーザは他の演奏パートの音に引きずられないように意識しながら、効果的に演奏能力を向上することができる。また、演奏トレーニングシステム２によれば、複数のユーザにより同時に演奏が行われるような場合でも、それらの複数のユーザが同時に各々の演奏能力を向上することができる。
【図面の簡単な説明】
【０１０４】
【図１】第１実施形態にかかる演奏トレーニングシステムの構成を示した図である。
【図２】第１実施形態にかかる基準ピッチデータの内容を例示した図である。
【図３】第１実施形態にかかるピッチ特定部により生成されるグラフを例示した図である。
【図４】第１実施形態にかかる実演奏ピッチデータの内容を例示した図である。
【図５】第１実施形態にかかる作業用ピッチデータの内容を例示した図である。
【図６】第１実施形態にかかるディスプレイにより表示される画像を示した図である。
【図７】第２実施形態にかかる演奏トレーニングシステムの構成を示した図である。
【図８】第２実施形態にかかるディスプレイにより表示される画像を示した図である。
【符号の説明】
【０１０５】
１・２…演奏トレーニングシステム、１０・２０…ピッチ通知装置、１１…スピーカ、１２…マイク、１３…ディスプレイ、１４…キーボード、１０１…制御部、１０２…記憶部、１０３…入出力インタフェース、１０４…発振器、１０１１…再生部、１０１２…音源部、１０１３…ピッチ特定部、１０１４…演奏パート特定部、１０１５…画像信号生成部、１０２１…基準ピッチデータ、１０２２…実演奏波形データ、１０２３…実演奏ピッチデータ、１０２４…作業用ピッチデータ、１０３１…音信号出力部、１０３２…音信号入力部、１０３３…画像信号出力部
【図１】
2006301019.tif 000006
【図２】
2006301019.tif 000007
【図３】
2006301019.tif 000008
【図４】
2006301019.tif 000009
【図５】
2006301019.tif 000010
【図６】
2006301019.tif 000011
【図７】
2006301019.tif 000012
【図８】
2006301019.tif 000013