抑揚判定装置
【課題】歌唱者が楽曲を歌唱したときの音声とその楽曲の内容との関係を考慮して抑揚を判定する
【解決手段】判定対象区間のGMデータにおける最も低い音高と最も高い音高との差分が第1の閾値を超える場合(ステップS712;YES)、制御部10はユーザ歌唱音声データの音量の平均(平均音量)を算出する(ステップS713)。次に制御部10は、判定対象区間における、最高の音高のノートを持つGMデータに対応するユーザ歌唱音声データの音高(最高音高)を特定し(ステップS714)、特定した音高のノートと時間軸で一致するユーザ歌唱音声データにおける音量(最高音高音量)を特定する。制御部10は、平均音量と最高音高音量の差分である差分音量を算出し(ステップS716)、差分音量が第2の閾値を超える場合(ステップS717;YES)、判定対象区間において楽曲の特徴に合わせた抑揚が付けられていると判定する(ステップS718)。
【解決手段】判定対象区間のGMデータにおける最も低い音高と最も高い音高との差分が第1の閾値を超える場合(ステップS712;YES)、制御部10はユーザ歌唱音声データの音量の平均(平均音量)を算出する(ステップS713)。次に制御部10は、判定対象区間における、最高の音高のノートを持つGMデータに対応するユーザ歌唱音声データの音高(最高音高)を特定し(ステップS714)、特定した音高のノートと時間軸で一致するユーザ歌唱音声データにおける音量(最高音高音量)を特定する。制御部10は、平均音量と最高音高音量の差分である差分音量を算出し(ステップS716)、差分音量が第2の閾値を超える場合(ステップS717;YES)、判定対象区間において楽曲の特徴に合わせた抑揚が付けられていると判定する(ステップS718)。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、歌唱者による歌唱の音声から抑揚を判定する技術に関する。
【背景技術】
【0002】
カラオケ装置においては、歌唱者による歌唱の巧拙を採点する機能を備えるものがある。この採点にあたって、カラオケ装置は、歌唱者による歌唱の音声を録音し、録音した音声を分析して特徴を検出することで、この分析結果と評価の基準とを照らし合わせて点数を算出する。
【0003】
ところで歌唱時において抑揚という歌唱技法が用いられることがある。この抑揚は、例えばサビと呼ばれるような、楽曲において感情を盛り上げて歌唱する箇所(以下、盛り上がる箇所という)において、その他の箇所よりも音量を上げて歌唱する、といったような技術によって実現される。つまり、抑揚は、歌唱における音量の大小によって表すことが可能であるといえる。一般的にプロの歌い手は抑揚を付けて歌唱することが上手であることからも分かるように、抑揚が上手く付けられた歌唱は、聞き手にとって上手に聞こえることが多い。従って、歌唱における抑揚の巧拙に対する評価を採点に反映させることができれば、より採点の精度を向上させることが可能となる。例えば特許文献1には、歌唱者による歌唱の音声における音量の変動の値を求め、この変動の値を、歌唱の採点において抑揚の評価に用いる方法が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008−268358号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に記載の技術では、歌唱音声の音量の変動の度合いのみに基づき抑揚を評価するため、その楽曲において盛り上がる箇所であるか否かに関わらず、歌唱の音量に一定の変動さえあれば、抑揚があるとして判定される。しかしこのような、楽曲の内容と歌唱の音声とを考慮せずに評価する方法では、聞き手にとっては上手な抑揚の付け方に聞こえないのにも関わらず、抑揚に関して高い点数がついてしまう場合があり、結果として採点の精度が高いとは言えない状態となってしまう。このように実際の歌唱に対して採点が不正確な状態が発生すると、カラオケ装置のユーザにとって不満感が高い。
本発明は上述の背景に鑑みてなされたものであり、歌唱者が楽曲を歌唱したときの音声とその楽曲の内容との関係を考慮して抑揚を判定することを目的とする。
【課題を解決するための手段】
【0006】
上述した課題を解決するために、本発明は、歌唱者が歌唱したときの音声を表す歌唱音声データを取得する歌唱音声データ取得手段と、歌唱対象となる楽曲の内容を表す楽曲データを取得する楽曲データ取得手段と、取得された前記楽曲データによって表される楽曲の内容に基づき、当該楽曲において決められた区間ごとに、抑揚を判定する際の比較対象となる箇所を特定する特定手段と、取得された前記歌唱音声データによって表される音声のうち特定された前記箇所を歌唱したときの音声の音量と、当該箇所を含む前記区間を歌唱したときの音声の音量との違いに基づいて、前記区間における歌唱に抑揚があるか否かを判定する判定手段とを備えることを特徴とする抑揚判定装置を提供する。
【0007】
好ましい態様において、前記楽曲データは、前記楽曲を構成する構成音の音高を指定し、前記特定手段は、前記決められた区間ごとに、当該区間において前記楽曲データが指定する構成音のうち最も高い音高の構成音がある箇所を、前記抑揚の判定対象となる箇所として特定する。
【0008】
別の好ましい態様において、前記楽曲データは、前記楽曲を構成する構成音の音高を指定し、前記特定手段は、前記決められた区間ごとに、当該区間において前記楽曲データに含まれる構成音の音高の平均値又は当該音高に対して決められた重み付けを行って得た平均値よりも高い音高の構成音のうち、前記歌唱音声データによって表される音量が最も高い音声に対応する構成音がある箇所を、前記抑揚の判定対象となる箇所として特定する。
【0009】
また別の好ましい態様において、前記楽曲データは、前記楽曲を構成する構成音の音高と、前記抑揚の判定対象となる箇所に対応する構成音を指定する指定情報とを含み、前記特定手段は、前記決められた区間ごとに、前記楽曲データにおいて前記指定情報により指定されている構成音がある箇所を、前記抑揚の判定対象となる箇所として特定する。
【0010】
また好ましい態様において、前記楽曲データは、前記楽曲の伴奏を表す伴奏データを含み、前記特定手段は、前記予め決められた区間内において前記伴奏データに含まれる伴奏の同時発音数が最も多いタイミング又は前記伴奏の音量が最も大きいタイミングを調べ、前記楽曲データにおいて当該タイミングに対応する箇所を、前記抑揚の判定対象となる箇所として特定する。
【0011】
また、本発明は、歌唱者が歌唱したときの音声を表す歌唱音声データを取得する歌唱音声データ取得手段と、歌唱対象となる楽曲を構成する構成音の音高を含む楽曲データを取得する楽曲データ取得手段と、前記歌唱対象となる楽曲において決められた区間ごとに、当該区間に含まれる前記構成音が歌唱されたときの音量と当該構成音の音高とを、前記歌唱音声データ及び前記楽曲データに基づいて特定し、特定した前記音量及び前記音高の組を、音量を表す第1軸と音高を表す第2軸とで構成される座標系に割り当てる割り当て手段と、前記決められた区間について前記割り当て手段により割り当てられた複数の前記組における前記音量と前記音高との相関関係に基づいて抑揚の有無を判定する判定手段とを備えることを特徴とする抑揚判定装置を提供する。
【発明の効果】
【0012】
本発明によれば、歌唱者が楽曲を歌唱したときの音声とその楽曲の内容との関係を考慮して抑揚を判定することが可能となる。
【図面の簡単な説明】
【0013】
【図1】カラオケ装置のハードウェア構成を表すブロック図
【図2】カラオケ装置における処理の流れを示すフローチャート
【図3】第1実施形態に係る、抑揚を判定する処理におけるフローチャート
【図4】第1実施形態に係る、差分音量の算出方法を説明するための模式図
【図5】抑揚の判定結果が表示されている様子を表す模式図
【図6】制御部の機能的構成を表すブロック図
【図7】第2実施形態に係る、抑揚を判定する処理におけるフローチャート
【図8】第2実施形態に係る、標本音高及び差分音量の算出方法を説明するための模式図
【図9】第2実施形態に係る、標本音高の算出方法を説明するための模式図
【図10】第3実施形態に係る、抑揚を判定する処理におけるフローチャート
【図11】第3実施形態に係る、ノート別歌唱音量の特定方法を説明するための模式図
【図12】第3実施形態に係る、ノート別歌唱音量の特定結果を表す図
【図13】第3実施形態に係る、1次関数の導出を説明するための模式図。
【発明を実施するための形態】
【0014】
以下、本発明の第1実施形態について説明する。
<第1実施形態>
<構成>
図1は、カラオケ装置100のハードウェア構成を表したブロック図である。
カラオケ装置100は、ユーザの歌唱に対して採点を行うものであり、特にユーザの歌唱において抑揚が付けて歌唱が行われた箇所を判定し、それを採点対象に含めて採点を行う。このカラオケ装置100においては、採点の方式に減点方式を採用している。ここで減点方式とは、あるカラオケ楽曲についてユーザが歌唱を開始した時点では満点から始まり(100点満点であれば100点)、ユーザによる歌唱が評価基準を満たさないときに減点が行われる、という方式である。図1に示すように、カラオケ装置100は、制御部10、記憶部20、操作部30、表示部40、通信部50、音声処理部60、マイクロホン61、及びスピーカ62を有し、これら各部がバス70を介して接続されている。
【0015】
制御部10は、CPU(Central Processing Unit)、RAM(Random Access Memory)、及びROM(Read Only Memory)等を有している。制御部10において、CPUが、ROMや記憶部20に記憶されているコンピュータプログラムを読み出しRAMにロードして実行することにより、カラオケ装置100の各部を制御する。制御部10は、時間を計測する計時機能を備えている。操作部30は、各種の操作子を備え、ユーザによる操作内容を表す操作信号を制御部10に出力する。表示部40は、例えば液晶パネルを備え、制御部10による制御の下、各カラオケ楽曲に応じた歌詞テロップや背景映像等を表示する。通信部50は、ネットワーク(非図示)を介して図示しないサーバ装置とデータ通信を行う。
【0016】
マイクロホン61は、収音した音声を表すアナログの音声信号を音声処理部60に出力する。音声処理部60は、A/D(Analog / Digital)コンバータを有し、マイクロホン61が出力したアナログの音声信号をデジタルの音声データに変換して制御部10に出力すると、制御部10は、これを取得する。このように、制御部10はユーザ(歌唱者)が歌唱したときの音声を表す音声データを取得する音声データ取得手段として機能する。また、音声処理部60は、D/A(Digital / Analog)コンバータを有し、制御部10から受け取ったデジタルの音声データをアナログの音声信号に変換してスピーカ62に出力する。スピーカ62は、音声処理部60から受け取ったアナログの音声信号に基づく音を放音する。記憶部20は、各種のデータを記憶するための記憶手段であり、例えばHDD(Hard Disk Drive)や不揮発性メモリである。記憶部20は、伴奏データ記憶領域21、映像データ記憶領域22、GM(Guide Melody)データ記憶領域23、及びユーザ歌唱音声データ記憶領域24といった複数の記憶領域を備えている。
【0017】
伴奏データ記憶領域21には、各楽曲における伴奏の音声を表す伴奏データに関する情報が記憶されている。伴奏データ記憶領域21には、楽曲を一意に識別するための番号である「曲番号」、各楽曲の名称を表す「曲名」、各楽曲の歌い手の名称を表す「歌手名」、各楽曲の伴奏データそのものであるデータファイルの格納場所である「ファイル格納場所」といった複数の項目からなる伴奏データレコードが複数記憶されている。この伴奏データのデータファイルは、例えば、MIDI(Musical Instrument Digital Interface)形式のファイルである。
【0018】
映像データ記憶領域22には、上述の曲番号、各楽曲の歌詞を示す歌詞データ及び歌詞の背景に表示される背景映像を表す背景映像データが対応付けられて記憶されている。歌詞データによって示される歌詞は、カラオケ歌唱の際に、楽曲の進行に伴って歌詞テロップとして表示部40に表示される。また、背景映像データによって表される背景映像は、カラオケ歌唱の際に楽曲の進行に伴って歌詞テロップの背景として表示部40に表示される。GMデータ記憶領域23には、上述の曲番号及び楽曲のボーカルパートのメロディを示すデータ、すなわち、歌唱すべき構成音(ノート)の音高を含む内容を指定するデータであるガイドメロディデータ(以下、GMデータという)が対応付けられて記憶されている。GMデータは、制御部10がユーザによる歌唱の巧拙を評価する際に比較の基準となるものである。GMデータにおける各ノートには、当該ノートのピッチ(音高)が情報として含まれている。また、GMデータには、各ノートについて、いわゆる「サビ」に相当する箇所であるか否かを示すコーラスフラグが付されている。「サビ」に相当する箇所は抑揚の判定対象となる箇所であるから、コーラスフラグは、抑揚の判定対象となる箇所に対応する構成音を指定する指定情報である、ともいえる。例えば、「AAA」という楽曲について、GMデータにおける、サビの箇所に相当するノートについてはコーラスフラグが「ON」の状態で付されている。一方、GMデータにおける、サビの箇所に相当しないノートについてはコーラスフラグが「OFF」の状態で付されている。GMデータは、例えば、MIDI形式により記述されている。
【0019】
ユーザ歌唱音声データ記憶領域24には、カラオケの対象となった各楽曲について、その伴奏データが再生されている期間中マイクロホン61によって収音されたユーザの歌唱音声が音声処理部60でデジタルデータに変換されることで生成された音声データが記憶される。この音声データをユーザ歌唱音声データという。このユーザ歌唱音声データは、例えば、WAVE(RIFF waveform Audio Format)形式のデータファイルとして記憶される。各楽曲についてのユーザ歌唱音声データは、制御部10によって、その楽曲のGMデータに対応付けられる。ここで、ユーザ歌唱音声データを、歌唱者が歌唱したときの音声を表す歌唱音声データと定義すると、GMデータと伴奏データとの組み合わせは、歌唱対象となる楽曲の内容を表す楽曲データとして定義することができる。つまり、制御部10は、歌唱対象となる楽曲の内容を表す楽曲データを取得する楽曲データ取得手段として機能する。
【0020】
<動作>
次に、図2〜図4を用いて、制御部10による抑揚の判定方法について説明を行う。
図2は、カラオケ装置における処理の流れを示すフローチャートである。操作部30を介してユーザにより楽曲が予約されると(ステップS100;YES)、制御部10は、記憶部20から予約された楽曲の検索を行う(ステップS200)。具体的にはステップS200において、制御部10は、伴奏データ記憶領域21、映像データ記憶領域22、及びGMデータ記憶領域23の各々から、選択された楽曲の曲番号をキーにして、その楽曲に関するデータを検索し、検索結果のデータをRAMに読み込む。ステップS200の次に、制御部10は、RAMに記憶された伴奏データ、映像データ、及びGMデータに基づいて、楽曲の再生を行う(ステップS300)。具体的にはステップS300において、制御部10は、伴奏データ及びGMデータに基づく音声をスピーカ62から放音させるとともに、映像データに基づく映像を表示部40に表示させる。
【0021】
次に制御部10は、この楽曲の再生期間中に、マイク61によって収音されたユーザの歌唱音声が音声処理部60によってデジタルのデータに変換されたものであるユーザ歌唱音声データを、ユーザ歌唱音声データ記憶領域24に記憶させる(ステップS400)。そして制御部10は、ユーザ歌唱音声データにLPF(Low-Pass Filter)を適用する(ステップS500)。ステップS500の処理を行う理由は、以下のようなものである。人間の声には、倍音を初めとする、複数の異なる周波数が含まれている。このような音声に基づくデータに対して、制御部10が、そのまま何らかの処理を行おうとすると、音声データの波形が複雑な形状をとるため、正確な結果を得るための演算処理も複雑なものとならざるを得ないばかりか、期待する結果が得られにくい、ということがある。そこで、制御部10が、音声情報データに予めLPFを適用し、後続の処理で不要な高周波成分を取り除くことによって、処理対象の音声データの波形を単純な形状として、ステップS500以降の処理における演算の精度を向上させるわけである。なお、音声情報データにLPFを適用しない場合でも、制御部10が後続の処理を行うことは可能であるが、より出力結果の精度を高くするためには、LPFを適用した方がなおよい。
【0022】
次に制御部10は、記憶されたユーザ歌唱音声データのうち、抑揚を判定する対象の区間である判定対象区間を特定する(ステップS600)。具体的にはステップS600において、制御部10は、
ユーザ歌唱音声データにおける時間の進行に合わせて、ユーザ歌唱音声データにおいて予め決められた区間(例えばここでは8小節)に相当する区間を判定対象区間として特定する。例えば、初めてステップS600の処理が行われる場合、制御部10は、ユーザ歌唱音声データの開始から8小節分の区間を判定対象区間として特定し、2度目のステップS600の処理では、ユーザ歌唱音声データの9小節目から8小節分の区間を判定対象区間として特定する、といった具合である。
【0023】
次に制御部10は、判定対象区間に相当するユーザ歌唱音声データから、歌唱の抑揚を判定する(ステップS700)。図3は、第1実施形態に係る、抑揚を判定する処理におけるフローチャートである。抑揚を判定するにあたって、まず制御部10は、判定対象区間におけるGMデータのノートのピッチ(以降においてGMピッチという)について、最も高い音高から最も低い音高を減算することで、両者の差分(以降、差分音高という)を算出する(ステップS711)。ここで、音高の単位はセントである。次に制御部10は、算出した差分音高が予め決められた第1の閾値を超えるか否かを判定する(ステップS712)。上記差分音高が第1の閾値を超えない場合(ステップS711;NO)、制御部10は、図3の処理を終了し、図2のステップS800へ処理を進める。ステップS800において、ユーザによる歌唱が終了していない場合、すなわち処理対象のユーザ歌唱音声データにおいて判定対象区間として特定されていないデータが残っている場合(ステップS800;NO)、制御部10は、処理をステップS600へ進める。そして制御部10は、ユーザ歌唱音声データにおいて新たな判定対象区間を特定し(ステップS600)、当該判定対象区間に相当するユーザ歌唱音声データから、歌唱の抑揚を判定する(ステップS700)。ユーザによる歌唱が終了する(ステップS800;YES)まで、制御部10は、ステップS600及びステップS700の処理を繰り返す。
【0024】
上述のステップS712において差分音高が予め決められた第1の閾値を超えない場合とは、その判定対象区間において一定以上の音高の変動がある箇所、すなわち盛り上がる箇所が存在しなかったということになる。そのような場合には、ユーザによる歌唱において楽曲中の盛り上がる箇所に合わせた抑揚もないという考え方に基づき、その判定対象区間に対する処理を終わらせてもよい。従ってこのような場合、制御部10は、後続の抑揚を判定する処理を省略して、ステップS600において新たに判定対象区間を特定する処理を行うわけである。ここで第1の閾値は、例えば、多数の楽曲のGMデータをサンプルとして予め実験的に求められればよい。
【0025】
上記差分音高が予め決められた第1の閾値を超える場合(ステップS712;YES)、制御部10は、以降に述べる処理によって、楽曲の盛り上がる箇所で抑揚がつけられているかの判定を行う。この判定は、次のような考え方に基づいている。まず、ガイドメロディにおいて音高が低い方から高い方へ向かうに伴って、歌唱の音量も低い方から高い方へ向かった方が、楽曲の特徴に合わせた音量の大小、すなわち抑揚がついていると考えられる。従って、制御部10は、判定対象区間において、ガイドメロディの音高差がある箇所で、ユーザ歌唱音声データにおける音量の差分が一定量以上みられる場合に抑揚を判定する。この考え方に基づけば、「サビ」以外の箇所であっても、盛り上がる箇所であれば、当該箇所で抑揚が付いているかどうかを、制御部10が判定することが可能となる。楽曲によっては、「サビ」以外にも、例えば、出だしの「Aメロ」が音高差の激しいメロディから成り立っていることもあるから、上記の考え方に基づく判定方法は、制御部10が楽曲の特徴に合わせて抑揚を判定するのに有効である、といえる。
【0026】
具体的には、まず、制御部10は、判定対象区間におけるユーザ歌唱音声データの音量の平均(以降、平均音量という)を算出する(ステップS713)。次に、制御部10は、判定対象区間における、最高の音高のノートを持つGMデータに対応するユーザ歌唱音声データの音高(以降、最高音高という)を特定すると(ステップS714)、特定した音高のノートと時間軸で一致するユーザ歌唱音声データにおける音量(以降、最高音高音量という)を特定する(ステップS715)。そして制御部10は、平均音量と最高音高音量との差分である差分音量を算出する(ステップS716)。
【0027】
図4(a)及び図4(b)は、第1実施形態に係る、差分音量の算出方法を説明するための模式図である。図4(a)は、判定対象区間における、GMデータとユーザ歌唱音声データとの関係を表した図である。図4(b)は、図4(a)と同一の判定対象区間における、ユーザ歌唱音声データの音量の変化を表した図である。図4(a)において、横軸は時間を表し、図4(a)中で左から右に進むほど時間が経過することを表している。T1からT8に至る区間は判定対象区間である。ここでT1〜T8の各々を単位区間という。単位区間は1小節であるから、判定対象区間は8小節となる。また、縦軸は音高を表し、図4(a)中で下から上に進むほど音高が高くなることを表している。縦軸の1つの目盛りは200セント(全音)の音高を意味している。つまり、例えば、音高「A4」に対応する目盛りに対して1目盛り分だけ上方に位置する目盛りは、「B4」の音高を表している。また、音高「A4」に対応する目盛りに対して1目盛り分だけ下方に位置する目盛りは、「G3」の音高を表している。
【0028】
また、図4(a)において領域N1〜N6は、GMデータに基づく音高を持つガイドメロディの構成音(ノート)を表している。例えば、図4(a)に示される期間においては、A4の音高の音がT1の期間だけ続いた後に、D4の音高の音がT2の期間だけ続き、さらにその後G4の音高の音がT3の期間だけ続くと、T4の期間だけ無音の状態が続くといった具合である。また、実線201〜204は、ユーザ歌唱音声データによって表される、ユーザによる歌唱時の音声の音高を表しており、以下、これらをユーザ歌唱音高曲線201〜204という。
【0029】
図4(b)において、横軸は時間を表し、図4(b)中で左から右に進むほど時間が経過することを表している。図4(b)において、T1からT8に至る期間は判定対象区間であり、それぞれの単位区間は1小節の長さを表している。すなわち、T1〜T8の単位区間を合計すると8小節となる。図4(b)におけるT1〜T8と、図4(a)におけるT1〜T8とは、それぞれが同一の判定対象区間を表している。また、縦軸は音量を表し、図4(b)中で下から上に進むほど音量が大きくなることを表している。また、実線300は、ユーザ歌唱音声データによって表される、ユーザによる歌唱時の音声の音量を表しており、以下、これをユーザ歌唱音量曲線300という。このように、制御部10が、ユーザ歌唱音声データを「時間」と「音高」を座標軸とする座標平面に割り当てたものが、ユーザ歌唱音高曲線201〜204であり、ユーザ歌唱音声データを「時間」と「音量」を座標軸とする座標平面に割り当てたものが、ユーザ歌唱音量曲線300である。つまり、ユーザ歌唱音高曲線201〜204及びユーザ歌唱音量曲線300は、共に同一のユーザ歌唱音声データに基づいたものであり、両者は時間軸において対応付けられている。また、GMデータとユーザ歌唱音声データ(すなわち、ユーザ歌唱音高曲線及びユーザ歌唱音量曲線)は、図4(a)及び図4(b)にも明らかなように、同一の検出対象区間に同時に存在している。換言すれば、GMデータとユーザ歌唱音声データは、検出対象区間において同一の時刻に沿って進行する。
【0030】
図3において、制御部10は、差分音高が予め決められた第1の閾値を超える場合(ステップS712;YES)、図4(b)における判定対象区間のユーザ歌唱音量曲線300から、判定対象区間T1〜T8における音量の平均(以降、平均音量AVという)を算出する(ステップS713)。ステップS713における算出方法は、例えば制御部10が、判定対象区間T1〜T8において予め決められたサンプリング周期で音量を特定してこれらの音量を合算し、合算した音量をサンプリング数で割ることで算出すればよい。次に制御部10は、図4(a)の判定対象区間において、ユーザ歌唱音声データにおける最も高い音高である最高音高を特定する(ステップS714)。図4(a)に表されるように、制御部10は、判定対象区間T1〜T8において最も高い音高「A5」のノートN6が存在する区間T8における、ユーザ歌唱音高曲線204の音高のうち、最も高い音高を、最高音高HPであると特定する。そして制御部10は、最高音高HPの音声がユーザにより発せられたときの音量である最高音高音量HVを特定する(ステップS715)。具体的には制御部10は、図4(a)に示される、最高音高HPの音声がユーザにより発せされたときの時間tと時間軸で一致する、ユーザ歌唱音量曲線300(図4(b))の最高音高音量HVを特定する。そして制御部10は、最高音高音量HVから平均音量AVを減算することで、図4(b)に示される、両者の差分である差分音量DVaを算出する(ステップS716)。
【0031】
ステップS716の次に制御部10は、算出した差分音量DVaが、予め決められた第2の閾値を超えるか否かを判定する(ステップS717)。差分音量DVaが第2の閾値を超えない場合(ステップS717;NO)、制御部10は、図3の処理を終了して、図2のステップS800へ処理を進める。一方、差分音量DVaが予め決められた第2の閾値を超える場合(ステップS717;YES)、制御部10は、この判定対象区間において楽曲の特徴に合わせた抑揚が付けられていると判定し、判定結果と、この判定対象区間とを対応付けてRAMに記憶する(ステップS718)。そして制御部10は、図3の処理を終了して、図2のステップS800へ処理を進める。
【0032】
上述のステップS717における判定は、次のような考え方に基づいている。上述したように、ガイドメロディにおいて音高が低い方から高い方へ向かうに伴って、歌唱の音量も低い方から高い方へ向かった方が、楽曲の特徴に合わせた音量の大小、すなわち抑揚がついていると考えられる。すると、差分音量が第2の閾値を超えない場合とは、その判定対象区間において、低い方から高い方へ向けて一定以上の音高の変動があった箇所、すなわち盛り上がる箇所が存在しているにも関わらず、ユーザによる歌唱において、その盛り上がる箇所に合わせた一定以上の音量の落差、すなわち抑揚がつけられていない場合である、といえる。従ってこのような場合、制御部10は、後続の判定結果を記憶する処理を省略して、新たに判定対象区間を特定する処理を行うわけである。一方、差分音量が第2の閾値を超える場合とは、その判定対象区間において、盛り上がる箇所が存在し、且つ、ユーザによる歌唱において、その盛り上がる箇所に合わせた一定以上の音量の落差、すなわち抑揚がつけられた場合である、といえる。従ってこのような場合、制御部10は、判定対象区間におけるユーザ音声対象データにおいて、抑揚がついていると判定するわけである。制御部10は、このようにして抑揚がついていると判定したユーザ歌唱音声データは、それが例えば「シャウト」や、単なる「大声」であっても、全て抑揚として判定する。換言すれば、本発明において「抑揚」という用語の意味には、上記のようにして判定された音声が全て含まれる。
【0033】
さらにステップS717の判定において、判定対象区間におけるGMデータに付与されたコーラスフラグが「ON」の状態である場合、制御部10は、第2の閾値に対して予め決められた係数を加算或いは乗算する(いわゆる「重み付け」を行う)ことで、コーラスフラグが「OFF」の状態と比較して第2の閾値をより大きな値とする。これは、コーラスフラグが「ON」であるGMデータは、「サビ」、すなわち楽曲において盛り上がる箇所であることを意味するため、そのような箇所は、「サビ」以外の箇所と比較して、より大きな抑揚が付けられた方がダイナミックに聞こえ、結果として歌唱者の歌唱力が高いといえる、という考え方に基づいている。制御部10は、上記の考え方に基づいて、判定対象区間におけるGMデータに付与されたコーラスフラグが「ON」の状態である場合には、予め決められた係数を用いて、コーラスフラグが「OFF」の状態である場合と比較して第2の閾値をより大きなものに変更するわけである。ここで第2の閾値は、例えば、予め複数のユーザから採取したサンプルの歌唱音声データから実験的に求められればよい。
【0034】
上述したように、ステップS800において、ユーザによる歌唱が終了していない場合、(ステップS800;NO)、制御部10は、処理をステップS600へ進める。一方、ユーザによる歌唱が終了した場合、すなわち処理対象のユーザ歌唱音声データにおいて判定対象区間として特定されていないデータが残っていない場合(ステップS800;YES)、制御部10は、抑揚に関する判定結果を表示部40に表示させる(ステップS900)。図5は、抑揚の判定結果が表示されている様子を表す模式図である。横軸は時間を表し、図5において左から右へ進むほど時間が経過することを表している。また、「イントロ」、「Aメロ」、「Bメロ」、「サビ」、「間奏」、「Cメロ」、及び「アウトロ」と表記された複数の矩形は、それぞれ判定対象区間を表しており、ここでは各々の判定対象区間が8小節からなるとする。例えば、図5において、1回目の「Bメロ」では、ユーザが、この判定対象区間の楽曲の特徴に合わせて抑揚をつけた歌唱を行ったため、「○」の印が表示されている。また、1回目の「サビ」では、ユーザが、この判定対象区間の楽曲の特徴に合わせて上手く抑揚をつけて歌唱が行えなかったため、「△」の印が表示されている。制御部10は、ユーザによる歌唱が終了した後に、採点結果と共に、このような抑揚についての判定結果を表示部40に表示させる。
【0035】
図6は、制御部10の機能的構成を表すブロック図である。図6に表されるように、制御部10は、歌唱音声データ取得手段11、楽曲データ取得手段12、特定手段13、及び判定手段14として機能する。歌唱音声データ取得手段11及び楽曲データ取得手段12は、上述したとおりである。特定手段13は、取得した楽曲データ(GMデータ及び伴奏データ)によって表される楽曲の内容に基づき、楽曲において決められた区間、すなわち判定対象区間ごとに、抑揚の判定する際の比較対象となる単位区間を特定する特定手段として機能する。また、実施形態1において特定手段13は、判定対象区間ごとに、当該判定対象区間において楽曲データが指定する構成音のうち最も高い音高の構成音がある単位区間を、抑揚の判定する際の比較対象となる箇所として特定する。判定手段14は、取得したユーザ歌唱音声データによって表される音声のうち特定した単位区間を歌唱したときの音声の音量と、当該単位区間を含む判定対象区間を歌唱したときの音声の音量との違いに基づいて、当該判定対象区間における歌唱に抑揚があるか否かを判定する。
【0036】
このように、第1実施形態によれば、歌唱者が楽曲を歌唱したときの音声とその楽曲の内容との関係を考慮して抑揚を判定することが可能となる。また、第1実施形態によれば、判定対象区間において、リファレンスであるGMデータにおける音高が最も高く、且つ音高の差分が大きな箇所で、ユーザの歌唱音声の音量において一定の落差が存在するか否かを判定しているため、楽曲における盛り上がる箇所で抑揚がつけられているかどうかを、高い精度で判定することが可能となる。
【0037】
次に、本発明の第2実施形態について説明する。構成については第1実施形態と同様であるため説明を省略し、図2及び図8,9を用いた動作の説明を行う。
<第2実施形態>
<動作>
図2において、ステップS600までの処理は第1実施形態と第2実施形態は同様である。制御部10は、判定対象区間を特定すると(ステップS600)、判定対象区間に相当するユーザ歌唱音声データから、歌唱の抑揚を判定する(ステップS700)。図7は、第2実施形態に係る、抑揚を判定する処理におけるフローチャートである。ステップS721は、図3におけるステップS711と同様であり、ステップS722は、図3におけるステップS712と同様であり、ステップS723は、図3におけるステップS713と同様であるため、詳細な説明を省略する。
【0038】
ステップS723の次に、制御部10は、判定対象区間におけるGMデータの標本音高なるものを特定する(ステップS724)。図8(a)及び図8(b)は、第2実施形態に係る、標本音高及び差分音量の算出方法を説明するための模式図である。図8(a)は、判定対象区間における、GMデータとユーザ歌唱音声データとの関係を表した図である。図8(b)は、図8(a)と同一の判定対象区間における、ユーザ歌唱音声データの音量の変化を表した図である。図8(a)における座標系及び各符号については、図4(a)と同様である点について詳細な説明を省略する。また、図8(b)における座標系及び各符号については、図4(b)と同様である点について詳細な説明を省略する。
【0039】
ステップS724において、制御部10は、図8(a)における判定対象区間のノートN1〜N6及びユーザ歌唱音高曲線201〜204から、判定対象区間T1〜T8における標本音高を算出する。図9は、標本音高の算出方法を説明するための模式図である。図9において「音高」は、判定対象区間T1〜T8に存在するノートの音高のうち、最も低い音高から最も高い音高までを表している。また、「重み付け」は、各音高に対して、当該音高の音の高さに基づいて付けられた重み付けの値(以降、重み値という)を表している。図9においては、音高が全音上がるごとに、重み値が1ずつ増している。これは、楽曲において、低い音高から高い音高へと移る箇所は盛り上がる箇所である可能性が高いため、より高い音高で標本音高が特定されやすいようにした方が、楽曲の盛り上がる箇所における差分音量を算出しやすい、という考えに基づいている。また、「標本個数」は、判定対象区間T1〜T8において、各音高を持つGMデータが存在する単位区間の個数を表している。また、「標本値」は、各音高について、標本個数に重み値を乗算した値であり、判定対象区間T1〜T8において、各音高が標本としての意味を持つ値を表している。また、「中央音高」は、重み付けがなされた持つ音高のうち、標本値に基づいて算出された中央値にあたる音高(以降、中央音高という)がどれであるかを表しており、判定対象区間T1〜T8における中央音高に「○」の印が付されている。
【0040】
ステップS724において、まず制御部10は、判定対象区間T1〜T8に存在するガイドメロディの音高の各々に重み付けを行う。図8(a)においては、A4が最も低い音高であるため、制御部10は、A4を基準として(ここでは「1」)、音高が高くなるにつれて高い値となるように重み付けを行う。次に制御部10は、判定対象区間T1〜T8において、各々の音高を持つGMデータが存在する単位区間の個数を特定する。例えば図8(a)において、A4の音高を持つGMデータは、T1とT5の2つの単位区間に存在するため、図9においてA4の音高の標本個数は「2」となっている。次に制御部10は、それぞれの音高について、標本個数に重み値を乗算することで、標本値を算出する。次に制御部10は、判定対象区間における全ての標本値を合算し、これを標本個数の合計で除することで、中央音高を算出する。図9において、中央音高は、以下の式(a)によって求められる。
(a)(2+4+21+8)÷(2+1+3+1)=5
【0041】
式(a)で表されるように、図9においては「5」の重み付けを持つ音高「E4」が中央音高であることが分かる。次に制御部10は、中央音高である「E4」の音高により近い標本のうち、より高い音高を持つGMデータの音高、すなわち「G4」の音高を標本音高の基準となる音高(以降、基準音高という)として特定する。次に制御部10は、「G4」の音高を持つノートが複数存在するため、基準音高を持つノートのうち、対応付けられたユーザ歌唱音声データの音量が最も大きい単位区間を特定する。図8(a)において「G4」の音高を持つGMデータは、T3,T6及びT7の3つの単位区間に存在している。制御部10は、図8(b)の単位区間T3、T6及びT7におけるユーザ歌唱音量曲線から、T7の単位区間を、基準音高を持つノートのうち、対応付けられたユーザ歌唱音声データの音量が最も大きい単位区間として特定する。そして制御部10は、特定した単位区間T7のユーザ歌唱音高曲線204における最も高い音高を標本音高SPとして特定する。つまり、標本音高とは、判定対象区間におけるGMデータが存在する単位区間の各々を標本としたときに、各標本に重み付けを行うことで標本の中央値(平均値)を求めた場合の、この中央値により近い標本のうち、より高い音高及びより高い音量を持つ標本(すなわちGMデータ)に対応付けられたユーザ歌唱音声データの音高のことである。
【0042】
そして制御部10は、算出した標本音高SPの歌唱音声がユーザにより発せられたときの音量である標本音高音量SVを特定する(ステップS725)。具体的には制御部10は、図8(a)に示される、標本音高SPの歌唱音声がユーザにより発せされたときの時間tと時間軸で一致する、図8(b)に示されるユーザ歌唱音量曲線300の標本音高音量SVを特定する。そして制御部10は、標本音高音量SVから平均音量AVを減算することで、両者の差分である差分音量DVbを算出する(ステップS726)。このように、第2実施形態において制御部10は、判定対象区間ごとに、当該判定対象区間において楽曲データに含まれる構成音の音高に対して決められた重み付けを行って得た平均値よりも高い音高の構成音のうち、ユーザ歌唱音声データによって表される音量が最も高い音声に対応する構成音がある単位区間を、抑揚の判定する際の比較対象となる箇所として特定する。
【0043】
ステップS726の次に制御部10は、算出した差分音量DVbが、予め決められた第2の閾値を超えるか否かを判定する(ステップS727)。この第2の閾値は、第1実施形態におけるものと同じものである。差分音量DVbが予め決められた第2の閾値を超えない場合(ステップS727;NO)、制御部10は、ステップS700を抜けてステップS800へ処理を進める。一方、差分音量DVbが予め決められた第2の閾値を超える場合(ステップS727;YES)、制御部10は、判定対象区間において楽曲の特徴に合わせた抑揚が付けられていると判定し、判定結果と、この判定対象区間とを対応付けてRAMに記憶する(ステップS728)。そして制御部10は、ステップS700を抜けてステップS800へ処理を進める。
【0044】
また、第2実施形態においても、ステップS727の判定において、判定対象区間のGMデータに付与されたコーラスフラグが「ON」の状態である場合、制御部10は、第2の閾値に対して予め決められた係数を加算或いは乗算することで、コーラスフラグが「OFF」の状態と比較して第2の閾値をより大きな値としてもよい。なお、ステップS800以降の処理については第1実施形態と同様のため、詳細な説明を省略する。
【0045】
このように、第2実施形態においても、第1実施形態と同様の効果を奏することができる。また、第2実施形態によれば、リファレンスであるGMデータから、上述した標本音高なるものを特定し、これを差分音量の算出に用いているので、GMデータにおいて音高の差分が確実に一定量存在する箇所で、抑揚を判定することが可能となる。
【0046】
次に、本発明の第3実施形態について説明する。構成については第1実施形態と同様であるため説明を省略し、図2及び図10〜11を用いた動作の説明を行う。
<第3実施形態>
<動作>
図2において、ステップS600までの処理は第1実施形態と第3実施形態は同様である。制御部10は、判定対象区間を特定すると(ステップS600)、判定対象区間に相当するユーザ歌唱音声データから、歌唱の抑揚を判定する(ステップS700)。
【0047】
図10は、第3実施形態に係る、抑揚を判定する処理におけるフローチャートである。制御部10は、判定対象区間における単位区間毎に、GMデータの各ノートに対応付けられたユーザ歌唱音声データにおける歌唱音声の音量であるノート別歌唱音量を特定する(ステップS731)。図11は、第3実施形態に係る、ノート別歌唱音量の特定方法を説明するための模式図である。図11(a)における座標系及び各符号については、図4(a)と同様な点について詳細な説明を省略する。また、図11(b)における座標系及び各符号については、図4(b)と同様な点について詳細な説明を省略する。
【0048】
ステップS731において、制御部10は、図11(a)に示される各々のノートに対応付けられた、図11(b)に示されるユーザ歌唱音量曲線300から、歌唱音声の音量を特定する。例えば、ノートN1は単位区間T1に対応しているので、制御部10は、図11(b)における単位区間T1において、ユーザ歌唱音量曲線300に含まれる最も高い音量を、ノートN1のノート別歌唱音量NSV1として特定する。また、例えば、ノートN5は単位区間T6及びT7に対応しているので、制御部10は、図11(b)における単位区間T6及びT7において、ユーザ歌唱音量曲線300に含まれる最も高い音量を、ノートN5のノート別歌唱音量NSV5として特定する。同様にして、ステップS731において制御部10は、判定対象区間T1〜T8における全てのノートのノート別歌唱音量を特定する。
【0049】
図12は、ノート別歌唱音量の特定結果を表す図である。図12において「ノート」は、図11(a)におけるGMデータに含まれるノートの識別情報を表しており、各々のノートを区別するものである。また、図12において「音高」は、各々のノートに設定された音高を表している。また、図12において「ノート別歌唱音量」は、各々のノートのノート別歌唱音量を表している。このように、制御部10は、ステップS731の処理を行った結果、判定対象区間T1〜T8における、各ノートにおける音高及びノート別歌唱音量の組み合わせである音声情報データを、ユーザ歌唱音声データ及び楽曲データに基づいて生成する。ここで、音声情報データは、1つのノートの音高と1つのノート別歌唱音量とからなる1組を1単位とする。
【0050】
ステップS731の次に、制御部10は、音量と音高の2軸で表される座標系に、上記音声情報データを割り当てる(ステップS732)。そして制御部10は、座標系に音声情報データを割り当てた結果に対して最小二乗法を適用することにより、1次関数を導出する(ステップS733)。この1次関数は、ノートの音高とノート別歌唱音量との相関関係を表す相関関数である、といえる。図13は、1次関数の導出を説明するための模式図である。図13において、縦軸はノート別歌唱音量を表し(単位:dB)、図13中で下から上に進むほど音量が大きくなることを表している。図13において、横軸は音高を表し、図13中で左から右に進むほど音高が高くなることを表している。横軸においては、単位はセントであるが、説明の便宜上、図12において全音階で示された各ノートの音高をそのまま表している。図12における音声情報データが上述した座標系に割り当てられると、図13に表される状態となる。図13における黒丸で表された点の各々が、ノートの音高とノート別歌唱音量との組である音声情報データの各々を表している。制御部10は、ステップS733において、割り当てられた音声情報データに対して最小二乗法を適用し、1次関数を導出する。破線で表される線分Lは、この1次関数を表したものである。
【0051】
次に制御部10は、線分Lにおける傾きを表す係数(以降、相関係数という)の値が、予め決められた第3の閾値を超えているか否かを判定する(ステップS734)。相関係数の値が、予め決められた第3の閾値を超えない場合(ステップS734;NO)、制御部10は、ステップS700を抜けてステップS800へ処理を進める。一方、相関係数の値が、予め決められた第3の閾値を超える場合(ステップS734;YES)、制御部10は、判定対象区間において楽曲の特徴に合わせた抑揚が付けられていると判定し、判定結果と、この判定対象区間とを対応付けてRAMに記憶する(ステップS735)。そして制御部10は、ステップS700を抜けてステップS800へ処理を進める。
【0052】
上述のステップS734における判定は、次のような考え方に基づいている。図13のような座標系に、ノートの音高とノート別歌唱音量との組からなる音声情報データを割り当てたときに、ノートの音高の上昇に比例してノート別歌唱音量も上昇すると、1次関数で表される線分Lは右肩上がりとなり、その傾きは大きなものとなる。一方、図13のような座標系において、ノートの音高の上昇に比例してノート別歌唱音量がそれほど上昇しない場合、1次関数で表される線分Lは、その傾きが小さいものとなる。従って、ノートの音高の上昇に比例してノート別歌唱音量が十分に上昇している状態、すなわち、図13における線分Lの傾きが第3の閾値を超える場合、抑揚がついていると制御部10は判定するわけである。ここで第3の閾値は、例えば、予め複数のユーザから採取したサンプルの歌唱音声データから実験的に求められればよい。
【0053】
また、第3実施形態においても、ステップS734の判定において、判定対象区間のGMデータに付与されたコーラスフラグが「ON」の状態である場合、制御部10は、第3の閾値に対して予め決められた係数を加算或いは乗算することで、コーラスフラグが「OFF」の状態と比較して第3の閾値をより大きな値としてもよい。なお、ステップS800以降の処理については第1実施形態と同様のため、詳細な説明を省略する。
【0054】
このように、第3実施形態においても、第1実施形態と同様の効果を奏することができる。また、第3実施形態によれば、制御部10が、ノートの音高とノート別歌唱音量との組からなる音声情報データを座標系に割り当て、これらに最小二乗法を適用した結果、すなわちノートの音高とノート別歌唱音量との相関関係に基づいて抑揚の有無の判定を行っているため、音声情報データに急激な変化を表すデータが紛れていても、安定した精度で抑揚を判定することが可能となる。
【0055】
<変形例>
以上の実施形態は次のように変形可能である。尚、以下の変形例は適宜組み合わせて実施しても良い。
【0056】
<変形例1>
ステップS700における抑揚を判定する処理は、実施形態において説明した内容に限らない。例えば、コーラスフラグが「ON」のノートが判定対象区間のGMデータに含まれている場合、制御部10が第2の閾値に対して重み付けを行う以外に、次のようにしてもよい。この場合、図3におけるステップS714に代えて、ステップS714bにおいて制御部10は、以下のような処理を行う。ステップS714bにおいて、制御部10は、判定対象区間における、コーラスフラグが「ON」のノートに対応付けられたユーザ歌唱音高曲線のうち、最も高い音高を、最高音高HPとして特定する。このとき、コーラスフラグが「ON」のノートが判定対象区間のGMデータに複数存在する場合、例えば、制御部10は、そのうち最も高い音高を持つノートに対応付けられたユーザ歌唱音高曲線のうち、最も高い音高を、最高音高HPとして特定すればよい。コーラスフラグが「ON」のノートは、予め盛り上がる箇所として印が付けられたノートであるから、コーラスフラグが「OFF」のノートと比較して音高が高いことが多いと考えられる。従って、このような方法で最高音高HPを特定しても、楽曲において音高に落差が付いており盛り上がる箇所、すなわち音高が低い方から高い方へ向けて上昇している箇所を特定することが可能であるといえる。このように、変形例1において制御部10は、判定対象区間ごとに、楽曲データにおいてコーラスフラグが「ON」となっている構成音がある箇所を、抑揚の判定する際の比較対象となる箇所として特定する。このようにしても、ステップS700において、判定対象区間における盛り上がる箇所に対する、歌唱の音量の変動を判定することが可能となるから、実施形態と同様の効果を得ることができる。
【0057】
<変形例2>
ステップS700における抑揚を判定する処理は、以下のような方法でもよい。ここで、図3におけるステップS714に代えて、ステップS714cにおいて制御部10は、以下のような処理を行う。ステップS714cにおいて、制御部10は、判定対象区間における、伴奏データの同時発音数が最も多い単位区間のGMデータのノートを特定する。伴奏データはMIDI形式であるため、制御部10は、判定対象区間において伴奏データの同時発音数が最も多い単位区間を特定することが可能である。または、ステップS714に代えてステップS714dで制御部10は、判定対象区間における、伴奏データの音量が最も高い単位区間のGMデータのノートを特定する。このようにステップS714c又はステップS714dにおいて、伴奏データを対象としてGMデータのノートを特定している理由は、次のようなものによる。伴奏データの同時発音数が最も多い区間又は伴奏データの音量が最も高い区間とは、伴奏が盛り上がっている箇所ということが出来、一般的に伴奏は歌唱に合わせたものであるから、伴奏が盛り上がる箇所は、歌唱も盛り上がる箇所である可能性が高い。従って、変形例2においては、伴奏が盛り上がっている箇所を、楽曲において特徴のある箇所、すなわち楽曲の盛り上がる箇所として捉えているわけである。つまり、変形例2において、制御部10は、判定対象区間内において伴奏音声データに含まれる伴奏の同時発音数が最も多いタイミング又は伴奏の音量が最も大きいタイミングを調べ、楽曲データにおいて当該タイミングに対応する箇所を、抑揚の判定する際の比較対象となる箇所として特定する。
【0058】
そして制御部10は、ステップS715に代えてステップS715cにおいて、上記特定したGMデータのノートと時間軸で一致する区間のユーザ歌唱音量曲線のうち、最も高い音量を、最高音高音量HVとして特定する。このようにしても、ステップS700において、判定対象区間における盛り上がる箇所に対する、歌唱の音量の変動を判定することが可能となるから、実施形態と同様の効果を得ることができる。
【0059】
<変形例3>
制御部10による抑揚の判定は、判定対象区間内で行われるに限らず、或る判定対象区間と、この区間と隣り合う判定対象区間というように、判定対象区間同士を比較して、一方の判定対象区間は他方の判定対象区間よりも抑揚がついている、というような判定を制御部10が行ってもよい。この場合、例えば、図2におけるステップS800とステップS900との間に次のような処理を行うステップS850を設ければよい。まず、実施形態1及び2において、ステップS850に代えて行うステップS850aの処理を説明する。なお、実施形態1及び2では、ステップS800が終了した時点で、ユーザ歌唱音声データの各判定対象区間における差分音量が算出済みである。ステップS850aにおいて制御部10は、ユーザ歌唱音声データにおける先頭の判定対象区間を基準として、この判定対象区間における差分音量と、次の判定対象区間における差分音量との差分を算出する。そして制御部10は、算出した差分が予め決められた第4の閾値を超える場合、より高い差分音量を持つ判定対象区間を、より低い差分音量を持つ判定対象区間と比較して抑揚がついている、と判定する。制御部10は、この判定結果と、対象の判定対象区間とを対応付けてRAMに記憶する。制御部10は、このような処理を、基準となる判定対象区間を1つずつ進めるたびに行う。そして基準となる判定対象区間がユーザ歌唱音声データに存在しなくなると、制御部10は、ステップS850aの処理を終了する。ステップS900において、制御部10は、ステップS850aにおける判定対象区間同士における抑揚の判定結果を、表示部40に表示させてもよい。
【0060】
次に、実施形態3において、ステップS850に代えて行うステップS850bの処理を説明する。なお、実施形態3では、ステップS800が終了した時点で、ユーザ歌唱音声データの各判定対象区間における相関係数が算出済みである。ステップS850bにおいて制御部10は、ユーザ歌唱音声データにおける先頭の判定対象区間を基準として、この判定対象区間における相関係数と、次の判定対象区間における相関係数との差分を算出する。そして制御部10は、算出した差分が予め決められた第5の閾値を超える場合、より大きい相関係数を持つ判定対象区間を、より小さい相関係数を持つ判定対象区間と比較して抑揚がついている、と判定する。制御部10は、この判定結果と、対象の判定対象区間とを対応付けてRAMに記憶する。制御部10は、このような処理を、基準となる判定対象区間を1つずつ進めるたびに行う。そして基準となる判定対象区間がユーザ歌唱音声データに存在しなくなると、制御部10は、ステップS850bの処理を終了する。ステップS900において、制御部10は、ステップS850bにおける判定対象区間同士における抑揚の判定結果を、表示部40に表示させてもよい。
【0061】
このように変形例3によれば、判定対象区間内に限らず、判定対象区間同士の比較による抑揚の判定結果を得ることで、ユーザは、自らの歌唱について、より大きな時間の間隔における抑揚の巧拙を知ることができ、カラオケ装置で歌唱を行う際の新たな楽しみ方を得るとともに、歌唱の練習に役立つ情報を得ることが可能となる。
【0062】
<変形例4>
実施形態1及び2における第2の閾値は、予め決められた値ではなく、音高の差分を引数とする関数により算出される値であってもよい。例えば、この関数は、ステップS711又はステップS721で算出された差分音高を引数として、以下の式(b)として定めることが可能である。
(b)第2の閾値=f(差分音高)
式(b)の右辺における関数は、単純なものとしては式(c)のような1次関数が考えられるが、設計において式(d)のような2次関数を用いるようにしてもよい。
(c)第2の閾値=a×(差分音高)+b
(d)第2の閾値=a×(差分音高)2+b×(差分音高)+c
このようにすれば、第2の閾値が固定的な場合と比較して、制御部10が、判定対象区間内における音高の差分と相関がより強い状態で抑揚を判定することが可能となるため、楽曲の特徴に合わせてより柔軟に抑揚を判定することが可能となる。結果として、制御部10は、ガイドメロディにおける音高差が少なめの楽曲においても抑揚を判定することが可能となる。
【0063】
<変形例5>
実施形態2においては、判定対象区間におけるGMデータから標本音高を特定していたが、これに代えて、判定対象区間におけるユーザ歌唱音高曲線から標本音高を特定してもよい。例えば、変形例5において制御部10は、図7におけるステップS724に代えて、ステップS724bで以下のような処理を行う。ステップS724bにおいて、まず制御部10は、判定対象区間T1〜T8に存在するユーザ歌唱音高曲線の音高の各々に重み付けを行う。ここで制御部10は、各々の単位区間におけるユーザ歌唱音高曲線において最も高い音高を、その単位区間のユーザ歌唱音高曲線の音高とする。このとき、制御部10は、ユーザ歌唱音高曲線の各音高を、全音階に割り当てて特定する。制御部10は、判定対象区間T1〜T8に存在するユーザ歌唱音高曲線の音高において最も低い音高を基準として(例えば「1」)、音高が高くなるにつれて高い値となるように重み付けを行う。
【0064】
次に制御部10は、判定対象区間T1〜T8において、各々の音高を持つユーザ歌唱音高曲線が存在する単位区間の個数を標本個数として特定する。次に制御部10は、それぞれの音高について、標本個数に重み値を乗算することで、標本値を算出する。次に制御部10は、判定対象区間における全ての標本値を合算すると、これを標本個数の合計で除することで、重み付けの中央値を算出する。次に制御部10は、中央値の重み付けを持つ音高、すなわち中央音高により近い音高を持つ標本のうち、より高い音高を持つユーザ歌唱音高曲線の音高を標本音高として特定する。このようにすれば、GMデータに依らずに、ユーザ歌唱音声データに基づいて抑揚を判定することが可能となる。
【0065】
<変形例6>
実施形態1及び2においては、制御部10は、特定した箇所(単位区間)におけるユーザ歌唱音声データの音量と、当該箇所を含む判定対象区間におけるユーザ歌唱音声データの音量の平均値との差分を、差分音量として算出していたが、差分を算出する対象は平均値に限らず、例えば、判定対象区間におけるユーザ歌唱音声データの最も低い音高の音量との差分としてもよい。要するに、上記差分を算出する対象は、ユーザ歌唱音声データによって表される音声のうち特定した箇所をユーザが歌唱したときの音声の音量と、当該箇所を含む判定対象区間をユーザが歌唱したときの音声の音量との違いに基づいて抑揚があるか否かを判定できるものであれば、なんでもよい。
また、実施形態2において、制御部10は、判定対象区間ごとに、当該判定対象区間において楽曲データに含まれる構成音の音高に対して決められた重み付けを行って得た平均値よりも高い音高の構成音のうち、ユーザ歌唱音声データによって表される音量が最も高い音声に対応する構成音がある箇所を、抑揚を判定する際の比較対象となる箇所として特定していたが、重み付けを行わない単純な平均値を用いてもよい。
【0066】
<変形例7>
本発明は、抑揚判定装置以外にも、当該装置を備える歌唱評価装置、これらを実現するための方法、及びコンピュータに音声評価機能を実現させるためのプログラムとしても把握される。かかるプログラムは、これを記憶させた光ディスク等の記録媒体の形態で提供されたり、インターネット等を介して、コンピュータにダウンロードさせ、これをインストールして利用させるなどの形態でも提供されたりする。
【符号の説明】
【0067】
10…制御部、20…記憶部、21…伴奏データ記憶領域、22…映像データ記憶領域、23…GMデータ記憶領域、24…ユーザ歌唱音声データ記憶領域、30…操作部、40…表示部、50…通信部、60…音声処理部、61…マイクロホン、62…スピーカ、70…バス、100…カラオケ装置、201〜204…ユーザ歌唱音高曲線、300…ユーザ歌唱音量曲線、AV…平均音量、DVa,DVb…差分音量、HP…最高音高、HV…最高音高音量、L…線分、N1〜N6…ノート、NSV…ノート別歌唱音量、SP…標本音高、SV…標本音高音量
【技術分野】
【0001】
本発明は、歌唱者による歌唱の音声から抑揚を判定する技術に関する。
【背景技術】
【0002】
カラオケ装置においては、歌唱者による歌唱の巧拙を採点する機能を備えるものがある。この採点にあたって、カラオケ装置は、歌唱者による歌唱の音声を録音し、録音した音声を分析して特徴を検出することで、この分析結果と評価の基準とを照らし合わせて点数を算出する。
【0003】
ところで歌唱時において抑揚という歌唱技法が用いられることがある。この抑揚は、例えばサビと呼ばれるような、楽曲において感情を盛り上げて歌唱する箇所(以下、盛り上がる箇所という)において、その他の箇所よりも音量を上げて歌唱する、といったような技術によって実現される。つまり、抑揚は、歌唱における音量の大小によって表すことが可能であるといえる。一般的にプロの歌い手は抑揚を付けて歌唱することが上手であることからも分かるように、抑揚が上手く付けられた歌唱は、聞き手にとって上手に聞こえることが多い。従って、歌唱における抑揚の巧拙に対する評価を採点に反映させることができれば、より採点の精度を向上させることが可能となる。例えば特許文献1には、歌唱者による歌唱の音声における音量の変動の値を求め、この変動の値を、歌唱の採点において抑揚の評価に用いる方法が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008−268358号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に記載の技術では、歌唱音声の音量の変動の度合いのみに基づき抑揚を評価するため、その楽曲において盛り上がる箇所であるか否かに関わらず、歌唱の音量に一定の変動さえあれば、抑揚があるとして判定される。しかしこのような、楽曲の内容と歌唱の音声とを考慮せずに評価する方法では、聞き手にとっては上手な抑揚の付け方に聞こえないのにも関わらず、抑揚に関して高い点数がついてしまう場合があり、結果として採点の精度が高いとは言えない状態となってしまう。このように実際の歌唱に対して採点が不正確な状態が発生すると、カラオケ装置のユーザにとって不満感が高い。
本発明は上述の背景に鑑みてなされたものであり、歌唱者が楽曲を歌唱したときの音声とその楽曲の内容との関係を考慮して抑揚を判定することを目的とする。
【課題を解決するための手段】
【0006】
上述した課題を解決するために、本発明は、歌唱者が歌唱したときの音声を表す歌唱音声データを取得する歌唱音声データ取得手段と、歌唱対象となる楽曲の内容を表す楽曲データを取得する楽曲データ取得手段と、取得された前記楽曲データによって表される楽曲の内容に基づき、当該楽曲において決められた区間ごとに、抑揚を判定する際の比較対象となる箇所を特定する特定手段と、取得された前記歌唱音声データによって表される音声のうち特定された前記箇所を歌唱したときの音声の音量と、当該箇所を含む前記区間を歌唱したときの音声の音量との違いに基づいて、前記区間における歌唱に抑揚があるか否かを判定する判定手段とを備えることを特徴とする抑揚判定装置を提供する。
【0007】
好ましい態様において、前記楽曲データは、前記楽曲を構成する構成音の音高を指定し、前記特定手段は、前記決められた区間ごとに、当該区間において前記楽曲データが指定する構成音のうち最も高い音高の構成音がある箇所を、前記抑揚の判定対象となる箇所として特定する。
【0008】
別の好ましい態様において、前記楽曲データは、前記楽曲を構成する構成音の音高を指定し、前記特定手段は、前記決められた区間ごとに、当該区間において前記楽曲データに含まれる構成音の音高の平均値又は当該音高に対して決められた重み付けを行って得た平均値よりも高い音高の構成音のうち、前記歌唱音声データによって表される音量が最も高い音声に対応する構成音がある箇所を、前記抑揚の判定対象となる箇所として特定する。
【0009】
また別の好ましい態様において、前記楽曲データは、前記楽曲を構成する構成音の音高と、前記抑揚の判定対象となる箇所に対応する構成音を指定する指定情報とを含み、前記特定手段は、前記決められた区間ごとに、前記楽曲データにおいて前記指定情報により指定されている構成音がある箇所を、前記抑揚の判定対象となる箇所として特定する。
【0010】
また好ましい態様において、前記楽曲データは、前記楽曲の伴奏を表す伴奏データを含み、前記特定手段は、前記予め決められた区間内において前記伴奏データに含まれる伴奏の同時発音数が最も多いタイミング又は前記伴奏の音量が最も大きいタイミングを調べ、前記楽曲データにおいて当該タイミングに対応する箇所を、前記抑揚の判定対象となる箇所として特定する。
【0011】
また、本発明は、歌唱者が歌唱したときの音声を表す歌唱音声データを取得する歌唱音声データ取得手段と、歌唱対象となる楽曲を構成する構成音の音高を含む楽曲データを取得する楽曲データ取得手段と、前記歌唱対象となる楽曲において決められた区間ごとに、当該区間に含まれる前記構成音が歌唱されたときの音量と当該構成音の音高とを、前記歌唱音声データ及び前記楽曲データに基づいて特定し、特定した前記音量及び前記音高の組を、音量を表す第1軸と音高を表す第2軸とで構成される座標系に割り当てる割り当て手段と、前記決められた区間について前記割り当て手段により割り当てられた複数の前記組における前記音量と前記音高との相関関係に基づいて抑揚の有無を判定する判定手段とを備えることを特徴とする抑揚判定装置を提供する。
【発明の効果】
【0012】
本発明によれば、歌唱者が楽曲を歌唱したときの音声とその楽曲の内容との関係を考慮して抑揚を判定することが可能となる。
【図面の簡単な説明】
【0013】
【図1】カラオケ装置のハードウェア構成を表すブロック図
【図2】カラオケ装置における処理の流れを示すフローチャート
【図3】第1実施形態に係る、抑揚を判定する処理におけるフローチャート
【図4】第1実施形態に係る、差分音量の算出方法を説明するための模式図
【図5】抑揚の判定結果が表示されている様子を表す模式図
【図6】制御部の機能的構成を表すブロック図
【図7】第2実施形態に係る、抑揚を判定する処理におけるフローチャート
【図8】第2実施形態に係る、標本音高及び差分音量の算出方法を説明するための模式図
【図9】第2実施形態に係る、標本音高の算出方法を説明するための模式図
【図10】第3実施形態に係る、抑揚を判定する処理におけるフローチャート
【図11】第3実施形態に係る、ノート別歌唱音量の特定方法を説明するための模式図
【図12】第3実施形態に係る、ノート別歌唱音量の特定結果を表す図
【図13】第3実施形態に係る、1次関数の導出を説明するための模式図。
【発明を実施するための形態】
【0014】
以下、本発明の第1実施形態について説明する。
<第1実施形態>
<構成>
図1は、カラオケ装置100のハードウェア構成を表したブロック図である。
カラオケ装置100は、ユーザの歌唱に対して採点を行うものであり、特にユーザの歌唱において抑揚が付けて歌唱が行われた箇所を判定し、それを採点対象に含めて採点を行う。このカラオケ装置100においては、採点の方式に減点方式を採用している。ここで減点方式とは、あるカラオケ楽曲についてユーザが歌唱を開始した時点では満点から始まり(100点満点であれば100点)、ユーザによる歌唱が評価基準を満たさないときに減点が行われる、という方式である。図1に示すように、カラオケ装置100は、制御部10、記憶部20、操作部30、表示部40、通信部50、音声処理部60、マイクロホン61、及びスピーカ62を有し、これら各部がバス70を介して接続されている。
【0015】
制御部10は、CPU(Central Processing Unit)、RAM(Random Access Memory)、及びROM(Read Only Memory)等を有している。制御部10において、CPUが、ROMや記憶部20に記憶されているコンピュータプログラムを読み出しRAMにロードして実行することにより、カラオケ装置100の各部を制御する。制御部10は、時間を計測する計時機能を備えている。操作部30は、各種の操作子を備え、ユーザによる操作内容を表す操作信号を制御部10に出力する。表示部40は、例えば液晶パネルを備え、制御部10による制御の下、各カラオケ楽曲に応じた歌詞テロップや背景映像等を表示する。通信部50は、ネットワーク(非図示)を介して図示しないサーバ装置とデータ通信を行う。
【0016】
マイクロホン61は、収音した音声を表すアナログの音声信号を音声処理部60に出力する。音声処理部60は、A/D(Analog / Digital)コンバータを有し、マイクロホン61が出力したアナログの音声信号をデジタルの音声データに変換して制御部10に出力すると、制御部10は、これを取得する。このように、制御部10はユーザ(歌唱者)が歌唱したときの音声を表す音声データを取得する音声データ取得手段として機能する。また、音声処理部60は、D/A(Digital / Analog)コンバータを有し、制御部10から受け取ったデジタルの音声データをアナログの音声信号に変換してスピーカ62に出力する。スピーカ62は、音声処理部60から受け取ったアナログの音声信号に基づく音を放音する。記憶部20は、各種のデータを記憶するための記憶手段であり、例えばHDD(Hard Disk Drive)や不揮発性メモリである。記憶部20は、伴奏データ記憶領域21、映像データ記憶領域22、GM(Guide Melody)データ記憶領域23、及びユーザ歌唱音声データ記憶領域24といった複数の記憶領域を備えている。
【0017】
伴奏データ記憶領域21には、各楽曲における伴奏の音声を表す伴奏データに関する情報が記憶されている。伴奏データ記憶領域21には、楽曲を一意に識別するための番号である「曲番号」、各楽曲の名称を表す「曲名」、各楽曲の歌い手の名称を表す「歌手名」、各楽曲の伴奏データそのものであるデータファイルの格納場所である「ファイル格納場所」といった複数の項目からなる伴奏データレコードが複数記憶されている。この伴奏データのデータファイルは、例えば、MIDI(Musical Instrument Digital Interface)形式のファイルである。
【0018】
映像データ記憶領域22には、上述の曲番号、各楽曲の歌詞を示す歌詞データ及び歌詞の背景に表示される背景映像を表す背景映像データが対応付けられて記憶されている。歌詞データによって示される歌詞は、カラオケ歌唱の際に、楽曲の進行に伴って歌詞テロップとして表示部40に表示される。また、背景映像データによって表される背景映像は、カラオケ歌唱の際に楽曲の進行に伴って歌詞テロップの背景として表示部40に表示される。GMデータ記憶領域23には、上述の曲番号及び楽曲のボーカルパートのメロディを示すデータ、すなわち、歌唱すべき構成音(ノート)の音高を含む内容を指定するデータであるガイドメロディデータ(以下、GMデータという)が対応付けられて記憶されている。GMデータは、制御部10がユーザによる歌唱の巧拙を評価する際に比較の基準となるものである。GMデータにおける各ノートには、当該ノートのピッチ(音高)が情報として含まれている。また、GMデータには、各ノートについて、いわゆる「サビ」に相当する箇所であるか否かを示すコーラスフラグが付されている。「サビ」に相当する箇所は抑揚の判定対象となる箇所であるから、コーラスフラグは、抑揚の判定対象となる箇所に対応する構成音を指定する指定情報である、ともいえる。例えば、「AAA」という楽曲について、GMデータにおける、サビの箇所に相当するノートについてはコーラスフラグが「ON」の状態で付されている。一方、GMデータにおける、サビの箇所に相当しないノートについてはコーラスフラグが「OFF」の状態で付されている。GMデータは、例えば、MIDI形式により記述されている。
【0019】
ユーザ歌唱音声データ記憶領域24には、カラオケの対象となった各楽曲について、その伴奏データが再生されている期間中マイクロホン61によって収音されたユーザの歌唱音声が音声処理部60でデジタルデータに変換されることで生成された音声データが記憶される。この音声データをユーザ歌唱音声データという。このユーザ歌唱音声データは、例えば、WAVE(RIFF waveform Audio Format)形式のデータファイルとして記憶される。各楽曲についてのユーザ歌唱音声データは、制御部10によって、その楽曲のGMデータに対応付けられる。ここで、ユーザ歌唱音声データを、歌唱者が歌唱したときの音声を表す歌唱音声データと定義すると、GMデータと伴奏データとの組み合わせは、歌唱対象となる楽曲の内容を表す楽曲データとして定義することができる。つまり、制御部10は、歌唱対象となる楽曲の内容を表す楽曲データを取得する楽曲データ取得手段として機能する。
【0020】
<動作>
次に、図2〜図4を用いて、制御部10による抑揚の判定方法について説明を行う。
図2は、カラオケ装置における処理の流れを示すフローチャートである。操作部30を介してユーザにより楽曲が予約されると(ステップS100;YES)、制御部10は、記憶部20から予約された楽曲の検索を行う(ステップS200)。具体的にはステップS200において、制御部10は、伴奏データ記憶領域21、映像データ記憶領域22、及びGMデータ記憶領域23の各々から、選択された楽曲の曲番号をキーにして、その楽曲に関するデータを検索し、検索結果のデータをRAMに読み込む。ステップS200の次に、制御部10は、RAMに記憶された伴奏データ、映像データ、及びGMデータに基づいて、楽曲の再生を行う(ステップS300)。具体的にはステップS300において、制御部10は、伴奏データ及びGMデータに基づく音声をスピーカ62から放音させるとともに、映像データに基づく映像を表示部40に表示させる。
【0021】
次に制御部10は、この楽曲の再生期間中に、マイク61によって収音されたユーザの歌唱音声が音声処理部60によってデジタルのデータに変換されたものであるユーザ歌唱音声データを、ユーザ歌唱音声データ記憶領域24に記憶させる(ステップS400)。そして制御部10は、ユーザ歌唱音声データにLPF(Low-Pass Filter)を適用する(ステップS500)。ステップS500の処理を行う理由は、以下のようなものである。人間の声には、倍音を初めとする、複数の異なる周波数が含まれている。このような音声に基づくデータに対して、制御部10が、そのまま何らかの処理を行おうとすると、音声データの波形が複雑な形状をとるため、正確な結果を得るための演算処理も複雑なものとならざるを得ないばかりか、期待する結果が得られにくい、ということがある。そこで、制御部10が、音声情報データに予めLPFを適用し、後続の処理で不要な高周波成分を取り除くことによって、処理対象の音声データの波形を単純な形状として、ステップS500以降の処理における演算の精度を向上させるわけである。なお、音声情報データにLPFを適用しない場合でも、制御部10が後続の処理を行うことは可能であるが、より出力結果の精度を高くするためには、LPFを適用した方がなおよい。
【0022】
次に制御部10は、記憶されたユーザ歌唱音声データのうち、抑揚を判定する対象の区間である判定対象区間を特定する(ステップS600)。具体的にはステップS600において、制御部10は、
ユーザ歌唱音声データにおける時間の進行に合わせて、ユーザ歌唱音声データにおいて予め決められた区間(例えばここでは8小節)に相当する区間を判定対象区間として特定する。例えば、初めてステップS600の処理が行われる場合、制御部10は、ユーザ歌唱音声データの開始から8小節分の区間を判定対象区間として特定し、2度目のステップS600の処理では、ユーザ歌唱音声データの9小節目から8小節分の区間を判定対象区間として特定する、といった具合である。
【0023】
次に制御部10は、判定対象区間に相当するユーザ歌唱音声データから、歌唱の抑揚を判定する(ステップS700)。図3は、第1実施形態に係る、抑揚を判定する処理におけるフローチャートである。抑揚を判定するにあたって、まず制御部10は、判定対象区間におけるGMデータのノートのピッチ(以降においてGMピッチという)について、最も高い音高から最も低い音高を減算することで、両者の差分(以降、差分音高という)を算出する(ステップS711)。ここで、音高の単位はセントである。次に制御部10は、算出した差分音高が予め決められた第1の閾値を超えるか否かを判定する(ステップS712)。上記差分音高が第1の閾値を超えない場合(ステップS711;NO)、制御部10は、図3の処理を終了し、図2のステップS800へ処理を進める。ステップS800において、ユーザによる歌唱が終了していない場合、すなわち処理対象のユーザ歌唱音声データにおいて判定対象区間として特定されていないデータが残っている場合(ステップS800;NO)、制御部10は、処理をステップS600へ進める。そして制御部10は、ユーザ歌唱音声データにおいて新たな判定対象区間を特定し(ステップS600)、当該判定対象区間に相当するユーザ歌唱音声データから、歌唱の抑揚を判定する(ステップS700)。ユーザによる歌唱が終了する(ステップS800;YES)まで、制御部10は、ステップS600及びステップS700の処理を繰り返す。
【0024】
上述のステップS712において差分音高が予め決められた第1の閾値を超えない場合とは、その判定対象区間において一定以上の音高の変動がある箇所、すなわち盛り上がる箇所が存在しなかったということになる。そのような場合には、ユーザによる歌唱において楽曲中の盛り上がる箇所に合わせた抑揚もないという考え方に基づき、その判定対象区間に対する処理を終わらせてもよい。従ってこのような場合、制御部10は、後続の抑揚を判定する処理を省略して、ステップS600において新たに判定対象区間を特定する処理を行うわけである。ここで第1の閾値は、例えば、多数の楽曲のGMデータをサンプルとして予め実験的に求められればよい。
【0025】
上記差分音高が予め決められた第1の閾値を超える場合(ステップS712;YES)、制御部10は、以降に述べる処理によって、楽曲の盛り上がる箇所で抑揚がつけられているかの判定を行う。この判定は、次のような考え方に基づいている。まず、ガイドメロディにおいて音高が低い方から高い方へ向かうに伴って、歌唱の音量も低い方から高い方へ向かった方が、楽曲の特徴に合わせた音量の大小、すなわち抑揚がついていると考えられる。従って、制御部10は、判定対象区間において、ガイドメロディの音高差がある箇所で、ユーザ歌唱音声データにおける音量の差分が一定量以上みられる場合に抑揚を判定する。この考え方に基づけば、「サビ」以外の箇所であっても、盛り上がる箇所であれば、当該箇所で抑揚が付いているかどうかを、制御部10が判定することが可能となる。楽曲によっては、「サビ」以外にも、例えば、出だしの「Aメロ」が音高差の激しいメロディから成り立っていることもあるから、上記の考え方に基づく判定方法は、制御部10が楽曲の特徴に合わせて抑揚を判定するのに有効である、といえる。
【0026】
具体的には、まず、制御部10は、判定対象区間におけるユーザ歌唱音声データの音量の平均(以降、平均音量という)を算出する(ステップS713)。次に、制御部10は、判定対象区間における、最高の音高のノートを持つGMデータに対応するユーザ歌唱音声データの音高(以降、最高音高という)を特定すると(ステップS714)、特定した音高のノートと時間軸で一致するユーザ歌唱音声データにおける音量(以降、最高音高音量という)を特定する(ステップS715)。そして制御部10は、平均音量と最高音高音量との差分である差分音量を算出する(ステップS716)。
【0027】
図4(a)及び図4(b)は、第1実施形態に係る、差分音量の算出方法を説明するための模式図である。図4(a)は、判定対象区間における、GMデータとユーザ歌唱音声データとの関係を表した図である。図4(b)は、図4(a)と同一の判定対象区間における、ユーザ歌唱音声データの音量の変化を表した図である。図4(a)において、横軸は時間を表し、図4(a)中で左から右に進むほど時間が経過することを表している。T1からT8に至る区間は判定対象区間である。ここでT1〜T8の各々を単位区間という。単位区間は1小節であるから、判定対象区間は8小節となる。また、縦軸は音高を表し、図4(a)中で下から上に進むほど音高が高くなることを表している。縦軸の1つの目盛りは200セント(全音)の音高を意味している。つまり、例えば、音高「A4」に対応する目盛りに対して1目盛り分だけ上方に位置する目盛りは、「B4」の音高を表している。また、音高「A4」に対応する目盛りに対して1目盛り分だけ下方に位置する目盛りは、「G3」の音高を表している。
【0028】
また、図4(a)において領域N1〜N6は、GMデータに基づく音高を持つガイドメロディの構成音(ノート)を表している。例えば、図4(a)に示される期間においては、A4の音高の音がT1の期間だけ続いた後に、D4の音高の音がT2の期間だけ続き、さらにその後G4の音高の音がT3の期間だけ続くと、T4の期間だけ無音の状態が続くといった具合である。また、実線201〜204は、ユーザ歌唱音声データによって表される、ユーザによる歌唱時の音声の音高を表しており、以下、これらをユーザ歌唱音高曲線201〜204という。
【0029】
図4(b)において、横軸は時間を表し、図4(b)中で左から右に進むほど時間が経過することを表している。図4(b)において、T1からT8に至る期間は判定対象区間であり、それぞれの単位区間は1小節の長さを表している。すなわち、T1〜T8の単位区間を合計すると8小節となる。図4(b)におけるT1〜T8と、図4(a)におけるT1〜T8とは、それぞれが同一の判定対象区間を表している。また、縦軸は音量を表し、図4(b)中で下から上に進むほど音量が大きくなることを表している。また、実線300は、ユーザ歌唱音声データによって表される、ユーザによる歌唱時の音声の音量を表しており、以下、これをユーザ歌唱音量曲線300という。このように、制御部10が、ユーザ歌唱音声データを「時間」と「音高」を座標軸とする座標平面に割り当てたものが、ユーザ歌唱音高曲線201〜204であり、ユーザ歌唱音声データを「時間」と「音量」を座標軸とする座標平面に割り当てたものが、ユーザ歌唱音量曲線300である。つまり、ユーザ歌唱音高曲線201〜204及びユーザ歌唱音量曲線300は、共に同一のユーザ歌唱音声データに基づいたものであり、両者は時間軸において対応付けられている。また、GMデータとユーザ歌唱音声データ(すなわち、ユーザ歌唱音高曲線及びユーザ歌唱音量曲線)は、図4(a)及び図4(b)にも明らかなように、同一の検出対象区間に同時に存在している。換言すれば、GMデータとユーザ歌唱音声データは、検出対象区間において同一の時刻に沿って進行する。
【0030】
図3において、制御部10は、差分音高が予め決められた第1の閾値を超える場合(ステップS712;YES)、図4(b)における判定対象区間のユーザ歌唱音量曲線300から、判定対象区間T1〜T8における音量の平均(以降、平均音量AVという)を算出する(ステップS713)。ステップS713における算出方法は、例えば制御部10が、判定対象区間T1〜T8において予め決められたサンプリング周期で音量を特定してこれらの音量を合算し、合算した音量をサンプリング数で割ることで算出すればよい。次に制御部10は、図4(a)の判定対象区間において、ユーザ歌唱音声データにおける最も高い音高である最高音高を特定する(ステップS714)。図4(a)に表されるように、制御部10は、判定対象区間T1〜T8において最も高い音高「A5」のノートN6が存在する区間T8における、ユーザ歌唱音高曲線204の音高のうち、最も高い音高を、最高音高HPであると特定する。そして制御部10は、最高音高HPの音声がユーザにより発せられたときの音量である最高音高音量HVを特定する(ステップS715)。具体的には制御部10は、図4(a)に示される、最高音高HPの音声がユーザにより発せされたときの時間tと時間軸で一致する、ユーザ歌唱音量曲線300(図4(b))の最高音高音量HVを特定する。そして制御部10は、最高音高音量HVから平均音量AVを減算することで、図4(b)に示される、両者の差分である差分音量DVaを算出する(ステップS716)。
【0031】
ステップS716の次に制御部10は、算出した差分音量DVaが、予め決められた第2の閾値を超えるか否かを判定する(ステップS717)。差分音量DVaが第2の閾値を超えない場合(ステップS717;NO)、制御部10は、図3の処理を終了して、図2のステップS800へ処理を進める。一方、差分音量DVaが予め決められた第2の閾値を超える場合(ステップS717;YES)、制御部10は、この判定対象区間において楽曲の特徴に合わせた抑揚が付けられていると判定し、判定結果と、この判定対象区間とを対応付けてRAMに記憶する(ステップS718)。そして制御部10は、図3の処理を終了して、図2のステップS800へ処理を進める。
【0032】
上述のステップS717における判定は、次のような考え方に基づいている。上述したように、ガイドメロディにおいて音高が低い方から高い方へ向かうに伴って、歌唱の音量も低い方から高い方へ向かった方が、楽曲の特徴に合わせた音量の大小、すなわち抑揚がついていると考えられる。すると、差分音量が第2の閾値を超えない場合とは、その判定対象区間において、低い方から高い方へ向けて一定以上の音高の変動があった箇所、すなわち盛り上がる箇所が存在しているにも関わらず、ユーザによる歌唱において、その盛り上がる箇所に合わせた一定以上の音量の落差、すなわち抑揚がつけられていない場合である、といえる。従ってこのような場合、制御部10は、後続の判定結果を記憶する処理を省略して、新たに判定対象区間を特定する処理を行うわけである。一方、差分音量が第2の閾値を超える場合とは、その判定対象区間において、盛り上がる箇所が存在し、且つ、ユーザによる歌唱において、その盛り上がる箇所に合わせた一定以上の音量の落差、すなわち抑揚がつけられた場合である、といえる。従ってこのような場合、制御部10は、判定対象区間におけるユーザ音声対象データにおいて、抑揚がついていると判定するわけである。制御部10は、このようにして抑揚がついていると判定したユーザ歌唱音声データは、それが例えば「シャウト」や、単なる「大声」であっても、全て抑揚として判定する。換言すれば、本発明において「抑揚」という用語の意味には、上記のようにして判定された音声が全て含まれる。
【0033】
さらにステップS717の判定において、判定対象区間におけるGMデータに付与されたコーラスフラグが「ON」の状態である場合、制御部10は、第2の閾値に対して予め決められた係数を加算或いは乗算する(いわゆる「重み付け」を行う)ことで、コーラスフラグが「OFF」の状態と比較して第2の閾値をより大きな値とする。これは、コーラスフラグが「ON」であるGMデータは、「サビ」、すなわち楽曲において盛り上がる箇所であることを意味するため、そのような箇所は、「サビ」以外の箇所と比較して、より大きな抑揚が付けられた方がダイナミックに聞こえ、結果として歌唱者の歌唱力が高いといえる、という考え方に基づいている。制御部10は、上記の考え方に基づいて、判定対象区間におけるGMデータに付与されたコーラスフラグが「ON」の状態である場合には、予め決められた係数を用いて、コーラスフラグが「OFF」の状態である場合と比較して第2の閾値をより大きなものに変更するわけである。ここで第2の閾値は、例えば、予め複数のユーザから採取したサンプルの歌唱音声データから実験的に求められればよい。
【0034】
上述したように、ステップS800において、ユーザによる歌唱が終了していない場合、(ステップS800;NO)、制御部10は、処理をステップS600へ進める。一方、ユーザによる歌唱が終了した場合、すなわち処理対象のユーザ歌唱音声データにおいて判定対象区間として特定されていないデータが残っていない場合(ステップS800;YES)、制御部10は、抑揚に関する判定結果を表示部40に表示させる(ステップS900)。図5は、抑揚の判定結果が表示されている様子を表す模式図である。横軸は時間を表し、図5において左から右へ進むほど時間が経過することを表している。また、「イントロ」、「Aメロ」、「Bメロ」、「サビ」、「間奏」、「Cメロ」、及び「アウトロ」と表記された複数の矩形は、それぞれ判定対象区間を表しており、ここでは各々の判定対象区間が8小節からなるとする。例えば、図5において、1回目の「Bメロ」では、ユーザが、この判定対象区間の楽曲の特徴に合わせて抑揚をつけた歌唱を行ったため、「○」の印が表示されている。また、1回目の「サビ」では、ユーザが、この判定対象区間の楽曲の特徴に合わせて上手く抑揚をつけて歌唱が行えなかったため、「△」の印が表示されている。制御部10は、ユーザによる歌唱が終了した後に、採点結果と共に、このような抑揚についての判定結果を表示部40に表示させる。
【0035】
図6は、制御部10の機能的構成を表すブロック図である。図6に表されるように、制御部10は、歌唱音声データ取得手段11、楽曲データ取得手段12、特定手段13、及び判定手段14として機能する。歌唱音声データ取得手段11及び楽曲データ取得手段12は、上述したとおりである。特定手段13は、取得した楽曲データ(GMデータ及び伴奏データ)によって表される楽曲の内容に基づき、楽曲において決められた区間、すなわち判定対象区間ごとに、抑揚の判定する際の比較対象となる単位区間を特定する特定手段として機能する。また、実施形態1において特定手段13は、判定対象区間ごとに、当該判定対象区間において楽曲データが指定する構成音のうち最も高い音高の構成音がある単位区間を、抑揚の判定する際の比較対象となる箇所として特定する。判定手段14は、取得したユーザ歌唱音声データによって表される音声のうち特定した単位区間を歌唱したときの音声の音量と、当該単位区間を含む判定対象区間を歌唱したときの音声の音量との違いに基づいて、当該判定対象区間における歌唱に抑揚があるか否かを判定する。
【0036】
このように、第1実施形態によれば、歌唱者が楽曲を歌唱したときの音声とその楽曲の内容との関係を考慮して抑揚を判定することが可能となる。また、第1実施形態によれば、判定対象区間において、リファレンスであるGMデータにおける音高が最も高く、且つ音高の差分が大きな箇所で、ユーザの歌唱音声の音量において一定の落差が存在するか否かを判定しているため、楽曲における盛り上がる箇所で抑揚がつけられているかどうかを、高い精度で判定することが可能となる。
【0037】
次に、本発明の第2実施形態について説明する。構成については第1実施形態と同様であるため説明を省略し、図2及び図8,9を用いた動作の説明を行う。
<第2実施形態>
<動作>
図2において、ステップS600までの処理は第1実施形態と第2実施形態は同様である。制御部10は、判定対象区間を特定すると(ステップS600)、判定対象区間に相当するユーザ歌唱音声データから、歌唱の抑揚を判定する(ステップS700)。図7は、第2実施形態に係る、抑揚を判定する処理におけるフローチャートである。ステップS721は、図3におけるステップS711と同様であり、ステップS722は、図3におけるステップS712と同様であり、ステップS723は、図3におけるステップS713と同様であるため、詳細な説明を省略する。
【0038】
ステップS723の次に、制御部10は、判定対象区間におけるGMデータの標本音高なるものを特定する(ステップS724)。図8(a)及び図8(b)は、第2実施形態に係る、標本音高及び差分音量の算出方法を説明するための模式図である。図8(a)は、判定対象区間における、GMデータとユーザ歌唱音声データとの関係を表した図である。図8(b)は、図8(a)と同一の判定対象区間における、ユーザ歌唱音声データの音量の変化を表した図である。図8(a)における座標系及び各符号については、図4(a)と同様である点について詳細な説明を省略する。また、図8(b)における座標系及び各符号については、図4(b)と同様である点について詳細な説明を省略する。
【0039】
ステップS724において、制御部10は、図8(a)における判定対象区間のノートN1〜N6及びユーザ歌唱音高曲線201〜204から、判定対象区間T1〜T8における標本音高を算出する。図9は、標本音高の算出方法を説明するための模式図である。図9において「音高」は、判定対象区間T1〜T8に存在するノートの音高のうち、最も低い音高から最も高い音高までを表している。また、「重み付け」は、各音高に対して、当該音高の音の高さに基づいて付けられた重み付けの値(以降、重み値という)を表している。図9においては、音高が全音上がるごとに、重み値が1ずつ増している。これは、楽曲において、低い音高から高い音高へと移る箇所は盛り上がる箇所である可能性が高いため、より高い音高で標本音高が特定されやすいようにした方が、楽曲の盛り上がる箇所における差分音量を算出しやすい、という考えに基づいている。また、「標本個数」は、判定対象区間T1〜T8において、各音高を持つGMデータが存在する単位区間の個数を表している。また、「標本値」は、各音高について、標本個数に重み値を乗算した値であり、判定対象区間T1〜T8において、各音高が標本としての意味を持つ値を表している。また、「中央音高」は、重み付けがなされた持つ音高のうち、標本値に基づいて算出された中央値にあたる音高(以降、中央音高という)がどれであるかを表しており、判定対象区間T1〜T8における中央音高に「○」の印が付されている。
【0040】
ステップS724において、まず制御部10は、判定対象区間T1〜T8に存在するガイドメロディの音高の各々に重み付けを行う。図8(a)においては、A4が最も低い音高であるため、制御部10は、A4を基準として(ここでは「1」)、音高が高くなるにつれて高い値となるように重み付けを行う。次に制御部10は、判定対象区間T1〜T8において、各々の音高を持つGMデータが存在する単位区間の個数を特定する。例えば図8(a)において、A4の音高を持つGMデータは、T1とT5の2つの単位区間に存在するため、図9においてA4の音高の標本個数は「2」となっている。次に制御部10は、それぞれの音高について、標本個数に重み値を乗算することで、標本値を算出する。次に制御部10は、判定対象区間における全ての標本値を合算し、これを標本個数の合計で除することで、中央音高を算出する。図9において、中央音高は、以下の式(a)によって求められる。
(a)(2+4+21+8)÷(2+1+3+1)=5
【0041】
式(a)で表されるように、図9においては「5」の重み付けを持つ音高「E4」が中央音高であることが分かる。次に制御部10は、中央音高である「E4」の音高により近い標本のうち、より高い音高を持つGMデータの音高、すなわち「G4」の音高を標本音高の基準となる音高(以降、基準音高という)として特定する。次に制御部10は、「G4」の音高を持つノートが複数存在するため、基準音高を持つノートのうち、対応付けられたユーザ歌唱音声データの音量が最も大きい単位区間を特定する。図8(a)において「G4」の音高を持つGMデータは、T3,T6及びT7の3つの単位区間に存在している。制御部10は、図8(b)の単位区間T3、T6及びT7におけるユーザ歌唱音量曲線から、T7の単位区間を、基準音高を持つノートのうち、対応付けられたユーザ歌唱音声データの音量が最も大きい単位区間として特定する。そして制御部10は、特定した単位区間T7のユーザ歌唱音高曲線204における最も高い音高を標本音高SPとして特定する。つまり、標本音高とは、判定対象区間におけるGMデータが存在する単位区間の各々を標本としたときに、各標本に重み付けを行うことで標本の中央値(平均値)を求めた場合の、この中央値により近い標本のうち、より高い音高及びより高い音量を持つ標本(すなわちGMデータ)に対応付けられたユーザ歌唱音声データの音高のことである。
【0042】
そして制御部10は、算出した標本音高SPの歌唱音声がユーザにより発せられたときの音量である標本音高音量SVを特定する(ステップS725)。具体的には制御部10は、図8(a)に示される、標本音高SPの歌唱音声がユーザにより発せされたときの時間tと時間軸で一致する、図8(b)に示されるユーザ歌唱音量曲線300の標本音高音量SVを特定する。そして制御部10は、標本音高音量SVから平均音量AVを減算することで、両者の差分である差分音量DVbを算出する(ステップS726)。このように、第2実施形態において制御部10は、判定対象区間ごとに、当該判定対象区間において楽曲データに含まれる構成音の音高に対して決められた重み付けを行って得た平均値よりも高い音高の構成音のうち、ユーザ歌唱音声データによって表される音量が最も高い音声に対応する構成音がある単位区間を、抑揚の判定する際の比較対象となる箇所として特定する。
【0043】
ステップS726の次に制御部10は、算出した差分音量DVbが、予め決められた第2の閾値を超えるか否かを判定する(ステップS727)。この第2の閾値は、第1実施形態におけるものと同じものである。差分音量DVbが予め決められた第2の閾値を超えない場合(ステップS727;NO)、制御部10は、ステップS700を抜けてステップS800へ処理を進める。一方、差分音量DVbが予め決められた第2の閾値を超える場合(ステップS727;YES)、制御部10は、判定対象区間において楽曲の特徴に合わせた抑揚が付けられていると判定し、判定結果と、この判定対象区間とを対応付けてRAMに記憶する(ステップS728)。そして制御部10は、ステップS700を抜けてステップS800へ処理を進める。
【0044】
また、第2実施形態においても、ステップS727の判定において、判定対象区間のGMデータに付与されたコーラスフラグが「ON」の状態である場合、制御部10は、第2の閾値に対して予め決められた係数を加算或いは乗算することで、コーラスフラグが「OFF」の状態と比較して第2の閾値をより大きな値としてもよい。なお、ステップS800以降の処理については第1実施形態と同様のため、詳細な説明を省略する。
【0045】
このように、第2実施形態においても、第1実施形態と同様の効果を奏することができる。また、第2実施形態によれば、リファレンスであるGMデータから、上述した標本音高なるものを特定し、これを差分音量の算出に用いているので、GMデータにおいて音高の差分が確実に一定量存在する箇所で、抑揚を判定することが可能となる。
【0046】
次に、本発明の第3実施形態について説明する。構成については第1実施形態と同様であるため説明を省略し、図2及び図10〜11を用いた動作の説明を行う。
<第3実施形態>
<動作>
図2において、ステップS600までの処理は第1実施形態と第3実施形態は同様である。制御部10は、判定対象区間を特定すると(ステップS600)、判定対象区間に相当するユーザ歌唱音声データから、歌唱の抑揚を判定する(ステップS700)。
【0047】
図10は、第3実施形態に係る、抑揚を判定する処理におけるフローチャートである。制御部10は、判定対象区間における単位区間毎に、GMデータの各ノートに対応付けられたユーザ歌唱音声データにおける歌唱音声の音量であるノート別歌唱音量を特定する(ステップS731)。図11は、第3実施形態に係る、ノート別歌唱音量の特定方法を説明するための模式図である。図11(a)における座標系及び各符号については、図4(a)と同様な点について詳細な説明を省略する。また、図11(b)における座標系及び各符号については、図4(b)と同様な点について詳細な説明を省略する。
【0048】
ステップS731において、制御部10は、図11(a)に示される各々のノートに対応付けられた、図11(b)に示されるユーザ歌唱音量曲線300から、歌唱音声の音量を特定する。例えば、ノートN1は単位区間T1に対応しているので、制御部10は、図11(b)における単位区間T1において、ユーザ歌唱音量曲線300に含まれる最も高い音量を、ノートN1のノート別歌唱音量NSV1として特定する。また、例えば、ノートN5は単位区間T6及びT7に対応しているので、制御部10は、図11(b)における単位区間T6及びT7において、ユーザ歌唱音量曲線300に含まれる最も高い音量を、ノートN5のノート別歌唱音量NSV5として特定する。同様にして、ステップS731において制御部10は、判定対象区間T1〜T8における全てのノートのノート別歌唱音量を特定する。
【0049】
図12は、ノート別歌唱音量の特定結果を表す図である。図12において「ノート」は、図11(a)におけるGMデータに含まれるノートの識別情報を表しており、各々のノートを区別するものである。また、図12において「音高」は、各々のノートに設定された音高を表している。また、図12において「ノート別歌唱音量」は、各々のノートのノート別歌唱音量を表している。このように、制御部10は、ステップS731の処理を行った結果、判定対象区間T1〜T8における、各ノートにおける音高及びノート別歌唱音量の組み合わせである音声情報データを、ユーザ歌唱音声データ及び楽曲データに基づいて生成する。ここで、音声情報データは、1つのノートの音高と1つのノート別歌唱音量とからなる1組を1単位とする。
【0050】
ステップS731の次に、制御部10は、音量と音高の2軸で表される座標系に、上記音声情報データを割り当てる(ステップS732)。そして制御部10は、座標系に音声情報データを割り当てた結果に対して最小二乗法を適用することにより、1次関数を導出する(ステップS733)。この1次関数は、ノートの音高とノート別歌唱音量との相関関係を表す相関関数である、といえる。図13は、1次関数の導出を説明するための模式図である。図13において、縦軸はノート別歌唱音量を表し(単位:dB)、図13中で下から上に進むほど音量が大きくなることを表している。図13において、横軸は音高を表し、図13中で左から右に進むほど音高が高くなることを表している。横軸においては、単位はセントであるが、説明の便宜上、図12において全音階で示された各ノートの音高をそのまま表している。図12における音声情報データが上述した座標系に割り当てられると、図13に表される状態となる。図13における黒丸で表された点の各々が、ノートの音高とノート別歌唱音量との組である音声情報データの各々を表している。制御部10は、ステップS733において、割り当てられた音声情報データに対して最小二乗法を適用し、1次関数を導出する。破線で表される線分Lは、この1次関数を表したものである。
【0051】
次に制御部10は、線分Lにおける傾きを表す係数(以降、相関係数という)の値が、予め決められた第3の閾値を超えているか否かを判定する(ステップS734)。相関係数の値が、予め決められた第3の閾値を超えない場合(ステップS734;NO)、制御部10は、ステップS700を抜けてステップS800へ処理を進める。一方、相関係数の値が、予め決められた第3の閾値を超える場合(ステップS734;YES)、制御部10は、判定対象区間において楽曲の特徴に合わせた抑揚が付けられていると判定し、判定結果と、この判定対象区間とを対応付けてRAMに記憶する(ステップS735)。そして制御部10は、ステップS700を抜けてステップS800へ処理を進める。
【0052】
上述のステップS734における判定は、次のような考え方に基づいている。図13のような座標系に、ノートの音高とノート別歌唱音量との組からなる音声情報データを割り当てたときに、ノートの音高の上昇に比例してノート別歌唱音量も上昇すると、1次関数で表される線分Lは右肩上がりとなり、その傾きは大きなものとなる。一方、図13のような座標系において、ノートの音高の上昇に比例してノート別歌唱音量がそれほど上昇しない場合、1次関数で表される線分Lは、その傾きが小さいものとなる。従って、ノートの音高の上昇に比例してノート別歌唱音量が十分に上昇している状態、すなわち、図13における線分Lの傾きが第3の閾値を超える場合、抑揚がついていると制御部10は判定するわけである。ここで第3の閾値は、例えば、予め複数のユーザから採取したサンプルの歌唱音声データから実験的に求められればよい。
【0053】
また、第3実施形態においても、ステップS734の判定において、判定対象区間のGMデータに付与されたコーラスフラグが「ON」の状態である場合、制御部10は、第3の閾値に対して予め決められた係数を加算或いは乗算することで、コーラスフラグが「OFF」の状態と比較して第3の閾値をより大きな値としてもよい。なお、ステップS800以降の処理については第1実施形態と同様のため、詳細な説明を省略する。
【0054】
このように、第3実施形態においても、第1実施形態と同様の効果を奏することができる。また、第3実施形態によれば、制御部10が、ノートの音高とノート別歌唱音量との組からなる音声情報データを座標系に割り当て、これらに最小二乗法を適用した結果、すなわちノートの音高とノート別歌唱音量との相関関係に基づいて抑揚の有無の判定を行っているため、音声情報データに急激な変化を表すデータが紛れていても、安定した精度で抑揚を判定することが可能となる。
【0055】
<変形例>
以上の実施形態は次のように変形可能である。尚、以下の変形例は適宜組み合わせて実施しても良い。
【0056】
<変形例1>
ステップS700における抑揚を判定する処理は、実施形態において説明した内容に限らない。例えば、コーラスフラグが「ON」のノートが判定対象区間のGMデータに含まれている場合、制御部10が第2の閾値に対して重み付けを行う以外に、次のようにしてもよい。この場合、図3におけるステップS714に代えて、ステップS714bにおいて制御部10は、以下のような処理を行う。ステップS714bにおいて、制御部10は、判定対象区間における、コーラスフラグが「ON」のノートに対応付けられたユーザ歌唱音高曲線のうち、最も高い音高を、最高音高HPとして特定する。このとき、コーラスフラグが「ON」のノートが判定対象区間のGMデータに複数存在する場合、例えば、制御部10は、そのうち最も高い音高を持つノートに対応付けられたユーザ歌唱音高曲線のうち、最も高い音高を、最高音高HPとして特定すればよい。コーラスフラグが「ON」のノートは、予め盛り上がる箇所として印が付けられたノートであるから、コーラスフラグが「OFF」のノートと比較して音高が高いことが多いと考えられる。従って、このような方法で最高音高HPを特定しても、楽曲において音高に落差が付いており盛り上がる箇所、すなわち音高が低い方から高い方へ向けて上昇している箇所を特定することが可能であるといえる。このように、変形例1において制御部10は、判定対象区間ごとに、楽曲データにおいてコーラスフラグが「ON」となっている構成音がある箇所を、抑揚の判定する際の比較対象となる箇所として特定する。このようにしても、ステップS700において、判定対象区間における盛り上がる箇所に対する、歌唱の音量の変動を判定することが可能となるから、実施形態と同様の効果を得ることができる。
【0057】
<変形例2>
ステップS700における抑揚を判定する処理は、以下のような方法でもよい。ここで、図3におけるステップS714に代えて、ステップS714cにおいて制御部10は、以下のような処理を行う。ステップS714cにおいて、制御部10は、判定対象区間における、伴奏データの同時発音数が最も多い単位区間のGMデータのノートを特定する。伴奏データはMIDI形式であるため、制御部10は、判定対象区間において伴奏データの同時発音数が最も多い単位区間を特定することが可能である。または、ステップS714に代えてステップS714dで制御部10は、判定対象区間における、伴奏データの音量が最も高い単位区間のGMデータのノートを特定する。このようにステップS714c又はステップS714dにおいて、伴奏データを対象としてGMデータのノートを特定している理由は、次のようなものによる。伴奏データの同時発音数が最も多い区間又は伴奏データの音量が最も高い区間とは、伴奏が盛り上がっている箇所ということが出来、一般的に伴奏は歌唱に合わせたものであるから、伴奏が盛り上がる箇所は、歌唱も盛り上がる箇所である可能性が高い。従って、変形例2においては、伴奏が盛り上がっている箇所を、楽曲において特徴のある箇所、すなわち楽曲の盛り上がる箇所として捉えているわけである。つまり、変形例2において、制御部10は、判定対象区間内において伴奏音声データに含まれる伴奏の同時発音数が最も多いタイミング又は伴奏の音量が最も大きいタイミングを調べ、楽曲データにおいて当該タイミングに対応する箇所を、抑揚の判定する際の比較対象となる箇所として特定する。
【0058】
そして制御部10は、ステップS715に代えてステップS715cにおいて、上記特定したGMデータのノートと時間軸で一致する区間のユーザ歌唱音量曲線のうち、最も高い音量を、最高音高音量HVとして特定する。このようにしても、ステップS700において、判定対象区間における盛り上がる箇所に対する、歌唱の音量の変動を判定することが可能となるから、実施形態と同様の効果を得ることができる。
【0059】
<変形例3>
制御部10による抑揚の判定は、判定対象区間内で行われるに限らず、或る判定対象区間と、この区間と隣り合う判定対象区間というように、判定対象区間同士を比較して、一方の判定対象区間は他方の判定対象区間よりも抑揚がついている、というような判定を制御部10が行ってもよい。この場合、例えば、図2におけるステップS800とステップS900との間に次のような処理を行うステップS850を設ければよい。まず、実施形態1及び2において、ステップS850に代えて行うステップS850aの処理を説明する。なお、実施形態1及び2では、ステップS800が終了した時点で、ユーザ歌唱音声データの各判定対象区間における差分音量が算出済みである。ステップS850aにおいて制御部10は、ユーザ歌唱音声データにおける先頭の判定対象区間を基準として、この判定対象区間における差分音量と、次の判定対象区間における差分音量との差分を算出する。そして制御部10は、算出した差分が予め決められた第4の閾値を超える場合、より高い差分音量を持つ判定対象区間を、より低い差分音量を持つ判定対象区間と比較して抑揚がついている、と判定する。制御部10は、この判定結果と、対象の判定対象区間とを対応付けてRAMに記憶する。制御部10は、このような処理を、基準となる判定対象区間を1つずつ進めるたびに行う。そして基準となる判定対象区間がユーザ歌唱音声データに存在しなくなると、制御部10は、ステップS850aの処理を終了する。ステップS900において、制御部10は、ステップS850aにおける判定対象区間同士における抑揚の判定結果を、表示部40に表示させてもよい。
【0060】
次に、実施形態3において、ステップS850に代えて行うステップS850bの処理を説明する。なお、実施形態3では、ステップS800が終了した時点で、ユーザ歌唱音声データの各判定対象区間における相関係数が算出済みである。ステップS850bにおいて制御部10は、ユーザ歌唱音声データにおける先頭の判定対象区間を基準として、この判定対象区間における相関係数と、次の判定対象区間における相関係数との差分を算出する。そして制御部10は、算出した差分が予め決められた第5の閾値を超える場合、より大きい相関係数を持つ判定対象区間を、より小さい相関係数を持つ判定対象区間と比較して抑揚がついている、と判定する。制御部10は、この判定結果と、対象の判定対象区間とを対応付けてRAMに記憶する。制御部10は、このような処理を、基準となる判定対象区間を1つずつ進めるたびに行う。そして基準となる判定対象区間がユーザ歌唱音声データに存在しなくなると、制御部10は、ステップS850bの処理を終了する。ステップS900において、制御部10は、ステップS850bにおける判定対象区間同士における抑揚の判定結果を、表示部40に表示させてもよい。
【0061】
このように変形例3によれば、判定対象区間内に限らず、判定対象区間同士の比較による抑揚の判定結果を得ることで、ユーザは、自らの歌唱について、より大きな時間の間隔における抑揚の巧拙を知ることができ、カラオケ装置で歌唱を行う際の新たな楽しみ方を得るとともに、歌唱の練習に役立つ情報を得ることが可能となる。
【0062】
<変形例4>
実施形態1及び2における第2の閾値は、予め決められた値ではなく、音高の差分を引数とする関数により算出される値であってもよい。例えば、この関数は、ステップS711又はステップS721で算出された差分音高を引数として、以下の式(b)として定めることが可能である。
(b)第2の閾値=f(差分音高)
式(b)の右辺における関数は、単純なものとしては式(c)のような1次関数が考えられるが、設計において式(d)のような2次関数を用いるようにしてもよい。
(c)第2の閾値=a×(差分音高)+b
(d)第2の閾値=a×(差分音高)2+b×(差分音高)+c
このようにすれば、第2の閾値が固定的な場合と比較して、制御部10が、判定対象区間内における音高の差分と相関がより強い状態で抑揚を判定することが可能となるため、楽曲の特徴に合わせてより柔軟に抑揚を判定することが可能となる。結果として、制御部10は、ガイドメロディにおける音高差が少なめの楽曲においても抑揚を判定することが可能となる。
【0063】
<変形例5>
実施形態2においては、判定対象区間におけるGMデータから標本音高を特定していたが、これに代えて、判定対象区間におけるユーザ歌唱音高曲線から標本音高を特定してもよい。例えば、変形例5において制御部10は、図7におけるステップS724に代えて、ステップS724bで以下のような処理を行う。ステップS724bにおいて、まず制御部10は、判定対象区間T1〜T8に存在するユーザ歌唱音高曲線の音高の各々に重み付けを行う。ここで制御部10は、各々の単位区間におけるユーザ歌唱音高曲線において最も高い音高を、その単位区間のユーザ歌唱音高曲線の音高とする。このとき、制御部10は、ユーザ歌唱音高曲線の各音高を、全音階に割り当てて特定する。制御部10は、判定対象区間T1〜T8に存在するユーザ歌唱音高曲線の音高において最も低い音高を基準として(例えば「1」)、音高が高くなるにつれて高い値となるように重み付けを行う。
【0064】
次に制御部10は、判定対象区間T1〜T8において、各々の音高を持つユーザ歌唱音高曲線が存在する単位区間の個数を標本個数として特定する。次に制御部10は、それぞれの音高について、標本個数に重み値を乗算することで、標本値を算出する。次に制御部10は、判定対象区間における全ての標本値を合算すると、これを標本個数の合計で除することで、重み付けの中央値を算出する。次に制御部10は、中央値の重み付けを持つ音高、すなわち中央音高により近い音高を持つ標本のうち、より高い音高を持つユーザ歌唱音高曲線の音高を標本音高として特定する。このようにすれば、GMデータに依らずに、ユーザ歌唱音声データに基づいて抑揚を判定することが可能となる。
【0065】
<変形例6>
実施形態1及び2においては、制御部10は、特定した箇所(単位区間)におけるユーザ歌唱音声データの音量と、当該箇所を含む判定対象区間におけるユーザ歌唱音声データの音量の平均値との差分を、差分音量として算出していたが、差分を算出する対象は平均値に限らず、例えば、判定対象区間におけるユーザ歌唱音声データの最も低い音高の音量との差分としてもよい。要するに、上記差分を算出する対象は、ユーザ歌唱音声データによって表される音声のうち特定した箇所をユーザが歌唱したときの音声の音量と、当該箇所を含む判定対象区間をユーザが歌唱したときの音声の音量との違いに基づいて抑揚があるか否かを判定できるものであれば、なんでもよい。
また、実施形態2において、制御部10は、判定対象区間ごとに、当該判定対象区間において楽曲データに含まれる構成音の音高に対して決められた重み付けを行って得た平均値よりも高い音高の構成音のうち、ユーザ歌唱音声データによって表される音量が最も高い音声に対応する構成音がある箇所を、抑揚を判定する際の比較対象となる箇所として特定していたが、重み付けを行わない単純な平均値を用いてもよい。
【0066】
<変形例7>
本発明は、抑揚判定装置以外にも、当該装置を備える歌唱評価装置、これらを実現するための方法、及びコンピュータに音声評価機能を実現させるためのプログラムとしても把握される。かかるプログラムは、これを記憶させた光ディスク等の記録媒体の形態で提供されたり、インターネット等を介して、コンピュータにダウンロードさせ、これをインストールして利用させるなどの形態でも提供されたりする。
【符号の説明】
【0067】
10…制御部、20…記憶部、21…伴奏データ記憶領域、22…映像データ記憶領域、23…GMデータ記憶領域、24…ユーザ歌唱音声データ記憶領域、30…操作部、40…表示部、50…通信部、60…音声処理部、61…マイクロホン、62…スピーカ、70…バス、100…カラオケ装置、201〜204…ユーザ歌唱音高曲線、300…ユーザ歌唱音量曲線、AV…平均音量、DVa,DVb…差分音量、HP…最高音高、HV…最高音高音量、L…線分、N1〜N6…ノート、NSV…ノート別歌唱音量、SP…標本音高、SV…標本音高音量
【特許請求の範囲】
【請求項1】
歌唱者が歌唱したときの音声を表す歌唱音声データを取得する歌唱音声データ取得手段と、
歌唱対象となる楽曲の内容を表す楽曲データを取得する楽曲データ取得手段と、
取得された前記楽曲データによって表される楽曲の内容に基づき、当該楽曲において決められた区間ごとに、抑揚を判定する際の比較対象となる箇所を特定する特定手段と、
取得された前記歌唱音声データによって表される音声のうち特定された前記箇所を歌唱したときの音声の音量と、当該箇所を含む前記区間を歌唱したときの音声の音量との違いに基づいて、前記区間における歌唱に抑揚があるか否かを判定する判定手段と
を備えることを特徴とする抑揚判定装置。
【請求項2】
前記楽曲データは、前記楽曲を構成する構成音の音高を指定し、
前記特定手段は、前記決められた区間ごとに、当該区間において前記楽曲データが指定する構成音のうち最も高い音高の構成音がある箇所を、前記抑揚を判定する際の比較対象となる箇所として特定する
ことを特徴とする請求項1に記載の抑揚判定装置。
【請求項3】
前記楽曲データは、前記楽曲を構成する構成音の音高を指定し、
前記特定手段は、前記決められた区間ごとに、当該区間において前記楽曲データに含まれる構成音の音高の平均値又は当該音高に対して決められた重み付けを行って得た平均値よりも高い音高の構成音のうち、前記歌唱音声データによって表される音量が最も高い音声に対応する構成音がある箇所を、前記抑揚を判定する際の比較対象となる箇所として特定する
ことを特徴とする請求項1に記載の抑揚判定装置。
【請求項4】
前記楽曲データは、前記楽曲を構成する構成音の音高と、前記抑揚の判定対象となる箇所に対応する構成音を指定する指定情報とを含み、
前記特定手段は、前記決められた区間ごとに、前記楽曲データにおいて前記指定情報により指定されている構成音がある箇所を、前記抑揚を判定する際の比較対象となる箇所として特定する
ことを特徴とする請求項1に記載の抑揚判定装置。
【請求項5】
前記楽曲データは、前記楽曲の伴奏を表す伴奏データを含み、
前記特定手段は、前記予め決められた区間内において前記伴奏データに含まれる伴奏の同時発音数が最も多いタイミング又は前記伴奏の音量が最も大きいタイミングを調べ、前記楽曲データにおいて当該タイミングに対応する箇所を、前記抑揚を判定する際の比較対象となる箇所として特定する
ことを特徴とする請求項1に記載の抑揚判定装置。
【請求項6】
歌唱者が歌唱したときの音声を表す歌唱音声データを取得する歌唱音声データ取得手段と、
歌唱対象となる楽曲を構成する構成音の音高を含む楽曲データを取得する楽曲データ取得手段と、
前記歌唱対象となる楽曲において決められた区間ごとに、当該区間に含まれる前記構成音が歌唱されたときの音量と当該構成音の音高とを、前記歌唱音声データ及び前記楽曲データに基づいて特定し、特定した前記音量及び前記音高の組を、音量を表す第1軸と音高を表す第2軸とで構成される座標系に割り当てる割り当て手段と、
前記決められた区間について前記割り当て手段により割り当てられた複数の前記組における前記音量と前記音高との相関関係に基づいて抑揚の有無を判定する判定手段と
を備えることを特徴とする抑揚判定装置。
【請求項1】
歌唱者が歌唱したときの音声を表す歌唱音声データを取得する歌唱音声データ取得手段と、
歌唱対象となる楽曲の内容を表す楽曲データを取得する楽曲データ取得手段と、
取得された前記楽曲データによって表される楽曲の内容に基づき、当該楽曲において決められた区間ごとに、抑揚を判定する際の比較対象となる箇所を特定する特定手段と、
取得された前記歌唱音声データによって表される音声のうち特定された前記箇所を歌唱したときの音声の音量と、当該箇所を含む前記区間を歌唱したときの音声の音量との違いに基づいて、前記区間における歌唱に抑揚があるか否かを判定する判定手段と
を備えることを特徴とする抑揚判定装置。
【請求項2】
前記楽曲データは、前記楽曲を構成する構成音の音高を指定し、
前記特定手段は、前記決められた区間ごとに、当該区間において前記楽曲データが指定する構成音のうち最も高い音高の構成音がある箇所を、前記抑揚を判定する際の比較対象となる箇所として特定する
ことを特徴とする請求項1に記載の抑揚判定装置。
【請求項3】
前記楽曲データは、前記楽曲を構成する構成音の音高を指定し、
前記特定手段は、前記決められた区間ごとに、当該区間において前記楽曲データに含まれる構成音の音高の平均値又は当該音高に対して決められた重み付けを行って得た平均値よりも高い音高の構成音のうち、前記歌唱音声データによって表される音量が最も高い音声に対応する構成音がある箇所を、前記抑揚を判定する際の比較対象となる箇所として特定する
ことを特徴とする請求項1に記載の抑揚判定装置。
【請求項4】
前記楽曲データは、前記楽曲を構成する構成音の音高と、前記抑揚の判定対象となる箇所に対応する構成音を指定する指定情報とを含み、
前記特定手段は、前記決められた区間ごとに、前記楽曲データにおいて前記指定情報により指定されている構成音がある箇所を、前記抑揚を判定する際の比較対象となる箇所として特定する
ことを特徴とする請求項1に記載の抑揚判定装置。
【請求項5】
前記楽曲データは、前記楽曲の伴奏を表す伴奏データを含み、
前記特定手段は、前記予め決められた区間内において前記伴奏データに含まれる伴奏の同時発音数が最も多いタイミング又は前記伴奏の音量が最も大きいタイミングを調べ、前記楽曲データにおいて当該タイミングに対応する箇所を、前記抑揚を判定する際の比較対象となる箇所として特定する
ことを特徴とする請求項1に記載の抑揚判定装置。
【請求項6】
歌唱者が歌唱したときの音声を表す歌唱音声データを取得する歌唱音声データ取得手段と、
歌唱対象となる楽曲を構成する構成音の音高を含む楽曲データを取得する楽曲データ取得手段と、
前記歌唱対象となる楽曲において決められた区間ごとに、当該区間に含まれる前記構成音が歌唱されたときの音量と当該構成音の音高とを、前記歌唱音声データ及び前記楽曲データに基づいて特定し、特定した前記音量及び前記音高の組を、音量を表す第1軸と音高を表す第2軸とで構成される座標系に割り当てる割り当て手段と、
前記決められた区間について前記割り当て手段により割り当てられた複数の前記組における前記音量と前記音高との相関関係に基づいて抑揚の有無を判定する判定手段と
を備えることを特徴とする抑揚判定装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2012−194387(P2012−194387A)
【公開日】平成24年10月11日(2012.10.11)
【国際特許分類】
【出願番号】特願2011−58383(P2011−58383)
【出願日】平成23年3月16日(2011.3.16)
【出願人】(000004075)ヤマハ株式会社 (5,930)
【Fターム(参考)】
【公開日】平成24年10月11日(2012.10.11)
【国際特許分類】
【出願日】平成23年3月16日(2011.3.16)
【出願人】(000004075)ヤマハ株式会社 (5,930)
【Fターム(参考)】
[ Back to top ]