説明

歌唱採点装置、及びプログラム

【課題】 歌唱の際に発声すべき音声のピッチに係わらず、より人間の聴感に合った採点を行える歌唱採点装置を提供する。
【解決手段】 カラオケシステム11は、シーケンスデータの再生によりカラオケ演奏を行う。その演奏中は、マイク12から入力された音声のピッチと、シーケンスデータから特定される、発声すべき音声のピッチとのピッチ比を算出し、その算出したピッチ比を用いて、複数のピッチ比を採点単位とした評価を行う。カラオケ演奏終了後、採点単位の評価結果を用いてユーザーの歌唱を採点し、その採点結果を表示装置14に表示させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、利用者による楽曲の歌唱を評価し採点を行うための技術に関する。
【背景技術】
【0002】
伴奏に合わせて歌をうたうカラオケは現在、娯楽として多くの人に楽しまれている。そのカラオケ用のカラオケ装置のなかには、自身の歌唱力を客観的に把握したいと望む人などに対応できるように、その歌唱力を採点する歌唱採点装置を搭載したものも多く製品化されている。
【0003】
上記採点は、利用者が歌唱により発声した音声の音高(ピッチ)、及びその音声の発声タイミングのうちの少なくとも一方に着目して行われるのが普通である。そのような採点を行う従来の歌唱採点装置としては、例えば特許文献1、2にそれぞれ記載されたものがある。
【0004】
特許文献1、2にそれぞれ記載された従来の歌唱採点装置では、音声のピッチに着目した評価(ピッチずれの評価)は、その音声のピッチ(以降、その音声、ピッチはそれぞれ「利用者音声」「利用者ピッチ」と呼ぶ)と、その音声を発声させたタイミングで発声すべき音声のピッチ(以降、その音声、ピッチはそれぞれ「参照音声」「参照ピッチ」と呼ぶ)との間の音高(ピッチ)差(差分)を求め、その音高差に応じて固定的に行っていた。採点結果と聴感による評価とがより一致するように、特許文献1に記載された従来の歌唱採点装置では、ピッチ変動のピークとボトムで挟まれた部分の平均ピッチを求め、参照音声の発声期間内に存在する平均ピッチの中で最も参照ピッチに近いものを採点用に選択するようにしている。特許文献2に記載された従来の歌唱採点装置では、200ms程度の一定の長さを1つのフレームとして、フレーム内で検出したピッチのヒストグラムを作成し、最大度数となる階級の階級値を当該フレームにおける利用者ピッチとして採用している。
【0005】
人間の聴覚系は、音の高さの違いにきわめて敏感である。しかし、音程(音の高さの違い)の量は、周波数比にほぼ比例することが知られている。それにより、例えば440Hzと880Hzの2音の高さの違いと、880Hzと1760Hzの2音の高さの違いはどちらも1:2であるから、聴感上、同じ違いであると認識される。
【0006】
人間は上述したような聴覚系を有しているため、ピッチずれを認識できるピッチ差はピッチによって異なることになる。これは、特許文献1、2にそれぞれ記載された従来の歌唱採点装置で採用されているような利用者ピッチと参照ピッチの差分に応じた固定的な評価では、ピッチによって、評価(採点)結果と聴感上の評価の差が変動することを意味する。このことから、聴感による評価との差をより小さくさせるうえでは、言い換えれば、より人間の聴感に合った採点を行えるようにするうえでは、ピッチによって評価(採点)結果が変動しないようにすることも重要であると考えられる。
【特許文献1】特開平10−26995号公報
【特許文献2】特開平11−224094号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
本発明の課題は、歌唱の際に発声すべき音声のピッチに係わらず、より人間の聴感に合った採点を行える歌唱採点装置を提供することにある。
【課題を解決するための手段】
【0008】
本発明の歌唱採点装置は、利用者による楽曲の歌唱を評価し採点を行うことを前提とし、利用者により入力される音声信号の音高である第1の音高、及び該音声信号に対応する楽曲の歌唱位置で発声すべき音声の音高である第2の音高の間の音高比を算出する音高比算出手段と、音高比算出手段が算出した音高比を用いて、利用者による歌唱を採点する採点手段と、を具備する。
【0009】
なお、上記採点手段は、音高比算出手段が算出する所定数の音高比を採点単位として、該採点単位毎に、該音高比から音高のずれを評価して採点を行う、ことが望ましい。また、採点単位とする音高比のなかで予め定めた範囲を越えている音高比を除外して該採点単位の評価を行う、ことが望ましい。採点単位の評価結果は予め定めたタイミングで順次、利用者に通知できる、ことが望ましい。
【0010】
本発明のプログラムは、上記歌唱採点装置が具備する各手段を実現させるための機能を搭載している。
【発明の効果】
【0011】
本発明は、利用者により入力される音声信号の音高である第1の音高、及びその音声信号に対応する楽曲の歌唱位置で発声すべき音声の音高である第2の音高の間の音高比を算出し、その音高比を用いて、利用者による歌唱を採点する。
【0012】
人間の聴覚系では、音程(音の高さの違い)の量は、周波数比にほぼ比例することが知られている。このことから、上記音高比を算出し、歌唱の採点に用いることにより、歌唱の際に発声すべき音声のピッチに係わらず、その聴覚系の特性に合ったより適切な採点を行えるようになる。
【発明を実施するための最良の形態】
【0013】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
図1は、本実施の形態による歌唱採点装置を搭載のカラオケシステムを用いて構築されたカラオケ用システムの構成を説明する図である。
【0014】
図1に示すように、カラオケ用システムは、カラオケシステム(カラオケ装置)11に、音声入力用のマイク12、音声放音用の複数のスピーカ13、及びテレビジョン、或いは液晶表示装置等の表示装置14をそれぞれ接続させた形で構築されている。それにより、カラオケシステム11は、表示装置14に歌詞等を表示させ、マイク12から入力した音声、及びカラオケ用の演奏をスピーカ13により放音させるものとして実現されている。
【0015】
図2は、上記カラオケシステム11の構成図である。図2に示すように、システム11全体の制御を行うCPU201と、CPU201が実行するプログラムや各種制御用データを格納したROM202と、CPU201がワークに用いるRAM203と、音声の入力によってマイク12が出力するアナログの音声信号をデジタルデータ(音声データ)に変換するA/D変換器(ADC)204と、各種操作子を備えたスイッチ(SW)部205と、カラオケ用の演奏を再生するためのシーケンサ206と、そのシーケンサ206の指示に従って楽音の波形データを生成する音源207と、CPU201が出力する音声データと音源207が出力する波形データを入力し、それらを混合し放音用の波形データとして出力するミキサ208と、そのミキサ208が出力する波形データをD/A変換してアナログのオーディオ信号を出力するD/A変換器(DAC)と、を備えている。
【0016】
上記カラオケ用の演奏を再生するためのシーケンスデータは、例えばスタンダードMIDIファイル(SMF)の形でROM202、或いはシーケンサ206に格納されている。ここではSMFはROM202に格納されているとの前提で以降の説明を行う。そのROM202には、SMF(楽曲)毎に歌詞表示用のテキストデータも併せて格納されている。
【0017】
上記スイッチ部205は、操作の対象となるスイッチ類として、選曲等に用いられるテンキー、カラオケ演奏の再生開始/終了を指示するための再生開始/終了スイッチなどを備えている。また、ミキシングレベルの調整用、音量調整用、カラオケ演奏のキー(音高)調整用、といった各種の調整を行うための調整用つまみを複数、備えている。また、それらの操作子の状態変化を検出するための検出回路を備えており、その検出回路は随時、スイッチ類では押下された操作子、つまみでは状態が変化したつまみ、その変化後の状態をCPU201に通知する。CPU201は、その通知によりユーザーの指示に対応するための制御を行う。
【0018】
上記テンキーによる選曲は、例えば曲番号を入力することで行うようになっている。その曲番号をユーザーが入力すると、CPU201はスイッチ部205からの通知によりその曲番号を認識し、その曲番号が割り当てられたSMF(シーケンスデータ)をROM202から読み出してシーケンサ206に送る。それにより、シーケンサ206は、CPU201から受け取ったSMFを対象に再生を行う。
【0019】
そのSMFでは、演奏イベントの内容を示すMIDIデータに、それを処理すべきタイミングを示す時間データが付加された形となっている。このことから、その再生は、時間データに従ってMIDIデータを順次、処理していくことで行われる。そのMIDIデータの処理により、音源207には音高を指定しての楽音の発音開始、その終了がシーケンサ206から指示される。
【0020】
そのシーケンサ206は、メロディに相当する楽音の発音に係わるMIDIデータを処理する場合に、そのMIDIデータによって発音開始、或いは終了される楽音のピッチ(参照ピッチ:ノートナンバー)をCPU201に通知する。その通知によってCPU201は、シーケンスデータの再生中(カラオケ演奏中)に発声すべき音声の参照ピッチ、その音声を発声すべき期間を認識する。メロディに相当する楽音の発音に係わるMIDIデータを判別できるように、そのMIDIデータは予め定めたチャンネルのデータとして格納するようになっている。その参照ピッチはキー調整用のつまみへの操作によって変化するが、ここでは説明上、便宜的にその変化は想定しないこととする。
【0021】
シーケンスデータの再生中、CPU201は、ADC204から入力する音声データにより、マイク12を通して入力された音声のピッチ(利用者ピッチ)を検出し、その検出結果を用いてユーザーの歌唱に対する採点を行う。その採点結果は、シーケンスデータの再生の終了後、表示装置14に表示させる。
【0022】
ADC204は、予め定められたサンプリング周期で音声信号のサンプリングを行い、音声データを出力する。その音声データからピッチ検出を行うためにCPU201は、RAM203に確保した領域に、過去、所定期間分の音声データを格納している。以降、図3、及び図4を参照して、シーケンスデータの再生、その再生により行う採点について詳細に説明する。
【0023】
図3は、再生処理のフローチャートである。シーケンスデータの再生のためにCPU201が実行する処理を抜粋してその流れを示したものである。始めに図3を参照して、その再生処理について詳細に説明する。その再生処理は、CPU201がROM202に格納されたプログラムを実行することで実現される。
【0024】
先ず、ステップ301では、ユーザーのスイッチ部205への操作に応じた楽曲の選択を行う。ユーザーが楽曲を指定するために入力した曲番号は、スイッチ部205からユーザーが操作したと通知されるキーの種類、その順序から特定される。ユーザーが曲番号を入力した後はステップ302に移行して、シーケンスデータの再生を指示するのを待つ。その指示は、上述したように再生開始/終了スイッチを操作することで行うようになっていることから、そのボタンの操作によってステップ303に移行する。
【0025】
ステップ303では、ユーザーが指定したシーケンスデータ(SMF)をROM202から読み出してシーケンサ206に送り、その再生開始を指示する。また、それに対応するテキストデータをROM202から読み出し、表示装置14に歌詞として表示させる。その後にステップ304に移行する。
【0026】
シーケンスデータの再生開始をシーケンサ206に指示することにより、カラオケ演奏が開始され、その開始によってユーザーは歌唱をしかるべきタイミングで開始することになる。ステップ304以降では、その歌唱に対応するための処理が行われる。
【0027】
先ず、ステップ304では、ユーザーの歌唱に対する採点用の採点データを収集するための採点データ収集処理を実行する。続くステップ305では、ユーザーの歌唱によりマイク12から入力された音声(利用者音声)と発声すべき音声(参照音声)の間のピッチ(音高)のずれを表示装置14に表示させるための処理を行う。その次に移行するステップ306では、設定に応じて、利用者音声のピッチを参照ピッチに補正する操作を音声データに対して行い、ミキサ208に出力する処理を行う。ステップ307にはその実行後に移行する。
【0028】
上記ステップ305の処理の実行によるピッチずれの表示の更新は、例えば発声すべき音声単位で行われる。そのずれを表示によって通知することにより、ユーザーが歌唱中により正しいピッチの音声を発声できるようになる。
【0029】
ステップ307では、シーケンスデータの再生停止が指示、或いはその再生が終了したか否か判定する。上記再生開始/終了スイッチを操作してシーケンスデータの再生終了をユーザーが指示するか、或いはその再生終了がシーケンサ206から通知された場合、判定はYESとなり、ステップ308で採点結果(点数)を表示装置14に表示させた後、一連の処理を終了する。シーケンスデータの再生終了をユーザーが指示していたときには、ステップ308ではシーケンサ206への再生終了の指示を併せて行う。そうでない場合には、判定はNOとなって上記ステップ304に戻る。それにより、シーケンスデータの再生が終了するまでの間、ステップ304〜307で形成される処理ループは繰り返し実行される。その実行周期はサンプリング周期である。
【0030】
図4は、上記ステップ304として実行される採点データ収集処理のフローチャートである。次に図4を参照して、その収集処理について詳細に説明する。
先ず、ステップ401では、ADC204を介して音声データの形で入力した音声のピッチを検出し、そのピッチ(利用者ピッチ)と、シーケンサ206から通知された、この時点で発声すべき音声のピッチ(参照ピッチ)とのピッチ比を算出する。本実施の形態では、そのピッチ比として、参照ピッチを利用者ピッチで割って得られる値を算出している。その算出後は、ステップ402でそのピッチ比を変数p_ratioに代入し、更にステップ403で変数diffに、変数p_ratioの値から1を引いた値(=p_ratio−1.0)を代入してからステップ404に移行する。
【0031】
上記利用者ピッチの検出方法は、特に限定するものではないが、本実施の形態では、出願人が特願2005−54481の願書に添付の明細書に記載された方法を採用している。その方法を採用することにより、上記ピッチ比は以下のような流れで算出される。
(1)先ず、RAM203に確保した領域から予め定めたサイズ分の音声データをフレームとして抽出し、DFT(Discrete Fourier Transform)により周波数領域に変換する
(2)周波数領域に変換することで周波数チャンネル毎に得られた周波数成分から、倍音もしくは基音が存在する周波数チャンネルを2つ以上見つける。ここでこのようなチャンネルが見つからない場合は、音声が入力されていない、或いは入力された音声が無声音であると判断し、ピッチ比は算出しない
(3)(2)で2つ以上の周波数チャンネルが見つかった場合、見つかった2つ以上のチャンネルのうちの1つを基準チャンネルとする
(4)見つかった2つ以上の周波数チャンネルのチャンネルインデクスに対応する周波数の最大公約数を算出する
(5)算出した最大公約数から上記基準チャンネルが何倍音に相当するのかを判定する
(6)シーケンサ206から通知されている参照ピッチに対応する周波数チャンネルでのフレーム間位相差を(5)で判定した倍数分乗算し、目標位相差とする
(7)上記基準チャンネルのフレーム間位相差と(6)で算出した目標位相差の比を算出する
(7)で算出される比が、参照ピッチを利用者ピッチで割って得られるピッチ比である。このことから、そのピッチ比は、ユーザーが正しいピッチの音声を発声していた場合に1となる。変数diffの値は、その音声のピッチが参照ピッチよりも低ければ正、その参照ピッチよりも高ければ負となる。上述のようにピッチ比を算出する場合、ミッシング・ファンダメンタルと呼ばれる基本周波数が欠落、或いは他の周波数と比較して非常に小さいような楽音でも確実にピッチ比を算出することができる。
【0032】
ステップ404では、変数diffの値の絶対値が、予め定められた定数OUTER_THRESHより大きいか否か判定する。その絶対値が定数OUTER_THRESH以下であった場合、判定はNOとなってステップ405に移行する。そうでない場合には、判定はYESとなり、ここで一連の処理を終了する。
【0033】
ピッチ比算出(ピッチ検出)ではエラーが発生する可能性がある。このことから、本実施の形態では、上記ステップ404の判定処理により、ピッチ比が定数OUTER_THRESHにより指定される範囲外となっているものはピッチ比算出においてエラーが発生していると見なし、採点を行ううえで除外している。倍音もしくは基音が存在する周波数チャンネルが2つ以上見つからなかった場合や、発声すべき音声が存在しない場合には、特には図示していないが、ステップ401の処理を実行した後、一連の処理を終了するようになっている。そのようにして、評価を行ううえで考慮すべきでないピッチ比や期間を除外することにより、評価はより適切に行えるようになる。上記定数OUTER_THRESHとしては、たとえば5度音程を目安に決定する。
【0034】
発生する音声には、ピッチの揺らぎが生じることが多いのが実情である。このことから、その揺らぎを考慮し、一定のデータ数を採点単位として、その採点単位毎に採点用のデータを収集するようにしている。ここでは、その採点単位を「採点フレーム」と呼ぶことにする。変数accum、data_counter、及びavgは、採点フレーム毎にピッチに着目した評価を行うために用意した変数である。上記一定のデータ数は定数frame_numとして用意されている。
【0035】
ステップ405では、変数accumに、それまでの値に変数diffの値を加算した結果(=accum+diff)を代入する。次のステップ406では、変数data_counterの値をインクリメントする。その次に移行するステップ407では、変数data_counterの値が定数frame_numと等しいか否か判定する。変数data_counterの値は、現時点の採点フレーム内で有効とするピッチ比を算出した回数に相当する。このことから、その採点フレーム分の有効とするピッチ比の算出が行われた場合、判定はYESとなってステップ408に移行する。そうでない場合には、判定はNOとなり、ここで一連の処理を終了する。
【0036】
ステップ407でのYESの判定は、当該採点フレームで算出の対象となるピッチ比が存在していないことを意味する。このことから、ステップ408以降では、当該採点フレームを対象にピッチに着目した評価を行い、その評価結果を保存するための処理が行われる。
【0037】
先ず、ステップ408では、対象となる採点フレーム数カウント用の変数frame_counterの値をインクリメントする。続くステップ409では、変数avgに、変数accumの値を定数frame_numで割った値を代入する。その代入後はステップ410に移行して、変数avgの値の絶対値が、予め定めた定数PASS_THRESHより小さいか否か判定する。その定数PASS_THRESHは、ピッチずれが発生していないと見なすピッチ比の範囲を示す値として決定したものである。変数avgの値は、当該採点フレームにおけるピッチ比の平均値を相対的に示す値であり、定数PASS_THRESHは、その変数avgの値を想定して決定している。このことから、その平均値がその範囲内であった場合、変数avgの値の絶対値は定数PASS_THRESH以下、つまり判定はYESとなり、次にステップ411で変数pass_counterの値をインクリメントした後、ステップ412に移行する。そうでない場合には、判定はNOとなり、次にそのステップ412の処理を実行する。
【0038】
人間の聴覚系は、音の高さの違いにきわめて敏感である。周知のように、連続する2つの音の高さの違いを聞き取ることができる周波数差の最小値(周波数弁別閾)に個人差はあるが、普通の人でも0.2%程度であるとされている。この値は、耳の鋭い専門家では0.1%以下になる。上記定数PASS_THRESHは、例えばそのようなことも考慮して決定した値である。
【0039】
ステップ412では、変数accumに0を代入する。続くステップ413では、変数data_counterに0を代入する。そのようにして、次の採点フレームの評価を行うために変数を初期化した後、一連の処理を終了する。
【0040】
ミキサ208に出力する音声データの生成は、RAM203に別に確保した領域を用いて行われる。図3のステップ306では、上記ステップ402で変数p_ratioに代入されるピッチ比に従ってピッチスケーリングを行い、そのスケーリングを行った後の音声データをその領域に格納されている音声データにオーバーラップ加算する。ミキサ208には、オーバーラップ加算後の1サンプリング分の音声データを出力する。
【0041】
図3のステップ308では、上記変数pass_counter、frame_counterの各値を用いて点数を計算し表示させる。その点数をgradeと表記すると、それは例えば下記式で算出される。
【0042】
grade=pass_counter/frame_counter×100
人間の聴覚系は、音程(音の高さの違い)の量は、周波数比にほぼ比例することが知られている。このことに着目し、利用者ピッチと参照ピッチのピッチ比を用いてユーザーの歌唱を評価し採点している。このため、楽曲で発声すべき音声のピッチの傾向(ピッチ毎の発声すべき音声の数)に係わらず、人間の聴感に合った採点を行うことができる。それにより、採点結果(点数)は、より多くの人にとって適切と評価できるものとなる。
【0043】
なお、本実施の形態では、ピッチにのみ着目して歌唱を評価し採点するようにしているが、音声の発声タイミング(発声開始、及び終了のうちの少なくとも一方のタイミング、或いは発声期間、など)に着目した評価を併せて行うようにしても良い。ユーザーのレベルに応じた採点が行えるように、複数の異なる定数PASS_THRESHを選択できるようにしても良い。その選択(或いは設定)はユーザーが任意に行えるようにすることが望ましい。ピッチ比の算出方法やそのピッチ比を用いた採点方法などは本実施の形態に限定されるものではなく、様々な変形を行っても良い。音声の入力では、ネットワークを介して行っても良く、CD等の記録媒体を介して行えるようにしても良い。参照ピッチでは、メロディ以外のパートで発音される楽音のピッチを参照ピッチとしても良い。
【0044】
上述したような歌唱採点装置、或いはその変形例を実現させるプログラムの全て、或いは一部は、記録媒体に格納して配布するようにしても良い。或いはネットワークを構成する通信媒体を介して配布するようにしても良い。そのようにした場合には、ユーザーはプログラムを取得してデータ処理装置(コンピュータ)にロードすることにより、その装置に本発明を適用させることができる。
【図面の簡単な説明】
【0045】
【図1】本実施の形態による歌唱採点装置を搭載のカラオケシステムを用いて構築されたカラオケ用システムの構成を説明する図である。
【図2】本実施の形態による歌唱採点装置を搭載のカラオケシステムの構成図である。
【図3】再生処理のフローチャートである。
【図4】採点データ収集処理のフローチャートである。
【符号の説明】
【0046】
1 CPU
5 音源部
5−1 整数アドレス計算ブロック
5−2 小数アドレス計算ブロック
5−3 ENV発生ブロック
5−4 波形ROMデータラッチブロック
5−5 積和ブロック
5−6 累算ブロック
6 波形ROM
501〜504、509〜511、521〜523 レジスタ
505、506、516、517 マルチプレクサ
507 加減算器
514 右2ビットシフタ
515 演算器
519 乗算器
520 加算器

