(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0013】
以下、本発明の一実施形態について説明する。
<実施形態>
<構成>
図1は、カラオケ装置100のハードウェア構成を表したブロック図である。
カラオケ装置100は、ユーザの歌唱に対して採点を行うものであり、特にユーザの歌唱において裏声で歌われた箇所を検出してそれを採点対象に含めて採点を行う。このカラオケ装置100においては、採点の方式に減点方式を採用している。ここで減点方式とは、あるカラオケ楽曲についてユーザが歌唱を開始した時点では満点から始まり(100点満点であれば100点)、ユーザによる歌唱が評価基準を満たさないときに減点が行われる、という方式である。
図1に示すように、カラオケ装置100は、制御部10、記憶部20、操作部30、表示部40、通信制御部50、音声処理部60、マイクロホン61、及びスピーカ62を有し、これら各部がバス70を介して接続されている。制御部10は、CPU(Central Processing Unit)、RAM(Random Access Memory)、及びROM(Read Only Memory)等を有している。制御部10において、CPUが、ROMや記憶部20に記憶されているコンピュータプログラムを読み出しRAMにロードして実行することにより、カラオケ装置100の各部を制御する。制御部10は、時間を計測する計時機能を備えている。
【0014】
操作部30は、各種の操作子を備え、ユーザによる操作内容を表す操作信号を制御部10に出力する。表示部40は、例えば液晶パネルを備え、制御部10による制御の下、各カラオケ楽曲に応じた歌詞テロップや背景映像等を表示する。通信制御部50は、ネットワーク(非図示)を介した、カラオケ装置100と図示しないサーバ装置との間のデータ通信を制御する。
【0015】
マイクロホン61は、収音した音声を表すアナログの音声信号を音声処理部60に出力する。音声処理部60は、A/D(Analog / Digital)コンバータを有し、マイクロホン61が出力したアナログの音声信号をデジタルの音声データに変換して制御部10に出力すると、制御部10は、これを取得する。このように、制御部10はユーザ(歌唱者)が歌唱したときの音声を表す音声データを取得する音声取得手段として機能する。また、音声処理部60は、D/A(Digital / Analog)コンバータを有し、制御部10から受け取ったデジタルの音声データをアナログの音声信号に変換してスピーカ62に出力する。スピーカ62は、音声処理部60から受け取ったアナログの音声信号に基づく音を放音する。記憶部20は、各種のデータを記憶するための記憶手段であり、例えばHDDや不揮発性メモリである。記憶部20は、伴奏データ記憶領域21、映像データ記憶領域22、GM(Guide Melody)データ記憶領域23、及びユーザ歌唱音声データ記憶領域24といった複数の記憶領域を備えている。
【0016】
伴奏データ記憶領域21には、各楽曲における伴奏の音声を表す伴奏データに関する情報が記憶されている。伴奏データ記憶領域21には、楽曲を一意に識別するための番号である「曲番号」、各楽曲の名称を表す「曲名」、各楽曲の歌い手の名称を表す「歌手名」、各楽曲の伴奏データそのものであるデータファイルの格納場所である「ファイル格納場所」といった複数の項目からなる伴奏データレコードが複数記憶されている。この伴奏データのデータファイルは、例えば、MIDI(Musical Instrument Digital Interface)形式のファイルである。
【0017】
映像データ記憶領域22には、上述の曲番号、各楽曲の歌詞を示す歌詞データ及び歌詞の背景に表示される背景映像を表す背景映像データが対応付けられて記憶されている。歌詞データによって示される歌詞は、カラオケ歌唱の際に、楽曲の進行に伴って歌詞テロップとして表示部40に表示される。また、背景映像データによって表される背景映像は、カラオケ歌唱の際に楽曲の進行に伴って歌詞テロップの背景として表示部40に表示される。GMデータ記憶領域23には、上述の曲番号及び楽曲のボーカルパートのメロディを示すデータ、すなわち、歌唱すべき構成音(ノート)の内容を指定するデータであるガイドメロディデータ(以下、GMデータという)が対応付けられて記憶されている。GMデータは、制御部10がユーザによる歌唱の巧拙を評価する際に比較の基準となるものである。GMデータには、各ノートについて、裏声で歌われるべきか否かを示す裏声フラグが付されている。例えば、「AAA」という楽曲において、歌手本人が、或るノートを裏声で歌っている場合、GMデータにおいて、このノートについては裏声フラグが「ON」の状態で付されている。一方、歌手本人が地声で歌っているノートについては、GMデータにおいて、このノートについては裏声フラグが「OFF」の状態で付されている。GMデータは、例えば、MIDI形式により記述されている。ここで地声とは、普段平素で話すときの声のことである。地声で歌われた歌唱の音声には、倍音が豊富に含まれている(つまり、周波数において高調波成分が多い)。一方、裏声とは、地声から裏返った(喚声点を越えた)声のことである。裏声で歌われた歌唱の音声は、地声と比較して高調波成分が少ない一方、ピッチ(音高)が高い。
【0018】
ユーザ歌唱音声データ記憶領域24には、カラオケの対象となった各楽曲について、その伴奏データが再生されている期間中マイクロホン61によって収音されたユーザの歌唱音声が音声処理部60でデジタルデータに変換されることで生成された音声データが記憶される。この音声データをユーザ歌唱音声データという。このユーザ歌唱音声データは、例えば、WAVE(RIFF waveform Audio Format)形式のデータファイルとして記憶される。各楽曲についてのユーザ歌唱音声データは、制御部10によって、その楽曲のGMデータに対応付けられる。
【0019】
<動作>
次に、
図2〜
図6を用いて、制御部10による裏声の検出方法について説明を行う。
図2は、裏声検出処理が行われる際の処理フロー図である。操作部30を介してユーザにより楽曲が予約されると(ステップS100;Yes)、制御部10は、記憶部20から予約された楽曲の検索を行う(ステップS102)。具体的にはステップS102において、制御部10は、伴奏データ記憶領域21、映像データ記憶領域22、及びGMデータ記憶領域23の各々から、選択された楽曲の曲番号をキーにして、その楽曲に関するデータを検索し、検索結果のデータをRAMに読み込む。ステップS102の次に、制御部10は、RAMに記憶された伴奏データ、映像データ、及びGMデータに基づいて、楽曲の再生を行う(ステップS104)。具体的にはステップS104において、制御部10は、伴奏データ及びGMデータに基づく音声をスピーカ62から放音させるとともに、映像データに基づく映像を表示部40に表示させる。そして制御部10は、この楽曲の再生期間中に、マイク61によって収音されたユーザの歌唱音声が音声処理部60によってデジタルのデータに変換されたものであるユーザ歌唱音声データを、ユーザ歌唱音声データ記憶領域24に記憶させる(ステップS106)。
【0020】
次に制御部10は、ユーザ歌唱音声データから、倍音成分の比率を表す倍音比率なるものを算出する(ステップS108)。まず、基本的な語句について説明を行ってから、倍音比率の説明に入る。「基本周波数」とは、或るノートの音声に基づく信号が正弦波の合成で表されたときの、最も低い周波数成分の周波数を意味する。また、このノートの音高とされる成分を「基音」という。「倍音」とは、基音の周波数に対して、2以上の整数倍の周波数を持つ音の成分のことである。以上のことから、縦軸は周波数成分が持つパワーを表し、横軸は周波数を表す2軸の座標系を考えたときに、以下のように倍音比率を捉えることができる。「基本周波数のパワー」を、「基本周波数のピークを中心とし、幅がピークの開始からピークの終了までの周波数の幅に相当する、基本周波数の周波数成分が持つパワーの面積」とし、「倍音の周波数のパワー」を、「基本周波数の2〜n倍の周波数のピークを中心とし、幅がピークの開始からピークの終了までの周波数の幅に相当する、倍音の周波数の周波数成分が持つパワーの面積の合計」と定義すると、倍音比率は、「倍音の周波数のパワー/基本周波数のパワー」で表される。別の表現をすれば、倍音比率は、基音の周波数に対する倍音の周波数の比率ということもできる。
【0021】
制御部10が、裏声を検出するにあたって倍音比率を算出するのは、以下のような理由による。上述したように、裏声は、地声と比較して高調波成分が少ない一方、ピッチ(音高)は高い。従って、縦軸を倍音比率とし、横軸を音高とした2軸の座標系を考えたときに、裏声は、倍音比率が低く音高が高い領域により多く含まれると考えられる。このような理由から、制御部10は、倍音比率を算出し、裏声の検出に用いているわけである。
【0022】
ステップS108において制御部10は、ユーザ歌唱音声データにおける時間の経過に応じて、例えば100msec(ミリ秒)といった予め定められたサンプリング周期でユーザ歌唱音声データから倍音比率を算出する。また、制御部10は、内部に備えた計時機能により、倍音比率を上記サンプリング周期で算出した時点の、カラオケ楽曲の開始時からの経過時間を取得する。制御部10は、この経過時間と、算出した倍音比率及びこの倍音比率を算出した時点のユーザ歌唱音声データの音高とを対応づけた組み合わせである音声情報データをRAMに記憶させる(ステップS110)。ここで、音声情報データは、1つの経過時間と1つの倍音比率と1つの音高とからなる1組を1単位とする。倍音比率の算出はサンプリング周期単位で行われるから、結局、制御部10のRAMには、楽曲の再生期間中に含まれる全サンプリング数と同じ数の、複数の音声情報データが記憶されることになる。以降において、音声情報データの作成元である音声を発した(つまり歌唱を行った)ユーザを、音声情報データの持ち主とよぶ。また、音声を表すユーザ歌唱音声データから上記のような手順で生成した音声情報データを、音声に基づく音声情報データという。制御部10は、上記サンプリング周期で上記処理を繰り返すことにより、楽曲再生の全期間のユーザ歌唱音声データについて、倍音比率を算出するとともに、音声情報データをRAMに記憶させている。
【0023】
図3は、倍音比率の計算式を説明するための図である。
図3において、縦軸は周波数成分が持つパワーを表し、
図3中で下から上に進むほどパワーが高くなることを表している。また、横軸は周波数を表し、
図5中で左から右に進むほど周波数が高くなることを表している。領域A1は、基本周波数のピークを中心とした、基本周波数のピークを中心とし、幅がピークの開始からピークの終了までの周波数の幅に相当する、基本周波数の周波数成分が持つパワーの面積、すなわち上述した基本周波数のパワーを表す。また、領域A2及び領域A3は、基本周波数の2〜n倍の周波数のピークを中心とし、幅がピークの開始からピークの終了までの周波数の幅に相当する、倍音の周波数の周波数成分が持つパワーの面積の合計、すなわち上述した倍音の周波数のパワーを表す。従って、上述したとおり、倍音比率は、「倍音の周波数のパワー/基本周波数のパワー」で表されるため、倍音比率の計算式は(a)のようなものとなる。
(a)倍音比率=(A2+A3+・・・+An)/A1
【0024】
ステップS110の次に、制御部10は、RAMに記憶されている、上述した複数の音声情報データを、音声分布表に割り当てる(ステップS112)。ここで音声分布表とは、上述した、縦軸を倍音比率とし、横軸を音高とした2軸の座標系による表のことであり、RAMに記憶されている。
図4は、地声と裏声の音声に基づく音声情報データの音声分布表の一例を表す図である。
図4において、縦軸は
図4中で下から上に進むほど倍音比率が高くなることを表している。また、横軸は
図4中で左から右に進むほど音高が高くなることを表している。
【0025】
地声領域aは、歌唱者の地声による歌唱の音声に基づく音声情報データが音声分布表に割り当てられたときの領域の一例である。つまり、音声分布表において、地声に相当する音声情報データに含まれる倍音比率及び音高に対応する箇所に点がプロットされたとき、その点の集合はこの地声領域aに収まることになる。裏声領域bは、歌唱者の裏声による歌唱の音声に基づく音声情報データが音声分布表に割り当てられたときの領域の一例である。つまり、音声分布表において、裏声に相当する各音声情報データに含まれる倍音比率及び音高に対応する箇所に点がプロットされたとき、その点の集合はこの裏声領域bに収まることになる。地声領域aと裏声領域bとを比較すると、地声領域aは、音高については比較的低い方から中程度までの高さに分布しており、倍音比率については低い方から高い方まで満遍なく分布している一方、裏声領域bは、音高については中程度から比較的高い高さに分布しており、倍音比率については低い方から中程度まで分布している。音声分布表がこのようなものになっているのは、上述したように裏声は地声と比較して高調波成分が少なく音高が高い一方、地声は裏声と比較して音高が低く、また周波数に関しては裏声のような偏りがないからである。
【0026】
ステップS112において音声分布表に音声情報データが割り当てられると、
図4に表されるように、地声領域aと裏声領域bの2つの領域に音声情報データが分布する。しかし、この状態では、どの音声情報データが裏声に基づくものであるかを正確には検出できないため、制御部10は、精度を高く音声情報データを検出できるように、以下のような処理を行う。ステップS112の次に制御部10は、音声分布表に割り当てられた音声情報データ群に対してフィルタを用いてフィルタリングを施し、算出値なるものを算出していく(ステップS114)。
【0027】
図5は、
図4における音声分布表に適用するフィルタFを表した図であり、縦軸及び横軸の意味は
図4と同じである。
図5に表されるように、フィルタFは矩形で構成された4つの領域の組み合わせからなる。フィルタFにおいて、左上、右上、及び左下の領域Fa、Fb、Fcには、マイナスの重み付けが割り当てられ(マイナス領域という)、右下の領域Fdには、プラスの重み付けが割り当てられている(プラス領域という)。
図5に表されるように、マイナス領域は、プラス領域よりも倍音比率の高い側又は音高の低い側にある。制御部10は、各領域に含まれる音声情報データの個数に、各領域に割り当てられた重み付けを乗算し、乗算した結果を合計した値を算出値とする。上述したように、裏声は、地声と比較して高調波成分が少ない一方、音高は高いから、音声分布表において右下の位置に音声情報データが分布している可能性が高い。そこで、制御部10が、この領域に存在する音声情報データの個数にプラスの重み付けを乗算すれば、その裏声に対して高い算出値を得ることが可能となる。これが、フィルタFにおいて、右下の領域Fdのみがプラスの重み付けが為されている理由である。
【0028】
図6は、地声と裏声に基づく音声情報データの分布表にフィルタFを適用した図である。
図6において縦軸及び横軸の意味は
図4と同じである。
図4〜
図6の内容を踏まえて、ステップS114における算出値の算出例を説明すると、以下のとおりである。制御部10は、フィルタFのマイナス領域に含まれる組の数にマイナスの重み付けを行って得たマイナスの算出値と、プラス領域に含まれる組の数にプラスの重み付けを行って得たプラスの算出値とを加算して、合計の算出値を算出する。例えば、フィルタFの左上の領域Faに「−2」の重み付けが割り当てられ、右上及び左下の領域Fb、Fcに「−1」の重み付けが割り当てられるとともに、右下の領域Fdに「+3」の重み付けが割り当てられていたとする。ここで、左上の領域には「2個」、右上の領域には「2個」、左下の領域には「4個」、そして右下の領域には「10個」の音声情報データが、各々含まれていたとする。このとき、制御部10は、以下の式(b)によって算出値を算出する。
(b)(−2×2)+(−1×2)+(−1×4)+(3×10)=20
【0029】
図2に戻り、制御部10は、算出した算出値が予め定められた閾値を超えない場合(ステップS116;No)、フィルタFを移動させる(ステップS118)。そして制御部10は、算出値の算出(ステップS114)とフィルタFの移動(ステップS118)を、ステップS116でYesとなるまで繰り返す。ステップS116における上記閾値は、カラオケ装置100の設計時において、不特定多数のユーザによる歌唱の音声から作成した複数の音声情報データを音声分布表に割り当てた結果から、より多くのユーザにとって裏声が検出可能となるように実験的に求めればよい。
【0030】
図6に戻り、制御部10がフィルタFを移動させる際の説明を行う。破線で表された矩形は、フィルタFの移動可能な範囲MRを表す。制御部10は、ステップS118においてフィルタFを移動させるにあたり、音高が低い領域と倍音比率が高い領域は、移動範囲MRの対象外とする。具体的には、制御部10は、全ての音声情報データを音声分布表に割り当てたときに、音声情報データに含まれる倍音比率の低い順に音声情報データの個数をカウントする。そして、このカウント値が音声情報データの総数に対して予め定められた割合に達したときに、制御部10は、このときの音声情報データに含まれる倍音比率を移動範囲MRにおける倍音比率方向への移動の上限(第1の基準値)とする。移動範囲MRにおける音高方向への移動の下限は、音声情報データに含まれる倍音比率のうち、最も低い倍音比率となる。一方、移動範囲MRにおける音高方向へのフィルタFの移動の上限及び下限は、制御部10によって以下のように決定される。つまり、制御部10は、全ての音声情報データを音声分布表に割り当てたときに、音声情報データに含まれる音高の高い順に音声情報データの個数をカウントする。そして、このカウント値が音声情報データの総数に対して予め定められた割合に達したときに、制御部10は、このときの音声情報データに含まれる音高を、移動範囲MRにおける音高方向へのフィルタFの移動の下限(第2の基準値)とする。移動範囲MRにおける音高方向へのフィルタFの移動の上限は、音声情報データに含まれる音高のうち、最も高い音高となる。つまり、制御部10は、音声分布表において予め定められた第1の基準値よりも倍音比率が低く且つ予め定められた第2の基準値よりも音高が高い範囲内でフィルタを移動させる、ということもできる。
【0031】
移動範囲MRをこのようにしている理由は、上述したように、音声分布表において音高が低い領域及び倍音比率が高い領域には、裏声に基づく音声情報データが割り当てられる可能性が小さいからである。なお、上記所定の割合は、カラオケ装置100の設計時において、不特定多数のユーザによる歌唱の音声から作成した複数の音声情報データを音声分布表に割り当てた結果から、地声と裏声とを区別したうえで、裏声を評価するのに適していると考えられるものを実験的に求めればよく、制御部のROMに記憶されている。
【0032】
ここでステップS118におけるフィルタFの移動は、次のようにすればよい。音声分布表において、フィルタFの左上隅が倍音比率における或る値の高さに位置するときに、制御部10が、横軸の正方向に予め定められた幅(例えば50セント分)だけフィルタFを移動させる毎に算出値を算出する。そして、移動範囲MRの右端にフィルタFの右端が接触したら、制御部10は、フィルタFの左端を移動範囲MRの左端に位置させるとともに、倍音比率のマイナス方向に予め定められた幅(例えばパワーの一単位)分だけ移動させる。制御部10は、フィルタFについて、このような軌跡を描く移動を、算出値が閾値を超えるまで繰り返させる。
【0033】
制御部10は、算出した算出値が予め定められた閾値を超えると(ステップS116;Yes)、フィルタFの位置(検出位置という)を、算出値が閾値を超えた時点の位置で特定する(ステップS120)。フィルタFを用いたフィルタリング処理で算出された算出値が予め定められた閾値を超えるということは、フィルタFにおける領域の中でも唯一プラスの重み付けを持つ領域Fdの中に、算出値が予め定められた閾値を超えるだけの、充分な数の音声情報データが存在する状態である、ということである。また、上述したように、裏声は、地声と比較して高調波成分が少ない一方、音高は高いから、音声分布表において右下の位置に音声情報データが分布している可能性が高い。従ってステップS120の次に制御部10は、フィルタFにおける、プラスの重み付けがなされた領域(すなわち右下の領域Fd)に含まれる音声情報データを、裏声に基づく音声情報データであると検出する(ステップS122)。換言すれば、制御部10は、複数の倍音比率と音高との組である音声情報データが割り当てられた領域の中で、相対的に倍音比率が低く音高が高い一部の領域に割り当てられた音声情報データに対応するユーザ歌唱音声データを、裏声を表すユーザ歌唱音声データとして検出する。つまり、制御部10は、このようにして検出したユーザ歌唱音声データは、それが例えば「かすれ声」や「ささやき声」であっても、全て裏声として検出する。換言すれば、本発明において「裏声」という用語の意味には、上記のようにして検出された音声が全て含まれる。
【0034】
ステップS122の次に、制御部10は、裏声に基づく音声情報データとGMデータとの対応付けを行う(ステップS124)。具体的な対応付けの方法は、以下のようになる。上述したように音声情報データには、倍音比率と、上記倍音比率を算出した時点のユーザ歌唱音声データの音高と、上記倍音比率を予め定められたサンプリング周期で算出した時点の、カラオケ楽曲の開始時点からの経過時間とが対応付けて記憶されている。これを利用して制御部10は、裏声に基づくものとして検出した音声情報データから上記経過時間を取得し、取得した経過時間に相当するタイミングのGMデータと対応付けを行う。
【0035】
図7は、検出した裏声とガイドメロディとの対応関係を模式的に表した図である。
図7において、横軸は時間を表し、
図7中で左から右に進むほど時間が経過することを表している。また、縦軸は音高を表し、
図7中で下から上に進むほど音高が高くなることを表している。縦軸の1つの目盛りは200セント(全音)の音高を意味している。つまり、例えば
図5において、音高「A4」に対応する目盛りに対して1目盛り分だけ上方に位置する目盛りは、「B4」の音高を表している。また、音高「A4」に対応する目盛りに対して1目盛り分だけ下方に位置する目盛りは、「G3」の音高を表している。
【0036】
また、
図7において領域GM1〜GM3及びGM5〜GM7は、GMデータに基づく音高を持つガイドメロディを表している。例えば、
図7に示される期間においては、A4の音高の音がT1の期間だけ続いた後に、D4の音高の音がT2の期間だけ続き、さらにその後G4の音高の音がT3の期間だけ続くと、T4の期間だけ無音の状態が続くといった具合である。なお、
図7において格子状の模様で表されるガイドメロディGM1,GM2及びGM4は、地声で歌う設定(すなわち裏声フラグが「OFF」)とされており、斜めの縞模様で表されるガイドメロディGM3,GM6及びGM7は、裏声で歌う設定(すなわち裏声フラグが「ON」)とされているもとのする。また、実線300は、前述したユーザ歌唱音声データによって表される、ユーザによる歌唱時の音声の音高を表している。これを、以下、ユーザ歌唱音声曲線300という。
【0037】
図2に戻り、ステップS124の次に、制御部10は、裏声フラグが「ON」になっているGMデータにおいて、ユーザが裏声で歌ったかどうかを判別する(ステップS126)。例えば
図7において、下方に音声分布表の抜粋が表示されており、裏声として検出された領域Fdにおいて、各音声情報データに対応する点が黒丸で表されている。ここで、或る音声情報データgに含まれる経過時間に相当するタイミングのガイドメロディは、ガイドメロディGM3であるとする。また、音声情報データhに含まれる経過時間に相当するタイミングのガイドメロディは、ガイドメロディGM7であるとする。このような音声情報データとガイドメロディの対応付けは前述したようにステップS124でなされている。
【0038】
ガイドメロディGM3は裏声フラグが「ON」になっているため、制御部10は、ユーザが、裏声で歌うべきタイミングにおいて、裏声で歌唱したと判別する。一方、裏声フラグが「ON」であるガイドメロディGM6については、裏声に基づく音声情報データが対応付けられていないから、制御部10は、ガイドメロディGM6のタイミングにおいては、ユーザは裏声で歌うべきタイミングにおいて、裏声で歌唱しなかったと判別する。制御部10は、上記判別の結果を採点に用いることが可能である。例えばカラオケ装置100は減点方式を採用しているため、上記の場合では、ガイドメロディGM6のタイミングで制御部10は、減点を行う。つまり、ユーザが、裏声で歌うべきタイミングにおいて裏声で歌唱した場合、制御部10は、結果として、裏声で歌うべきタイミングにおいて裏声で歌唱しなかった場合と比較して高い評価を行うともいえる。制御部10が用いる、減点に際しての評価結果の算出方法は、ユーザ歌唱音声を解析する手法としてFFT(Fast Fourier Transform)などを用いた周波数分析、音量分析などの公知の様々な手法を用いることで、予め定められた評価項目について評価結果を算出してもよいし、単純に、裏声フラグが「ON」のタイミングにおいて裏声で歌唱されなければ、予め定めたポイントだけ減点を行うようにしてもよい。
【0039】
ステップS126の次に、制御部10は、判定結果を表示部40に表示する(ステップS128)。
図8は、判定結果を表す図である。
図7の例で説明したように、裏声フラグが「ON」であるT3及びT7の期間においては、ユーザによる歌唱が裏声であったため、「○」の印が表示されている。一方、裏声フラグが「ON」であるT6の期間においては、ユーザによる歌唱が地声であったため、「△」の印が表示されている。制御部10は、ユーザによる歌唱が終了した後に、採点結果と共に、このような裏声についての判定結果を表示部40に表示する。
【0040】
図9は、制御部10の機能的構成を表すブロック図である。
図9に表されるように、制御部10は、音声データ取得手段11、算出手段12、割り当て手段13、及び裏声検出手段14として機能する。また、裏声検出手段14は、フィルタ141、フィルタ移動手段142及び加算手段143を備えている。算出手段12は、ユーザ歌唱音声データが表す音声における倍音比率及び当該音声の音高を、歌唱における時間の経過に応じて周期的に算出する。割り当て手段13は、倍音比率を表す第1軸と音高を表す第2軸とで構成される座標系において、算出手段12が算出した各々の倍音比率及び音高に対応する座標に、当該倍音比率及び当該音高の組をそれぞれ割り当てる。裏声検出手段14は、割り当て手段13により複数の上記組が割り当てられた領域の中で、相対的に倍音比率が低く音高が高い一部の領域に割り当てられた上記組に対応する音声データを、裏声を表す音声データとして検出する。フィルタ141は、上記座標系に適用されるフィルタであって、プラスの重み付けを持つ領域であるプラス領域と、座標系においてプラス領域よりも倍音比率の高い側又はプラス領域よりも音高が低い側にあり、マイナスの重み付けを持つ領域であるマイナス領域とを有する。フィルタ移動手段142は、上記座標系において予め定められた第1の基準値よりも倍音比率が低く且つ予め定められた第2の基準値よりも音高が高い範囲内でフィルタを移動させる。加算手段143は、フィルタ移動手段によってフィルタが移動させられるたびに、フィルタのマイナス領域に含まれる上記組の数にマイナスの重み付けを行って得たマイナスの算出値と、プラス領域に含まれる上記組の数にプラスの重み付けを行って得たプラスの算出値とを加算する。
【0041】
このように、本発明によれば、歌唱者による歌唱の音声から裏声を検出する際に検出漏れを少なくすることが可能となる。また、本発明によれば、裏声を検出するために、予め用意したデータ群と比較するような方法を用いていないため、上記データ群を予め用意する必要がなく、ユーザによる歌唱の音声から作成された音声情報データのうち、裏声に基づいて作成された音声情報データが上記データ群に該当せずに、結果として検出すべき裏声を検出できないという不具合を奏することがない。さらに、本実施形態においては、上記2軸で構成される座標系に、各々についてプラス或いはマイナスの重み付けがなされた複数の領域で構成されるフィルタを用いてフィルタリング処理を行っている。このように、フィルタが、マイナスの重み付けを持つ領域とプラスの重み付けを持つ領域と領域から構成されるため、音声分布表において地声に基づく音声情報データはマイナスの算出値を得やすく、裏声に基づく音声情報データはプラスの算出値を得やすい。これにより、地声に基づく音声情報データと裏声に基づく音声情報データとが分離されやすく、裏声に基づく音声情報データが、誤って地声に基づく音声情報データとして認識されることによって検出から漏れることを少なくすることが可能となる。
【0042】
<変形例>
以上の実施形態は次のように変形可能である。尚、以下の変形例は適宜組み合わせて実施しても良い。
【0043】
<変形例1>
フィルタFにおける各領域の矩形の幅についての設定は、実施形態において説明した内容で固定されるものではなく、制御部10が設定を補正可能としてもよい。この補正の方法は、以下のようにすればよい。例えば、カラオケ装置100において、操作部30を介したカラオケ楽曲の予約とともに、どのユーザが歌唱するのかを入力可能とする。そして、例としてユーザ「Aさん」の歌唱に基づくユーザ歌唱音声データから、制御部10は音声情報データを作成する。ユーザ「Aさん」がカラオケ歌唱の歌い手として入力された楽曲が再生される都度、制御部10は音声情報データを作成する。
【0044】
このようにして制御部10により、ユーザ「Aさん」を音声情報データの持ち主とする音声情報データが複数回作成されていくと、「Aさん」の音声情報データは、より正確なものに近づいていく。つまり、ユーザ「Aさん」が、裏声で歌う箇所が少ない楽曲を1曲だけ歌唱した場合と比較して、裏声で歌う箇所がある程度存在する楽曲や、全編に渡って裏声で歌唱する(いわゆるファルセット)楽曲等に際して作成された音声情報データが蓄積されていくことで、音声情報データの個数が多くなる。一般的にデータの個数が多くなるほど、統計の結果は正確なものに近づいていくから、このようにして蓄積された音声情データは、よりユーザ「Aさん」の声の特徴を表すものに近づいていくといえる。
【0045】
上述のようにして作成された音声情報データに基づいて、制御部10は、フィルタFにおける各領域における矩形の幅の設定を補正する。例えばフィルタFにおける各領域の矩形の幅については、制御部10が、
図5中の実線で表される線分と線分との幅を、縮めたり拡げたりする補正を行う。この結果、
図5において、4つの領域を構成する矩形の各々の大きさが変化することとなる。ここで制御部10が補正する線分と線分との幅の補正は、上記蓄積された音声情報データに基づくものであって、より多くの個数の裏声に基づく音声情データが、プラスの重み付けが割り当てられた領域に含まれるようにすればよい。
【0046】
なお、制御部10は、上述した設定の補正を、ユーザによるカラオケ歌唱の終了まで行い続ける。つまり、ユーザによるカラオケ歌唱が長時間に渡り、より多くの音声情報データが蓄積される都度、上述の設定は、よりユーザの声の特徴にあわせて精度の高いものとなっていく。このようにすれば、制御部10は、よりユーザの声の特徴にあわせて精度の高い裏声検出が可能になるとともに、ユーザにとっても、自身の声の特徴にあわせた採点結果を知ることが可能になる。
【0047】
<変形例2>
制御部10は、裏声を検出した結果を、ユーザによる歌唱の採点に用いることに限らず、次のようにしてもよい。例えば、
図4においては、地声領域aと裏声領域bが、音高方向において余り離れていない。これは、
図4における音声情報データの持ち主は、地声と裏声との間に、声の出ない高さの音が少ないことを意味する。
図10及び
図11は、変形例2に係る地声と裏声に基づく音声情報データの分布表を表す図である。
図10では、
図4と比較して明らかなように、地声領域a2と裏声領域b2との間には、音高方向において一定の距離がある。これは、
図10における音声情報データの持ち主の歌唱においては、地声と裏声との間に声の出ない高さの音が一定量存在することを意味する。つまり、音高方向において、地声領域a2と裏声領域b2との間の距離が短い程、その歌唱を行ったユーザは、音の高さについて、より広く且つ途切れが少ない音域で歌唱が可能であるといえる。
【0048】
一方、
図11では、
図4と比較して明らかなように、地声領域a3と裏声領域b3とにおいて、音高方向において重なる領域が存在する。これは、
図11における音声情報データの持ち主の歌唱においては、ユーザによって地声と裏声とを相互に使い分け可能な高さの音が一定量存在することを意味する。つまり、音高方向において、地声領域a3と裏声領域b3との間の距離が負の値となる(地声領域a3と裏声領域b3とが音高方向において重なる)程、その歌唱を行ったユーザは、地声と裏声を相互に使い分ける技量が高いといえる。
【0049】
上述の考え方に基づいて、制御部10は、ステップS122において裏声を検出すると、地声と裏声とを使い分ける技量を判定し、この判定結果を表示部40に表示してもよい。判定の方法としては、以下のようなものがある。制御部10は、音声分布表において、地声領域aにおける最も左端に位置する音声情報データの音高を、地声で歌唱可能な最も低い音高と認定する。また、制御部10は、音声分布表において、地声領域aにおける最も右端に位置する音声情報データの音高を、地声で歌唱可能な最も高い音高と認定する。また、制御部10は、音声分布表において、裏声であると検出した領域(フィルタFの検出位置におけるプラスの重み付けが割り当てられた領域)における最も左端に位置する音声情報データの音高を、裏声で歌唱可能な最も低い音高と認定する。また、制御部10は、音声分布表において、裏声であると検出した領域における最も右端に位置する音声情報データの音高を、裏声で歌唱可能な最も高い音高と認定する。さらに制御部10は、上記認定の結果が「地声で歌唱可能な最も高い音高>裏声で歌唱可能な最も低い音高」である場合、この音声情報データの持ち主は、地声と裏声を使い分ける地声と裏声とを相互に使い分け可能な高さの音域で歌唱可能である、と判定する。
【0050】
制御部10は、判定結果を表示部40に表示させる。なお、表示の方法については、例えば制御部10が、「あなたはC3〜E4まで地声が、G4〜A5まで裏声が出ます。」や「あなたはC3〜A4まで地声が、G4〜C5まで裏声が出ます。あなたはG4〜A4までの音域について、地声と裏声を使い分けることが出来ます。」などといったメッセージを、表示部40に表示させるようにしてもよい。あるいは制御部10が、ユーザが歌唱可能な音域を、地声と裏声とでそれぞれ視認により区別可能な画像として表示部40に表示させるようにしてもよい。このようにすれば、ユーザは、自らの歌唱について、地声と裏声のそれぞれで歌唱可能な音域や、地声と裏声とを相互に使い分け可能な音域を認識することが可能となる。これにより、複数のユーザがカラオケを行うときに、採点の結果として各々の歌唱音域を知ることが出来るという楽しみ方が可能となる。また、例えば歌唱の練習を一人で行いたいユーザは、都度の歌唱について、地声と裏声との歌唱可能な音域の違い及び使い分け可能な音域を判定結果から知ることができるので、判定結果を参考にして歌唱の練習を行うことも可能となる。
【0051】
<変形例3>
実施形態において、フィルタFを、矩形で構成された4つの領域の組み合わせとしたが、フィルタFの形状はこれに限ったものではない。
図12及び
図13は、変形例3に係る音声分布表に適用するフィルタを表した図である。
図12の例におけるフィルタF2では、音声分布表において、プラスの重み付けが割り当てられた領域が五角形の形状となっており、
図6と比較すると、音高が低く倍音比率が高い領域が欠落している。また、プラスの重み付けが割り当てられた領域を覆うように、その外側にマイナスの重み付けが割り当てられた領域が設けられている。
図12において、マイナスの重み付けが割り当てられた領域は、3つに分割され、分割された各々の領域に重み付けが割り当てられることを表している。マイナスの重み付けが割り当てられた領域は分割されることなく、マイナスの重み付けが割り当てられた領域全体に一つの重み付けが割り当てられるようにしてもよい。フィルタF2の移動については、実施形態と同様の方法を用いればよい。この場合、フィルタF2の左上角に形成された斜めの線分の中点を、実施形態におけるフィルタFの左上隅に置き換えればよい。
【0052】
図13の例におけるフィルタF3では、音声分布表において、プラスの重み付けが割り当てられた領域は、右下、つまり音高が最も高く倍音比率が最も小さい頂点を直角とした三角形の形状となっている。また、プラスの重み付けが割り当てられた領域を覆うように、その外側にマイナスの重み付けが割り当てられた領域が設けられている。この場合、制御部10は、フィルタF3を構成する三角形全体の重心を求めると、これをRAMに記憶させる。あとは、この重心を、実施形態におけるフィルタFの左上隅に置き換えてフィルタF3の移動を行えばよい。
【0053】
変形例3に係るフィルタF2,F3においても、プラスの重み付けを持つ領域とマイナスの重み付けを持つ領域とが存在する。要するに、2軸の座標系で表される音声分布表において、裏声に基づく音声情報データが割り当てられやすい範囲についてプラスの重み付けを持つ領域と、このプラスの重み付けを持つ領域を覆うようにして設けられ、マイナスの重み付けを持つ領域との2種類の領域でフィルタが構成されていればよい。このときマイナスの重み付けを持つ領域は、裏声に基づく音声情報データが分布する可能性が小さい範囲となるように配置されればよい。このように変形例3に係るフィルタを用いても、実施形態と同様の効果を奏することができる。
【0054】
<変形例4>
音声情報データ群から裏声を検出する方法は、実施形態のようにフィルタを用いる方法に限らない。
図14は、変形例4に係る裏声検出処理が行われる際の処理フロー図である。
図14において、ステップS112までは、制御部10が行う処理は
図2のものと同様である。ステップS112の次に、制御部10は、音声分布表の音高方向において分布した音声情報データの個数(分布個数という)を取得するための基準の線である、分布個数取得基準線を倍音比率方向に移動させる(ステップS114b)。そして制御部10は、音高方向における音声情報データの個数の分布を表す音声情報データ個数分布線を生成する(ステップS116b)。
【0055】
図15は、変形例4に係る分布個数取得基準線を表す図である。
図15において、縦軸及び横軸は
図4と同じである。破線で表された分布個数取得基準線L1〜L5は、分布個数取得基準線の一例である。また、
図16a〜
図16eは、変形例4において音声情報データの分布を表す図である。
図16a〜
図16eにおいて、縦軸は音声情報データの個数を表し、下から上に進むほど個数が多くなることを表している。また、横軸は音高を表し、
図16a〜
図16e中で左から右に進むほど音高が高くなることを表している。
図16a〜
図16eにおける音声情報データ個数分布線M1〜M5は、
図15における分布個数取得基準線L1〜L5と各々対応している。すなわち、
図15における分布個数取得基準線L1に基づいて、音高方向における音声情報データの個数を表したものが、音声情報データ個数分布線M1である。
【0056】
図14のステップS114bにおいて制御部10は、分布個数取得基準線を倍音比率の低い方から高い方へ向けて予め定められた幅だけ(例えばパワーの一単位)移動させる。そしてステップS116bにおいて制御部10は、都度の倍音比率の値に位置する分布個数取得基準線に応じて、分布個数、すなわち音声分布表の音高方向において分布した音声情報データの個数を取得すると、取得した音声情報データの個数に基づいて音声情報データ個数分布線を生成する。このように制御部10は、音声分布表の倍音比率方向におけるそれぞれの倍音比率毎に、音声情報データに含まれる音高の分布を特定する分布特定手段として機能する。
図16aに表されるように、分布個数取得基準線L1に応じた音声情報データ個数分布線M1は、1つのピークを持っている。このピークは
図15に表されるように、裏声に基づく音声情報データの個数を表したものである。また、音声情報データ個数分布線M2〜音声情報データ個数分布線M4は、2つのピークを持っている。これらのピークは
図15に表されるように、地声に基づく音声情報データの個数と裏声に基づく音声情報データの個数とを表したものである。さらに、分布個数取得基準線L5に応じた音声情報データ個数分布線M5は、1つのピークを持っている。このピークは
図15に表されるように、地声に基づく音声情報データの個数を表したものである。
【0057】
図15及び
図16a〜
図16eからは、音声情報データ個数分布線におけるピークが、1つ(
図16aにおける音高方向の右側)から2つになり、再び1つ(
図16eにおける音高方向の左側)になった時点で、制御部10が、分布個数取得基準線に応じて、裏声に基づく音声情報データを取得しなくなったことを表すことが読み取れる。
図14のステップS116bの次に制御部10は、音声情報データ個数分布線におけるピークが2つから1つになったかを判定する(ステップS118b)。制御部10は、ステップS118bでNoと判定する間、ステップS114b及びステップS116bの処理を繰り返す。制御部10は、音声情報データ個数分布線におけるピークが2つから1つになったと判定すると(ステップS118b;Yes)、裏声に基づく音声情報データが存在する領域を決定する(ステップS120b)。
【0058】
ステップS120bにおける上記決定の方法は、例えば以下のようなものである。まず、ステップS116bで制御部10は、音声情報データ個数分布線の音高方向において、予め定められた基準よりも高い位置にピークが1つ初めて現れた際に、この音声情報データ個数分布線に応じた分布個数取得基準線の、倍音比率方向における値(第1の値とする)を、RAMに記憶させる。ここで、上記予め定められた基準は、カラオケ装置100の設計時において、不特定多数のユーザによる歌唱の音声から作成した複数の音声情報データを音声分布表に割り当てた結果から、より多くのユーザにとって裏声が検出可能となるように実験的に求めればよい。そしてステップS118bにおいて、制御部10は、直前の音声情報データ個数分布線に応じた分布個数取得基準線の倍音比率方向における値(第2の値とする)を、RAMに記憶させる。
【0059】
制御部10は、このようにして求めた第1の値、第2の値及び上記音高方向における予め定められた基準とに基づいて、裏声に基づく音声情報データが存在する領域を決定する(ステップS120b)。
図17は、変形例4に係る、裏声の領域を決定する処理を説明する図である。
図17において、縦軸は倍音比率を表し、
図17中で下から上に進むほど倍音比率が高くなることを表している。また、横軸は音高を表し、
図17中で左から右に進むほど音高が高くなることを表している。破線で表された分布個数取得基準線L101は、上記第1の値を倍音比率として持つ分布個数取得基準線であり、分布個数取得基準線L102は、上記第2の値を倍音比率として持つ分布個数取得基準線である。実線Sは、上記音高方向における予め定められた基準である(以降において音高基準Sという)。地声領域a4は、歌唱者の地声による歌唱の音声に基づく音声情報データが音声分布表に割り当てられたときの領域の一例である。裏声領域b4は、歌唱者の裏声による歌唱の音声に基づく音声情報データが音声分布表に割り当てられたときの領域の一例である。
【0060】
図17に表されるように、分布個数取得基準線L101、分布個数取得基準線L102及び音高基準Sに囲まれた領域に、裏声領域b4が存在している。
図14のステップS120bにおいて制御部10は、この分布個数取得基準線L101、分布個数取得基準線L102及び音高基準Sに囲まれた領域を、裏声に基づく音声情報データが存在する領域である、と決定する。そして制御部10は、ステップS120bで決定した領域に含まれる音声情報データを、裏声に基づく音声情報データであると検出する(ステップS122b)。換言すれば制御部10は、倍音比率毎に特定された音高の分布に基づき、予め決められた基準値(音高基準S)以上の音高において分布の極大点が現れているときの倍音比率の範囲から、音声情報データに対応する音声データを、裏声を表す音声データとして検出する。以降の処理は、実施形態と同様である。このように、変形例4に係る方法でも、実施形態と同様の効果を奏することが可能である。また、変形例4では、音声分布表において倍音比率方向の値を変化させながら取得した、音高方向に分布した音声情報データの個数のピーク位置及び上記ピークの個数に基づいて、裏声を検出している。このように変形例4では、音声情報データの個数の分布におけるピークに基づく値で挟まれた、多くの音声情報データが含まれる領域を、裏声を検出する領域として決定しているため、裏声に基づく音声情報データを検出から漏らすことを少なくすることが可能となる。
【0061】
<変形例5>
本発明は、歌唱評価装置以外にも、これらを実現するための方法や、コンピュータに音声評価機能を実現させるためのプログラムとしても把握される。かかるプログラムは、これを記憶させた光ディスク等の記録媒体の形態で提供されたり、インターネット等を介して、コンピュータにダウンロードさせ、これをインストールして利用させるなどの形態でも提供されたりする。