説明

楽曲練習支援装置、動的時間整合モジュールおよびプログラム

【課題】種々の技法が駆使された歌唱または演奏を手本として歌唱練習または演奏練習をユーザが行う場合に、それら技法の再現度合いを評価することを可能にするとともに、両者の時間軸の対応付けに要する計算回数を効率的に削減することを可能にする。
【解決手段】ユーザの歌唱音を表す第1のオーディオ信号とその手本となる歌手の歌唱音を表す第2のオーディオ信号とを比較しその一致度を点数化して出力するカラオケ装置に、上記第1のオーディオ信号を解析して得られる第1の音響パラメータと上記第2のオーディオ信号を解析して得られる第2の音響パラメータとを正規化した後にそれら音響パラメータに基づき、その楽曲の楽曲構成に応じた探索窓を設定して動的時間整合を行うDTWモジュールを設け、そのDTWモジュールにより互いに対応付けられた時間単位同士で上記第1および第2のオーディオ信号の一致度を評価させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザの歌唱または演奏をその手本と比較評価するための技術に関する。
【背景技術】
【0002】
カラオケ装置のなかには、ユーザの歌唱音をマイクロホンにより収音し、その歌唱音のピッチ(音高)の時間変化と、カラオケ伴奏(以下、「ガイドメロディ」)のピッチの時間変化とを比較し、両者の一致の度合いを点数化して出力する機能(以下、採点機能)を備えたものがあり(例えば、特許文献1や特許文献2)、この種のカラオケ装置を利用して手軽に歌唱練習を行うことが可能になっている。
【特許文献1】特開2005−215493号公報
【特許文献2】特開2003−15673号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
ところで、熟練した歌唱者は、楽譜内容に忠実に歌唱するのではなく、歌い始めや歌い終わりを意図的にずらしたり、声質や音量を変化させたり、或いはビブラートやこぶしを用いたりするなど様々な歌唱技法を駆使して情感や味わいを表現する場合がある。このような情感や味わいは歌唱者によって様々に表現され、例えば、フレーズの末尾に必ずビブラートをかけたり、歌い始めを必ずためる(歌い始めのタイミングを意図的に遅らせる)など、歌手毎に特徴があることが多い。
一方、カラオケ装置を用いて歌唱練習を行うユーザは、自身の好みの歌手の歌唱技法を真似て歌唱したいと考えていることが多く、カラオケ装置を利用して歌唱練習を行う際には、その歌唱技法をどの程度再現できたのかについても評価を受けたいと望んでいる場合がある。
【0004】
しかしながら、特許文献1や特許文献2に開示された技術では、上記の如きニーズに応えることができないのみならず、歌い始めを必ずためるなどの歌唱技法は、楽譜内容からの逸脱として減点対象となってしまう場合もある。何故ならば、特許文献1や特許文献2に開示された技術にて評価基準となるガイドメロディは楽曲のピッチの変化を楽譜内容に則して忠実に再現するものであり、これら特許文献1や特許文献2に開示された技術は楽譜内容に忠実に歌唱されたか否かを評価することを目的としているからである。なお、これは楽曲の歌唱に限らず、楽器の演奏についても同様である。
また、従来のカラオケ装置においては、ユーザの歌唱音とガイドメロディとを対比する際に、ユーザの歌唱音とガイドメロディとを1フレームなどの所定の時間単位で分割し、時間単位毎の対応付けを行う動的時間整合を行ってから両者を比較することが一般的でああるが、この動的時間整合の実行には多大な計算回数を要するという問題点もあった。
本発明は、上記課題に鑑みて為されたものであり、種々の技法が駆使された歌唱または演奏を手本として歌唱練習または演奏練習をユーザが行う場合に、それら技法の再現度合いを評価することを可能にするとともに、両者の時間軸の対応付けに要する計算回数を効率的に削減することを可能にする技術を提供することを目的としている。
【課題を解決するための手段】
【0005】
上記課題を解決するために、本発明は、ユーザによる歌唱音または演奏音の波形を表す第1のオーディオ信号を解析し、所定の時間単位毎にその時間単位における音量の時間変化の度合い、スペクトルおよびスペクトルの時間変化の度合いを表す第1の音響パラメータを抽出する抽出手段と、前記ユーザが手本とする歌唱音または演奏音の波形を表す第2のオーディオ信号を解析することにより前記時間単位毎に得られる第2の音響パラメータであって、前記第2のオーディオ信号の表す音の前記各時間単位における音量の時間変化の度合い、スペクトルおよびスペクトルの時間変化の度合いを表す第2の音響パラメータと、前記ユーザにより歌唱または演奏される楽曲を構成する各ノートの発音タイミングおよび発音時間長を表すリファレンスノートデータと、を取得する取得手段と、前記各時間単位の前記第1の音響パラメータに、その平均値および標準偏差を所定の値に変換する正規化を施す一方、前記各時間単位の前記第2の音響パラメータに前記正規化を施す正規化手段と、前記第1のオーディオ信号の時間軸を一方の座標軸とし、前記第2のオーディオ信号の時間軸を他方の座標軸とする座標平面にて、前記正規化された第1の音響パラメータと前記正規化された第2の音響パラメータとの差から算出される評価値を、前記時間単位を座標値とする格子点毎に算出する算出手段と、前記取得手段により取得したリファレンスノートデータにしたがって、各ノートの発音タイミングに応じた時間における探索窓をその音の発音時間長に応じて設定する探索窓設定手段と、前記座標平面上で、両座標値が最小の格子点である始点から、両座標値が最大の格子点である終点に至る経路のうち、その経路上の格子点における前記評価値の総和が最小になる経路を、前記探索窓設定手段により設定された探索窓内で特定する特定手段と、前記特定手段により特定された経路に沿って、前記第1のオーディオ信号における前記時間単位と前記第2のオーディオ信号における時間単位とを対応付ける対応付け手段と、を有する動的時間整合モジュール、を備え、前記第1のオーディオ信号の信号波形と前記第2のオーディオ信号の信号波形とを前記動的時間整合モジュールにより対応付けが為された時間単位毎に比較し、両者の一致の度合いを点数化して出力することを特徴とする楽曲練習支援装置を提供する。
【0006】
また、上記課題を解決するために、本発明は、ユーザによる歌唱音または演奏音の波形を表す第1のオーディオ信号を解析し、所定の時間単位毎にその時間単位における音量の時間変化の度合い、スペクトルおよびスペクトルの時間変化の度合いを表す第1の音響パラメータを抽出する抽出手段と、前記ユーザが手本とする歌唱音または演奏音の波形を表す第2のオーディオ信号を解析することにより前記時間単位毎に得られる第2の音響パラメータであって、前記第2のオーディオ信号の表す音の前記各時間単位における音量の時間変化の度合い、スペクトルおよびスペクトルの時間変化の度合いを表す第2の音響パラメータを取得する取得手段と、前記各時間単位の前記第1の音響パラメータに、その平均値および標準偏差を所定の値に変換する正規化を施す一方、前記各時間単位の前記第2の音響パラメータに前記正規化を施す正規化手段と、前記第1のオーディオ信号の時間軸を一方の座標軸とし、前記第2のオーディオ信号の時間軸を他方の座標軸とする座標平面にて、前記正規化された第1の音響パラメータと前記正規化された第2の音響パラメータとの差から算出される評価値を、前記時間単位を座標値とする格子点毎に算出する算出手段と、前記座標平面上で、両座標値が最小の格子点である始点から両座標値が最大の格子点である終点に至る経路のうち、その経路上の格子点における前記評価値の総和が最小になる経路を、予め定められた探索窓内で特定する特定手段と、前記特定手段により特定された経路に沿って、前記第1のオーディオ信号における前記時間単位と前記第2のオーディオ信号における時間単位とを対応付ける対応付け手段と、前記対応付け手段による対応付けの結果、前記ユーザの歌唱または演奏がその手本に対して遅れている場合には、前記第1のオーディオ信号の時間軸に沿って上方にその遅れの度合い分だけ前記探索窓を平行移動し、前記ユーザの歌唱または演奏がその手本に対して進んでいる場合には、前記第1のオーディオ信号の時間軸に沿って下方にその進みの度合い分だけ前記探索窓を平行移動する探索窓設定手段と、を有する動的時間整合モジュール、を備え、前記第1のオーディオ信号の信号波形と前記第2のオーディオ信号の信号波形とを前記動的時間整合モジュールにより対応付けが為された時間単位毎に比較し、両者の一致の度合いを点数化して出力することを特徴とする楽曲練習支援装置を提供する。
【0007】
また、上記課題を解決するために、本発明は、ユーザによる歌唱音または演奏音の波形を表す第1のオーディオ信号を解析し、所定の時間単位毎にその時間単位における音量の時間変化の度合い、スペクトルおよびスペクトルの時間変化の度合いを表す第1の音響パラメータを抽出する抽出手段と、前記ユーザが手本とする歌唱音または演奏音の波形を表す第2のオーディオ信号を解析することにより前記時間単位毎に得られる第2の音響パラメータであって、前記第2のオーディオ信号の表す音の前記各時間単位における音量の時間変化の度合い、スペクトルおよびスペクトルの時間変化の度合いを表す第2の音響パラメータと、前記ユーザにより歌唱または演奏される楽曲を構成する各ノートの発音タイミングおよび発音時間長を表すリファレンスノートデータと、を取得する取得手段と、前記各時間単位の前記第1の音響パラメータに、その平均値および標準偏差を所定の値に変換する正規化を施す一方、前記各時間単位の前記第2の音響パラメータに前記正規化を施す正規化手段と、前記第1のオーディオ信号の時間軸を一方の座標軸とし、前記第2のオーディオ信号の時間軸を他方の座標軸とする座標平面にて、前記正規化された第1の音響パラメータと前記正規化された第2の音響パラメータとの差から算出される評価値を、前記時間単位を座標値とする格子点毎に算出する算出手段と、前記取得手段により取得したリファレンスノートデータにしたがって、各ノートの発音タイミングに応じた時間における探索窓をその音の発音時間長に応じて設定する探索窓設定手段と、前記座標平面上で、両座標値が最小の格子点である始点から、両座標値が最大の格子点である終点に至る経路のうち、その経路上の格子点における前記評価値の総和が最小になる経路を、前記探索窓設定手段により設定された探索窓内で特定する特定手段と、前記特定手段により特定された経路に沿って、前記第1のオーディオ信号における前記時間単位と前記第2のオーディオ信号における時間単位とを対応付ける対応付け手段と、を有することを特徴とする動的時間整合モジュールを提供する。
【0008】
また、上記課題を解決するために、本発明は、ユーザによる歌唱音または演奏音の波形を表す第1のオーディオ信号を解析し、所定の時間単位毎にその時間単位における音量の時間変化の度合い、スペクトルおよびスペクトルの時間変化の度合いを表す第1の音響パラメータを抽出する抽出手段と、前記ユーザが手本とする歌唱音または演奏音の波形を表す第2のオーディオ信号を解析することにより前記時間単位毎に得られる第2の音響パラメータであって、前記第2のオーディオ信号の表す音の前記各時間単位における音量の時間変化の度合い、スペクトルおよびスペクトルの時間変化の度合いを表す第2の音響パラメータを取得する取得手段と、前記各時間単位の前記第1の音響パラメータに、その平均値および標準偏差を所定の値に変換する正規化を施す一方、前記各時間単位の前記第2の音響パラメータに前記正規化を施す正規化手段と、前記第1のオーディオ信号の時間軸を一方の座標軸とし、前記第2のオーディオ信号の時間軸を他方の座標軸とする座標平面にて、前記正規化された第1の音響パラメータと前記正規化された第2の音響パラメータとの差から算出される評価値を、前記時間単位を座標値とする格子点毎に算出する算出手段と、前記座標平面上で、両座標値が最小の格子点である始点から両座標値が最大の格子点である終点に至る経路のうち、その経路上の格子点における前記評価値の総和が最小になる経路を、予め定められた探索窓内で特定する特定手段と、前記特定手段により特定された経路に沿って、前記第1のオーディオ信号における前記時間単位と前記第2のオーディオ信号における時間単位とを対応付ける対応付け手段と、前記対応付け手段による対応付けの結果、前記ユーザの歌唱または演奏がその手本に対して遅れている場合には、前記第1のオーディオ信号の時間軸に沿って上方にその遅れの度合い分だけ前記探索窓を平行移動し、前記ユーザの歌唱または演奏がその手本に対して進んでいる場合には、前記第1のオーディオ信号の時間軸に沿って下方にその進みの度合い分だけ前記探索窓を平行移動する探索窓設定手段と、を有することを特徴とする動的時間整合モジュールを提供する。
【0009】
また、上記課題を解決するために、本発明は、コンピュータ装置を、ユーザによる歌唱音または演奏音の波形を表す第1のオーディオ信号を解析し、所定の時間単位毎にその時間単位における音量の時間変化の度合い、スペクトルおよびスペクトルの時間変化の度合いを表す第1の音響パラメータを抽出する抽出手段と、前記ユーザが手本とする歌唱音または演奏音の波形を表す第2のオーディオ信号を解析することにより前記時間単位毎に得られる第2の音響パラメータであって、前記第2のオーディオ信号の表す音の前記各時間単位における音量の時間変化の度合い、スペクトルおよびスペクトルの時間変化の度合いを表す第2の音響パラメータと、前記ユーザにより歌唱または演奏される楽曲を構成する各ノートの発音タイミングおよび発音時間長を表すリファレンスノートデータと、を取得する取得手段と、前記各時間単位の前記第1の音響パラメータに、その平均値および標準偏差を所定の値に変換する正規化を施す一方、前記各時間単位の前記第2の音響パラメータに前記正規化を施す正規化手段と、前記第1のオーディオ信号の時間軸を一方の座標軸とし、前記第2のオーディオ信号の時間軸を他方の座標軸とする座標平面にて、前記正規化された第1の音響パラメータと前記正規化された第2の音響パラメータとの差から算出される評価値を、前記時間単位を座標値とする格子点毎に算出する算出手段と、前記取得手段により取得したリファレンスノートデータにしたがって、各ノートの発音タイミングに応じた時間における探索窓をその音の発音時間長に応じて設定する探索窓設定手段と、前記座標平面上で、両座標値が最小の格子点である始点から、両座標値が最大の格子点である終点に至る経路のうち、その経路上の格子点における前記評価値の総和が最小になる経路を、前記探索窓設定手段により設定された探索窓内で特定する特定手段と、前記特定手段により特定された経路に沿って、前記第1のオーディオ信号における前記時間単位と前記第2のオーディオ信号における時間単位とを対応付ける対応付け手段として機能させることを特徴とするプログラムを提供する。
【0010】
また、上記課題を解決するために、本発明は、コンピュータ装置を、ユーザによる歌唱音または演奏音の波形を表す第1のオーディオ信号を解析し、所定の時間単位毎にその時間単位における音量の時間変化の度合い、スペクトルおよびスペクトルの時間変化の度合いを表す第1の音響パラメータを抽出する抽出手段と、前記ユーザが手本とする歌唱音または演奏音の波形を表す第2のオーディオ信号を解析することにより前記時間単位毎に得られる第2の音響パラメータであって、前記第2のオーディオ信号の表す音の前記各時間単位における音量の時間変化の度合い、スペクトルおよびスペクトルの時間変化の度合いを表す第2の音響パラメータを取得する取得手段と、前記各時間単位の前記第1の音響パラメータに、その平均値および標準偏差を所定の値に変換する正規化を施す一方、前記各時間単位の前記第2の音響パラメータに前記正規化を施す正規化手段と、前記第1のオーディオ信号の時間軸を一方の座標軸とし、前記第2のオーディオ信号の時間軸を他方の座標軸とする座標平面にて、前記正規化された第1の音響パラメータと前記正規化された第2の音響パラメータとの差から算出される評価値を、前記時間単位を座標値とする格子点毎に算出する算出手段と、前記座標平面上で、両座標値が最小の格子点である始点から両座標値が最大の格子点である終点に至る経路のうち、その経路上の格子点における前記評価値の総和が最小になる経路を、予め定められた探索窓内で特定する特定手段と、前記特定手段により特定された経路に沿って、前記第1のオーディオ信号における前記時間単位と前記第2のオーディオ信号における時間単位とを対応付ける対応付け手段と、前記対応付け手段による対応付けの結果、前記ユーザの歌唱または演奏がその手本に対して遅れている場合には、前記第1のオーディオ信号の時間軸に沿って上方にその遅れの度合い分だけ前記探索窓を平行移動し、前記ユーザの歌唱または演奏がその手本に対して進んでいる場合には、前記第1のオーディオ信号の時間軸に沿って下方にその進みの度合い分だけ前記探索窓を平行移動する探索窓設定手段として機能させることを特徴とするプログラムを提供する。
【発明の効果】
【0011】
本発明によれば、種々の技法が駆使された歌唱または演奏を手本として歌唱練習または演奏練習をユーザが行う場合に、それら技法の再現度合いを評価することが可能になるとともに、両者の時間軸の対応付けに要する計算回数を効率的に削減することが可能になる、といった効果を奏する。
【発明を実施するための最良の形態】
【0012】
(A:第1実施形態)
以下、図面を参照しつつ本発明の第1実施形態について説明する。
(A−1:構成)
図1は、本発明に係る楽曲練習支援装置の第1実施形態であるカラオケ装置1のハードウェア構成の一例を示すブロック図である。図1に示すように、カラオケ装置1は、制御部11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、記憶部14、表示部15、操作部16、音声処理部18およびこれらのデータ授受を仲介するバス10を有している。
制御部11は、例えばCPU(Central Processing Unit)であり、ROM12に記憶されている制御プログラムを読み出してRAM13にロードし、これを実行することにより、カラオケ装置1の各部を制御する。
【0013】
記憶部14は、例えばハードディスクなどの大容量の記憶手段であり、伴奏・歌詞データ記憶領域14aと、模範音声データ記憶領域14bと、練習者音声データ記憶領域14cと、リファレンスノートデータ記憶領域14dとを有している。
【0014】
表示部15は、例えば液晶ディスプレイとその駆動回路であり、制御部11の制御の下で、カラオケ装置1の利用を促すためのメニュー画面や、背景画像に歌詞テロップが重ねられたカラオケ画面などの各種画面を表示する。操作部16は、テンキーなど各種のキーを備えており、押下されたキーに対応した信号を制御部11へ出力する。
【0015】
音声処理部18には、マイクロホン17とスピーカ19とが接続されている。マイクロホン17は、カラオケ装置1を利用して歌唱練習を行うユーザ(以下、練習者)の歌唱音を収音し、その歌唱音に応じた音声信号(アナログデータ)を音声処理部18へ出力する。音声処理部18は、マイクロホン17から出力された音声信号(アナログデータ)を音声データ(デジタルデータ)に変換して制御部11へ出力する一方、制御部11から引き渡された音声データを音声信号に変換しスピーカ19へ出力する。スピーカ19は、音声処理部18から出力される音声信号に応じた音声を放音する。
【0016】
記憶部14の伴奏・歌詞データ記憶領域14aには、1または複数の楽曲の各々について、その楽曲の伴奏を行う各種楽器の演奏音(所謂ガイドメロディ)がその楽曲の進行順に記された伴奏データと、その楽曲の歌詞を示す歌詞データとが互いに関連付けられて記憶されている。伴奏データは、例えばMIDI(Musical Instruments Digital Interface)形式のデータであり、練習者がカラオケ曲を歌唱する際に再生される。歌詞データは、そのカラオケ歌唱の際に歌詞テロップとして表示部15に表示される。
より詳細に説明すると、伴奏・歌詞データ記憶領域14aに記憶されている伴奏データと歌詞データとには、カラオケ曲を一意に識別する識別子(例えば、英字や記号、数字などからなる楽曲コード:以下、楽曲識別子)が対応付けられており、この楽曲識別子によって伴奏データと歌詞データとが互いに関連付けられている。この楽曲識別子は、練習者にその練習対象である楽曲を指定させる際に利用される。
【0017】
模範音声データ記憶領域14bには、前述した楽曲識別子に対応付けて、その楽曲識別子で識別される楽曲を持ち歌とする歌手によるその楽曲の歌唱音(以下、模範音声)の音声波形を表すWAVE形式の音声データ(以下、模範音声データ)が記憶されている。この模範音声データは、練習者の歌唱を評価する際の基準として利用される。
【0018】
練習者音声データ記憶領域14cには、マイクロホン17から音声処理部18を経てA/D変換された音声データ(以下、練習者音声データ)が、例えばWAVE形式で記憶される。
【0019】
リファレンスノートデータ記憶領域14dには、前述した楽曲識別子に対応付けてその楽曲識別子で識別される楽曲の楽譜に則した歌唱音のノート(音符)毎にその発音タイミング(すなわち、ノートオンタイミング)および発音長(ノートオンタイミングからノートオフタイミングまでの時間長)を表すリファレンスノートデータが記憶されている。詳細については後述するが、このリファレンスノートデータは、練習者音声と模範音声とを所定の時間単位(本実施形態では、1フレーム)で対応付ける際の探索窓を設定する際に利用される。
【0020】
次に、図2に示すブロック図を参照しながら、カラオケ装置1の機能構成について説明する。図2に示す基礎分析モジュール21、動的時間整合(Dynamic Time Warping:以下、DTW)モジュール22、および、評価モジュール23は、前述した制御プログラムを制御部11が実行することによって実現されるソフトウェアモジュールである。なお、図中の矢印は、データの流れを概略的に示したものである。また、上記3つのソフトウェアモジュールの他にも、練習者により指定されたカラオケ曲の伴奏音の再生や、その伴奏音と練習者の歌唱音とを合成して出力するカラオケ演奏モジュールも上記制御プログラムを制御部11が実行することによって実現されるが、係るカラオケ演奏モジュールの機能については従来のカラオケ装置の機能となんら変わるところがないため、図示および詳細な説明を省略する。
【0021】
基礎分析モジュール21は、模範音声データ記憶領域14bから読み出された模範音声データと、練習者音声データ記憶領域14cから読み出された練習者音声データの各々について、音響パラメータ(ピッチ、音量、スペクトル、音量の時間変化の度合い、および、スペクトルの時間変化の度合い)を所定の時間単位毎に抽出する。なお、本実施形態では、模範音声データおよび練習者音声データの各々から上記音響パラメータを抽出する時間単位を1フレームとする場合について説明するが、1フレームをさらに分割したサブフレーム単位で上記音響パラメータを抽出するとしても良く、また、複数フレーム単位で上記音響パラメータを抽出するとしても勿論良い。要は、模範音声データから音響パラメータを抽出する際の時間単位と練習者音声データから音響パラメータを抽出する際の時間単位とが一致していれば良く、その時間単位の長さは問わない。
この基礎分析モジュール21は、図2に示すように、ピッチ検出手段211、音量検出手段212、スペクトル検出手段213、および、微分手段214a〜214cを含んでおり、基礎分析モジュール21へ引き渡された音声データ(すなわち、模範音声データまたは練習者音声データ)は、図2に示す様に3分流され、ピッチ検出手段211、音量検出手段212およびスペクトル検出手段213の各々へ引き渡される。
【0022】
ピッチ検出手段211は、上記所定の時間単位分の音声データについて自己相関を求め、その時間単位におけるピッチを検出し、その検出結果を示すピッチデータを出力する。ピッチ検出手段211から出力されたピッチデータは、図2に示すように、DTWモジュール22へ引き渡される。なお、本実施形態では、自己相関を求めることによって、各時間単位におけるピッチの検出を行う場合について説明したが、例えば、上記時間単位毎にケプストラを求めてピッチの検出を行うようにしても勿論良い。
【0023】
音量検出手段212は、上記所定の時間単位分の音声データに含まれる各サンプル(本実施形態では256サンプル:図3参照)について、その振幅の絶対値の加算平均を算出し、その算出結果をその時間単位における音量を示す音量データとして出力する。音量検出手段212から出力された音量データは、図2に示すように2分流されてその一方はDTWモジュール22へ引き渡され、他方は、微分手段214aへ引き渡される。
【0024】
微分手段214aは、連続する複数の時間単位についての音量データから、音量についての1次微分(以下、「速度」と呼ぶ)を算出し、その算出結果を示す音量速度データを出力する。この音量速度データは、上記音声データの表す音声の音量が上記複数の時間単位に渡って上昇傾向にあるのか、それとも、下降傾向にあるのかを表している。本実施形態では、微分手段214aは、図3に示すように、連続する5つのフレームについての音量データから音量速度データを生成する。この音量速度データは、図2に示すように2分流されてその一方はDTWモジュール22へ引き渡され、他方は、微分手段214bへ引き渡される。
【0025】
微分手段214bは、連続する複数の時間単位についての音量速度データから、その1次微分(すなわち、音量の2次微分:以下、音量の加速度)を算出し、その算出結果を示す音量加速度データを出力する。この音量加速度データは、上記音量速度データの表す音量速度の変化の度合いが上記連続する複数の時間単位に渡って大きくなる傾向にあるのか、それとも、小さくなる傾向にあるのかを表している。図2に示すように、微分手段214bから出力される音量加速度データはDTWモジュール22へ引き渡される。
【0026】
スペクトル検出手段213は、図3に示すように連続する2つの時間単位分の音声データにFFT(Fast Fourier Transform)を施し、さらに、所定の通過域を有するバンドパスフィルタ(本実施形態では、歌唱音の音声データが入力されるのであるから、0から2kHZまでは1/2オクターブバンドパスフィルタで、2から8kHzまでは1/4オクターブバンドパスフィルタ)を通過させ、その出力を上記時間単位におけるスペクトル(すなわち、上記各通過域成分)を表すスペクトルデータとして出力する。スペクトル検出手段213から出力されたスペクトルデータは、図2に示すように2分流され、その一方はDTWモジュール22へ引き渡され、他方は微分手段214cへ引き渡される。
【0027】
微分手段214cは、連続する複数の時間単位(本実施形態では、連続する5フレーム)についてのスペクトルデータから、スペクトルの速度を算出し、その算出結果を示すスペクトル速度データを出力する。微分手段14cから出力されるスペクトルデータは、図2に示すように、DTWモジュール22へ引き渡される。
以上が基礎分析モジュール21の構成である。
【0028】
次いで、DTWモジュール22の機能構成について説明する。
DTWモジュール22は、図4に示すように、練習者音声の各時間単位と模範音声の各時間単位との対応関係を特定するためのものであり、図2に示すように、正規化手段221、差分マトリクス生成手段222、最適経路特定手段223、および、探索窓設定手段224を含んでいる。
【0029】
正規化手段221は、模範音声および練習者音声のそれぞれについて、その歌い始めから歌い終わりまでの各時間単位における音響パラメータを基礎分析モジュール21から受け取り、それら音声毎に正規化して差分マトリクス生成手段222へ引き渡す。ここで、データの正規化とは、上記時間単位毎に基礎分析モジュール21から引き渡されてくる一連の音響パラメータに、その加算平均および標準偏差が一定の値になるような変換を施すことであり、本実施形態では、以下の数1にしたがって上記正規化を行う。
(数1) AfterDat[i] =(BeforDat[i]) − AVR)/STD
なお、数1において、BeforDat[i]は、基礎分析モジュール21から引き渡されるi番目のフレームについての音響パラメータであり、SDVはその音響パラメータについての標準偏差、AVRはその音響パラメータについての加算平均であり、AfterDat[i]はi番目のフレームについての正規化後の音響パラメータである。
数1に示す正規化を施すことによって、基礎分析モジュール21から引き渡される音響パラメータは、加算平均が“0”で標準偏差が“1”である音響パラメータ(すなわち、標準化された正規分布にしたがうデータ)に変換されることになる。このような正規化を施すことにより、歌唱者音声の収音環境と模範音声の収音環境との差異を取り除いて歌唱者音声と模範音声とを比較することが可能になる。また、模範音声と練習者音声の間に音量レベル差があったり、ピッチがオクターブ単位で異なったりすることは歌唱の巧拙とは関わりがないことがほとんどであるが、そのような個々の音声が本来的に持っている差異などの要因を取り除くことも可能であり、突発的なピッチや音量の変化に起因する影響を緩和することも可能になる。
【0030】
差分マトリクス生成手段222は、練習者音声の各時間単位についての音響パラメータと模範音声の各時間単位についての音響パラメータとのユークリッド距離(以下、「差分」とも呼ぶ)を求め、その差分値を成分とするマトリクス(以下、差分マトリクス)をRAM13内に生成する。例えば、練習者音声の歌い始めが第0フレームで、その歌い終わりが第Nフレームである一方、模範音声の歌い始めが第0フレームで、その歌い終わりが第Mフレームである場合(N、Mは1以上の自然数)、差分マトリクス生成手段222は、以下の数2で示す値を(i、j)成分(ただし、0≦i≦N,0≦j≦M)とする(N+1)行(M+1)列の差分マトリクスを生成する。
(数2)Sqr{ (Σ(GuideSpectrum[j][k]−SingerSpectrum[i][k])^2)*WeightScalar[k]
+(Σ(ΔGuideSpectrum[j][k]−ΔSingerSpectrum[i][k])^2)*WeightVector[k]
+(ΔGuidePower[j]−ΔSingerPower[i])^2)
+(ΔΔGuidePower[j]−ΔΔSingerPower[i])^2)
}/num
この数2において、
GuideSpectrum[j][k]:模範音声のj番目のフレームのk番目の通過域のスペクトル成分
SingerSpectrum[i][k]:練習者音声のi番目のフレームのk番目の通過域のスペクトル成分
ΔGuideSpectrum[j][k]:模範音声のj番目のフレームのk番目のスペクトル速度
ΔSingerSpectrum[i][k]:練習者音声のi番目のフレームのk番目のスペクトル速度
ΔGuidePower[j]:模範音声のj番目のフレームの音量速度
ΔSingerPower[i]:練習者音声のi番目のフレームの音量速度
ΔΔGuidePower[j]:模範音声のj番目のフレームの音量加速度
ΔΔSingerPower[i]:練習者音声のi番目のフレームの音量加速度
WeightScalar[k]:重み付け係数
WeightVector[k]:重み付け係数
num:ユークリッド距離を求めるパラメータの数(例えば、練習者音声が第0フレームから第Nフレームに渡っており、模範音声が第0フレームから第Mフレームに渡っている場合には、num=(N+1)×(M+1)) である。
ただし、WeightScalar[k]は、時間変化に依存しない音響パラメータへの重み付けを行う係数であり、練習者歌唱音および模範音声が有音(周期的な音声)であるか、無音(非周期的な音声)であるかに応じて適宜選択される値である。具体的には、練習者歌唱音および模範音声がともに有音である場合には、低域のスペクトルに重みが付与されるようにその値が選択され、練習者歌唱音および模範音声がともに無音である場合には、高域のスペクトルに重みが付与されるようにその値が選択される。なお、練習者歌唱音および模範音声について有音であるか無音であるかの判定は、各々のピッチおよび音量に基づいて為される。具体的には、差分マトリクス生成手段222は、ピッチが所定の閾値以上であり、かつ、音量も所定の閾値以上である場合に、該当する時間単位について有音であると判定し、その他の場合は無音と判定する。
これに対して、WeightVector[k]は、時間変化に依存する音響パラメータへの重み付けを行う係数であり、中域のスペクトルに重みを付与するための係数である。
なお、数2において、Σ記号は、添え字kについての総和(すなわち、全ての通過域についてのスペクトル成分の総和)を意味し、“^2”は2乗を意味し、Sqr{}は平方根を意味している。
【0031】
最適経路特定手段223は、差分マトリクス生成手段222により生成された差分マトリクスにおいてその左下隅(すなわち、(0、0)成分)からその右上隅(すなわち、(N,M)成分)へ至る経路のうち、その経路上に位置する各成分の累積値が最小になる経路(以下、最適経路)を、後述する探索窓設定手段224により設定された探索窓(本実施形態では、図4にてハッチングで示された範囲)内で特定し、その最適経路の示す時間の対応関係を表すデータを評価モジュール23へ引き渡す。
より詳細に説明すると、最適経路特定手段223は、上記探索窓内で、以下に説明する規則にしたがって上記最適経路を特定する。
(規則1)差分マトリクスの左下隅から経路の探索を始め、移動先の成分を累算した値が最小になるように移動先を選択する処理を右上隅に至るまで繰り返す。
ただし、1回の移動は、右、上、または右上の何れかに制限する。例えば、(i、j)成分からの移動は、(i、j+1)成分、(i+1、j)成分、または、(i+1、j+1)成分への移動へ制限する。
なお、右へ移動した場合の累積値と上へ移動した場合の累積値が等しい場合には、右への移動を優先する。同様に、右への移動と右上への移動の累積値が等しい場合には、右への移動を優先し、上への移動と右上への移動の累積値が等しい場合には、上への移動を優先する。また、移動先の候補となる3つの成分のうち、上記探索窓の外にある成分については移動先の候補から除外されることは言うまでもない。
(規則2)上記規則1にしたがって選択された経路を右上隅から左下隅まで逆に辿り、最適経路を特定する。
【0032】
探索窓設定手段224は、リファレンスノートデータ記憶領域14dに記憶されているリファレンスノートデータにしたがって前述した探索窓をノート毎に設定する。より詳細に説明すると、探索窓設定手段224は、以下に述べる3つの規則にしたがって、模範音声の時間軸上の各リファレンスノートデータの表す発音タイミングに応じた時間における探索窓幅(探索窓の練習者音声の時間軸方向の長さの半分の値)を設定する。なお、探索窓設定手段224により設定された探索窓幅は、後続のノートの発音タイミングまたは休符に至るまで維持される。
(規則a)リファレンスノートデータの表す発音時間長dが、探索窓幅についての第1の閾値thを超え、かつ、上記第1の閾値よりも大きな値を有する第2の閾値rよりも小さい場合には、そのリファレンスノートデータの表す発音タイミングにおける探索窓幅に上記発音時間長dを設定する。
(規則b)リファレンスノートデータの表す発音時間長dが、探索窓幅についての第1の閾値thよりも小さい場合には、そのリファレンスノートデータの表す発音タイミングにおける探索窓幅に上記第1の閾値thを設定する。
(規則c)リファレンスノートデータの表す発音時間長dが、探索窓幅についての第2の閾値rよりも大きい場合には、そのリファレンスノートデータの表す発音タイミングにおける探索窓幅に上記第2の閾値rを設定する。
【0033】
例えば、図4に示す”Note1”については、その発音時間長d1が、第1の閾値thよりも大きく、かつ、第2の閾値rよりも小さいため、上記規則aにしたがってその“Note1”の発音タイミングにおける探索窓幅にその発音時間長d1が設定される。また、図4に示す”Note2”については、その発音時間長d2が、第1の閾値thよりも小さいため、上記規則bにしたがってその“Note2”の発音タイミングにおける探索窓幅に第1の閾値thが設定される。そして、図4に示す”Note3”については、その発音時間長d3が、第2の閾値rhよりも大きいため、上記規則cにしたがってその“Note3”の発音タイミングにおける探索窓幅に第2の閾値rが設定される。
【0034】
なお、本実施形態では、リファレンスノートデータの表す各ノートの発音時間長と上記第1および第2の閾値を比較することによって、各ノートの発音タイミングにおける探索窓幅を設定する場合について説明したが、上記発音時間長の値に所定の係数を乗じた後に上記2つの閾値との比較を行うとしても良く、また、上記発音時間長の値を指数関数や対数関数などの非線形関数の引数として得られる関数値と上記2つの閾値とを比較するようにしても良い。また、本実施形態では、各ノートの発音タイミングにおける探索窓幅をノートの発音時間長に応じて設定する場合について説明したが、探索窓幅が急激に変化することを回避するために、その発音タイミングの前後に所定の時間分のオフセットを設け、そのオフセット内では、変更前の探索窓幅から変更後の探索窓幅へなめらかに変化するように補間を行っても良い。
【0035】
図2の評価モジュール23は、DTWモジュール22により各時間単位の対応付けが為された模範音声と練習者音声とについて、互いに対応する時間単位毎に信号波形を比較し、模範音声に対する練習者音声の一致度を点数化して表示部15にさせるものである。
以上に説明したように、本実施形態に係るカラオケ装置1のハードウェア構成は、一般的なコンピュータ装置のハードウェア構成と同一であり、本発明に係る楽曲練習支援装置に特徴的な機能はソフトウェアモジュール(すなわち、基礎分析モジュール21およびDTWモジュール22)により実現されている。なお、本実施形態では、本発明に係る楽曲練習支援装置に特徴的な基礎分析モジュールおよびDTWモジュールをソフトウェアモジュールで実現する場合について説明したが、これら各モジュールをハードウェアで実現しても良いことは勿論である。
以上がカラオケ装置1の構成である。
【0036】
(A−2:動作)
次いで、カラオケ装置1が行う動作のうち、その特徴を顕著に示している動作(すなわち、基礎分析モジュール21およびDTWモジュール22の動作)を中心に図面を参照しつつ説明する。なお、以下に説明する動作例では、カラオケ装置1の電源(図示)は投入済みであり、制御部11はROM12からRAM13へロードした制御プログラムにしたがって作動しているものとする。
【0037】
カラオケ装置1を用いて歌唱練習を行おうとする練習者は、表示部15に表示されるメニュー画面等を参照しながら操作部16を適宜操作することによって、歌唱練習を所望する楽曲の楽曲識別子を入力することにより練習対象の楽曲を指定する。このようにして練習対象の楽曲が指定されると、制御部11は、その楽曲識別子に対応する伴奏データ、歌詞データおよびリファレンスノートデータを記憶部14からRAM13へロードする。そして、上記練習者が演奏開始を指示する旨の操作を操作部16に対して行うと、制御部11は、RAM13へ読み出した伴奏データにしたがった伴奏音の再生を音声処理部18に開始させるとともに、歌詞データの表す歌詞テロップを埋め込んだカラオケ画面を表示部15へ表示させ、楽曲の進行に併せてその歌詞のワイプ表示を行う。
【0038】
上記カラオケ画面を視認しスピーカから放音される伴奏音を聞いている練習者は、その楽曲の歌い出しタイミングに至ると、その楽曲の歌唱を開始する。そして、練習者の歌唱音は、マイクロホン17によって収音され、その歌唱音に応じた練習者音声データが練習者音声データ記憶領域14cに順次書き込まれる。このようにして練習者音声データが練習者音声データ記憶領域14cに記憶されると、制御部11は、この練習者音声データと、メニュー画面にてユーザにより指定された楽曲識別子に対応付けて模範音声データ記憶領域14bに記憶されている模範音声データとを読出し、図5に示す採点処理を実行する。なお、本動作例では、練習者音声は第0フレームから第3フレームまでの4個のフレームに渡っている一方、模範音声は第0フレームから第4フレームまでの5個のフレームに渡っているものとする。
【0039】
図5は、制御部11が上記制御プログラムにしたがって行う採点処理の流れを示すフローチャートである。図5に示すように、制御部11は、練習者音声について、その歌い始めから歌い終わりまでの時間単位毎に音響パラメータを抽出する一方、練習者音声についてもその歌い始めから歌い終わりまでの時間単位毎に音響パラメータを抽出する(ステップSA100)。なお、このステップSA100の処理は、前述した基礎分析モジュール21により実行される。
【0040】
次いで、制御部11は、ステップSA100にて抽出した音響パラメータに正規化を施し(ステップSA110)、正規化後の音響パラメータから差分マトリクスを生成する(ステップSA120)。なお、このステップSA110の処理は、前述した正規化手段221により実行され、ステップSA120の処理は差分マトリクス生成手段222により実行される。本動作例では、ステップSA120までの処理が実行された結果、図6に示す4行5列の差分マトリクスが生成され、RAM13に記憶されるものとする。
【0041】
次いで、制御部11は、ステップSA120にて生成した差分マトリクスに対して、RAM13に記憶されているリファレンスノートデータにしたがって探索窓を設定する(ステップSA130)。なお、このステップSA130の処理は、前述した探索窓設定手段により実行される。本動作例では、ステップSA130の処理が実行された結果、図4にてハッチングで示す探索窓が設定されるものとする。
【0042】
次いで、制御部11は、ステップSA120にて生成した差分マトリクスにおいて、ステップSA130にて設定した探索窓内で最適経路を特定する(ステップSA140)。このステップSA140の処理は前述した最適経路特定手段223により実行される処理であり、具体的には、最適経路特定手段223は以下に説明する手順で、最適経路の特定を行う。最適経路特定手段223は、まず、差分マトリクスの第0列(すなわち、左端の列)に属する成分について、前述した(規則1)にしたがった移動に伴う累積値を算出する(図7参照)。なお、以下に説明する動作例では、説明を簡略化するため、第0列の各成分は、探索窓設定手段224により設定される探索窓に全て含まれているものとする。
【0043】
例えば、(0、0)成分の値は“1”であり、(1,0)成分の値は“4”であるから(図6参照)、(0,0)成分から(1,0)成分への移動に伴う累積値は“5”になる(図7参照)。そして、(2,0)成分の値は“1”であるから、(0,0)成分→(1,0)成分→(2,0)成分という移動に伴う累積値は“6”になる(図7参照)。以下、(3,0)成分に至るまで移動に伴う成分の累積値を算出し、図7に示す結果が得られる。なお、最適経路特定手段223は、移動に伴う累積値を算出する際には、その移動元の成分を一意に示す識別子(本実施形態では、その成分の2つの添え字)とその移動先の成分に示す識別子とを対応付けてRAM13に記憶する。例えば、(0、0)成分から(1、1)成分への移動に際しては、“(0,0)→(1,1、)”という文字列データをRAM13に記憶する。このようにしてRAM13に記憶されるデータは、最適経路を特定する際のトレースバックにてバックポインタとして利用される。
【0044】
最適経路特定手段223は、前述した第0列の場合と同様に、第1列についても移動に伴う成分の累積を行う。具体的には、最適経路特定手段223は、まず、(0、0)成分から(0、1)成分への移動に伴う成分の累積を行う。図8に示すように、(0,0)成分の値は“1”であり、(0,1)成分の値は“3”であるから、(0、0)成分から(0、1)成分への移動に伴う累積値は“4”になる。
次いで、最適経路特定手段223は、(1,1)成分への移動に伴う成分の累積を行うのであるが、ここで注目すべき点は、(1,1)成分への移動パターンとしては、以下に述べる3つのパターンが有り得る点である。すなわち、(0,1)成分から(1、1)成分への上方向の移動と、(0,0)成分から(1,1)成分への右上方向への移動と、(1、0)成分から(1、1)成分への右方向の移動である。
【0045】
最適経路特定手段223は、上記3つの移動パターンのうち、移動に伴う成分の累積値が最小になる移動パターンを選択し、その移動パターンにしたがって(1,1)成分への移動に伴う累積値を算出する。図7に示すように、(0,1)成分から(1、1)成分への移動に伴う累積値は“5”であり、(0,0)成分から(1,1)成分への移動に伴う累積値は“2”であり、(1、0)成分から(1、1)成分への移動に伴う累積値は“6”であるから、最適経路特定手段223は、(1、1)成分への移動に伴う累積値として“2”(すなわち、(0、0)成分からの右上方向への移動に伴う累積値)を採用する。
以下、同様に、最適経路特定手段223は、差分マトリクスの右上隅(すなわち、(4、5)成分)に至るまで、移動に伴う成分値の累積を繰り返す(図9参照)。
【0046】
図9に示すように、差分マトリクスの右上隅まで、移動に伴う成分の累積を完了すると、最適経路特定手段223は、その右上隅を出発点として、前述したバックポインタを辿る処理を左下隅の格子点へ到達するまで繰り返し、最適経路候補を特定する。その結果、図7に示す差分マトリクスについては、図10に示す最適経路候補(すなわち、(4,5)→(3,4)→(2,3)→(2,2)→(1,1))が特定される。
次いで、最適経路特定手段223は、上記のようにして特定した最適経路候補を逆に辿るとともに、その最適経路候補から外れて移動を行う場合には、その移動に伴って上記累積値が増加することを確かめ、最適経路を特定する(図11参照)。
【0047】
以上のようにして特定された最適経路は、模範音声の時間軸と練習者音声の時間軸との対応関係を表している。具体的には、図11に示す最適経路は、模範音声についての各時間単位と練習者音声についての各時間単位とが図12に示すように対応していることを示している。最適経路特定手段223は、図12に示す対応関係を示すデータを生成し、そのデータを評価モジュール23へ出力する(ステップSA150)。
【0048】
以下、評価モジュール23は、最適経路特定手段223により特定された対応関係を満たすように練習者音声データにタイムアラインメント(時間軸の伸縮)を施した後に模範音声データと比較し、その比較結果を点数化して表示部15に表示する。
ここで注目すべき点は、評価モジュール23による評価の基準となるデータが、MIDIデータなどのガイドメロディではなく、練習者が歌唱練習している楽曲を持ち歌とする歌手の歌唱音を表す模範音声データである点である。係る模範音声データには、歌い出しの“ため”などその歌手に特徴的な技法が反映されているのであるが、それら技法が駆使されているが故に歌い出しのタイミングなどが楽譜内容からずれてしまい、練習者の歌唱音と比較することが従来は困難であった。しかしながら、本実施形態に係るカラオケ装置1においては、DTWモジュール22による動的時間整合が為された結果、練習者音声の時間軸と模範音声の時間軸とを対応付け、両者を比較評価することが可能になっている。 このように、本実施形態に係るカラオケ装置1によれば、種々の技法が駆使された歌唱を手本としてユーザが歌唱練習を行う場合に、それら技法の再現度合いを評価することが可能になる、といった効果を奏する。
【0049】
また、従来の動的時間整合処理においては、図4にて点線で示すように、各ノートの発音時間長とは無関係に一定の探索窓幅を有し差分マトリクスの対角成分を結ぶ線に対して対称な探索窓(すなわち、差分マトリクスの成分のうち、各成分を一意に特定する2つの添え字の差が所定の値以下である成分のみを含む探索窓)を設定していた。これは、カラオケ曲の歌唱はガイドメロディや歌詞テロップのワイプ表示で示される楽曲の進行に則して行われるのであるから、歌唱者音声の進行とその手本の進行とが極端にずれる(例えば、練習者音声の第0フレームが手本の第Mフレームに対応するなど)ことはないからである。これに対して、本実施形態では、図4にてハッチングで示すにように、各ノートの発音時間長を加味して探索窓の幅を設定するようにしたため、従来に比較して探索窓の面積が小さくなり、最適経路特定に要する計算回数が削減され、効率的に最適経路の特定を行うことが可能になる。なお、各ノートの発音時間長を加味して探索窓幅を設定するようにした理由は、ノートの発音時間長を超えてそのノートの発音タイミングがずれてしまうことは一般に少ないからである。このように、本実施形態に係る動的時間整合処理によれば、練習対象であるカラオケ曲の楽曲構成(ノートの配列および各ノートの発音時間長)に最適な探索窓を設定し効率的に動的時間整合を行うことが可能になる。
【0050】
(B:第2実施形態)
次いで、本発明の第2実施形態について図面を参照しつつ説明する。
図13は、本発明の第2実施形態に係るカラオケ装置2のハードウェア構成の一例を示すブロック図である。なお、図13においては、カラオケ装置1と同一の構成要素には同一の符号が付されている。
【0051】
図1と図13とを対比すれば明らかなように、カラオケ装置2のハードウェア構成が、カラオケ装置1のハードウェア構成と異なっている点は、記憶部14内にリファレンスノートデータ記憶領域14dを有していない点である。また、図13においては詳細な図示は省略したが、カラオケ装置2の記憶部14には、カラオケ装置1の制御プログラムとは異なる制御プログラムが記憶されているため、この制御プログラムを制御部11が実行することにより実現されるソフトウェアモジュールもカラオケ装置1におけるソフトウェアモジュールとは異なっている。具体的には、カラオケ装置2においては、記憶部14に記憶されている制御プログラムを制御部11が実行することによって、図14に示す各ソフトウェアモジュールが実現される。なお、図14においては、図2に示す構成要素と同一の構成要素については同一の符号が付されている。
【0052】
図2と図14とを対比すれば明らかなように、カラオケ装置2の機能構成がカラオケ装置1の機構構成と異なっている点は、DTWモジュール22に代えてDTWモジュール32を設けた点であり、このDTWモジュール32は、探索窓設定手段224に代えて探索窓設定手段324を設けた点と、最適経路特定手段223による特定結果を表すデータを2分流しその一方を探索窓設定手段324へ引き渡すようにした点でDTWモジュール22と異なっている。
【0053】
探索窓設定手段324は、図15にて点線で示すように、従来の動的時間整合処理と同様の探索窓(すなわち、差分マトリクスの成分のうち、各成分を一意に特定する2つの添え字の差が所定の値以下である成分のみを含む探索窓)を設定して最適経路特定手段223に最適経路の特定を行わせ、その特定結果を示すデータ(すなわち、模範音声の各フレームに対応する練習者音声のフレームの伸縮量を表すデータ)を最適経路特定手段223から受取ると、その特定結果にしたがって探索窓の再設定を行う。
【0054】
より詳細に説明すると、本実施形態に係る制御プログラムは、カラオケ曲を構成するため複数のパート(例えば、間奏により区切られる1番および2番)のパート毎に、図5に示す採点処理を行うように構成されており、カラオケ曲の1番部分については、図5のステップSA120にて従来の動的時間整合処理と同様の探索窓を設定し、2番部分については、1番部分についてステップSA130にて特定された伸縮量に応じて探索窓を平行移動する。例えば、模範音声に対して練習者音声が遅れており、その遅れの度合いを示す伸縮量(模範音声の各フレームに対応する練習者音声のフレームの伸縮量の平均値)がdである場合には、探索窓設定手段324は、上記カラオケ曲の1番についての動的時間整合処理にて設定した探索窓を、練習者音声の時間軸の上方向へ上記伸縮量d分だけ平行移動する(図15参照)。なお、上記平行移動の結果、差分マトリクスの対角成分を結ぶ線から探索窓の下端までの長さが所定の閾値th未満になる場合には、差分マトリクスの対角成分を結ぶ線から探索窓の下端までの長さが上記閾値thになるように、探索窓を拡張するようにしても良い。また、模範音声に対して練習者音声が進んでいる場合には、練習者音声の時間軸の下方向へ平行移動すれば良いことは言うまでもなく、係る平行移動に伴って、差分マトリクスの対角成分を結ぶ線から探索窓の上端までの長さが所定の閾値th未満になる場合には、差分マトリクスの対角成分を結ぶ線から探索窓の下端までの長さが上記閾値thになるように、探索窓を拡張するようにしても良い。
【0055】
上記のような構成としたため、本実施形態に係るカラオケ装置2によれば、模範音声に対して歌唱タイミングが遅れる傾向(または、歌唱タイミングが早すぎる傾向)など練習者の癖に応じて探索窓を最適化することが可能になるといった効果を奏する。なお、本第2実施形態に係るカラオケ装置2についても、練習者が歌唱練習する楽曲を持ち歌とする歌手の歌唱音の波形を表す模範音声データを基準としてその練習者の歌唱が評価されるので、種々の技法が駆使された歌唱を手本としてユーザが歌唱練習を行う場合に、それら技法の再現度合いを評価することが可能である。
【0056】
(C:変形)
以上、本発明の1実施形態について説明したが、係る実施形態に以下に述べるような変形を加えても良いことは勿論である。
(1)上述した第1実施形態では、練習対象であるカラオケ曲の楽曲構成に応じて探索窓を最適化する場合について説明し、第2実施形態では、練習者の歌唱の癖に応じて探索窓を最適化する場合について説明した。しかしながら、これら2つの態様を組み合わせても良いことは勿論である。具体的には、カラオケ曲の1番部分の歌唱についてはその楽曲構成に応じて探索窓を設定し、2番部分の歌唱については、上記1番部分の歌唱について設定した探索窓を該1番部分の歌唱についての動的時間整合処理の処理結果に応じて平行移動させるようにすれば良い。
【0057】
(2)上述した実施形態では、基礎分析モジュール21およびDTWモジュール22(またはDTWモジュール32)をカラオケ装置へ組み込むことによって、種々の技法を駆使して歌唱が行われた場合に、その手本となる歌唱にて駆使されている技法との一致度を評価することを可能にする場合について説明した。しかしながら、基礎分析モジュールによる音響パラメータの抽出対象やDTWモジュールによる動的時間整合処理の処理対象は、上記歌唱音に限定されるものではなく、種々の技法を駆使して演奏された楽器の演奏音データとその手本となる模範演奏データであっても良い。
【0058】
(3)上述した実施形態では、練習者歌唱音と模範音声との動的時間整合を行う際には、その都度、模範音声データ記憶領域14bに記憶されている模範音声データを基礎分析モジュール21によって分析し、その模範音声データの表す歌唱音についての音響パラメータを算出する場合について説明した。しかしながら、模範音声データについて上記音響パラメータを予め求めておき、その音響パラメータと楽曲識別子とを対応付けて記憶部14に記憶させておくようにしても勿論良い。
また、上述した実施形態では、カラオケ装置1に設けられた記憶部14に模範音声データを記憶させておく場合について説明したが、CD−ROM(Compact Disk-Read Only Memory)やDVD(Digital Versatile Disk)などのコンピュータ装置読み取り可能な記録媒体に模範音声データや模範音声データから抽出される音響パラメータを書き込んで配布し、このような記録媒体からの模範音声データや音響パラメータの読み出しにより、模範音声データや音響パラメータを取得させるようにしても良く、また、インターネットなどの電気通信回線経由で模範音声についての音響パラメータを取得させるようにしても良い。同様に、リファレンスノートデータについても記録媒体経由または電気通信回線経由で取得させるようにしても良い。
また、上述した第1実施形態では、伴奏・歌詞データや、模範音声データの他にリファレンスノートデータを記憶部14に記憶させておく場合について説明したが、伴奏データのうちのメインメロディを表すデータ(ガイドメロディを表すデータ)も各ノートの発音タイミングおよび発音時間長を表すデータであるから、このデータを上記リファレンスノートデータの代わりに用いるようにしても良い。なお、このような態様においては、リファレンスノートデータを別途記憶させておく必要がないことは言うまでもない。
【0059】
(4)上述した実施形態では、練習者音声データや模範音声データから音響パラメータの抽出を行う基礎分析モジュールと、それら音響パラメータに基づいて模範音声と練習者音声との時間軸の対応付けを行うDTWモジュールとを夫々別個のソフトウェアモジュールとして実現する場合について説明したが、1つのソフトウェアモジュールとして構成しても良いことは勿論である。具体的には、音響パラメータの正規化および正規化後の音響パラメータを用いて動的時間整合を行う動的時間整合モジュールに、練習者音声データから音響パラメータを抽出する機能や、模範音声データからの抽出或いは記録媒体等からの読出しにより模範音声についての音響パラメータの取得を行う機能を担わせるようにすれば良い。
【0060】
(5)上述した実施形態では、動的時間整合を行うための音響パラメータとして、ピッチ、音量およびスペクトルと、音量の1次微分および2次微分、スペクトルの1次微分を用いる場合について説明した。これら音響パラメータのうち、音量の1次微分および2次微分は、音量の時間変化の度合いを表すものであるが、2次微分は必ずしも必須ではない。また、スペクトルについても、その時間変化の度合いを動的時間整合により正確に反映させるため、2次微分まで求めるようにしても勿論良い。
【0061】
(6)上述した実施形態では、カラオケ曲を一意に識別する楽曲識別子に対応付けてその楽曲識別子で識別されるカラオケ曲を持ち歌とする歌手によるそのカラオケ曲の歌唱音を表す模範音声データを記憶部14に記憶させておく場合について説明した。
しかしながら、1つの楽曲を複数の歌手が夫々個別に持ち歌としている場合には、その歌手毎に異なる楽曲であるとして、互いに異なる楽曲識別子を付与しても良く、また、その楽曲を一意に識別する楽曲識別子に上記複数の歌手の各々を一意に識別する歌手識別子を対応付け、さらに、この楽曲識別子と歌手識別子の組に、その楽曲識別子で識別される楽曲の、その歌手識別子で識別される歌手による歌唱音を表す模範音声データを対応付けて記憶部14に記憶させておくとしても良い。前述したように、歌手毎にその歌唱技法が異なっていることが一般的であり、同一の楽曲であっても歌い手が異なれば、その歌唱に込められる情感や味わいも異なることが一般的である。上記のように歌い手の識別を可能なように構成すれば、1つの楽曲を複数の歌手が持ち歌としている場合であっても、ユーザは、それら複数の歌手のうちから自身の好みに応じた歌手による歌唱を選択し、その歌唱を真似て歌唱練習を行うことが可能になる。
【0062】
(7)上述した実施形態では、練習者音声および模範音声のピッチおよび音量に基づいて有音であるか無音であるかを判定し、その判定結果に応じて時間変化に依存しない音響パラメータ(上記実施形態では、スペクトル)に付与する重みを切り替える場合について説明したが、ピッチのみ、或いは、音量のみに基づいて有音/無音の判定をするようにしても勿論良い。なお、ピッチのみに基づいて有音/無音の判定を行う場合には、基礎分析モジュール21からDTWモジュール22へ音量データを引渡す必要がないことは言うまでもなく、また、音量のみに基づいて有音/無音の判定を行う場合には、基礎分析モジュール21にてピッチの検出を行う必要がないこと(すなわち、ピッチ検出手段211を設ける必要がないこと)は言うまでもない。また、上記の如き重みの切り替えは必ずしも必須ではないから、係る切り替えを行わない態様においては、ピッチの検出や基礎分析モジュール21からDTWモジュール22への音量データの引渡しを行う必要がないことは言うまでも無い。
【0063】
(8)上述した実施形態では、本発明に係る楽曲練習支援装置に特徴的な機能を制御部11に実現させるための制御プログラムをROM12に予め書き込んでおく場合について説明したが、CD−ROMやDVDなどのコンピュータ装置読み取り可能な記録媒体に上記制御プログラムを記録して配布するとしても良く、インターネットなどの電気通信回線経由のダウンロードにより上記制御プログラムを配布するようにしても勿論良い。
【図面の簡単な説明】
【0064】
【図1】本発明の第1実施形態に係るカラオケ装置1のハードウェア構成の一例を示すブロック図である。
【図2】同カラオケ装置1の機能構成例を示すブロック図である。
【図3】同基礎分析モジュール21により実行される音響パラメータ抽出を説明するための図である。
【図4】同DTWモジュール22により実行される動的時間整合処理にて設定される探索窓の一例を示す図である。
【図5】同カラオケ装置1が行う採点処理の流れを示すフローチャートである。
【図6】差分マトリクスの一例を示す図である。
【図7】最適経路特定処理中の差分マトリクスの一例を示す図である。
【図8】最適経路特定処理中の差分マトリクスの一例を示す図である。
【図9】最適経路特定処理中の差分マトリクスの一例を示す図である。
【図10】最適経路特定処理中の差分マトリクスの一例を示す図である。
【図11】最適経路特定処理にて特定される最適経路の一例を示す図である。
【図12】動的時間整合処理の処理結果を説明するための図である。
【図13】本発明の第2実施形態に係るカラオケ装置2のハードウェア構成の一例を示すブロック図である。
【図14】同カラオケ装置2の機能構成例を示すブロック図である。
【図15】同DTWモジュール32により実行される動的時間整合処理にて設定される探索窓の一例を示す図である。
【符号の説明】
【0065】
1,2…カラオケ装置、11…制御部、12…ROM、13…RAM、14…記憶部、15…表示部、16…操作部、17…マイクロホン、18…音声処理部、19…スピーカ、21…基礎分析モジュール、211…ピッチ検出手段、212…音量検出手段、213…スペクトル検出手段、214a,214b,214c…微分手段、22,32…DTWモジュール、221…正規化手段、222…差分マトリクス生成手段、223…最適経路特定手段、23…評価モジュール、224,324…探索窓設定手段。