【特許請求の範囲】
【請求項1】
利用者による楽曲の歌唱を評価し採点を行う歌唱採点装置において、
前記利用者により入力される音声信号の音高である第1の音高、及び該音声信号に対応する前記楽曲の歌唱位置で発声すべき音声の音高である第2の音高の間の音高比を算出する音高比算出手段と、
前記音高比算出手段が算出した音高比を用いて、前記利用者による歌唱を採点する採点手段と、
を具備することを特徴とする歌唱採点装置。
【請求項2】
前記採点手段は、前記音高比算出手段が算出する所定数の音高比を採点単位として、該採点単位毎に、該音高比から音高のずれを評価して前記採点を行う、
ことを特徴とする請求項1記載の歌唱採点装置。
【請求項3】
前記採点手段は、前記採点単位とする音高比のなかで予め定めた範囲を越えている音高比を除外して該採点単位の評価を行う、
ことを特徴とする請求項2記載の歌唱採点装置。
【請求項4】
前記採点手段は、前記採点単位の評価結果を予め定めたタイミングで順次、前記利用者に通知できる、
ことを特徴とする請求項2、または3記載の歌唱採点装置。
【請求項5】
利用者による楽曲の歌唱を評価し採点を行う歌唱採点装置に実行させるプログラムであって、
前記利用者により入力される音声信号の音高である第1の音高、及び該音声信号に対応する前記楽曲の歌唱位置で発声すべき音声の音高である第2の音高の間の音高比を算出する機能と、
前記算出する機能により算出した音高比を用いて、前記利用者による歌唱を採点する機能と、
を実現させるためのプログラム。

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図1】
image rotate


【公開番号】特開2007−33471(P2007−33471A)
【公開日】平成19年2月8日(2007.2.8)
【国際特許分類】
【出願番号】特願2005−211943(P2005−211943)
【出願日】平成17年7月21日(2005.7.21)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】