(57)【要約】【課題】歌唱音声から「こぶし」の技法を用いて歌唱された区間を検出することが可能な技術を提供することを目的とする。【解決手段】カラオケ装置１のＣＰＵ１１は、歌唱音声からピッチを検出し、該ピッチの変動の態様からまず「こぶし候補区間」を特定する。すなわち、ピッチの上昇および下降（それぞれ区間ＡおよびＢ）の区間におけるピッチの変化の割合や、ピッチの一過的な上昇に要した時間（区間Ｃの長さ）を元にこぶしに特徴的なピッチの変動を検出する。その後、別途検出した「ビブラート技法が用いられている区間」に含まれるこぶし候補区間を除外することにより、こぶし技法が用いられている区間を最終的に特定する。【選択図】図１０
2008268370.tif 000002
【特許請求の範囲】
【請求項１】
歌唱音声を表す歌唱音声データを受取る受取手段と、
前記受取手段が受取った歌唱音声データから、ピッチを検出するピッチ検出手段と、
前記ピッチ検出手段により検出されたピッチから、ピッチが上昇した後下降する区間を特定し、前記区間から、
（１）ピッチが上昇する区間におけるピッチの変化の割合の絶対値が所定の閾値よりも大きく、
（２）ピッチが下降する区間におけるピッチの変化の割合の絶対値が所定の閾値よりも大きく、
（３）ピッチが上昇し始めてから下降し終わるまでの区間の長さが所定の範囲内である
ことを特徴とする候補区間を選択する候補区間選択手段と、
前記歌唱音声において、ビブラートの技法が用いられている区間を表すビブラート区間データを受取る第２の受取手段と、
前記候補区間選択手段により選択された候補区間の各々について、前記第２の受取手段が受け取ったビブラート区間データが表すビブラート区間に含まれなければ、該候補区間をこぶしの技法が用いられている区間として特定するこぶし区間特定手段と
を有することを特徴とするこぶし検出装置。
【請求項２】
前記候補区間選択手段は、前記区間を含むノート（楽音）の発音を開始したタイミングから、ピッチが上昇を開始したタイミングとの時間差が所定の閾値より小さいとの条件を用いて前記候補区間を選択することを特徴とする請求項１に記載のこぶし検出装置。
【請求項３】
前記候補区間選択手段は、前記区間の直前または直後の所定長の区間において、所定の大きさを超えるピッチの変動がないとの条件を用いて前記候補区間を選択することを特徴とする請求項１に記載のこぶし検出装置。
【請求項４】
前記候補区間選択手段は、前記区間の直後または所定時間後の所定長の区間において、ピッチの変動幅が所定の閾値より小さいとの条件を用いて前記候補区間を選択することを特徴とする請求項１に記載のこぶし検出装置。
【請求項５】
歌唱音声を表す歌唱音声データを受取る受取段階と、
前記受取段階において受取った歌唱音声データから、ピッチを検出するピッチ検出段階と、
前記ピッチ検出段階において検出されたピッチから、ピッチが上昇した後下降する区間を特定し、前記区間から、
（１）ピッチが上昇する区間におけるピッチの変化の割合の絶対値が所定の閾値よりも大きく、
（２）ピッチが下降する区間におけるピッチの変化の割合の絶対値が所定の閾値よりも大きく、
（３）ピッチが上昇し始めてから下降し終わるまでの区間の長さが所定の範囲内である
ことを特徴とする候補区間を選択する候補区間選択段階と、
前記歌唱音声において、ビブラートの技法が用いられている区間を表すビブラート区間データを受取る第２の受取段階と、
前記候補区間選択段階において選択された候補区間の各々について、前記第２の受取段階において受け取ったビブラート区間データが表すビブラート区間に含まれなければ、該候補区間をこぶしの技法が用いられている区間として特定するこぶし区間特定段階と
を有することを特徴とするこぶし検出方法。
【請求項６】
コンピュータを、
歌唱音声を表す歌唱音声データを受取る受取手段と、
前記受取手段が受取った歌唱音声データから、ピッチを検出するピッチ検出手段と、
前記ピッチ検出手段により検出されたピッチから、ピッチが上昇した後下降する区間を特定し、前記区間から、
（１）ピッチが上昇する区間におけるピッチの変化の割合の絶対値が所定の閾値よりも大きく、
（２）ピッチが下降する区間におけるピッチの変化の割合の絶対値が所定の閾値よりも大きく、
（３）ピッチが上昇し始めてから下降し終わるまでの区間の長さが所定の範囲内である
ことを特徴とする候補区間を選択する候補区間選択手段と、
前記歌唱音声において、ビブラートの技法が用いられている区間を表すビブラート区間データを受取る第２の受取手段と、
前記候補区間選択手段により選択された候補区間の各々について、前記第２の受取手段が受け取ったビブラート区間データが表すビブラート区間に含まれなければ、該候補区間をこぶしの技法が用いられている区間として特定するこぶし区間特定手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、こぶし検出装置、こぶし検出方法及びプログラムに関する。
【背景技術】
【０００２】
歌唱の評価を行うカラオケ装置が種々開発されている。例えば、特許文献１に記載のカラオケ装置においては、歌唱者の音声からピッチ（音程）、音長、タイミングなどのパラメータを抽出し、抽出された各パラメータに基づいて歌唱の評価を行う。
【特許文献１】特開平１０−７８７５０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、歌手などの熟練した歌唱者は、歌い始めや歌い終わりを意図的にずらしたり、声質や音量を変化させたり、ビブラートやこぶしなどの技法を用いたりするなど、様々な表現方法を用いて歌のなかに情感を表現する。多くの歌唱者は、楽譜の内容に忠実に従うよりも、歌手のように様々な表現方法を用いて歌唱したいと考えている。
【０００４】
さて、従来のカラオケ装置では、模範となる歌唱やガイドメロディなどのリファレンスに基づいて歌唱を評価する。しかし、それらのリファレンスは、楽譜どおりの音高やリズムで作成されていることが多く、上述のように各種の表現方法を用いて歌唱すると、リファレンスと異なっているために評価が下がってしまう傾向があった。そこで、カラオケ装置において、上述のような各種の表現方法を検出し、検出された個々の表現方法に基づいて歌唱を評価する技術が望まれていた。
【０００５】
本発明は、上述した事情に鑑みてなされたものであり、歌唱音声から「こぶし」の技法を用いて歌唱された区間を検出することが可能なこぶし検出装置、こぶし検出方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の好適な態様であるこぶし検出装置は、歌唱音声を表す歌唱音声データを受取る受取手段と、前記受取手段が受取った歌唱音声データから、ピッチを検出するピッチ検出手段と、前記ピッチ検出手段により検出されたピッチから、ピッチが上昇した後下降する区間を特定し、前記区間から、（１）ピッチが上昇する区間におけるピッチの変化の割合の絶対値が所定の閾値よりも大きく、（２）ピッチが下降する区間におけるピッチの変化の割合の絶対値が所定の閾値よりも大きく、（３）ピッチが上昇し始めてから下降し終わるまでの区間の長さが所定の範囲内であることを特徴とする候補区間を選択する候補区間選択手段と、前記歌唱音声において、ビブラートの技法が用いられている区間を表すビブラート区間データを受取る第２の受取手段と、前記候補区間選択手段により選択された候補区間の各々について、前記第２の受取手段が受け取ったビブラート区間データが表すビブラート区間に含まれなければ、該候補区間をこぶしの技法が用いられている区間として特定するこぶし区間特定手段とを有することを特徴とする。
【０００７】
本発明の好適な態様であるこぶし検出装置は、上記の構成において、前記候補区間選択手段は、さらに追加して前記区間を含むノート（楽音）の発音を開始したタイミングから、ピッチが上昇を開始したタイミングとの時間差が所定の閾値より小さいとの条件を用いて前記候補区間を選択しても良い。
【０００８】
本発明の好適な態様であるこぶし検出装置は、上記の構成において、前記候補区間選択手段は、さらに追加して前記区間の直前または直後の所定長の区間において、所定の大きさを超えるピッチの変動がないとの条件を用いて前記候補区間を選択しても良い。
【０００９】
本発明の好適な態様であるこぶし検出装置は、上記の構成において、前記候補区間選択手段は、さらに追加して前記区間の直後または所定時間後の所定長の区間において、ピッチの変動幅が所定の閾値より小さいとの条件を用いて前記候補区間を選択しても良い。
【００１０】
本発明の好適な態様であるこぶし検出方法は、歌唱音声を表す歌唱音声データを受取る受取段階と、前記受取段階において受取った歌唱音声データから、ピッチを検出するピッチ検出段階と、前記ピッチ検出段階において検出されたピッチから、ピッチが上昇した後下降する区間を特定し、前記区間から、（１）ピッチが上昇する区間におけるピッチの変化の割合の絶対値が所定の閾値よりも大きく、（２）ピッチが下降する区間におけるピッチの変化の割合の絶対値が所定の閾値よりも大きく、（３）ピッチが上昇し始めてから下降し終わるまでの区間の長さが所定の範囲内であることを特徴とする候補区間を選択する候補区間選択段階と、前記歌唱音声において、ビブラートの技法が用いられている区間を表すビブラート区間データを受取る第２の受取段階と、前記候補区間選択段階において選択された候補区間の各々について、前記第２の受取段階において受け取ったビブラート区間データが表すビブラート区間に含まれなければ、該候補区間をこぶしの技法が用いられている区間として特定するこぶし区間特定段階とを有することを特徴とする。
【００１１】
本発明の好適な態様であるプログラムは、コンピュータを、歌唱音声を表す歌唱音声データを受取る受取手段と、前記受取手段が受取った歌唱音声データから、ピッチを検出するピッチ検出手段と、前記ピッチ検出手段により検出されたピッチから、ピッチが上昇した後下降する区間を特定し、前記区間から、（１）ピッチが上昇する区間におけるピッチの変化の割合の絶対値が所定の閾値よりも大きく、（２）ピッチが下降する区間におけるピッチの変化の割合の絶対値が所定の閾値よりも大きく、（３）ピッチが上昇し始めてから下降し終わるまでの区間の長さが所定の範囲内であることを特徴とする候補区間を選択する候補区間選択手段と、前記歌唱音声において、ビブラートの技法が用いられている区間を表すビブラート区間データを受取る第２の受取手段と、前記候補区間選択手段により選択された候補区間の各々について、前記第２の受取手段が受け取ったビブラート区間データが表すビブラート区間に含まれなければ、該候補区間をこぶしの技法が用いられている区間として特定するこぶし区間特定手段として機能させることを特徴とする。
【発明の効果】
【００１２】
本発明に係るこぶし検出装置、こぶし検出方法、またはプログラムによれば、歌唱音声から「こぶし」の技法を用いて歌唱された区間を検出することが可能となる。
【発明を実施するための最良の形態】
【００１３】
以下では、本発明の一実施形態に係るカラオケ装置について説明する。なお、以下の説明では、上記カラオケ装置を用いて歌唱を練習する者を「歌唱者」と呼ぶ。
【００１４】
（Ａ：構成）
図１は、カラオケ装置１のハードウェア構成を示したブロック図である。カラオケ装置１は、カラオケ伴奏を再生する通常のカラオケ機能を備えるとともに、歌唱者の歌唱音声から「こぶし」の技法が用いられている区間（以下、こぶし区間）を検出するこぶし検出機能も備える。なお、「こぶし」とは、装飾的に加える、うねるような節回しを行う技法である。
【００１５】
図１において、ＣＰＵ（Central Processing Unit）１１は、ＲＯＭ（Read Only Memory）１２に記憶されている制御プログラムを読み出してＲＡＭ（Random Access Memory）１３にロードし、これを実行することにより、カラオケ装置１の各部を制御する。
【００１６】
表示部１５は、例えば液晶ディスプレイなどであり、ＣＰＵ１１の制御の下で、カラオケ装置１を操作するためのメニュー画面や、背景画像に歌詞テロップが重ねられたカラオケ画面などの各種画面を表示する。
操作部１６は、テンキーや上下キー、演奏開始キーなどの各種のキーを備えており、押下されたキーに対応した操作信号をＣＰＵ１１へ出力する。
【００１７】
マイクロホン１７は、歌唱音声を収音し、音声信号（アナログデータ）を生成する。
音声処理部１８は、マイクロホン１７が生成した音声信号をＡ／Ｄ変換し、デジタルデータ（音声データ）に変換してＣＰＵ１１に出力する。また、音声処理部１８は、ＣＰＵ１１から受取った音声データをＤ／Ａ変換し、音声信号に変換してスピーカ１９に出力する。
スピーカ１９は、音声処理部１８から受取った音声信号に基づいて音声を放音する。
【００１８】
記憶部１４は、例えばＨＤＤ（Hard Disk Drive）などの大容量の記憶手段であり、各種の記憶領域を有している。
【００１９】
楽曲データ記憶領域１４ａには、複数の楽曲データが格納されている。図２は、各楽曲データの内容を模式的に示した図である。各楽曲データは、ヘッダと伴奏データと歌詞データとガイドメロディデータとを有している。
ヘッダには、楽曲を特定する曲番号データ、楽曲の曲名を示す曲名データ、ジャンルを示すジャンルデータ、楽曲の演奏時間を示す演奏時間データなどが含まれている。
【００２０】
伴奏データには、楽曲の伴奏を行う各種楽器の演奏音が楽曲の進行に伴って記されている。伴奏データは、例えばＭＩＤＩ（Musical Instrument Digital Interface）形式などのデータ形式である。
歌詞データには、歌詞の内容（文字）が、表示すべきタイミング、および表示部１５の画面において表示すべき位置と対応付けられて記されている。
ガイドメロディデータには、歌唱者が歌唱すべき旋律を示したガイドメロディが書き込まれている。
【００２１】
歌唱音声データ記憶領域１４ｂには、マイクロホン１７から出力された歌唱者の歌唱を表す音声信号が音声処理部１８でＡ／Ｄ変換されることにより生成された音声データ（以下、歌唱音声データ）が、各楽曲について記憶されている。歌唱音声データは、ＷＡＶＥ形式やＭＰ３（MPEG-1 Audio Layer-3）形式などの音声データである。
ビブラート区間データ記憶領域１４ｃには、各楽曲の歌唱音声データにおいて「ビブラート」の技法が用いられている区間（以下、ビブラート区間）を示すデータが記憶される。
【００２２】
こぶし区間データ記憶領域１４ｄには、各楽曲の歌唱音声データにおいて「こぶし」の技法が用いられているこぶし区間を示すデータが記憶される。
パラメータ記憶領域１４ｅには、各楽曲の歌唱音声データから抽出されたピッチや、該ピッチから抽出された各種のパラメータが記憶される。
以上に説明したカラオケ装置１の各部は、バス２０を介して互いにデータをやり取りする。
【００２３】
（Ｂ：動作）
次に、カラオケ装置１が歌唱音声データから「こぶし区間」を特定する処理について説明する。
【００２４】
（Ｂ−１：カラオケ伴奏処理）
歌唱者が、操作部１６を操作して歌唱する楽曲を選択すると、楽曲の曲番号データなど楽曲を特定する操作信号が操作部１６からＣＰＵ１１に出力される。ＣＰＵ１１は、操作部１６から供給された操作信号が示す楽曲データを楽曲データ記憶領域１４ａから読み出し、読み出した楽曲データについてカラオケ伴奏処理を行う。
【００２５】
図３は、カラオケ伴奏処理の流れを示すフローチャートである。
ステップＳＡ１００において、ＣＰＵ１１は、カラオケ伴奏をスピーカ１９に放音させると共に、歌詞テロップを表示部１５に表示させる。すなわち、ＣＰＵ１１は、楽曲データ記憶領域１４ａから楽曲データに含まれる伴奏データを読み出して音声処理部１８に出力する。そして音声処理部１８は、上記伴奏データをアナログの音声信号に変換し、スピーカ１９に出力する。また、ＣＰＵ１１は、楽曲データ記憶領域１４ａから楽曲データに含まれる歌詞データを読み出して、該歌詞データに従って歌詞テロップを表示部１５に表示させる。
【００２６】
歌唱者は、表示部１５に表示された歌詞テロップを見ながら、スピーカ１９から放音されるカラオケ伴奏にあわせて歌唱を行う。マイクロホン１７により生成された音声信号は、Ａ／Ｄ変換されることにより歌唱音声データが生成される（ステップＳＡ１１０）。該歌唱音声データは、歌唱音声データ記憶領域１４ｂに書き込まれる。
【００２７】
ステップＳＡ１２０において、ＣＰＵ１１は、楽曲の進行に伴い歌唱音声データのピッチを解析し、解析結果を表す歌唱ピッチデータを生成する。すなわち、ステップＳＡ１１０において生成された歌唱音声データを歌唱音声データ記憶領域１４ｂから読み出し、読み出した歌唱音声データから所定時間長（例えば、３msec）のフレーム単位でピッチを検出し、検出されたピッチを示す歌唱ピッチデータを生成する。なお、歌唱ピッチデータにおいては、楽曲データに含まれるガイドメロディのピッチを基準とした上記検出されたピッチの相対値としてピッチを示す。生成された歌唱ピッチデータは、パラメータ記憶領域１４ｅに書き込まれる。
図４には、ステップＳＡ１２０において生成された歌唱ピッチデータのうち、楽曲の一部分（時刻１２ｓ０００ｍｓ〜１８ｓ０００ｍｓ）をグラフＡ１で示す。図４において、横軸は時刻（楽曲が開始されてからの経過時間）を表す。また、縦軸には、各時刻における歌唱ピッチデータのガイドメロディに対する相対値が示されている。
【００２８】
ステップＳＡ１３０において、ＣＰＵ１１は、楽曲の演奏が一曲分終了したか否かを判定する。ステップＳＡ１３０の判定結果が“Ｙｅｓ”である場合には、カラオケ伴奏処理を終了する。ステップＳＡ１３０の判定結果が“Ｎｏ”である場合には、楽曲の残りの部分についてステップＳＡ１００ないしステップＳＡ１２０の処理を行う。
【００２９】
（Ｂ−２：ビブラート区間特定処理）
ＣＰＵ１１は、歌唱音声データから「こぶし区間」を特定するにあたり、予め「こぶし」と類似した特徴を示す「ビブラート」が用いられている区間を特定するビブラート区間特定処理を行う。ビブラートとは、音を伸ばしながらピッチをわずかに上下させ震えるような音色を出すことにより音に豊かな響きを与える歌唱技法である。
【００３０】
図５は、ビブラート区間特定処理の流れを示したフローチャートである。ステップＳＢ１００において、ＣＰＵ１１は、パラメータ記憶領域１４ｅに書き込まれた歌唱ピッチデータに対して、特定の周波数成分を抽出するフィルタ処理を施す。本実施形態においては、ＣＰＵ１１は、歌唱ピッチデータを６Ｈｚより低い周波数の成分を抽出するローパスフィルタで処理し、新たなピッチデータ（以下、フィルタ歌唱ピッチデータ）を生成する。図４におけるグラフＡ２は、グラフＡ１の歌唱ピッチデータを上記ローパスフィルタにより処理することで生成されたフィルタ歌唱ピッチデータを示している。
【００３１】
図４に示されるように、フィルタをかける前の歌唱ピッチデータ（Ａ１）には、波形に細かい乱れがある。このような波形の乱れは例えばリバーブによるものであり、リバーブのかかった音声データからピッチを検出した場合には、その検出結果は正弦波にならず波形の乱れたものとなる。そのため、リバーブのかかった音声からビブラート区間を検出することが困難であった。更には、音声にリバーブがかかっているか否かを音声データから判定することも困難であった。しかしながら、ローパスフィルタで処理された歌唱ピッチデータにおいては、音声にかけられたリバーブの影響は取り除かれており、後述の処理において適切にビブラート区間を特定することが可能になる。
【００３２】
ステップＳＢ１１０において、ＣＰＵ１１は、歌唱音声データにおいてビブラート区間の特徴を示す区間（以下、ビブラート候補区間）を以下の条件で特定する。すなわち、ＣＰＵ１１は、ステップＳＢ１００において生成されたフィルタ歌唱ピッチデータの表すピッチが、負から正又は正から負に変化する（ゼロクロスする）箇所をゼロクロス箇所として特定する。具体的には、例えば、図４に示す例においては、フィルタ歌唱ピッチデータを表すグラフＡ２がゼロクロスする時刻（例えば、時刻Ｐ１，Ｐ２，Ｐ３，Ｐ４など）が、ゼロクロス箇所として特定される。
【００３３】
次いで、ＣＰＵ１１は、フィルタ歌唱ピッチデータにおいてゼロクロス箇所が現れる時間間隔を測定し、測定された時間間隔が予め定められた範囲内であり、かつ、その時間間隔が連続して所定回数以上検出された区間を、ビブラート候補区間として特定する。この処理によって、図４に示した例では、ゼロクロス箇所がほぼ等間隔で現れる区間Ａ３がビブラート候補区間として特定される。なお、図４においては、ビブラート候補区間として１つの区間が特定されたが、図４に含まれない楽曲部分においてもビブラート候補区間が特定される。
【００３４】
そして、ＣＰＵ１１は、ステップＳＢ１１０において、特定されたビブラート候補区間においてビブラート技法が実際に用いられていることを更に厳密に解析するため、該区間のそれぞれについて、以下のように複数のパラメータを抽出する（ステップＳＢ１２０）。なお、以下の説明において、例えば図４における区間Ａ３のようにフィルタ歌唱ピッチデータの値が周期的に変動している場合に、単位時間あたりの振動の回数を「ビブラートの振動数」と呼ぶ。
【００３５】
（１）ビブラートの振動数の平均値（Ａｆ；Average of frequency）
パラメータＡｆは各ビブラート候補区間におけるビブラートの振動数の平均値であり、上記フィルタ歌唱ピッチデータが横軸とゼロクロスする時間間隔の逆数の平均値として算出される。
（２）ビブラートの振動数の標準偏差（Ｄｆ；Deviation of frequency）
パラメータＤｆは、上記フィルタ歌唱ピッチデータが横軸とゼロクロスする時間間隔の逆数の分布の標準偏差として算出される。本パラメータから、ビブラートの振動数の「ばらつき」の大きさを推定することができる。すなわち、本パラメータの値が０に近いほど均一な振動数を持つ、優れたビブラートであることを示す。
【００３６】
ここで、以下のパラメータの説明において用いられる「ピッチ振動幅」について説明する。図６は、図４におけるフィルタ歌唱ピッチデータ（Ａ２）を取り出して示したグラフである。図６において、ＣＰＵ１１は、以下のようにして上記ビブラート候補区間における「ピッチ振動幅」を算出する。まず、ＣＰＵ１１は、フィルタ歌唱ピッチデータを時間で微分することにより、該データのグラフから極大値および極小値を特定する。
【００３７】
例えば、図６においてＱ２、Ｑ４、Ｑ６、Ｑ８、およびＱ１０は極大値を示し、Ｑ１、Ｑ３、Ｑ５、Ｑ７、およびＱ９は極小値を示す。ＣＰＵ１１は、特定された１つの極小値と、時間的に直後に隣接する極大値との差分をピッチ振動幅とし、該ピッチ振動幅を、該値の算出に用いた極小値と極大値との中間の時刻に位置付ける。例えば極小値Ｑ１と極大値Ｑ２とからはピッチ振動幅Ｗ１が生成される。図６には、そのようにして生成されたピッチ振動幅Ｗ１〜５が書き込まれている。
【００３８】
さて、ステップＳＢ１２０で抽出されるパラメータの説明に戻る。
（３）ピッチ振動幅の平均値（Ａｐ；Average of pitch）
パラメータＡｐは、各ビブラート候補区間において見出されたピッチ振動幅の平均値を示す。
（４）ピッチ振動幅の標準偏差（Ｄｐ；Deviation of pitch）
パラメータＤｐは、各ビブラート候補区間において見出されたピッチ振動幅の標準偏差を示す。本パラメータから、ビブラート区間におけるピッチの振動幅の「ばらつき」の大きさを推定することができる。すなわち、本パラメータの値が０に近いほど均一の振動幅でピッチが振動する、優れたビブラートであることを示す。
【００３９】
（５）ピッチ振動幅の線形近似直線の傾き（Ｓｐ；Slope of pitch）
パラメータＳｐは、上記ピッチ振動幅のグラフにおける線形近似直線の傾きを示す。図７は、図６において算出されたピッチ振動幅のグラフを取り出して示している。ＣＰＵ１１は、ビブラート候補区間（図中Ａ３）におけるピッチ振動幅の点について、線形近似直線を決定する。例えば、図７に示す区間Ａ３においては、線形近似直線のグラフは直線Ｌ１のように決定され、（式１）として表される。
（式１）Ｐ＝１５ｔ＋１５０
このように線形近似直線を算出することにより直線の傾きＳｐが決定される。上記の例では、ピッチ振動幅の線形近似直線の傾きＳｐは、１５である。
本パラメータから、ビブラートを行っている間のピッチの振動幅の安定性を推定することができる。すなわち、Ｓｐの絶対値が小さい値であるほど、ビブラートを行っている間にピッチの変動幅が均一に保たれた、優れたビブラートであることを表す。
【００４０】
ステップＳＢ１３０において、ＣＰＵ１１は、以下のような基準で、ステップＳＢ１１０において特定されたビブラート候補区間の各々について、ビブラート区間として最終的に決定するか否かを判定する。すなわち、
（１）Ｄｆが所定の閾値より小さい
（２）Ａｐが所定の範囲内である
（３）Ｄｐが所定の閾値より小さい
（４）Ｓｐの絶対値が所定の閾値より小さい
上記（１）ないし（４）の全ての条件を満たすビブラート候補区間をビブラート区間として最終決定する。
【００４１】
上記の条件により特定されたビブラート区間においては、ビブラートが用いられている可能性は非常に高いことが期待される。なぜなら、一般にビブラートにおいては、ビブラートの振動数、ピッチの振動幅のばらつきは小さく、また、その振動幅は所定の大きさの範囲内（例えば５００セント以内など）にあり、更にはピッチの変動幅はビブラート区間を通して略一定となるからである。なお、「セント」とは、ピッチの相対的な音程差を示す単位であり、例えば＋１００セントが示すピッチは基準となるピッチから半音分上の音程を示す。ＣＰＵ１１は、特定した区間を表すビブラート区間データを、ビブラート区間データ記憶領域１４ｃに記憶する。
【００４２】
図８に、図４に示された歌唱ピッチデータについて生成されたビブラート区間データを示す。図８に示されるように、ビブラート区間データにおいては、各楽曲についての歌唱音声データにおいて検出されたビブラート区間について、その開始時刻と終了時刻が書き込まれている。
以上で、ビブラート区間特定処理は終了する。
【００４３】
以上のように、ステップＳＢ１１０で、フィルタ歌唱ピッチデータにおいてピッチの振動の時間間隔が予め定められた範囲内であり、且つその時間間隔が連続して所定回数以上検出されたことを条件として一旦ビブラート区間の候補を絞り込んだ。そしてステップＳＢ１２０において抽出されたパラメータに基づいて上記ビブラート候補区間がビブラート区間として適切であるか厳密に判定した。そのように、ビブラートに特有のピッチの変動を示すか否かを複数の条件で判定することで、最終的に正確なビブラート区間を特定することができる。
【００４４】
（Ｂ−３：こぶし区間特定処理）
ＣＰＵ１１は、上述のビブラート区間特定処理を終えると、こぶし区間特定処理を行う。こぶし区間特定処理とは、歌唱音声データからこぶし区間を特定する処理である。図９は、こぶし区間特定処理の流れを示すフローチャートである。
【００４５】
ステップＳＣ１００において、ＣＰＵ１１は、パラメータ記憶領域１４ｅから、フィルタ歌唱ピッチデータを読み出す。
次にステップＳＣ１１０において、ＣＰＵ１１は、歌唱音声データにおいてこぶし区間を含む可能性がある区間（以下、こぶし候補区間）を以下のように特定する。なお、以下の説明においては、フィルタ歌唱ピッチデータの一部を模式的に示した図１０を参照して説明する。なお、図１０において、ＰＡ（＞０）およびＰＢ（＜０）は、それぞれピッチが上昇している区間Ａおよび減少している区間Ｂにおけるピッチの変動幅を示す。また、区間Ｃは、区間Ａの開始から区間Ｂの終了までの区間を示す。ｔＡ、ｔＢ、およびｔＣは、それぞれ区間Ａ、Ｂ、およびＣの時間幅を示す。
【００４６】
ＣＰＵ１１は、フィルタ歌唱ピッチデータから、以下に示す条件(1)ないし(3)を同時に満たす区間を「こぶし候補区間」として特定する。すなわち、ピッチが上がり再び下がる区間（区間Ｃ）において、
(1)ピッチが上がる区間（区間Ａ）においてピッチの変化の割合の絶対値（｜ＰＡ／ｔＡ｜）が所定値よりも大きいこと。
(2)ピッチが下がる区間（区間Ｂ）においてピッチの変化の割合の絶対値（｜ＰＢ／ｔＢ｜）が所定値よりも大きいこと。
(3)ピッチが上がり始めてから下がり終わるまでの区間の長さ（ｔＣ）が所定の範囲内であること。すなわち、ピッチの一過的な上昇に要する時間が、短すぎず且つ長すぎないこと。
【００４７】
以上の条件(1)ないし(3)により、図４と同じフィルタ歌唱ピッチデータを示した図１１においてこぶし候補区間を特定すると、区間１、２、３、４、５、および６が特定される。ＣＰＵ１１は、該こぶし候補区間を示すデータをこぶし候補区間データとして生成し、こぶし区間データ記憶領域１４ｄに書き込む。
図１２は、こぶし候補区間データの一例を示している。こぶし候補区間データにおいては、各楽曲についての歌唱音声データにおいて特定されたこぶし候補区間の各々について、ピッチの変動の開始時刻と終了時刻が書き込まれている。例えば、図１２において、００ｍ１４ｓ５００〜００ｍ１５ｓ４００ｍｓとのデータは、図１１における区間３のピッチ変動と対応している。
【００４８】
ステップＳＣ１２０において、ＣＰＵ１１は、ビブラート区間データ記憶領域１４ｃからビブラート区間データを、こぶし区間データ記憶領域１４ｄからこぶし候補区間データを読み出し、読み出したこぶし候補区間データが示す区間からビブラート区間に含まれているこぶし候補区間を除外することにより、最終的なこぶし区間を特定する。
例えば、図１１に示されたフィルタ歌唱ピッチデータからは、図１２に示すこぶし候補区間データと、図８に示すビブラート区間データとが生成されるが、図１２に示された複数のこぶし候補区間のうち、００ｍ１２ｓ２００ｍｓ〜００ｍ１２ｓ８００ｍｓの区間のみは、ビブラート区間に含まれないが、該区間を除く他の区間は、ビブラート区間に含まれていることからこぶし区間から除外される。なお、こぶし候補区間とビブラート区間の開始時刻または終了時刻がずれている場合には、こぶし候補区間の一部でもビブラート区間に含まれている場合には、該こぶし候補区間はビブラート区間に含まれていると判定しても良い。
【００４９】
上述したように、こぶし候補区間の特定においては、所定の時間内にピッチが一過的に上昇することを条件としているため、歌唱音声にビブラートが含まれていた場合には、該ビブラートを構成する個々のピッチの振動が含まれてしまう。そこで、こぶしおよびビブラートの両者が共に特定されるような条件でこぶし候補区間を特定し、該特定されたこぶし候補区間から、別途特定されたビブラート区間を除外することによりこぶし区間が特定される。
【００５０】
（Ｃ：変形例）
以上、本発明の一実施形態について説明したが、本発明は上述の実施形態に限定されることなく、他の様々な形態で実施可能である。以下にその一例を示す。
【００５１】
（１）上述した実施形態においては、フィルタ歌唱ピッチデータにおいて、ピッチの変動の態様が条件(1)ないし(3)の条件を満たす区間を「こぶし候補区間」として特定する場合について説明した。しかし、上記の条件に加え、例えば以下のような条件（ａ）、（ｂ）、（ｃ）、および（ｄ）によりこぶし候補区間を特定しても良い。
（ａ）各ノート（楽音）の発音タイミングの直後の所定の期間内にピッチの立ち上がりがあるものをこぶし候補区間とする。
フィルタ歌唱ピッチデータの一部を取り出して示した図１３（ａ）に示されているように、時刻ｔ１からｔ３まで伸ばして発音するノートにおいて、その発音開始（時刻ｔ１）から所定の時間以上経過してからピッチの立ち上がり（時刻ｔ２）が見られる場合には、該区間をこぶし候補区間とは特定しない。なぜなら、各ノートの発音開始直後にこぶしを回すのが一般的であるからである。
（ｂ）こぶしの直前および直後に所定のレベルを超えるピッチの下降がない。
図１３（ｂ）に示されているように、時刻ｔ５において極大値を示すピッチの一過的な上昇の直前に時刻ｔ４において極小値を示すようなピッチの大きな下降が見られる場合には、上記時刻ｔ５において極大値を示すピッチの一過的な上昇の区間をこぶし候補区間とは特定しない。
（ｃ）こぶしの直後に所定のレベルを超えるピッチの上昇がない。
図１３（ｃ）に示されているように、時刻ｔ６において極大値を示すピッチの一過的な上昇の直後に時刻ｔ７において極大値を示すようなピッチの大きな上昇が見られる場合には、時刻ｔ６において極大値を示すピッチの一過的な上昇の区間をこぶし候補区間とは特定しない。
（ｄ）ピッチの一過的な上昇の後に一定期間の平坦部（区間内のピッチの最大値と最小値の差分が一定値以内である部分）がある。すなわち、ピッチが一過的に上昇した区間の直後の所定長の区間、またはピッチが一過的に上昇した区間の所定時間後の所定長の区間において、平坦部がある。
図１３（ｄ）に示されているように、時刻ｔ８において極大値を示すピッチの一過的な上昇が終了した後に時刻ｔ９において極小値を示すピッチの下降や、時刻ｔ１０において極大値を示すピッチの上昇が見られ、該区間におけるピッチの変動幅は所定の閾値より大きくなるため、時刻ｔ８において極大値を示すピッチの一過的な上昇の区間をこぶし候補区間とは特定しない。
なお、上述の実施形態において示した条件(1)ないし(3)、および上記の条件（ａ）、（ｂ）、（ｃ）、および（ｄ）の中から、複数の条件を選択して用いることによりこぶし候補区間を特定するとしても良く、該条件の組み合わせ方法は適切に設定すれば良い。
【００５２】
（２）上述した実施形態においては、ビブラート区間を特定する方法の一例として、ピッチの変動の態様に基づく場合について説明した。しかし、ビブラート区間を特定する方法は上述の方法に限定されるものではない。例えば、ビブラートの区間を特定するために上記実施形態において用いた複数の条件のうち、いずれかを用いないとしても良いし、上記の条件に加え、他の条件を組み合わせて用いても良い。
【００５３】
（３）上述した実施形態においては、歌唱音声データはＷＡＶＥ形式やＭＰ３形式のデータとしたが、データの形式はこれに限定されるものではなく、歌唱音声を表すデータであればどのような形式のデータであってもよい。
【００５４】
（４）上述した実施形態では、カラオケ装置１が、上記実施形態に係る機能の全てを実現する場合について説明した。しかし、ネットワークで接続された２以上の装置が上記機能を分担するようにし、それら複数の装置を備えるシステムが同実施形態のカラオケ装置１の機能を実現するようにしてもよい。
【００５５】
（５）上述した実施形態においては、歌唱音声データからビブラート区間を特定し、該ビブラート区間をこぶし候補区間から除外してこぶし区間を特定する場合について説明した。しかし、楽曲データに付随しているなど、ビブラートの技法を用いて歌唱する区間を示すデータが得られる場合には、該データを用いてビブラート区間を特定すればよく、上述のビブラート区間特定処理を行う必要はない。その場合、該データが示すビブラート区間をビブラート区間データ記憶領域１４ｃに書き込んでおき、こぶし区間特定処理の際には、該書き込まれたビブラート区間データを読み出して用いれば良い。
【００５６】
（６）上述した実施形態においては、カラオケ伴奏の進行に伴って歌唱音声データからピッチを検出し、歌唱ピッチデータを生成する場合について説明した。しかし、該処理は必ずしもカラオケ伴奏に伴って行われる必要はない。例えば、歌唱音声を一旦楽曲の初めから終わりまで蓄積して生成した歌唱音声データから、カラオケ伴奏が終了した段階でピッチを検出するようにしても良い。
【００５７】
（７）上記実施形態においては、こぶし区間を歌唱音声データから特定する場合について説明した。しかし、例えば歌手の歌唱など模範となる歌唱を示すデータからこぶし区間を上記実施形態に説明した方法で予め特定し、特定した区間を示すデータを含むカラオケ用楽曲データを作成してもよい。その場合、カラオケ装置１は、楽曲においていずれの区間がこぶしを用いて歌うべき区間であるかを表示部１５に表示すれば、歌唱者は、適切なタイミングでこぶしを用いて歌唱することができる。
【００５８】
（８）上述した実施形態では、歌唱者の歌唱音声データから楽曲におけるこぶし区間を特定する場合について説明した。しかし、例えば、何らかの記憶手段に記憶された音声データを読み出して、該音声データからこぶしを検出しても良い。
【００５９】
（９）上述した実施形態では、ＣＰＵ１１は、歌唱音声データに対して特定の周波数以下の周波数成分を抽出するローパスフィルタ処理を行ったが、ＣＰＵ１１が行うフィルタ処理はこれに限らず、例えば、所定の周波数幅の周波数成分を取り出すフィルタを用いてもよい。要するに、特定の周波数帯域の成分を抽出するフィルタ処理であればどのようなものであってもよい。
【００６０】
（１０）上述した実施形態においては、歌唱者の歌唱を表す歌唱音声データからこぶし区間を特定する場合について説明した。しかし、処理の対象となる音声データは、歌唱音声を表すデータに限らず、例えばバイオリンやフルートなどの楽器の演奏音を表す音声データであってもよい。そのようにすれば、例えば楽器においてこぶしと特性が類似した演奏技法を検出することができる。
【００６１】
（１１）上述した実施形態におけるカラオケ装置１のＣＰＵ１１によって実行されるプログラムは、磁気テープ、磁気ディスク、フレキシブルディスク、光記録媒体、光磁気記録媒体、ＣＤ（Compact Disk）−ＲＯＭ、ＤＶＤ（Digital Versatile Disk）、ＲＡＭ、ＲＯＭなどの記録媒体に記録した状態で提供し得る。また、インターネットのようなネットワーク経由でカラオケ装置１にダウンロードさせることも可能である。
【００６２】
（１２）上述した実施形態において、こぶし区間を特定するに際し、こぶし候補区間の一部でもビブラート区間に含まれている場合には、該こぶし候補区間はビブラート区間に含まれていると判定する場合について説明した。しかし、各こぶし候補区間がビブラート区間に含まれるか否かを判定する方法は、上記の方法に限定されるものではない。たとえば、各こぶし候補区間の開始時刻から終了時刻までがビブラート区間に含まれる場合に、該こぶし候補区間はビブラート区間に含まれると判定しても良い。また、各こぶし候補区間において、ピッチが極大値を示す時刻がビブラート区間に含まれる場合に、該こぶし候補区間はビブラート区間に含まれると判定しても良い。
【図面の簡単な説明】
【００６３】
【図１】カラオケ装置１の構成を示すブロック図である。
【図２】楽曲データの内容を示す図である。
【図３】カラオケ伴奏処理の流れを示すフローチャートである。
【図４】歌唱ピッチデータおよびフィルタ歌唱ピッチデータを示す図である。
【図５】ビブラート区間特定処理の流れを示すフローチャートである。
【図６】ピッチ振動幅の算出方法を説明するための図である。
【図７】ピッチ振動幅の線形近似直線の算出方法を示す図である。
【図８】ビブラート区間データの一例を示す図である。
【図９】こぶし区間特定処理の流れを示すフローチャートである。
【図１０】こぶし候補区間の特定方法を説明するための図である。
【図１１】フィルタ歌唱ピッチデータを示す図である。
【図１２】こぶし候補区間データの一例を示す図である。
【図１３】こぶし区間の特定方法を説明するための図である。
【符号の説明】
【００６４】
１…カラオケ装置、１１…ＣＰＵ、１２…ＲＯＭ、１３…ＲＡＭ、１４…記憶部、１５…表示部、１６…操作部、１７…マイクロホン、１８…音声処理部、１９…スピーカ、２０…バス。
【図１】
2008268370.tif 000003
【図２】
2008268370.tif 000004
【図３】
2008268370.tif 000005
【図４】
2008268370.tif 000006
【図５】
2008268370.tif 000007
【図６】
2008268370.tif 000008
【図７】
2008268370.tif 000009
【図８】
2008268370.tif 000010
【図９】
2008268370.tif 000011
【図１０】
2008268370.tif 000012
【図１１】
2008268370.tif 000013
【図１２】
2008268370.tif 000014
【図１３】
2008268370.tif 000015