【特許請求の範囲】
【請求項1】
ユーザによる歌唱音または演奏音の波形を表す第1のオーディオ信号を解析し、所定の時間単位毎にその時間単位における音量の時間変化の度合い、スペクトルおよびスペクトルの時間変化の度合いを表す第1の音響パラメータを抽出する抽出手段と、
前記ユーザが手本とする歌唱音または演奏音の波形を表す第2のオーディオ信号を解析することにより前記時間単位毎に得られる第2の音響パラメータであって、前記第2のオーディオ信号の表す音の前記各時間単位における音量の時間変化の度合い、スペクトルおよびスペクトルの時間変化の度合いを表す第2の音響パラメータと、前記ユーザにより歌唱または演奏される楽曲を構成する各ノートの発音タイミングおよび発音時間長を表すリファレンスノートデータと、を取得する取得手段と、
前記各時間単位の前記第1の音響パラメータに、その平均値および標準偏差を所定の値に変換する正規化を施す一方、前記各時間単位の前記第2の音響パラメータに前記正規化を施す正規化手段と、
前記第1のオーディオ信号の時間軸を一方の座標軸とし、前記第2のオーディオ信号の時間軸を他方の座標軸とする座標平面にて、前記正規化された第1の音響パラメータと前記正規化された第2の音響パラメータとの差から算出される評価値を、前記時間単位を座標値とする格子点毎に算出する算出手段と、
前記取得手段により取得したリファレンスノートデータにしたがって、各ノートの発音タイミングに応じた時間における探索窓をその音の発音時間長に応じて設定する探索窓設定手段と、
前記座標平面上で、両座標値が最小の格子点である始点から、両座標値が最大の格子点である終点に至る経路のうち、その経路上の格子点における前記評価値の総和が最小になる経路を、前記探索窓設定手段により設定された探索窓内で特定する特定手段と、
前記特定手段により特定された経路に沿って、前記第1のオーディオ信号における前記時間単位と前記第2のオーディオ信号における時間単位とを対応付ける対応付け手段と、
を有する動的時間整合モジュール、を備え、
前記第1のオーディオ信号の信号波形と前記第2のオーディオ信号の信号波形とを前記動的時間整合モジュールにより対応付けが為された時間単位毎に比較し、両者の一致の度合いを点数化して出力する
ことを特徴とする楽曲練習支援装置。
【請求項2】
ユーザによる歌唱音または演奏音の波形を表す第1のオーディオ信号を解析し、所定の時間単位毎にその時間単位における音量の時間変化の度合い、スペクトルおよびスペクトルの時間変化の度合いを表す第1の音響パラメータを抽出する抽出手段と、
前記ユーザが手本とする歌唱音または演奏音の波形を表す第2のオーディオ信号を解析することにより前記時間単位毎に得られる第2の音響パラメータであって、前記第2のオーディオ信号の表す音の前記各時間単位における音量の時間変化の度合い、スペクトルおよびスペクトルの時間変化の度合いを表す第2の音響パラメータを取得する取得手段と、
前記各時間単位の前記第1の音響パラメータに、その平均値および標準偏差を所定の値に変換する正規化を施す一方、前記各時間単位の前記第2の音響パラメータに前記正規化を施す正規化手段と、
前記第1のオーディオ信号の時間軸を一方の座標軸とし、前記第2のオーディオ信号の時間軸を他方の座標軸とする座標平面にて、前記正規化された第1の音響パラメータと前記正規化された第2の音響パラメータとの差から算出される評価値を、前記時間単位を座標値とする格子点毎に算出する算出手段と、
前記座標平面上で、両座標値が最小の格子点である始点から両座標値が最大の格子点である終点に至る経路のうち、その経路上の格子点における前記評価値の総和が最小になる経路を、予め定められた探索窓内で特定する特定手段と、
前記特定手段により特定された経路に沿って、前記第1のオーディオ信号における前記時間単位と前記第2のオーディオ信号における時間単位とを対応付ける対応付け手段と、
前記対応付け手段による対応付けの結果、前記ユーザの歌唱または演奏がその手本に対して遅れている場合には、前記第1のオーディオ信号の時間軸に沿って上方にその遅れの度合い分だけ前記探索窓を平行移動し、前記ユーザの歌唱または演奏がその手本に対して進んでいる場合には、前記第1のオーディオ信号の時間軸に沿って下方にその進みの度合い分だけ前記探索窓を平行移動する探索窓設定手段と、
を有する動的時間整合モジュール、を備え、
前記第1のオーディオ信号の信号波形と前記第2のオーディオ信号の信号波形とを前記動的時間整合モジュールにより対応付けが為された時間単位毎に比較し、両者の一致の度合いを点数化して出力する
ことを特徴とする楽曲練習支援装置。
【請求項3】
ユーザによる歌唱音または演奏音の波形を表す第1のオーディオ信号を解析し、所定の時間単位毎にその時間単位における音量の時間変化の度合い、スペクトルおよびスペクトルの時間変化の度合いを表す第1の音響パラメータを抽出する抽出手段と、
前記ユーザが手本とする歌唱音または演奏音の波形を表す第2のオーディオ信号を解析することにより前記時間単位毎に得られる第2の音響パラメータであって、前記第2のオーディオ信号の表す音の前記各時間単位における音量の時間変化の度合い、スペクトルおよびスペクトルの時間変化の度合いを表す第2の音響パラメータと、前記ユーザにより歌唱または演奏される楽曲を構成する各ノートの発音タイミングおよび発音時間長を表すリファレンスノートデータと、を取得する取得手段と、
前記各時間単位の前記第1の音響パラメータに、その平均値および標準偏差を所定の値に変換する正規化を施す一方、前記各時間単位の前記第2の音響パラメータに前記正規化を施す正規化手段と、
前記第1のオーディオ信号の時間軸を一方の座標軸とし、前記第2のオーディオ信号の時間軸を他方の座標軸とする座標平面にて、前記正規化された第1の音響パラメータと前記正規化された第2の音響パラメータとの差から算出される評価値を、前記時間単位を座標値とする格子点毎に算出する算出手段と、
前記取得手段により取得したリファレンスノートデータにしたがって、各ノートの発音タイミングに応じた時間における探索窓をその音の発音時間長に応じて設定する探索窓設定手段と、
前記座標平面上で、両座標値が最小の格子点である始点から、両座標値が最大の格子点である終点に至る経路のうち、その経路上の格子点における前記評価値の総和が最小になる経路を、前記探索窓設定手段により設定された探索窓内で特定する特定手段と、
前記特定手段により特定された経路に沿って、前記第1のオーディオ信号における前記時間単位と前記第2のオーディオ信号における時間単位とを対応付ける対応付け手段と、
を有することを特徴とする動的時間整合モジュール。
【請求項4】
ユーザによる歌唱音または演奏音の波形を表す第1のオーディオ信号を解析し、所定の時間単位毎にその時間単位における音量の時間変化の度合い、スペクトルおよびスペクトルの時間変化の度合いを表す第1の音響パラメータを抽出する抽出手段と、
前記ユーザが手本とする歌唱音または演奏音の波形を表す第2のオーディオ信号を解析することにより前記時間単位毎に得られる第2の音響パラメータであって、前記第2のオーディオ信号の表す音の前記各時間単位における音量の時間変化の度合い、スペクトルおよびスペクトルの時間変化の度合いを表す第2の音響パラメータを取得する取得手段と、
前記各時間単位の前記第1の音響パラメータに、その平均値および標準偏差を所定の値に変換する正規化を施す一方、前記各時間単位の前記第2の音響パラメータに前記正規化を施す正規化手段と、
前記第1のオーディオ信号の時間軸を一方の座標軸とし、前記第2のオーディオ信号の時間軸を他方の座標軸とする座標平面にて、前記正規化された第1の音響パラメータと前記正規化された第2の音響パラメータとの差から算出される評価値を、前記時間単位を座標値とする格子点毎に算出する算出手段と、
前記座標平面上で、両座標値が最小の格子点である始点から両座標値が最大の格子点である終点に至る経路のうち、その経路上の格子点における前記評価値の総和が最小になる経路を、予め定められた探索窓内で特定する特定手段と、
前記特定手段により特定された経路に沿って、前記第1のオーディオ信号における前記時間単位と前記第2のオーディオ信号における時間単位とを対応付ける対応付け手段と、
前記対応付け手段による対応付けの結果、前記ユーザの歌唱または演奏がその手本に対して遅れている場合には、前記第1のオーディオ信号の時間軸に沿って上方にその遅れの度合い分だけ前記探索窓を平行移動し、前記ユーザの歌唱または演奏がその手本に対して進んでいる場合には、前記第1のオーディオ信号の時間軸に沿って下方にその進みの度合い分だけ前記探索窓を平行移動する探索窓設定手段と、
を有することを特徴とする動的時間整合モジュール。
【請求項5】
コンピュータ装置を、
ユーザによる歌唱音または演奏音の波形を表す第1のオーディオ信号を解析し、所定の時間単位毎にその時間単位における音量の時間変化の度合い、スペクトルおよびスペクトルの時間変化の度合いを表す第1の音響パラメータを抽出する抽出手段と、
前記ユーザが手本とする歌唱音または演奏音の波形を表す第2のオーディオ信号を解析することにより前記時間単位毎に得られる第2の音響パラメータであって、前記第2のオーディオ信号の表す音の前記各時間単位における音量の時間変化の度合い、スペクトルおよびスペクトルの時間変化の度合いを表す第2の音響パラメータと、前記ユーザにより歌唱または演奏される楽曲を構成する各ノートの発音タイミングおよび発音時間長を表すリファレンスノートデータと、を取得する取得手段と、
前記各時間単位の前記第1の音響パラメータに、その平均値および標準偏差を所定の値に変換する正規化を施す一方、前記各時間単位の前記第2の音響パラメータに前記正規化を施す正規化手段と、
前記第1のオーディオ信号の時間軸を一方の座標軸とし、前記第2のオーディオ信号の時間軸を他方の座標軸とする座標平面にて、前記正規化された第1の音響パラメータと前記正規化された第2の音響パラメータとの差から算出される評価値を、前記時間単位を座標値とする格子点毎に算出する算出手段と、
前記取得手段により取得したリファレンスノートデータにしたがって、各ノートの発音タイミングに応じた時間における探索窓をその音の発音時間長に応じて設定する探索窓設定手段と、
前記座標平面上で、両座標値が最小の格子点である始点から、両座標値が最大の格子点である終点に至る経路のうち、その経路上の格子点における前記評価値の総和が最小になる経路を、前記探索窓設定手段により設定された探索窓内で特定する特定手段と、
前記特定手段により特定された経路に沿って、前記第1のオーディオ信号における前記時間単位と前記第2のオーディオ信号における時間単位とを対応付ける対応付け手段
として機能させることを特徴とするプログラム。
【請求項6】
コンピュータ装置を、
ユーザによる歌唱音または演奏音の波形を表す第1のオーディオ信号を解析し、所定の時間単位毎にその時間単位における音量の時間変化の度合い、スペクトルおよびスペクトルの時間変化の度合いを表す第1の音響パラメータを抽出する抽出手段と、
前記ユーザが手本とする歌唱音または演奏音の波形を表す第2のオーディオ信号を解析することにより前記時間単位毎に得られる第2の音響パラメータであって、前記第2のオーディオ信号の表す音の前記各時間単位における音量の時間変化の度合い、スペクトルおよびスペクトルの時間変化の度合いを表す第2の音響パラメータを取得する取得手段と、
前記各時間単位の前記第1の音響パラメータに、その平均値および標準偏差を所定の値に変換する正規化を施す一方、前記各時間単位の前記第2の音響パラメータに前記正規化を施す正規化手段と、
前記第1のオーディオ信号の時間軸を一方の座標軸とし、前記第2のオーディオ信号の時間軸を他方の座標軸とする座標平面にて、前記正規化された第1の音響パラメータと前記正規化された第2の音響パラメータとの差から算出される評価値を、前記時間単位を座標値とする格子点毎に算出する算出手段と、
前記座標平面上で、両座標値が最小の格子点である始点から両座標値が最大の格子点である終点に至る経路のうち、その経路上の格子点における前記評価値の総和が最小になる経路を、予め定められた探索窓内で特定する特定手段と、
前記特定手段により特定された経路に沿って、前記第1のオーディオ信号における前記時間単位と前記第2のオーディオ信号における時間単位とを対応付ける対応付け手段と、
前記対応付け手段による対応付けの結果、前記ユーザの歌唱または演奏がその手本に対して遅れている場合には、前記第1のオーディオ信号の時間軸に沿って上方にその遅れの度合い分だけ前記探索窓を平行移動し、前記ユーザの歌唱または演奏がその手本に対して進んでいる場合には、前記第1のオーディオ信号の時間軸に沿って下方にその進みの度合い分だけ前記探索窓を平行移動する探索窓設定手段
として機能させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate