以下、本発明の一実施形態における技法判定装置について、図面を参照しながら詳細に説明する。以下に示す実施形態は本発明の実施形態の一例であって、本発明はこれらの実施形態に限定されるものではない。
<第1実施形態>
本発明の第1実施形態における技法判定装置について、図面を参照しながら詳細に説明する。第1実施形態に係る技法判定装置は、歌唱するユーザ(以下、歌唱者という場合がある)の歌唱音を判定する機能を備えた装置である。この技法判定装置は、歌唱音のピッチと音量を時系列に検出し、音量の変化とピッチの変動に基づいて特定の技法を判定する。
[ハードウエア]
図1は、本発明の第1実施形態における技法判定装置10の構成を示すブロック図である。技法判定装置10は、例えば、歌唱採点機能を備えたカラオケ装置である。技法判定装置10は、制御部11、記憶部13、操作部15、表示部17、通信部19、および信号処理部21を含む。信号処理部21には、音入力部(例えば、マイクロフォン)23及び音出力部(例えば、スピーカ)25が接続されている。これらの各構成は、バスを介して相互に接続されている。
制御部11は、CPUなどの演算処理回路を含む。制御部11は、記憶部13に記憶された制御プログラム13aをCPUにより実行して、各種機能を技法判定装置10において実現させる。実現される機能には、歌唱の技法判定機能が含まれる。また、実現される機能に、技法判定によって判定された技法に基づいた歌唱の評価機能が含まれてもよい。
記憶部13は、不揮発性メモリ、ハードディスク等の記憶装置である。記憶部13は、技法判定機能を実現するための制御プログラム13aを記憶する。制御プログラム13aは、歌唱の評価機能を含んでもよい。制御プログラム13aは、磁気記録媒体、光記録媒体、光磁気記録媒体、半導体メモリなどのコンピュータ読み取り可能な記録媒体に記憶した状態で提供されてもよい。この場合には、技法判定装置10は、記録媒体を読み取る装置を備えていればよい。また、制御プログラム13aは、インターネット等のネットワーク経由でダウンロードされてもよい。
また、記憶部13は、歌唱に関するデータとして、楽曲データ13b、歌唱音声データ13cを記憶する。また、記憶部13は、評価基準データ13dを記憶してもよい。楽曲データ13bは、カラオケの歌唱曲に関連するデータ、例えば、ガイドメロディデータ、伴奏データ、歌詞データなどが含まれている。ガイドメロディデータは、歌唱曲のメロディを示すデータである。伴奏データは、歌唱曲の伴奏を示すデータである。ガイドメロディデータおよび伴奏データは、MIDI形式で表現されたデータであってもよい。歌詞データは、歌唱曲の歌詞を表示させるためのデータ、および表示させた歌詞テロップを色替えするタイミングを示すデータである。歌唱音声データ13cは、歌唱者が音入力部23から入力した歌唱音声に対応するデータである。本実施形態では、歌唱音声データ13cは、技法判定機能によって歌唱音声が判定されるまで、記憶部13に記憶される。評価基準データ13dは、評価機能によって歌唱音声の評価の基準として用いられる情報であり、評価対象の歌唱曲(歌唱音声の入力がされるときに出力されている歌唱曲)を示す楽曲データに予め対応付けられている基準音データであってもよい。
操作部15は、操作パネルおよびリモコンなどに設けられた操作ボタン、キーボード、マウスなどの装置であり、入力された操作に応じた信号を制御部11に出力する。表示部17は、液晶ディスプレイ、有機ELディスプレイ等の表示装置であり、制御部11による制御に基づいた画面が表示される。なお、操作部15と表示部17とが一体となったタッチパネル装置であってもよい。通信部19は、制御部11の制御に基づいて、インターネットやLANなどの通信回線と接続して、サーバ等の外部装置と情報の送受信を行う。なお、記憶部13の機能は、通信部19において通信可能な外部装置で実現されてもよい。
信号処理部21は、MIDI形式の信号からオーディオ信号を生成する音源、A/Dコンバータ、D/Aコンバータ等を含む。歌唱音声は、音入力部23において電気信号に変換されて信号処理部21に入力され、信号処理部21においてA/D変換されて制御部11に出力される。歌唱音声は、歌唱音声データ13cとして記憶部13に記憶される。また、伴奏データは、制御部11によって読み出され、信号処理部21においてD/A変換され、音出力部25から歌唱曲の伴奏として出力される。このとき、ガイドメロディも音出力部25から出力されるようにしてもよい。
[技法判定機能]
技法判定装置10の制御部11が記憶部13に記憶された制御プログラム13aを実行することによって実現される技法判定機能について説明する。なお、以下に説明する技法判定機能を実現する構成の一部または全部は、ハードウエアによって実現されてもよい。
図2は、本発明の第1実施形態における技法判定機能100の構成を示すブロック図である。図2を参照すると、技法判定機能100は、入力音取得部103、特徴量検出部105、平坦部検出部111、及び技法判定部113を含む。
入力音取得部103は、音入力部23から入力された歌唱音声に対応する歌唱音声データ(入力音)を取得する。なお、入力音取得部103は、歌唱音声データを信号処理部21から直接取得するが、いったん記憶部13に記憶された歌唱音声データを取得するようにしてもよい。また、入力音取得部103は、音入力部23への入力音を示す歌唱音声データを取得する場合に限らず、外部装置への入力音を示す歌唱音声データを、通信部19によりネットワーク経由で取得してもよい。本実施形態においては、入力音取得部103は、楽曲データの再生中に順次入力される歌唱音声データを、特徴量検出部105に順次出力する。
特徴量検出部105は、入力音取得部103から歌唱音声データを取得する。特徴量検出部105は、取得した歌唱音声データについて、音量及びピッチを含む歌唱音の特徴量を検出する。特徴量検出部105は、音量検出部107及びピッチ検出部109を含む。
音量検出部107は、入力音取得部103によって取得された歌唱音声データから、歌唱音の音量を時系列に検出する。即ち、音量検出部107は、歌唱音声データに基づいて、歌唱音の音量の時間的な変化を検出する。本実施形態において、音量検出部107は、歌唱音声データが示す音声信号の振幅に基づいて音量を検出する。音量検出部107は、検出された音量を時系列に示すデータ(音量波形)を平坦部検出部111及び技法判定部113に時系列に出力する。
ピッチ検出部109は、入力音取得部103によって取得された歌唱音声データから、歌唱音のピッチを時系列に検出する。即ち、ピッチ検出部109は、フレーム(所定期間で区切られたデータサンプル)ごとに歌唱音声データが示す音声信号の波形が負から正に変化する際のゼロクロスを検出し、そのゼロクロスの時間間隔を測定することによって歌唱音のピッチ(周波数)を特定する。このとき、この音声信号から、ローパスフィルタによりノイズ成分となる高域成分をカットしたり、ハイパスフィルタにより直流成分をカットしたりしておいてもよい。また、ピッチ検出部109は、歌唱音声データにFFT(Fast Fourier Transform)を施して得られるスペクトルからピッチを特定してもよい。ピッチ検出部109は、このようにして検出したピッチを時系列に示すデータ(ピッチ波形)を、平坦部検出部111及び技法判定部113に時系列に出力する。
平坦部検出部111は、特徴量検出部105によって検出された特徴量の時系列の変動に基づいて、特徴量の平坦部を検出する。平坦部検出部111は、検出された特徴量の平坦部を示すデータを技法判定部113に出力する。
具体的には、平坦部検出部111は、音量検出部107によって検出された音量を示すデータにおける平坦部、即ち、音量が略一定となっている期間を音量の平坦部として検出してもよい。例えば、平坦部検出部111は、音量検出部107によって検出された音量を示すデータに対しフレーム(所定時間ごとに区切られたデータサンプル)ごとに音量の変動が予め決められた所定の閾値ΔVth以下か否かを判定する。音量の変動が所定の閾値ΔVth以下であるフレームが予め決められた数以上(例えば、2フレーム以上)連続して検出された場合、即ち、音量の変動が所定の閾値ΔVth以下である期間が予め決められた所定時間以上である場合、平坦部検出部111は、音量の変動が所定の閾値ΔVth以下であるフレームを音量の平坦部として検出してもよい。
図3は、平坦部検出部111における、音量の平坦部検出の概念の一例を説明するための図である。図3は、歌唱音の音量を時系列に示す音量波形であり、縦軸は音量(V)を示し、横軸は時間(T)を示す。図3では、フレームfn−1〜fn+6が示されている。フレームfの長さは任意である。開始点検出部109は、各フレームfn−1〜fn+6における音量の変動が所定の閾値ΔVth以下あるか否かを判定する。例えば、フレームfn−1、fn、fn+1、fn+4、fn+5、fn+6における音量の変動が所定の閾値ΔVthを上回り(ΔVn−1>ΔVth、ΔVn+1>ΔVth、ΔVn+4>ΔVth、ΔVn+5>ΔVth、ΔVn+6>ΔVth)、fn+2、fn+3における音量の変動が所定の閾値ΔVth以下(ΔVn+2≦ΔVth、ΔVn+3≦ΔVth、)である場合、平坦部検出部111は、フレームfn+2、fn+3を音量の平坦部として検出してもよい。
また、平坦部検出部111は、所定の複数のフレームごとに音量の平均値を算出し、算出された音量の平均値の変動に基づいて音量の平坦部を検出してもよい。例えば、平坦部111は、フレームfn−1、フレームfn及びフレームfn+1における音量の平均値を算出し、次に、フレームfn、フレームfn+1及びフレームfn+2における音量の平均値を算出し、その次に、フレームfn+1、フレームfn+2及びフレームfn+3における音量の平均値を算出する。このように、平坦部検出部111は、音量の平均値を算出する期間を所定の時間(ここでは、1フレームに相当する時間)だけずらしながら音量の平均値を算出する。平坦部検出部111は、連続する所定の複数のフレーム(例えば、フレームfn−1〜fn+1及びフレームn〜fn+2)の音量の平均値の差が所定の閾値以下である場合、該連続する所定の複数のフレーム期間に対応する期間(例えば、フレームfn−1〜fn+2)を音量の平坦部として検出してもよい。
また、例えば、平坦部検出部111は、音量検出部107によって検出された音量を示すデータに対しフレームごとに、音量を示すデータ(音量波形)の傾きの絶対値を算出し、算出された傾きの絶対値が所定の値以下となるか否かを判定してもよい。算出された傾きの絶対値が所定の値以下となるフレームが予め決められた数以上(例えば、2フレーム以上)連続して検出された場合、平坦部検出部111は、算出された傾きの絶対値が所定の値以下となるフレームを音量の平坦部として検出してもよい。
さらに、平坦部検出部111は、ピッチ検出部109によって検出されたピッチを示すデータにおける平坦部、即ち、ピッチが略一定となっている期間をピッチの平坦部として検出してもよい。例えば、平坦部検出部111は、ピッチ検出部109によって検出されたピッチを示すデータに対しフレーム(所定時間ごとに区切られたデータサンプル)ごとにピッチの平均値を算出し、算出されたピッチの平均値の10の位を四捨五入して100セントごとのグリッドに当てはめ、四捨五入されたピッチの値が同一のグリッドに乗っているフレームが予め決められた数以上(例えば、2フレーム以上)連続して検出された場合、即ち、四捨五入されたピッチの値が同一のグリッドに乗っている期間が予め決められた所定時間以上である場合、平坦部検出部111は、四捨五入されたピッチの値が同一のグリッドに乗っているフレームをピッチの平坦部として検出してもよい。
図4は、平坦部検出部111における、ピッチの平坦部検出の概念の一例を説明するための図である。図4は、歌唱音のピッチを時系列に示すピッチ波形であり、縦軸はピッチ(cent)を示し、横軸は時間(T)を示す。図4では、フレームfn−1〜fn+6が示されている。フレームfの長さは任意である。平坦部検出部111は、各フレームfn−1〜fn+6におけるピッチの平均値を算出する。図4において、各フレームfn−1〜fn+6におけるピッチの平均値が黒い丸(●)で示している。平坦部検出部111は、算出されたピッチの平均値の10の位を四捨五入して100セントごとのグリッドに当てはめ、当てはまるグリッドに対応するピッチの値を、各フレームfn−1〜fn+6におけるピッチとする。
例えば、図4では、フレームfn−1のピッチの平均値の10の位の四捨五入後の値に当てはまるグリッドに対応するピッチは100*(m+3)セントとする。フレームfnのピッチの平均値の10の位の四捨五入後の値に当てはまるグリッドに対応するピッチは100*(m+4)セントとする。フレームfn+1のピッチの平均値の10の位の四捨五入後の値に当てはまるグリッドに対応するピッチは100*(m+4)セントとする。フレームfn+2のピッチの平均値の10の位の四捨五入後の値に当てはまるグリッドに対応するピッチは100*(m+4)セントとする。フレームfn+3のピッチの平均値の10の位の四捨五入後の値に当てはまるグリッドに対応するピッチは100*(m+3)セントとする。フレームfn+4のピッチの平均値の10の位の四捨五入後の値に当てはまるグリッドに対応するピッチは100*(m+2)セントとする。フレームfn+5のピッチの平均値の10の位の四捨五入後の値に当てはまるグリッドに対応するピッチは100*(m+1)セントとする。フレームfn+6のピッチの平均値の10の位の四捨五入後の値に当てはまるグリッドに対応するピッチは100*(m+2)セントとする。平坦部検出部111は、ピッチが同一であるフレームが予め決められた数以上(例えば、2フレーム以上)連続して検出された場合、ピッチが同一であるフレームをピッチの平坦部として検出してもよい。図4では、フレームfn、fn+1、fn+2の四捨五入されたピッチの平均値に当てはまるグリッドに対応するピッチが、100*(m+4)セントである。したがって、平坦部検出部111は、フレームfn〜fn+2をピッチの平坦部として検出する。
尚、平坦部検出部111は、より正確にピッチの平坦部を検出するために、ピッチの平均値の10の位の四捨五入後の値が同一のグリッドに乗っているフレームが予め決められた数以上(例えば、2フレーム以上)連続して検出された場合、検出されたフレームにおけるピッチの時間的な変動が予め決められた所定の幅以内の変動であれば、該検出されたフレームをピッチの平坦部として検出してもよい。
また、例えば、平坦部検出部111は、ピッチ検出部109によって検出されたピッチを示すデータに対しフレームごとに、ピッチを示すデータ(ピッチ波形)の傾きの絶対値を算出し、算出された傾きの絶対値が所定の値以下となるか否かを判定してもよい。算出された傾きの絶対値が所定の値以下となるフレームが予め決められた数以上(例えば、2フレーム以上)連続して検出された場合、平坦部検出部111は、算出された傾きの絶対値が所定の値以下となるフレームをピッチの平坦部として検出してもよい。また、算出された傾きの絶対値が所定の値以下となるフレームが予め決められた数以上(例えば、2フレーム以上)連続して検出された場合、平坦部検出部111は、検出されたフレームにおけるピッチの時間的な変動が予め決められた所定の幅以内の変動であれば、該検出されたフレームをピッチの平坦部として検出してもよい。
また、例えば、平坦部検出部111は、所定の複数のフレームにおけるピッチの最大値と最小値との差が所定の値以内であれば、該所定の複数のフレームをピッチの平坦部として検出してもよい。
技法判定部113は、平坦部検出部111によって検出された歌唱音の特徴量の平坦部(音量の平坦部、又はピッチの平坦部)の前後の音量の変化、及びピッチの変動に基づいて、歌唱音声の技法を判定する。例えば、技法判定部113は、歌唱技法として、しゃくり上げ、しゃくり下げ、跳ね上げ、フォール及びこぶしやクレッシェンド、デクレッシェンド、及びフォルテピアノなどの抑揚を判定してもよい。
図5は、技法判定部113における、しゃくり上げ判定の概念を説明するための図である。しゃくり上げとは、主にピッチが安定する前にピッチを下から上に上昇させる技法である。図5は、歌唱音のピッチ波形である。平坦検出部111は、図5におけるフレームfn+1〜fn+3をフレームの平坦部として検出したものとする。図5に示すように、平坦部の前のフレーム(フレームfn−1、fn)において、ピッチが上昇している。この場合、技法判定部113は、平坦部の前にしゃくり上げが含まれていると判定する。ここで、技法判定部113は、平坦部の前において、ピッチを示すデータ(ピッチ波形)の傾きが所定の値以上となるフレームが予め決められた数以上(例えば、2フレーム以上)連続している場合、平坦部の前にしゃくり上げが含まれていると判定してもよい。
図6は、技法判定部113における、しゃくり下げ判定の概念を説明するための図である。しゃくり下げとは、主にピッチが安定する前にピッチを上から下に下降させる技法である。図6は、歌唱音のピッチ波形である。平坦検出部111は、図6におけるフレームfn+1〜fn+2をフレームの平坦部として検出したものとする。図6に示すように、平坦部の前のフレーム(フレームfn−1、fn)において、ピッチが下降している。この場合、技法判定部113は、平坦部の前にしゃくり下げが含まれていると判定する。ここで、技法判定部113は、平坦部の前において、ピッチを示すデータ(ピッチ波形)の傾きが所定の値以下となるフレームが予め決められた数以上(例えば、2フレーム以上)連続している場合、平坦部の前にしゃくり下げが含まれていると判定してもよい。
図7は、技法判定部113における、跳ね上げ判定の概念を説明するための図である。図7は、歌唱音のピッチ波形である。跳ね上げとは、主にピッチの安定後にピッチを下から上に上昇させる技法である。図7は、歌唱音のピッチ波形である。平坦検出部111は、図7におけるフレームfn−1〜fn+1をフレームの平坦部として検出したものとする。図7に示すように、平坦部の後のフレーム(フレームfn+2、fn+3、fn+4)において、ピッチが上昇している。この場合、技法判定部113は、平坦部の後に跳ね上げが含まれていると判定する。ここで、技法判定部113は、平坦部の後において、ピッチを示すデータ(ピッチ波形)の傾きが所定の値以上となるフレームが予め決められた数以上(例えば、2フレーム以上)連続している場合、平坦部の後に跳ね上げが含まれていると判定してもよい。
図8は、技法判定部113における、フォール判定の概念を説明するための図である。フォールとは、主にピッチの安定後にピッチを上から下に下降させる技法である。図8は、歌唱音のピッチ波形である。平坦検出部111は、図8におけるフレームfn+1〜fn+3をフレームの平坦部として検出したものとする。図8に示すように、平坦部の後のフレーム(フレームfn+4、fn+5)において、ピッチが下降している。この場合、技法判定部113は、平坦部の後ろにフォールが含まれていると判定する。ここで、技法判定部113は、平坦部の後において、ピッチを示すデータ(ピッチ波形)の傾きが所定の値以下となるフレームが予め決められた数以上(例えば、2フレーム以上)連続している場合、平坦部の後にフォールが含まれていると判定してもよい。
図9は、技法判定部113における、クレッシェンド判定の概念を説明するための図である。図9は、歌唱音の音量波形である。平坦検出部111は、図9におけるフレームfn−1〜fn+1をフレームの平坦部として検出したものとする。図9に示すように、平坦部の後のフレーム(フレームfn+2、fn+3、fn+4)において、音量が増大している。この場合、技法判定部113は、平坦部の後にクレッシェンドが含まれていると判定する。ここで、技法判定部113は、平坦部の後において、音量を示すデータ(音量波形)の傾きが所定の値以上となるフレームが予め決められた数以上(例えば、2フレーム以上)連続している場合、平坦部の後にクレッシェンドが含まれていると判定してもよい。
図10は、技法判定部113における、デクレッシェンド判定の概念を説明するための図である。図10は、歌唱音の音量波形である。平坦検出部111は、図10におけるフレームfn〜fn+2をフレームの平坦部として検出したものとする。図10に示すように、平坦部の後のフレーム(フレームfn+3、fn+4)において、音量が減少している。この場合、技法判定部113は、平坦部の後にデクレッシェンドが含まれていると判定する。ここで、技法判定部113は、平坦部の後において、音量を示すデータ(音量波形)の傾きが所定の値以下となるフレームが予め決められた数以上(例えば、2フレーム以上)連続している場合、平坦部の後にデクレッシェンドが含まれていると判定してもよい。
図11は、技法判定部113における、こぶし判定の概念を説明するための図である。こぶしとは、主にピッチをある基準から所定の時間範囲内で上又は下に所定ピッチ(例えば、100セント程度以上)変化させて、速やかに基準ピッチまで戻す技法である。図11は、歌唱音のピッチ波形である。平坦検出部111は、図11におけるフレームfn−1〜fn+1を第1の平坦部として検出し、フレームfn−4〜fn+6を第2の平坦部として検出したものとする。ここで、第1の平坦部におけるピッチの平均値と第2の平坦部におけるピッチの平均値は、略等しいものとする。ここで、ピッチの平均が略等しいとは、第1の平坦部及び第2の平坦部におけるピッチの平均値を算出し、算出されたピッチの平均値を四捨五入して100セントごとのグリッドに当てはめた場合、第1の平坦部における四捨五入されたピッチの平均値と第2の平坦部における四捨五入されたピッチの平均値が同一のグリッドに乗っている場合であってもよい。図11に示すように、第1の平坦部と第2の平坦部との間のフレーム(フレームfn+2、fn+3)において、ピッチが上下に振動している。この場合、技法判定部113は、第1の平坦部と第2の平坦部との間にこぶしが含まれていると判定する。
図12は、技法判定部113における、フォルテピアノ判定の概念を説明するための図である。フォルテピアノとは、主に音量が安定する前に音量を強くした直後に減少させる奏法であるものとする。図12は、歌唱音の音量波形である。平坦検出部111は、図12におけるフレームfn+5〜fn+6をフレームの平坦部として検出したものとする。図12に示すように、平坦部の前のフレームfn+1付近で強くなった直後のフレーム(フレームfn+2、fn+3、fn+4)において、音量が減少している。この場合、技法判定部113は、平坦部の前にフォルテピアノが含まれていると判定する。ここで、技法判定部113は、平坦部の前において、音量を示すデータ(音量波形)の傾きが所定の値以下となるフレームが予め決められた数以上(例えば、2フレーム以上)連続している場合、平坦部の前にフォルテピアノが含まれていると判定してもよい。
尚、技法判定機能100は歌唱者に指定された歌唱曲に対応する伴奏データを読み出し、信号処理部21を介して、伴奏音を音出力部25から出力させる伴奏出力部101を有してもよい。この場合、伴奏音が出力されている期間における音入力部23への入力音が判定対象の歌唱音声として認識される。
以上のように、第1実施形態における技法判定装置10は、入力された歌唱音声データから特徴量(ピッチ及び音量)を時系列に検出し、特徴量の平坦部(ピッチの平坦部及び音量の平坦部)を検出し、特徴量の平坦部(ピッチの平坦部又は音量の平坦部)の前後の音量の変動(音量の変化)とピッチの変動に基づいて特定の技法を判定する。ピッチ及び音量の検出から技法判定までの一連の処理は、所定のフレームごとに少ない演算量で実行することが可能であるため、歌唱音声データの蓄積や機械学習、及びリファレンスデータが不要である。これにより、演算量を抑えつつ、リアルタイムに特定の技法を正確に判定することが可能となる。
<変形例>
本発明の実施形態について以上に説明したが、本発明は上述した実施形態に限定されるわけではなく、他の様々な態様で実施可能である。以下の他の態様の一例を示す。
(変形例1)
技法判定装置10において実現される機能には、以上に述べた歌唱の技法判定機能100に加え、技法判定によって判定された技法に基づいた歌唱の評価機能が含まれてもよい。以下に、技法判定装置10の制御部11が記憶部13に記憶された制御プログラム13aを実行することによって実現される評価機能200について説明する。評価機能200を実現する構成の一部または全部は、ハードウエアによって実現されてもよい。
図2では、技法判定機能100とともに、技法判定機能100によって判定された技法に基づいて歌唱の評価を行う評価機能200も示している。図2を参照すると、評価機能200は、技法取得部201、ピッチ取得部203、音量取得部205、基準データ取得部207、比較部209、及び評価部211を含む。
技法取得部201は、技法判定機能100における技法判定部111によって判定された歌唱音の技法を示すデータを取得し、比較部209に出力する。ピッチ取得部203は、技法判定機能100におけるピッチ検出部105によって検出されたピッチを示すデータを時系列に取得し、比較部209に出力する。音量取得部205は、技法判定機能100における音量検出部107によって検出された歌唱音の音量を示すデータを時系列に取得し、比較部に出力する。基準データ取得部207は、記憶部13に記憶された、対応する歌唱音の評価基準データ13dを読み出して取得し、比較部209に出力する。なお、評価基準音データ13dは、評価の基準となる音を示していればよいため、必ずしも歌唱の模範となる音声を示していなくてもよい。
比較部209は、取得した歌唱音のピッチを示すデータ、歌唱音の音量を示すデータ、及び歌唱音の技法を示すデータを対応する歌唱音の評価基準データ13dと比較する。比較部209は、取得した歌唱音のピッチを示すデータと評価基準データ13dに含まれる基準ピッチデータとを時系列に比較してもよく、取得した歌唱音の音量を示すデータと評価基準データ13dに含まれる基準音量データとを時系列に比較してもよく、取得した歌唱音の技法を示すデータと価基準データ13dに含まれる基準の歌唱技法データとを比較してもよい。例えば、比較部209は、抜きやビブラートなどの技法に関し、周波数の標準偏差、周波数の平均値、ピッチの振幅の平均値、ピッチの振幅の標準偏差、及びピッチの振幅の線形近似直線の傾きなどについて、取得した歌唱音の技法と価基準データ13dに含まれる基準の歌唱技法とを比較してもよい。比較部209は、比較結果を評価部211に出力する。
評価部211は、比較部209から出力された比較結果に基づいて、歌唱音の評価の指標となる評価値を算出する。評価部211は、歌唱者による歌唱音のピッチを示すデータ、歌唱音の音量を示すデータ、及び歌唱音の技法を示すデータと対応する歌唱音の評価基準データ13dとの一致度が高いほど評価値を高く算出し、不一致度が高いほど評価値を低く算出する。また、評価部211は、抜きやビブラートなどの難易度の高い技法について、歌唱者による歌唱音と歌唱音の評価基準データ13dとの一致度が高い場合は、加重値を付与してもよい。評価部211による評価結果は、表示部17に表示されてもよい。
(変形例2)
上述した実施形態では、技法判定機能100において、平坦部検出部111は、特徴量検出部105によって検出された特徴量(ピッチ及び音量)の時系列の変動に基づいて、特徴量の平坦部を検出している。上述した実施形態1では、平坦検出部111は、特徴量の変動が予め決められた閾値又は予め決められた幅以内であるフレームが、予め決められた数以上連続している場合、即ち、予め決められた所定時間以上である場合、平坦部検出部111は、検出されたフレームを特徴量の平坦部として検出している。ここで、平坦部として判定される予め決められた所定時間は、歌唱音声データ(入力音)によって決定されてもよい。
図13は、本発明の第1の実施形態の変形例における技法判定機能100aの構成を示すブロック図である。技法判定機能100aは、音量検出部107によって検出された音量を時系列に示すデータ(音量波形)に基づいて、歌唱音声データ(入力音)のテンポを検出するテンポ推定部110を備え、平坦部検出部111aがテンポ推定部110により検出された歌唱音声データのテンポに基づいて、特徴量の平坦部を判定するのに必要な所定時間を決定すること以外は、本発明の第1の実施形態の技法判定機能100と同様である。
テンポ推定部110は、音量検出部107から歌唱音声データの音量を時系列に示すデータ(音量波形)を取得する。テンポ推定部110は、音量の変動(音量の強弱)に基づいて、歌唱音声データ(入力音)のテンポを検出する。テンポ推定部110は、検出した歌唱音声データ(入力音)のテンポを平坦部検出部111aに伝達する。平坦部検出部111aは、テンポ推定部110により検出された歌唱音声データのテンポに基づいて、特徴量の平坦部として判定するのに必要な所定時間の長さを決定する。
このように、入力された歌唱音に応じて、特徴量の平坦部として判定するのに必要な所定時間の長さを歌唱音に応じて決定することにより、平坦部の検出の精度を向上させることができる。
尚、テンポ推定部110は、技法判定機能100aが伴奏出力部101を有する場合、伴奏出力部101から伴奏音の音量を時系列に示すデータ(音量波形)を取得し、伴奏音の音量に基づいて、対応する曲のテンポを検出してもよい。
以上に述べた技法判定機能100、100aにおいて、入力音取得部103によって取得される歌唱音声データが示す音は、歌唱者による音声に限られず、歌唱合成による音声であってもよいし、楽器音であってもよい。楽器音である場合には、単音演奏であることが望ましい。なお、楽器音である場合には、子音および母音の概念が存在しないが、演奏方法によっては、各音の発音の開始点において歌唱と同様な傾向を有する。したがって、楽器音においても同様の判定ができる場合もある。
本発明の実施形態として説明した構成を基にして、当業者が適宜構成要素の追加、削除もしくは設計変更を行ったもの、又は、工程の追加、省略もしくは条件変更を行ったものも、本発明の要旨を備えている限り、本発明の範囲に含まれる。
また、上述した実施形態の態様によりもたらされる作用効果とは異なる他の作用効果であっても、本明細書の記載から明らかなもの、又は、当業者において容易に予測し得るものについては、当然に本発明によりもたらされると解される。