(57)【特許請求の範囲】
【請求項１】
対象楽曲を構成する楽音の音圧が時間軸に沿って推移した楽音推移波形を取得する楽音推移取得手段と、
前記対象楽曲を模擬した楽曲の楽譜を表し、音源モジュールから出力される個々の出力音について、少なくとも音高及び演奏開始タイミングが規定された楽譜データに基づいて、前記出力音の音圧が時間軸に沿って推移した出力音推移波形を取得する出力音推移取得手段と、
前記対象楽曲の歌詞を構成する歌詞構成文字の出力タイミングである歌詞出力タイミングを規定するデータであり、かつ前記歌詞構成文字の少なくとも１つに対する前記歌詞出力タイミングが、前記楽譜データに対して規定された少なくとも１つのタイミングである特定開始タイミングと対応付けられた歌詞出力データを取得する歌詞出力データ取得手段と、
前記楽音推移取得手段にて取得した楽音推移波形から抽出した該楽音推移波形の特性を表す楽音情報と、前記出力音推移取得手段にて取得した出力音推移波形から抽出した該出力音推移波形の特性を表す出力音情報とを比較した結果に基づき、前記出力音の各々の演奏開始タイミングに対する、各出力音に対応する前記楽音の演奏開始タイミングのズレ量を表す時間ズレ量を導出する時間ズレ量導出手段と、
前記楽音の演奏開始タイミングに一致するように、前記歌詞出力データ取得手段で取得した歌詞出力データにおける前記歌詞出力タイミングを、前記時間ズレ量導出手段で導出された時間ズレ量に従って修正した修正歌詞出力タイミングを規定するタイミング修正手段と
を備え、
前記時間ズレ量導出手段は、
前記楽音推移取得手段にて取得した楽音推移波形から、該楽音推移波形の非調波成分である楽音非調波を抽出し、時間軸に沿った楽音非調波の変化を表す楽音変化を、前記楽音情報として導出する楽音変化導出手段と、
前記出力音推移取得手段にて取得した出力音推移波形から、該出力音推移波形の非調波成分である出力音非調波を抽出し、時間軸に沿った出力音非調波の変化を表す出力音変化を、前記出力音情報として導出する出力音変化導出手段と、
前記楽音変化導出手段にて導出された楽音変化と、前記出力音変化導出手段にて導出された出力音変化との相関値を表す時間相関値を、前記楽音変化の時間軸上に規定された基準位置に、前記出力音変化の時間軸上に設定された設定位置を一致させて前記出力音変化を時間軸に沿って伸縮する毎に導出すると共に、前記設定位置を規定範囲内で時間軸に沿って順次変更する時間相関導出手段と、
前記時間相関導出手段にて導出された時間相関値の中で、値が最大となる時間相関値に対応する前記出力音変化の伸縮率及び前記設定位置を、時間補正量として導出する時間補正量導出手段と
を備え、
前記時間補正量導出手段にて導出した時間補正量を、前記時間ズレ量とすることを特徴とする歌詞出力データ修正装置。
【請求項２】
前記楽音情報の１つと、前記出力音情報の１つとを比較した結果に基づき、前記出力音の音高が、該出力音に対応する前記楽音の音高に一致するように音高補正量を導出する音高補正量導出手段と、
前記楽譜データに規定された前記出力音の各々の音高を、前記音高補正量導出手段で導出した音高補正量に従ってシフトすることで、前記楽譜データを修正した修正楽譜データを生成する楽譜データ修正手段と、
を備え、
前記時間ズレ量導出手段は、
前記楽譜データ修正手段にて生成された修正楽譜データに基づく前記出力音推移波形である修正音推移波形を、前記出力音推移取得手段で取得した前記出力音推移波形とする
ことを特徴とする請求項１に記載の歌詞出力データ修正装置。
【請求項３】
前記音高補正量導出手段は、
前記楽音推移波形に含まれる周波数と各周波数の強さとを表し、該周波数の強さについて正規化した楽音音高分布を、前記楽音情報の一つとして導出する楽音分布導出手段と、
前記出力音推移波形に含まれる周波数と各周波数の強さとを表し、該周波数の強さについて正規化した出力音高分布を、前記出力音情報の一つとして導出する出力音分布導出手段と、
前記出力音分布導出手段にて導出された出力音高分布と、前記楽音分布導出手段にて導出された楽音音高分布との相関値を表す音高相関値を、前記楽音音高分布の予め規定された規定位置から前記出力音高分布を周波数軸に沿ってシフトさせる毎に導出する音高相関導出手段とを備え、
前記音高相関導出手段にて導出された音高相関値の中で、値が最大となる音高相関値に対応する前記規定位置からの周波数軸に沿ったシフト量を、前記音高補正量として導出する
ことを特徴とする請求項２に記載の歌詞出力データ修正装置。
【請求項４】
前記歌詞出力データは、
前記歌詞構成文字のうちの少なくとも一部について、前記特定開始タイミングからの経過時間によって前記歌詞出力タイミングが規定されており、
前記タイミング修正手段は、
前記経過時間によって前記歌詞出力タイミングが規定された前記歌詞構成文字の前記歌詞出力タイミングについて、前記修正歌詞出力タイミングを規定する
ことを特徴とする請求項１から請求項３のいずれか一項に記載の歌詞出力データ修正装置。
【請求項５】
少なくとも一部の前記出力音の前記演奏開始タイミングが、前記特定開始タイミングとして規定されており、
前記歌詞出力データは、
前記歌詞構成文字の各々の歌詞出力タイミングに、当該歌詞構成文字に対応する前記特定開始タイミングが対応付けられており、
前記タイミング修正手段は、
前記歌詞構成文字の各々について、前記修正歌詞出力タイミングを規定する
ことを特徴とする請求項１から請求項３のいずれか一項に記載の歌詞出力データ修正装置。
【請求項６】
前記出力音の演奏開始タイミングを、前記時間ズレ量シフトさせた修正演奏開始タイミングを導出する演奏開始タイミング補正手段を備え、
前記タイミング修正手段は、
前記演奏開始タイミング補正手段で導出された修正演奏開始タイミングを、前記修正歌詞出力タイミングとする
ことを特徴とする請求項５に記載の歌詞出力データ修正装置。
【請求項７】
前記出力音の演奏開始タイミングを、前記時間ズレ量シフトさせた修正演奏開始タイミングを導出する演奏開始タイミング補正手段と、
前記タイミング修正手段は、
前記演奏開始タイミング補正手段で導出された修正演奏開始タイミングと前記出力音の演奏開始タイミングとの差分、前記歌詞出力タイミングをシフトさせることで、前記修正歌詞出力タイミングを規定する
ことを特徴とする請求項４または請求項５に記載の歌詞出力データ修正装置。
【請求項８】
対象楽曲を構成する楽音の音圧が時間軸に沿って推移した楽音推移波形を取得する楽音推移取得手順と、
前記対象楽曲を模擬した楽曲の楽譜を表し、音源モジュールから出力される個々の出力音について、少なくとも音高及び演奏開始タイミングが規定された楽譜データに基づいて、前記出力音の音圧が時間軸に沿って推移した出力音推移波形を取得する出力音推移取得手順と、
前記対象楽曲の歌詞を構成する歌詞構成文字の出力タイミングである歌詞出力タイミングを規定するデータであり、かつ前記歌詞構成文字の少なくとも１つに対する前記歌詞出力タイミングが、前記楽譜データに対して規定された少なくとも１つのタイミングである特定開始タイミングと対応付けられた歌詞出力データを取得する歌詞出力データ取得手順と、
前記楽音推移取得手順にて取得した楽音推移波形から抽出した該楽音推移波形の特性を表す楽音情報と、前記出力音推移取得手順にて取得した出力音推移波形から抽出した該出力音推移波形の特性を表す出力音情報とを比較した結果に基づき、前記出力音の各々の演奏開始タイミングに対する、各出力音に対応する前記楽音の演奏開始タイミングのズレ量を表す時間ズレ量を導出する時間ズレ量導出手順と、
前記楽音の演奏開始タイミングに一致するように、前記歌詞出力データ取得手順で取得した歌詞出力データにおける前記歌詞出力タイミングを、前記時間ズレ量導出手順で導出された時間ズレ量に従って修正した修正歌詞出力タイミングを規定するタイミング修正手順とを
コンピュータに実行させ、
前記時間ズレ量導出手順は、
前記楽音推移取得手順にて取得した楽音推移波形から、該楽音推移波形の非調波成分である楽音非調波を抽出し、時間軸に沿った楽音非調波の変化を表す楽音変化を、前記楽音情報として導出する楽音変化導出手順と、
前記出力音推移取得手順にて取得した出力音推移波形から、該出力音推移波形の非調波成分である出力音非調波を抽出し、時間軸に沿った出力音非調波の変化を表す出力音変化を、前記出力音情報として導出する出力音変化導出手順と、
前記楽音変化導出手順にて導出された楽音変化と、前記出力音変化導出手順にて導出された出力音変化との相関値を表す時間相関値を、前記楽音変化の時間軸上に規定された基準位置に、前記出力音変化の時間軸上に設定された設定位置を一致させて前記出力音変化を時間軸に沿って伸縮する毎に導出すると共に、前記設定位置を規定範囲内で時間軸に沿って順次変更する時間相関導出手順と、
前記時間相関導出手順にて導出された時間相関値の中で、値が最大となる時間相関値に対応する前記出力音変化の伸縮率及び前記設定位置を、時間補正量として導出する時間補正量導出手順とを
前記コンピュータに実行させ
前記時間補正量導出手順にて導出した時間補正量を、前記時間ズレ量とすることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽譜データに対応付けて規定された歌詞の出力タイミングを、楽曲データに時間同期させるように修正する歌詞出力データ修正装置、及びプログラムに関する。
【背景技術】
【０００２】
従来、歌声と伴奏音とを含む楽曲の音楽音響信号に対し、音楽音響信号とは別に用意された歌詞を時間軸に沿って対応付けるシステムが知られている（例えば、特許文献１参照）。
【０００３】
この種のシステムでは、音楽音響信号に含まれるボーカル音声に対応する信号（以下、ボーカル信号とする）から、予め規定された特徴量を抽出し、機械学習によって予め生成した識別器（いわゆる識別モデル）に照合する音声認識によって、ボーカル音声の音素の各々を特定している。さらに、この種のシステムでは、それらの特定した音素の各々と、歌詞を構成する各文字とを、時間軸に沿って順次対応付けることがなされている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１３４６０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、特許文献１に記載のシステムでは、ボーカル音声中の音素を特定するために、音声認識処理を用いており、認識フェーズにおいて各音素を特定するまでの処理量が膨大なものとなる。特に、特許文献１に記載のシステムにおいては、音声認識に用いる識別モデルを、機械学習によって生成しているため、学習フェーズに要する処理量は膨大なものとなる。
【０００６】
つまり、特許文献１に記載のシステムでは、歌詞を構成する各文字を対応付けるべき、音楽音響信号での時刻を特定するまでに要するトータルの処理量が膨大なものとなるという問題があった。
【０００７】
そこで、本発明は、より簡易な方法で、歌詞を構成する文字を、当該文字に対応する音楽音響信号での時刻に対応付けることを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するためになされた本発明の歌詞出力データ修正装置では、楽音推移取得手段が、対象楽曲を構成する楽音の音圧が時間軸に沿って推移した楽音推移波形を取得し、出力音推移取得手段が、対象楽曲を模擬した楽曲の楽譜を表し、音源モジュールから出力される個々の出力音について、少なくとも音高及び演奏開始タイミングが規定された楽譜データに基づいて、出力音の音圧が時間軸に沿って推移した出力音推移波形を取得する。
【０００９】
そして、歌詞出力データ取得手段が、対象楽曲の歌詞を構成する歌詞構成文字の出力タイミングである歌詞出力タイミングを規定するデータであり、かつ歌詞構成文字の少なくとも１つに対する歌詞出力タイミングが、楽譜データに対して規定された少なくとも１つのタイミングである特定開始タイミングと対応付けられた歌詞出力データを取得する。
【００１０】
さらに、時間ズレ量導出手段が、楽音推移取得手段にて取得した楽音推移波形から抽出した該楽音推移波形の特性を表す楽音情報と、出力音推移取得手段にて取得した出力音推移波形から抽出した該出力音推移波形の特性を表す出力音情報とを比較した結果に基づき、出力音の各々の演奏開始タイミングに対する、各出力音に対応する楽音の演奏開始タイミングのズレ量を表す時間ズレ量を導出する。
【００１１】
そして、タイミング修正手段が、楽音の演奏開始タイミングに一致するように、歌詞出力データ取得手段で取得した歌詞出力データにおける歌詞出力タイミングを、時間ズレ量導出手段で導出された時間ズレ量に従って修正した修正歌詞出力タイミングを規定する。
本発明の時間ズレ量導出手段では、楽音変化導出手段が、楽音推移波形から、該楽音推移波形の非調波成分である楽音非調波を抽出し、時間軸に沿った楽音非調波の変化を表す楽音変化を、楽音情報として導出し、出力音変化導出手段が、出力音推移波形から、該出力音推移波形の非調波成分である出力音非調波を抽出し、時間軸に沿った出力音非調波の変化を表す出力音変化を、出力音情報として導出する。
すると、時間相関導出手段が、楽音変化と出力音変化との相関値を表す時間相関値を、楽音変化の時間軸上に規定された基準位置に、出力音変化の時間軸上に設定された設定位置を一致させて出力音変化を時間軸に沿って伸縮する毎に導出すると共に、設定位置を規定範囲内で時間軸に沿って順次変更し、その時間相関導出手段にて導出された時間相関値の中で、値が最大となる時間相関値に対応する出力音変化の伸縮率及び設定位置を、時間補正量導出手段が、時間補正量（時間ズレ量）として導出する。
【００１２】
このような歌詞出力データ修正装置によれば、歌詞出力データにおける歌詞出力タイミングを、対象楽曲を構成する楽音の演奏開始タイミングに対して、時間軸に沿って一致したものへと修正することができる。
【００１３】
そして、本発明の歌詞出力データ修正装置によれば、歌詞出力タイミングを修正する（即ち、修正歌詞出力タイミングを規定する）際に、音声認識処理を一切実行する必要がない。よって、本発明の歌詞出力データ修正装置によれば、歌詞構成文字を対応付けるべき、楽音の演奏開始タイミング（即ち、楽音推移波形（音楽音響信号）での時刻）を特定するまでに要するトータルの処理量を、特許文献１に記載された装置に比べて低減できる。
【００１４】
換言すれば、本発明の歌詞出力データ修正装置によれば、より簡易な方法で、歌詞構成文字を、当該歌詞構成文字に対応する楽音の演奏開始タイミング（即ち、楽音推移波形（音楽音響信号）での時刻）に対応付けることができる。
【００１５】
さらに、音源モジュールを備えていない装置に、本発明の歌詞出力データ修正装置にて修正された歌詞出力データを、個々の歌詞構成文字を表す歌詞テロップデータ、及び楽曲音響データと共に配信するシステムを想定する。このとき、当該装置にて、楽曲音響データの再生に併せて、楽曲音響データ中の楽音に時間同期させて、歌詞構成文字を出力すれば、当該装置においても、カラオケを楽しむことができる。
【００１６】
なお、ここで言う楽音推移波形には、例えば、対象楽曲を構成する全ての楽音の音圧が時間軸に沿って推移したアナログ波形を標本化（サンプリング）したものを含む。また、ここでいう出力音推移波形には、対象楽曲を模擬した楽曲をＭＩＤＩ形式にて表したデータをレンダリングすることで生成した音声信号を含む。
【００１７】
さらに、ここで言う歌詞構成文字とは、歌詞を構成する文字の各々であっても良いし、その文字の各々を特定の規則に従って一群とした文節やフレーズであっても良い。
【００１９】
一般的に、楽音推移や出力音推移に含まれる非調波成分は、リズムを刻む楽器（例えば、ドラムやベース）の楽器音であることが多い。
このリズムを刻む楽器の楽器音は、他の楽器音に比して確実に検出できる。このため、本発明の歌詞出力データ修正装置にて導出される時間ズレ量は、楽譜データにおける個々の出力音の演奏開始タイミングと、楽音の演奏開始タイミングとをより確実に一致させることが可能なものとなる。
【００２０】
よって、本発明の歌詞出力データ修正装置によれば、修正歌詞出力タイミングを、楽音の演奏開始タイミングにより確実に一致させることができる。
さらに、本発明の歌詞出力データ修正装置では、音高補正量導出手段が、楽音情報の１つと、出力音情報の１つとを比較した結果に基づき、出力音の音高が、該出力音に対応する楽音の音高に一致するように音高補正量を導出し、楽譜データ修正手段が、楽譜データに規定された出力音の各々の音高を、音高補正量導出手段で導出した音高補正量に従ってシフトすることで、楽譜データを修正した修正楽譜データを生成しても良い。
【００２１】
この場合、時間ズレ量導出手段は、修正楽譜データに基づく出力音推移波形である修正音推移波形を、出力音推移取得手段で取得した出力音推移波形としても良い。
【００２２】
このような歌詞出力データ修正装置によれば、出力音推移取得手段で取得した出力音推移波形が修正音推移波形となるため、楽音推移波形との間の音高ズレが最小限に抑制され、時間ズレ量の導出精度を向上させることができる。この結果、本発明の歌詞出力データ修正装置によれば、修正歌詞出力タイミングを楽音の出力タイミングにより確実に一致させることができる。
【００２３】
そして、本発明の歌詞出力データ修正装置における音高補正量導出手段では、楽音分布導出手段が、楽音推移波形に含まれる周波数と各周波数の強さとを表し、該周波数の強さについて正規化した楽音音高分布を、楽音情報の一つとして導出し、出力音分布導出手段が、出力音推移波形に含まれる周波数と各周波数の強さとを表し、該周波数の強さについて正規化した出力音高分布を、出力音情報の一つとして導出し、音高相関導出手段が、出力音高分布と楽音音高分布との相関値を表す音高相関値を、楽音音高分布の予め規定された規定位置から出力音高分布を周波数軸に沿ってシフトさせる毎に導出しても良い。この場合、音高補正量導出手段は、音高相関導出手段にて導出された音高相関値の中で、値が最大となる音高相関値に対応する規定位置からの周波数軸に沿ったシフト量を、音高補正量として導出しても良い。
【００２４】
このように導出される音高補正量に従って楽譜データを修正すれば、修正後の出力音推移波形に含まれる周波数及び各周波数の強さの比率を、楽音推移波形に含まれる周波数及び各周波数の強さの比率に、より近似させることができる。
【００２５】
特に、本発明の歌詞出力データ修正装置で導出される楽音音高分布及び出力音高分布は、楽音推移波形及び出力音推移波形に含まれる周波数と各周波数の強さのうち、周波数の強さについて正規化されている。このため、本発明の歌詞出力データ修正装置によれば、楽音推移波形の振幅と、出力音推移波形の振幅とが大きく異なっていたとしても、修正楽譜データに基づく出力音推移波形を楽音推移波形に近づけることができる。
【００２６】
なお、本発明において、歌詞出力データは、歌詞構成文字のうちの少なくとも一部について、特定開始タイミングからの経過時間によって歌詞出力タイミングが規定されていても良い。
【００２７】
この場合、本発明の歌詞出力データ修正装置では、対応付手段が、少なくとも、経過時間によって歌詞出力タイミングが規定された歌詞構成文字の歌詞出力タイミングについて、修正歌詞出力タイミングを規定しても良い。
【００２８】
このような歌詞出力データ修正装置によれば、１つの歌詞構成文字からの経過時間によって歌詞出力タイミングが規定された歌詞出力データであっても、修正歌詞出力タイミングを規定できる。
【００２９】
なお、経過時間によって歌詞出力タイミングが規定された歌詞構成文字の修正歌詞出力タイミングの規定は、各歌詞構成文字の歌詞出力タイミングを、当該歌詞構成文字に対応する出力音の演奏開始タイミングと対応付けた上で実施しても良いし、当該対応付けを行うことなく実施しても良い。この対応付けの具体的な方法としては、対象楽曲においてテンポが一定の区間を特定し、そのテンポが一定の同一区間について、楽譜データに含まれる出力音の演奏開始タイミングを、歌詞出力データに含まれる歌詞構成文字の歌詞出力タイミングとを対応付けても良い。また、例えば、楽譜データがＭＩＤＩ（Ｍｕｓｉｃ  Ｉｎｓｔｒｕｍｅｎｔ  Ｄｉｇｉｔａｌ  Ｉｎｔｅｒｆａｃｅ）規格のデータとして予め生成されたものである場合、歌詞出力データにおける歌詞出力タイミングを表すＭＩＤＩのトラックを新たに追加することが考えられる。すなわち、新たに追加したトラックにおいて、歌詞構成文字の各々の歌詞出力タイミングを、各歌詞構成文字に対応する出力音の演奏開始タイミングと対応付けて表しても良い。
【００３０】
ところで、本発明において、楽譜データは、少なくとも一部の出力音の演奏開始タイミングが、特定開始タイミングとして規定されており、歌詞出力データは、歌詞構成文字の各々の歌詞出力タイミングに、当該歌詞構成文字に対応する出力音の演奏開始タイミングが対応付けられていても良い。
【００３１】
この場合、本発明におけるタイミング修正手段は、歌詞構成文字の各々について、修正歌詞出力タイミングを規定しても良い。
このような歌詞出力データ修正装置によれば、歌詞構成文字の各々の歌詞出力タイミングに、当該歌詞構成文字に対応する出力音の演奏開始タイミングが対応付けられた歌詞出力データを生成できる。
【００３２】
さらに、本発明では、演奏開始タイミング補正手段が、出力音の演奏開始タイミングを、時間ズレ量シフトさせた修正演奏開始タイミングを導出し、タイミング修正手段が、演奏開始タイミング補正手段で導出された修正演奏開始タイミングを、修正歌詞出力タイミングとしても良い。
【００３３】
このような歌詞出力データ修正装置によれば、修正歌詞出力タイミングを修正演奏開始タイミングに置き換えることができる。
また、本発明では、演奏開始タイミング補正手段が、出力音の演奏開始タイミングを、時間ズレ量シフトさせた修正演奏開始タイミングを導出し、タイミング修正手段が、その修正演奏開始タイミングと出力音の演奏開始タイミングとの差分、歌詞出力タイミングをシフトさせることで、修正歌詞出力タイミングを規定しても良い。
【００３４】
このような歌詞出力データ修正装置によれば、修正歌詞出力タイミングを、修正演奏開始タイミングと出力音の演奏開始タイミングとの差分、歌詞出力タイミングをシフトさせることで規定できる。
【００３５】
なお、本発明は、コンピュータを歌詞出力データ修正装置として機能させるためのプログラムであっても良い。
本発明がプログラムとしてなされている場合、そのプログラムでは、楽音推移取得手順にて、対象楽曲を構成する楽音の音圧が時間軸に沿って推移した楽音推移波形を取得し、出力音推移取得手順にて、対象楽曲を模擬した楽曲の楽譜を表し、音源モジュールから出力される個々の出力音について、少なくとも音高及び演奏開始タイミングが規定された楽譜データに基づいて、出力音の音圧が時間軸に沿って推移した出力音推移波形を取得する。さらに、歌詞出力データ取得手順にて、対象楽曲の歌詞を構成する歌詞構成文字の出力タイミングである歌詞出力タイミングを規定するデータであり、かつ歌詞構成文字の少なくとも１つに対する歌詞出力タイミングが、楽譜データに対して規定された少なくとも１つのタイミングである特定開始タイミングと対応付けられた歌詞出力データを取得する。
【００３６】
そして、時間ズレ量導出手順にて、楽音推移波形から抽出した該楽音推移波形の特性を表す楽音情報と、出力音推移波形から抽出した該出力音推移波形の特性を表す出力音情報とを比較した結果に基づき、出力音の各々の演奏開始タイミングに対する、各出力音に対応する楽音の演奏開始タイミングのズレ量を表す時間ズレ量を導出し、タイミング修正手順にて、楽音の演奏開始タイミングに一致するように、歌詞出力データ取得手順で取得した歌詞出力データにおける歌詞出力タイミングを、時間ズレ量導出手順で導出された時間ズレ量に従って修正した修正歌詞出力タイミングを規定する。
時間ズレ量導出手順は、楽音推移取得手順にて取得した楽音推移波形から、該楽音推移波形の非調波成分である楽音非調波を抽出し、時間軸に沿った楽音非調波の変化を表す楽音変化を、楽音情報として導出する楽音変化導出手順と、出力音推移取得手順にて取得した出力音推移波形から、該出力音推移波形の非調波成分である出力音非調波を抽出し、時間軸に沿った出力音非調波の変化を表す出力音変化を、出力音情報として導出する出力音変化導出手順と、楽音変化導出手順にて導出された楽音変化と、出力音変化導出手順にて導出された出力音変化との相関値を表す時間相関値を、楽音変化の時間軸上に規定された基準位置に、出力音変化の時間軸上に設定された設定位置を一致させて出力音変化を時間軸に沿って伸縮する毎に導出すると共に、設定位置を規定範囲内で時間軸に沿って順次変更する時間相関導出手順と、時間相関導出手順にて導出された時間相関値の中で、値が最大となる時間相関値に対応する出力音変化の伸縮率及び設定位置を、時間補正量として導出する時間補正量導出手順とをコンピュータに実行させ、時間補正量導出手順にて導出した時間補正量を、時間ズレ量とする。
【００３７】
本発明のプログラムが、このようになされていれば、例えば、ＤＶＤ−ＲＯＭ、ＣＤ−ＲＯＭ、ハードディスク等のコンピュータ読み取り可能な記録媒体に記録し、必要に応じてコンピュータにロードさせて起動することや、必要に応じて通信回線を介してコンピュータに取得させて起動することにより用いることができる。そして、コンピュータに各手順を実行させることで、そのコンピュータを、請求項１に記載された歌詞出力データ修正装置として機能させることができる。
【図面の簡単な説明】
【００３８】
【図１】本発明が適用された情報処理装置を中心に構成された音楽データ配信システムの概略構成を示すブロック図である。
【図２】第一実施形態におけるデータ修正処理の処理手順を示すフローチャートである。
【図３】音高補正処理の処理手順を示すフローチャートである。
【図４】音高補正処理の概要を説明する説明図である。
【図５】時間ズレ量導出処理の処理手順を示すフローチャートである。
【図６】時間ズレ量導出処理の概要を説明する説明図である。
【図７】第二実施形態における歌詞出力データの概要を示す図面である。
【図８】第二実施形態におけるデータ修正処理の処理手順を示すフローチャートである。
【発明を実施するための形態】
【００３９】
以下に本発明の実施形態を図面と共に説明する。
［第一実施形態］
〈音楽データ配信システムについて〉
ここで、図１は、本発明が適用された歌詞出力データ修正装置を備えた音楽データ配信システムの概略構成を示すブロック図である。
【００４０】
この音楽データ配信システム１は、歌詞出力データＤＯを含む音楽データＭＤを格納する音楽データ格納サーバ３と、音楽データ格納サーバ３に格納された音楽データＭＤに対して処理を加える情報処理装置２０と、情報処理装置２０にて処理が加えられた音楽データＭＤが配信される少なくとも１つの携帯端末５Ａ〜５ｎ（ｎは、携帯端末の台数を表す１以上の自然数）とを備えている。
〈音楽データ格納サーバについて〉
音楽データ格納サーバ３は、音楽データＭＤ１〜ＭＤｍ（ｍは、音楽データの数を表す１以上の自然数）を格納するデータベースとして機能する装置である。本実施形態における音楽データＭＤには、楽曲音響データＤＷと、楽曲ＭＩＤＩデータＤＭと、歌詞データＤＬとが含まれる。
【００４１】
このうち、楽曲音響データＤＷは、１つの楽曲（以下、特定楽曲とする）を構成する全ての楽音の音圧が時間軸に沿って推移したアナログ波形（即ち、楽音推移波形）を標本化（サンプリング）したデータであり、例えば、楽曲毎に予め用意された、ＷＡＶやＭＰ３形式の音声ファイルである。
【００４２】
また、楽曲ＭＩＤＩデータＤＭは、周知のＭＩＤＩ（Ｍｕｓｉｃａｌ  Ｉｎｓｔｒｕｍｅｎｔ  Ｄｉｇｉｔａｌ  Ｉｎｔｅｒｆａｃｅ）規格によって、特定楽曲を模擬した楽曲の楽譜を表すデータ（即ち、本発明の楽譜データに相当）であり、楽曲毎に予め用意されている。この楽曲ＭＩＤＩデータＤＭの各々は、楽曲を区別するデータである識別データと、当該楽曲にて用いられる楽器毎の楽譜を表す楽譜トラックと、当該楽曲を分割した区間（例えば、Ａメロやサビなど）の各々におけるテンポを表すテンポデータとを少なくとも有している。
【００４３】
このうちの楽譜トラックには、ＭＩＤＩ音源から出力される個々の出力音について、少なくとも、音高（いわゆるノートナンバー）と、音源モジュールが出力音を出力する期間（以下、音符長）とが規定されている。ただし、楽譜トラックの音符長は、当該出力音の出力を開始するまでの当該楽曲の演奏開始からの時間を表す演奏開始タイミング（いわゆるノートオンタイミング）と、当該出力音の出力を終了するまでの当該楽曲の演奏開始からの時間を表す演奏終了タイミング（いわゆるノートオフタイミング）とによって規定されている。
【００４４】
なお、楽譜トラックは、例えば、鍵盤楽器（例えば、ピアノやパイプオルガンなど）、弦楽器（例えば、バイオリンやビオラ、ギター、琴など）、打楽器（例えば、ドラムやシンバル、ティンパニー、木琴など）、及び管楽器（例えば、クラリネットやトランペット、フルート、尺八など）などの楽器毎に用意されている。
【００４５】
歌詞データＤＬは、周知のカラオケ装置を構成する表示装置に表示される歌詞に関するデータであり、特定楽曲の歌詞を構成する文字（以下、歌詞構成文字）を表す歌詞テロップデータＤＴと、歌詞構成文字の出力タイミングである歌詞出力タイミングを、楽曲ＭＩＤＩデータＤＭの演奏と対応付けるタイミング対応関係が規定された歌詞出力データＤＯとを備えている。
【００４６】
具体的に、本実施形態におけるタイミング対応関係は、楽曲ＭＩＤＩデータＤＭの演奏を開始するタイミング（本発明における特定開始タイミングの一例）に、歌詞テロップデータＤＴの出力を開始するタイミングが対応付けられた上で、対象楽曲の時間軸に沿った各歌詞構成文字の歌詞出力タイミングが、楽曲ＭＩＤＩデータＤＭの演奏を開始からの経過時間によって規定されている。なお、ここでいう経過時間とは、例えば、表示された歌詞構成文字の色替えを実行するタイミングを表す時間であり、色替えの速度によって規定されている。また、ここでいう歌詞構成文字は、歌詞を構成する文字の各々であっても良いし、その文字の各々を時間軸に沿った特定の規則に従って一群とした文節やフレーズであっても良い。
【００４７】
なお、本実施形態におけるタイミング対応関係として、色替えの速度から特定される各歌詞構成文字の出力を終了するタイミング（以下、歌詞出力終了タイミングとする）が、楽曲ＭＩＤＩデータＤＭの演奏を開始からの経過時間によって規定されていても良い。
【００４８】
楽曲音響データＤＷと、楽曲ＭＩＤＩデータＤＭと、歌詞データＤＬとは、それぞれ対応する楽曲毎に対応付けられて、音楽データ格納サーバ３に格納されている。
〈携帯端末について〉
このうち、携帯端末５は、情報処理装置２０から取得した楽曲音響データＤＷを再生可能な端末（例えば、周知の携帯電話）であり、情報受付部６と、表示部７と、音出力部８と、通信部９と、記憶部１０と、制御部１１とを備えている。
【００４９】
このうちの情報受付部６は、入力装置（図示せず）を介して入力された情報を受け付ける。表示部７は、制御部１１からの指令に基づいて、少なくとも、文字コードで示される情報を含む画像を表示する。音出力部８は、少なくとも、楽曲音響データＤＷを再生して出力するものであり、例えば、ＰＣＭ音源と、スピーカとを備えている。
【００５０】
通信部９は、通信網（例えば、公衆無線通信網やネットワーク回線）を介して、携帯端末５が外部との間で情報通信を行うものである。記憶部１０は、各種処理プログラムや各種データを記憶する。制御部１１は、記憶部１０に記憶された処理プログラムなどに従って、携帯端末５を構成する各部６，７，８，９，１０を制御する。
〈情報処理装置について〉
次に、情報処理装置２０について説明する。
【００５１】
この情報処理装置２０は、通信部２１と、入力受付部２２と、表示部２３と、音声入力部２４と、音声出力部２５と、音源モジュール２６と、記憶部２７と、制御部３０とを備えている。
【００５２】
このうち、通信部２１は、通信網（例えば、公衆無線通信網やネットワーク回線）を介して、情報処理装置２０が外部との間で通信を行う。入力受付部２２は、外部からの操作に従って情報や指令の入力を受け付ける入力機器（例えば、キーボードやポインティングデバイス）である。表示部２３は、少なくとも、文字コードで示される情報を含む画像を表示する表示装置（例えば、液晶ディスプレイやＣＲＴ等）である。また、音声入力部２４は、音声を電気信号に変換して制御部３０に入力する装置（いわゆるマイクロホン）である。音声出力部２５は、制御部３０からの電気信号を音声に変換して出力する装置（いわゆるスピーカ）である。
【００５３】
さらに、音源モジュール２６は、楽曲ＭＩＤＩデータＤＭに基づいて、音源からの音を模擬した音（即ち、出力音）を出力する装置（例えば、ＭＩＤＩ音源）である。記憶部２７は、記憶内容を読み書き可能に構成された不揮発性の記憶装置（例えば、ハードディスク装置）である。
【００５４】
また、制御部３０は、電源が切断されても記憶内容を保持する必要がある処理プログラムやデータを格納するＲＯＭ３１と、処理プログラムやデータを一時的に格納するＲＡＭ３２と、ＲＯＭ３１やＲＡＭ３２に記憶された処理プログラムに従って各処理（各種演算）を実行するＣＰＵ３３とを少なくとも有した周知のコンピュータを中心に構成されている。
【００５５】
なお、ＲＯＭ３１には、対象楽曲に対応する歌詞出力データＤＯにおける歌詞出力タイミングを、対象楽曲に対応する楽曲音響データＤＷ中の楽音の演奏開始タイミングに一致するように修正するデータ修正処理を、ＣＰＵ３３が実行するための処理プログラムが格納されている。すなわち、データ修正処理を実行することで、情報処理装置２０は、本発明の歌詞出力データ修正装置として機能する。
〈データ修正処理について〉
次に、ＣＰＵ３３が実行するデータ修正処理について説明する。
【００５６】
ここで、図２は、本実施形態におけるデータ修正処理の処理手順を示すフローチャートである。
このデータ修正処理は、入力受付部２２を介して、当該データ修正処理を起動するための起動指令が入力されると、実行が開始されるものである。
【００５７】
そして、図２に示すように、データ修正処理は、起動されると、入力受付部２２を介して入力された情報によって指定された楽曲（以下、対象楽曲とする）に対応する楽曲ＭＩＤＩデータＤＭを、音楽データ格納サーバ３から取得する（Ｓ１１０（Ｓは、ステップを意味する））。
【００５８】
続いて、対象楽曲に対応する楽曲音響データＤＷを音楽データ格納サーバ３から取得する（Ｓ１３０）。その取得した楽曲音響データＤＷから、当該楽曲音響データＤＷにおける楽音推移波形を取得する（Ｓ１４０）。
【００５９】
そして、Ｓ１１０にて取得した楽曲ＭＩＤＩデータＤＭと、Ｓ１４０にて取得した楽音推移波形とに基づいて、対象楽曲を構成する楽音の音高に、出力音の音高が一致するように、当該楽曲ＭＩＤＩデータＤＭを修正する音高補正処理を実行する（Ｓ１５０）。以下、出力音について修正が実行された楽曲ＭＩＤＩデータＤＭを修正楽曲ＭＩＤＩデータＤＭと称す。
【００６０】
さらに、音高補正処理によって、出力音の音高が楽音の音高に一致するように修正された出力音（以下、修正出力音とする）の演奏開始タイミングと、楽音の演奏開始タイミングとのズレ量（以下、時間ズレ量と称す）を導出すると共に、対象楽曲を構成する楽音の演奏開始タイミングに、個々の出力音の演奏開始タイミングが一致するように修正楽曲ＭＩＤＩデータＤＭを修正する時間ズレ量導出処理を実行する（Ｓ１７０）。
〈音高補正処理の処理内容について〉
ここで、データ修正処理のＳ１５０にて起動される音高補正処理について説明する。
【００６１】
この音高補正処理は、起動されると、図３に示すように、先のＳ１１０にて取得した楽曲ＭＩＤＩデータＤＭに含まれる全ての楽譜トラックに基づいて、全ての出力音が時間軸に沿って推移した波形である出力音推移波形を取得する（Ｓ３１０）。具体的に、本実施形態における出力音推移波形の取得は、ＭＩＤＩ規格のデータから音声信号（波形）を生成する周知のレンダリングによって実行される。
【００６２】
続いて、その取得した出力音推移波形を、時間軸に沿って設定された単位時間毎に周波数解析（本実施形態では、離散フーリエ変換）して、その単位時間の出力音推移波形に含まれる周波数、及び各周波数における強度を表すパワースペクトルを導出する（Ｓ３２０）。その導出されたパワースペクトルに基づいて、各周波数における強度を、時間軸に沿って周波数毎に相加平均した平均出力音スペクトルを導出する（Ｓ３３０）。その導出した平均出力音スペクトルの周波数における強度を、境界が互いに隣接するように予め規定された周波数範囲（例えば、半音単位、以下、規定音高範囲）毎に平均化して代表値とする（Ｓ３４０）。さらに、そのＳ３４０で平均化した平均出力音スペクトルにおける周波数における強度を、分散「１」、平均「０」となるように正規化した正規化出力音スペクトル（図４（Ａ）参照）を導出する（Ｓ３５０）。
【００６３】
続いて、先のＳ１４０にて取得した楽音推移波形を、時間軸に沿って設定された単位時間毎に周波数解析して、その単位時間でのパワースペクトルを導出する（Ｓ３６０）。その導出されたパワースペクトルに基づいて、各周波数における強度を、時間軸に沿って周波数毎に相加平均した平均楽音スペクトルを導出する（Ｓ３７０）。その導出した平均楽音スペクトルの周波数における強度を、規定音高範囲毎に平均化して代表値とし（Ｓ３８０）、そのＳ３８０で平均化した平均楽音スペクトルの周波数における強度を、分散「１」、平均「０」となるように正規化した正規化楽音スペクトル（図４（Ｂ）参照）を導出する（Ｓ３９０）。
【００６４】
なお、本実施形態のＳ３４０，Ｓ３８０にて求める代表値は、規定音高範囲における中心値に対応する周波数における強度を代表値としても良い。この場合、具体的には、２０Ｃｅｎｔ毎（半音の５分の１毎）に、２０Ｃｅｎｔグリッドに一番近い周波数の値（パワー）を抽出する処理を行う。
【００６５】
そして、詳しくは、後述するように、正規化出力音スペクトルと正規化楽音スペクトルとの相関値（以下、音高相関値とする）を導出する（Ｓ４００）。そして、正規化楽音スペクトルに対する正規化出力音スペクトルのシフト量が予め規定された上限値以上であるか否かを判定する（Ｓ４１０）。その判定の結果、シフト量が上限値未満であれば（Ｓ４１０：ＮＯ）、正規化出力音スペクトルを、周波数軸に沿って予め規定された規定量シフトして（Ｓ４２０）、Ｓ４００へと戻り、音高相関値を再度導出する。
【００６６】
すなわち、本実施形態のＳ４００〜Ｓ４２０では、図４（Ｃ）に示すように、正規化楽音スペクトルに対して、正規化出力音スペクトルを周波数軸に沿って下限値から上限値に達するまでシフトさせつつ、その正規化出力音スペクトルをシフトさせる毎に、音高相関値を導出する。
【００６７】
そして、正規化出力音のシフト量が上限値以上となると（Ｓ４１０：ＹＥＳ）、対象楽曲を構成する楽音の音高に、出力音の音高を一致させるための補正量（以下、音高補正量とする）を導出する（Ｓ４３０）。本実施形態のＳ４３０では、具体的に、先のＳ４００にて導出された全ての音高相関値の中で、値が最大である音高相関値に対応する正規化出力音スペクトルのシフト量を音高補正量として導出する。
【００６８】
続いて、その導出された音高補正量に従って、楽曲ＭＩＤＩデータＤＭにおける全ての楽譜トラックに規定された個々の出力音の音高を修正することで、修正楽曲ＭＩＤＩデータを生成する（Ｓ４４０）。すなわち、本実施形態のＳ４４０にて生成される修正楽曲ＭＩＤＩデータは、出力音の音高が、予め用意された出力音の音高から音高補正量シフトされたものとなる。
【００６９】
そして、その後、本音高補正処理を終了し、データ修正処理へと戻る。
〈時間ズレ量導出処理の処理内容について〉
次に、データ修正処理のＳ１７０にて起動される時間ズレ量導出処理について説明する。
【００７０】
この時間ズレ量導出処理は、起動されると、図５に示すように、先のＳ４４０にて生成された修正楽曲ＭＩＤＩデータに含まれる全ての楽譜トラックに基づいて、全ての修正出力音が時間軸に沿って推移した波形である修正音推移波形を取得する（Ｓ５１０）。本実施形態における修正音推移波形の取得は、Ｓ３１０と同様の方法により実行すれば良い。
【００７１】
続いて、その取得した修正音推移波形の非調波成分である出力音非調波を、該修正音推移波形から導出し（Ｓ５２０）、さらに、先のＳ１４０で取得した楽音推移波形の非調波成分である楽音非調波を、該楽音推移波形から導出する（Ｓ５３０）。これらの非調波成分の導出は、予め用意されたフィルタに、修正音推移波形または楽音推移波形を通過させることで実行しても良い。
【００７２】
さらに、出力音非調波及び楽音非調波を、それぞれ、時間軸に沿って規定された時間長である特定ブロック毎に分割する（Ｓ５４０）。その分割する特定ブロックは、対象楽曲においてテンポが一定であることを表すテンポ一定区間である。このテンポ一定区間は、楽曲ＭＩＤＩデータＤＭのテンポデータに規定されたテンポに従って、テンポが変更される時刻を、各テンポ一定区間の開始時刻、終了時刻として特定することで決定する。なお、楽音非調波の特定ブロックについては、出力音非調波の特定ブロックを決定した後、出力音非調波の特定ブロックそれぞれの開始時刻、終了時刻に相当する対象楽曲の演奏開始からの時刻を、楽音非調波の特定ブロックそれぞれの開始時刻及び終了時刻として特定することで決定する。
【００７３】
そして、Ｓ５４０にて分割された特定ブロックの中から、一組の特定ブロックを選択し（Ｓ５５０）、その一組の特定ブロックについて、楽音非調波、出力音非調波共に、時間軸に沿った変化を表すユニットデータを生成する（Ｓ５６０）。本実施形態におけるユニットデータは、図６（Ａ），（Ｂ）に示すように、特定ブロックよりも短い時間長である規定区間毎に、その規定区間内での非調波成分の振幅値を加算した上で、その規定区間毎に加算された値を正規化することによって生成する。なお、以下では、出力音非調波についてのユニットデータを出力音ユニットデータ（本発明における出力音変化に相当）とし、楽音非調波についてのユニットデータを楽音ユニットデータ（本発明における楽音変化に相当）とする。
【００７４】
その出力音ユニットデータの時間軸上に規定された出力音設定位置を、楽音ユニットデータの時間軸上に規定された楽音設定位置に一致させて、出力音ユニットデータと楽音ユニットデータとの相関値（以下、時間相関値とする）を導出する（Ｓ５７０）。そして、楽音ユニットデータに対する出力音ユニットデータの伸縮率が、予め規定された上限値（伸縮率の上限値）以上であるか否かを判定する（Ｓ５８０）。その判定の結果、楽音ユニットデータの伸縮率が、伸縮率の上限値未満であれば（Ｓ５８０：ＮＯ）、出力音ユニットデータを、時間軸に沿って予め規定された規定率拡大して（Ｓ５９０）、Ｓ５７０へと戻る。
【００７５】
さらに、楽音ユニットデータの伸縮率が、伸縮率の上限値に達していれば（Ｓ５８０：ＹＥＳ）、楽音ユニットデータに対する出力音ユニットデータの時間軸に沿ったシフト量が、予め規定された上限値（シフト量の上限値）以上であるか否かを判定する（Ｓ６００）。その判定の結果、楽音ユニットデータのシフト量が、シフト量の上限値未満であれば（Ｓ６００：ＮＯ）、出力音ユニットデータの設定位置を、予め規定された時間シフトして（Ｓ６１０）、出力音ユニットデータの伸縮率を下限値とした上で、Ｓ５７０へと戻る。
【００７６】
すなわち、本実施形態のＳ５７０〜Ｓ６１０では、図６（Ｃ）に示すように、楽音ユニットデータに対して、出力音ユニットデータの伸縮率が上限値に達するまで拡大する毎に、時間相関値を導出する。そして、このような時間相関値の導出を、楽音ユニットデータに対して、出力音ユニットデータを時間軸に沿ってシフト量の上限値に達するまでシフトさせつつ実行する。
【００７７】
一方、Ｓ６００での判定の結果、出力音ユニットデータのシフト量が、シフト量の上限値以上であれば（Ｓ６００：ＹＥＳ）、対象楽曲を構成する楽音の演奏開始タイミングに、修正出力音の演奏開始タイミングを一致させるための補正量、即ち、時間ズレ量を導出する（Ｓ６２０）。本実施形態のＳ６２０では、具体的に、一組の特定ブロックに対してＳ５７０で導出された全ての時間相関値の中で、値が最大となる時間相関値に対応する出力音ユニットデータの伸縮率及びシフト量を、Ｓ５５０で選択した特定ブロックに対する時間ズレ量として導出する。
【００７８】
その導出された時間ズレ量に従って、個々の出力音の演奏開始タイミングを修正した修正楽譜データを生成する（Ｓ６３０）。本実施形態のＳ６３０では、Ｓ５５０で選択した特定ブロックに対する時間ズレ量として導出された、出力音ユニットデータのシフト量と、出力音ユニットデータの伸縮率とに基づいて、出力音の音高が修正された修正楽譜データにおける当該特定ブロックの開始時刻及び終了時刻を修正する。そして、修正前の出力音の演奏開始タイミングの間隔比率が維持されるように、修正後の開始時刻、及び終了時刻にて規定される期間に応じて、出力音の演奏開始タイミングを伸縮させることで、当該特定ブロックに対する個々の出力音の演奏開始タイミングを修正した修正楽譜データを生成する。なお、本実施形態のＳ６３０では、出力音の演奏終了タイミングについても修正する。この出力音の演奏終了タイミングの修正方法は、出力音の演奏開始タイミングと同様の方法を用いれば良い。
【００７９】
続いて、Ｓ５４０にて分割した全ての特定ブロックに対して、時間ズレ量を導出したか否かを判定し（Ｓ６４０）、その判定の結果、全ての特定ブロックに対して時間ズレ量を導出していなければ（Ｓ６４０：ＮＯ）、Ｓ５５０に戻る。そのＳ５５０では、新たな特定ブロックを選択し、Ｓ６２０までのステップを実行する。このＳ５５０では、時間長が長いものから順に特定ブロックを取得して、時間ズレ量を導出する。ただし、時間ズレ量が既に導出されている特定ブロックに隣接する特定ブロックでは、既に導出されている特定ブロックの修正後の開始時刻または終了時刻を、自特定ブロックでの値として導出する。
【００８０】
一方、Ｓ６４０での判定の結果、全ての特定ブロックに対して時間ズレ量を導出していれば（Ｓ６４０：ＹＥＳ）、その後、本時間補正処理を終了し、データ修正処理へと戻る。
【００８１】
そのデータ修正処理（図２参照）のＳ１９０へと移行すると、Ｓ１２０にて規定した歌詞出力トラックの各歌詞構成文字の歌詞出力タイミングを取得する（Ｓ１９０）。続いて、時間ズレ量導出処理にて導出された時間ズレ量に従って、楽曲音響データＤＷにおける楽音の演奏開始タイミングに一致するように、Ｓ１９０にて取得した歌詞構成文字の各々の歌詞出力タイミングを修正する（Ｓ２００）。
【００８２】
具体的に、本実施形態のＳ２００において歌詞出力タイミングを修正する方法は、先のＳ６３０における出力音の演奏開始タイミング及び演奏終了タイミングの修正と同様の方法でも良い。
【００８３】
そして、Ｓ２００にて修正された歌詞出力タイミング（即ち、修正歌詞出力タイミング）及び歌詞出力終了タイミングが規定された歌詞出力データ（即ち、修正歌詞出力データ）ＤＯを生成する（Ｓ２１０）。
【００８４】
その後、本データ修正処理を終了する。
［第一実施形態の効果］
以上説明したように、このようなデータ修正処理によれば、歌詞出力データＤＯにおける歌詞出力タイミングを、対象楽曲を構成する楽音の演奏開始タイミングに対して、時間軸に沿って一致したものへと修正することができる。
【００８５】
しかも、本実施形態のデータ修正処理では、歌詞出力タイミングを修正する（即ち、修正歌詞出力タイミングを規定する）際に、音声認識処理を一切実行する必要がないため、歌詞構成文字の歌詞出力タイミングを対応付けるべき、楽音の演奏開始タイミングを特定するまでに要するトータルの処理量を、特許文献１に記載された装置に比べて低減できる。
【００８６】
換言すれば、本発明の歌詞出力データ修正装置によれば、より簡易な方法で、歌詞構成文字の歌詞出力タイミングを、当該歌詞構成文字に対応する楽音の演奏開始タイミングに対応付けることができる。
【００８７】
特に、本実施形態のデータ修正処理では、時間ズレ量導出処理の実行前に音高補正処理を実行して、楽音の音高に一致するように修正された出力音の音高を有した修正楽曲ＭＩＤＩデータＤＭを生成した上で、その修正楽曲ＭＩＤＩデータＤＭから出力音推移波形を取得している。この結果、データ修正処理によれば、出力音推移波形と楽音推移波形との間の音高ズレが最小限に抑制され、時間ズレ量の導出精度を向上させることができる。
【００８８】
ところで、本実施形態のデータ修正処理にて生成される修正歌詞出力データＤＯは、各歌詞構成文字についての歌詞出力タイミングを、楽曲音響データＤＷにおける楽音の演奏開始タイミングに一致させるためのデータである。よって、本実施形態の音楽データ配信システム１において、音源モジュールを有していない携帯端末５に、楽曲音響データＤＷと共に、歌詞テロップデータＤＴと、修正歌詞出力データＤＯとを配信して、当該携帯端末５にて、楽曲音響データＤＷの再生に併せて、楽曲音響データ中の楽音に時間同期させて、歌詞構成文字を出力すれば、当該携帯端末５においても、カラオケを楽しむことができる。
［第二実施形態］
次に、本発明の第二実施形態について説明する。
【００８９】
第二実施形態における音楽データ配信システムは、第一実施形態における音楽データ配信システム１とは、歌詞出力データＤＯの構造、及び情報処理装置２０が実行するデータ修正処理の処理内容が異なるのみである。このため、第二実施形態では、第一実施形態の音楽データ配信システム１と同様の構成には、同一の符号を付して説明を省略し、歌詞出力データＤＯの構造、及び情報処理装置２０が実行するデータ修正処理の処理内容を中心に説明する。
〈歌詞出力データＤＯについて〉
本実施形態の歌詞出力データＤＯは、第一実施形態の歌詞出力データＤＯと同様、歌詞構成文字の歌詞出力タイミングを、楽曲ＭＩＤＩデータＤＭの演奏と対応付けるタイミング対応関係が規定されている。
【００９０】
具体的に、本実施形態におけるタイミング対応関係は、図７に示すように、歌詞構成文字の各々に対する歌詞出力タイミングが、当該歌詞構成文字に対応する出力音の演奏開始タイミングと対応付けられている。さらには、本実施形態におけるタイミング対応関係では、図７に示すように、歌詞構成文字の各々に対する歌詞出力終了タイミングが、当該歌詞構成文字に対応する出力音の演奏終了タイミングと対応付けられている。
〈データ修正処理について〉
次に、本実施形態におけるデータ修正処理について説明する。
【００９１】
ここで、図８は、本実施形態におけるデータ修正処理の処理手順を示すフローチャートである。
このデータ修正処理は、入力受付部２２を介して、当該データ修正処理を起動するための起動指令が入力されると、実行が開始されるものである。
【００９２】
そして、図８に示すように、データ修正処理は、起動されると、対象楽曲に対応する楽曲ＭＩＤＩデータＤＭを、音楽データ格納サーバ３から取得する（Ｓ７１０）。
続いて、対象楽曲に対応する楽曲音響データＤＷを音楽データ格納サーバ３から取得する（Ｓ７３０）。その取得した楽曲音響データＤＷから、当該楽曲音響データＤＷにおける楽音推移波形を取得する（Ｓ７４０）。
【００９３】
そして、音高補正処理を実行する（Ｓ７５０）。この音高補正処理は、第一実施形態における音高補正処理（Ｓ１５０）と同様であるため、内容の具体的な説明は省略する。
さらに、時間ズレ量導出処理を実行する（Ｓ７７０）。この時間ズレ量導出処理は、第一実施形態における時間ズレ量導出処理（Ｓ１７０）と同様であるため、内容の具体的な説明は省略する。
【００９４】
続いて、Ｓ７７０にて修正された楽曲ＭＩＤＩデータＤＭにおける出力音の演奏開始タイミングと、Ｓ７１０で取得された修正前の楽曲ＭＩＤＩデータＤＭにおける出力音の演奏開始タイミングとの差分を導出する（Ｓ７９０）。本実施形態のＳ７９０では、具体的には、下記（１）式に基づいて、個々の出力音について、差分（以下、オンセット差分時間ｄＯｎｓｅｔ，オフセット差分時間ｄＯｆｆｓｅｔ）を導出する。
【００９５】
【数１】
0005549651.tif 000002
【００９６】
ただし、（１）式中のａＯｎｓｅｔは、修正された楽曲ＭＩＤＩデータＤＭにおける出力音の演奏開始タイミングであり、ｂＯｎｓｅｔは、修正前の楽曲ＭＩＤＩデータＤＭにおける出力音の演奏開始タイミングである。また、（１）式におけるａＯｆｆｓｅｔは、修正された楽曲ＭＩＤＩデータＤＭにおける出力音の演奏終了タイミングであり、ｂＯｆｆｓｅｔは、修正前の楽曲ＭＩＤＩデータＤＭにおける出力音の演奏終了タイミングである。
【００９７】
つまり、Ｓ７９０では、各出力音について、オンセット差分時間ｄＯｎｓｅｔ，オフセット差分時間ｄＯｆｆｓｅｔが導出される。
続いて、対象楽曲についての歌詞出力データＤＯを、音楽データ格納サーバ３から取得して、当該歌詞出力データＤＯにおける各歌詞構成文字の歌詞出力タイミングを取得する（Ｓ８００）。
【００９８】
さらに、Ｓ７９０で導出されたオンセット差分時間ｄＯｎｓｅｔ，オフセット差分時間ｄＯｆｆｓｅｔに従って、楽曲音響データＤＷにおける楽音の演奏開始タイミングに一致するように、Ｓ８００で取得した歌詞出力データＤＯにおける歌詞構成文字の各々の歌詞出力タイミングを修正する（Ｓ８１０）。
【００９９】
具体的に、本実施形態のＳ８１０では、下記（２）に基づいて、歌詞構成文字の各々について、修正した歌詞出力タイミングｍＯｎｓｅｔ、及び修正した歌詞出力終了タイミングｍＯｆｆｓｅｔを導出する。
【０１００】
【数２】
0005549651.tif 000003
【０１０１】
ただし、（２）式中のｌＯｎｓｅｔは、歌詞出力データＤＯにおける歌詞構成文字の歌詞出力タイミングであり、ｌＯｆｆｓｅｔは、歌詞出力データＤＯにおける歌詞構成文字の歌詞出力終了タイミングである。
【０１０２】
つまり、Ｓ８１０では、歌詞構成文字それぞれの歌詞出力タイミング及び歌詞出力終了タイミングについて、楽曲音響データＤＷにおける楽音それぞれの演奏開始タイミングに一致するように、オンセット差分時間ｄＯｎｓｅｔ，オフセット差分時間ｄＯｆｆｓｅｔシフトすることで修正される。
【０１０３】
そして、Ｓ８１０にて修正された歌詞出力タイミング（即ち、修正歌詞出力タイミング）及び歌詞出力終了タイミングが規定された歌詞出力データ（即ち、修正歌詞出力データ）を生成する（Ｓ８２０）。
【０１０４】
その後、本データ修正処理を終了する。
［第二実施形態の効果］
本実施形態のデータ修正処理においても、第一実施形態のデータ修正処理と同様の効果を得ることができる。
【０１０５】
特に、本実施形態のように構成された歌詞出力データＤＯを修正する場合、各歌詞構成文字の歌詞出力タイミングを、出力音の演奏開始タイミングと対応付ける必要が無いため、修正歌詞出力データＤＯを容易に生成できる。
［その他の実施形態］
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において、様々な態様にて実施することが可能である。
【０１０６】
例えば、上記第二実施形態のデータ修正処理のＳ８１０では、歌詞構成文字それぞれの歌詞出力タイミング及び歌詞出力終了タイミングについて、オンセット差分時間ｄＯｎｓｅｔ，オフセット差分時間ｄＯｆｆｓｅｔシフトすることで修正していたが、歌詞出力タイミング及び歌詞出力終了タイミングの修正方法は、これに限るものではなく、第一実施形態のデータ修正処理における歌詞出力データの修正方法を適用しても良い。
【０１０７】
また、第一実施形態のデータ修正処理においては、対象楽曲に対応する歌詞出力データＤＯを音楽データ格納サーバ３から取得し、当該楽曲ＭＩＤＩデータＤＭに規定されている出力音の演奏開始タイミングと、歌詞出力データＤＯに規定された歌詞構成文字の歌詞出力タイミングとを対応付けた上で、その出力音の演奏開始タイミングと対応付けられた、歌詞構成文字の歌詞出力タイミングを修正しても良い。このとき、歌詞出力終了タイミングも、各歌詞構成文字に対応すると推定される出力音の演奏終了タイミングと対応付けても良い。
【０１０８】
この対応付けの方法としては、色替えの速度から特定される各歌詞構成文字の歌詞出力タイミングを、各歌詞構成文字に対応すると推定される出力音の演奏開始タイミングとして設定した、楽曲ＭＩＤＩデータＤＭの新たなトラック（以下、歌詞出力トラックとする）を生成する。
【０１０９】
なお、第一実施形態のデータ修正処理における歌詞構成文字の歌詞出力タイミング（または、歌詞出力終了タイミング）を修正する方法は、同一のテンポ一定区間ごとに、当該区間に含まれる、歌詞構成文字の歌詞出力タイミング（または、歌詞出力終了タイミング）を、オンセット差分時間ｄＯｎｓｅｔまたはオフセット差分時間ｄＯｆｆｓｅｔシフトする方法でも良い。
【０１１０】
また、上記実施形態（ここでは、第一実施形態と第二実施形態との両方）のデータ修正処理では、音高補正処理と時間ズレ量導出処理との両方の処理を実行していたが、データ修正処理で実行する処理としては、時間ズレ量導出処理のみであっても良い。
［実施形態と特許請求の範囲との対応関係］
最後に、上記実施形態の記載と、特許請求の範囲の記載との関係を説明する。
【０１１１】
上記実施形態のデータ修正処理におけるＳ１４０，Ｓ７４０が、特許請求の範囲の記載における楽音推移取得手段に相当し、時間ズレ量導出処理のＳ５１０が、出力音推移取得手段に相当し、データ修正処理におけるＳ１９０，Ｓ８００が、歌詞出力データ取得手段に相当する。さらに、時間ズレ量導出処理のＳ５２０〜Ｓ６２０が、時間ズレ量導出手段に相当し、データ修正処理におけるＳ２００，Ｓ８１０が、タイミング修正手段に相当する。
【０１１２】
また、時間ズレ量導出処理におけるＳ５２０，Ｓ５４０からＳ５６０が、出力音変化導出手段に相当し、Ｓ５３０からＳ５６０が、楽音変化導出手段に相当し、Ｓ５７０からＳ６１０が、時間相関導出手段に相当し、Ｓ６２０が、時間補正量導出手段に相当する。さらに、音高補正処理におけるＳ３２０からＳ４３０が、音高補正量導出手段に相当し、Ｓ４４０が、楽譜データ修正手段に相当する。このうちのＳ３６０からＳ３９０が、楽音分布導出手段に相当し、Ｓ３２０からＳ３５０が、出力音分布導出手段に相当し、Ｓ４００からＳ４２０が、音高相関導出手段に相当する。
【０１１３】
さらに、時間ズレ量導出処理におけるＳ６３０が、演奏開始タイミング補正手段に相当する。
【符号の説明】
【０１１４】
１…音楽データ配信システム  ３…音楽データ格納サーバ  ５…携帯端末  ６…情報受付部  ７…表示部  ８…音出力部  ９…通信部  １０…記憶部  １１…制御部  ２０…情報処理装置  ２１…通信部  ２２…入力受付部  ２３…表示部  ２４…音声入力部  ２５…音声出力部  ２６…音源モジュール  ２７…記憶部  ３０…制御部  ３１…ＲＯＭ  ３２…ＲＡＭ  ３３…ＣＰＵ
【図１】
0005549651.tif 000004
【図２】
0005549651.tif 000005
【図３】
0005549651.tif 000006
【図４】
0005549651.tif 000007
【図５】
0005549651.tif 000008
【図７】
0005549651.tif 000009
【図８】
0005549651.tif 000010
【図６】
0005549651.tif 000011