(57)【要約】【課題】ユーザにとっての負担の少ないインタフェースを用いて、歌詞に含まれるブロックがそれぞれ対応する楽曲の区間をユーザが指定することを可能とすること。【解決手段】楽曲を再生するための楽曲データ及び当該楽曲の歌詞を表す歌詞データを記憶している記憶部と、前記楽曲の歌詞を画面上に表示する表示制御部と、前記楽曲を再生する再生部と、ユーザ入力を検出するユーザインタフェース部と、を備える情報処理装置であって、前記歌詞データは、少なくとも１文字の歌詞をそれぞれ有する複数のブロックを含み、前記表示制御部は、前記楽曲が再生されている間、前記歌詞データの各ブロックが識別可能となるように前記楽曲の歌詞を画面上に表示し、前記ユーザインタフェース部は、第１のユーザ入力に応じて、表示された各ブロックに対応する前記楽曲の区間ごとの境界に対応するタイミングを検出する、情報処理装置を提供する。【選択図】図２
2011215358.tif 000002
【特許請求の範囲】
【請求項１】
楽曲を再生するための楽曲データ及び当該楽曲の歌詞を表す歌詞データを記憶している記憶部と、
前記楽曲の歌詞を画面上に表示する表示制御部と、
前記楽曲を再生する再生部と、
ユーザ入力を検出するユーザインタフェース部と、
を備える情報処理装置であって：
前記歌詞データは、少なくとも１文字の歌詞をそれぞれ有する複数のブロックを含み；
前記表示制御部は、前記再生部により前記楽曲が再生されている間、前記歌詞データの各ブロックがユーザにより識別可能となるように前記楽曲の歌詞を画面上に表示し；
前記ユーザインタフェース部は、第１のユーザ入力に応じて、表示された各ブロックに対応する前記楽曲の区間ごとの境界に対応するタイミングを検出する；
情報処理装置。
【請求項２】
前記ユーザインタフェース部が前記第１のユーザ入力に応じて検出するタイミングは、表示された各ブロックに対応する前記楽曲の区間ごとの再生終了タイミングである、請求項１に記載の情報処理装置。
【請求項３】
前記情報処理装置は、
前記ユーザインタフェース部により検出された前記再生終了タイミングに応じて、前記歌詞データの各ブロックに対応する前記楽曲の区間の開始時刻及び終了時刻を表す区間データを生成するデータ生成部、
をさらに備える、請求項２に記載の情報処理装置。
【請求項４】
前記データ生成部は、前記再生終了タイミングから所定のオフセット時間を減ずることにより、前記楽曲の各区間の開始時刻を決定する、請求項３に記載の情報処理装置。
【請求項５】
前記情報処理装置は、
前記データ生成部により生成された前記区間データに含まれる各区間の時間長と当該区間に対応する歌詞の文字列から推定される時間長との比較に基づいて、前記区間データを補正するデータ補正部、
をさらに備える、請求項４に記載の情報処理装置。
【請求項６】
前記データ補正部は、前記区間データに含まれる１つの区間の時間長が当該１つの区間に対応する歌詞の文字列から推定される時間長よりも所定の閾値以上に長い場合には、前記区間データの当該１つの区間の開始時刻を補正する、請求項５に記載の情報処理装置。
【請求項７】
前記情報処理装置は、前記楽曲の音声信号を解析することにより前記楽曲に含まれるボーカル区間を認識する解析部、をさらに備え、
前記データ補正部は、開始時刻を補正すべき区間について、当該区間のうち前記解析部によりボーカル区間であると認識された部分の先頭の時刻を補正後の開始時刻とする、
請求項６に記載の情報処理装置。
【請求項８】
前記表示制御部は、前記ユーザインタフェース部により前記再生終了タイミングが検出されたブロックが前記ユーザにより識別可能となるように、前記楽曲の歌詞の表示を制御する、請求項２に記載の情報処理装置。
【請求項９】
前記ユーザインタフェース部は、第２のユーザ入力に応じて、注目されているブロックに対応する前記楽曲の区間についての前記再生終了タイミングの入力のスキップを検出する、請求項３に記載の情報処理装置。
【請求項１０】
前記データ生成部は、第１の区間について前記ユーザインタフェース部により前記再生終了タイミングの入力のスキップが検出された場合には、前記区間データにおいて、前記第１の区間の開始時刻と前記第１の区間に続く第２の区間の終了時刻とを、前記第１の区間に対応する歌詞と前記第２の区間に対応する歌詞とを結合した文字列に対応付ける、請求項９に記載の情報処理装置。
【請求項１１】
前記情報処理装置は、前記区間データにより表される区間ごとに、各区間と当該区間に対応するブロックとを用いて歌詞のアラインメントを実行するアラインメント部、をさらに備える、請求項３に記載の情報処理装置。
【請求項１２】
楽曲を再生するための楽曲データ及び当該楽曲の歌詞を表す歌詞データを記憶する記憶部を備える情報処理装置を用いた情報処理方法であって：
前記歌詞データは、少なくとも１文字の歌詞をそれぞれ有する複数のブロックを含み；
前記方法は、
前記楽曲を再生するステップと；
前記楽曲が再生されている間、前記歌詞データの各ブロックがユーザにより識別可能となるように前記楽曲の歌詞を画面上に表示するステップと；
第１のユーザ入力に応じて、表示された各ブロックに対応する前記楽曲の区間ごとの境界に対応するタイミングを検出するステップと；
を含む、情報処理方法。
【請求項１３】
楽曲を再生するための楽曲データ及び当該楽曲の歌詞を表す歌詞データを記憶している記憶部を備える情報処理装置を制御するコンピュータを：
前記楽曲の歌詞を画面上に表示する表示制御部と、
前記楽曲を再生する再生部と、
ユーザ入力を検出するユーザインタフェース部と、
として機能させるためのプログラムであって：
前記歌詞データは、少なくとも１文字の歌詞をそれぞれ有する複数のブロックを含み；
前記表示制御部は、前記再生部により前記楽曲が再生されている間、前記歌詞データの各ブロックがユーザにより識別可能となるように前記楽曲の歌詞を画面上に表示し；
前記ユーザインタフェース部は、第１のユーザ入力に応じて、表示された各ブロックに対応する前記楽曲の区間ごとの境界に対応するタイミングを検出する；
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
従来、楽曲を再生するための楽曲データと楽曲の歌詞とを時間的に対応付けるための歌詞アラインメント技術が研究されている。例えば、下記非特許文献１は、楽曲データを解析することにより混合音から歌声を分離し、分離した歌声についてＶｉｔｅｒｂｉアラインメントを適用することにより、楽曲の歌詞の各部分の時間軸上の配置を決定するという手法を提案している。また、下記非特許文献２は、下記非特許文献１とは異なる方法で歌声を分離した上で、分離した歌声についてＶｉｔｅｒｂｉアラインメントを適用する手法を提案している。これら歌詞アラインメント技術は、いずれも、楽曲データに対する歌詞のアラインメント、即ち歌詞の各部分の時間軸上への配置を自動的に行うことを可能にする技術である
【０００３】
歌詞アラインメント技術は、例えば、オーディオプレーヤにおける楽曲の再生に沿った歌詞の表示、自動歌唱システムにおける歌唱タイミングの制御、及びカラオケシステムにおける歌詞の表示タイミングの制御などに応用され得る。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】藤原弘将、後藤真孝、他,  “音楽音響信号と歌詞の時間的対応付け手法：歌声の分離と母音のViterbiアラインメント”,IPSJ  SIG  Technical  Report,  2006-MUS-66,  pp.37-44
【非特許文献２】Annamaria  Mesaros  and  Tuomas  Virtanen,  “AUTOMATIC  ALIGNMENT  OF  MUSIC  AUDIO  AND  LYRICS”,  Proceeding  of  the  11th  International  Conference  on  Digital  Audio  Effects  (DAFx-08),  September  1-4,  2008
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の自動的な歌詞アラインメント技術では、数十秒から数分の長さにわたる現実の楽曲を対象として、高い精度で歌詞を正確な時間的位置に配置することは困難であった。例えば、上記非特許文献１及び２に記載された手法は、対象とする楽曲の数を限定し、歌詞の読みを事前に与え、又はボーカル区間を事前に定義するなどといった限定的な条件の下に、ある程度のアラインメントの精度を達成している。しかし、実際の応用場面において、これらのような好都合な条件を維持できるとは限らない。
【０００６】
ところで、いくつかの歌詞アラインメント技術の応用場面においては、楽曲データと楽曲の歌詞との対応付けを必ずしも完全に自動的に行うことが求められる訳ではない。例えば、楽曲の再生に沿った歌詞の表示に際しては、歌詞の表示タイミングを定義するデータが提供されれば、タイムリーな歌詞の表示は可能である。そして、この場合、ユーザにとって重要なのは、歌詞の表示タイミングを定義するデータが自動的に生成された否かではなく、そのデータの正確さである。従って、歌詞のアラインメントに際して、全自動ではなく半自動的にアラインメントを行うことにより（即ち、部分的にユーザによる支援を受けることにより）アラインメントの精度を向上させることができるとすれば有益である。
【０００７】
例えば、自動的なアラインメントの前段階の処理として、楽曲の歌詞を複数のブロックに分割し、各ブロックがそれぞれ対応する楽曲の区間をユーザがシステムに教えることが考えられる。その後、システムが自動的な歌詞アラインメント技術をブロックごとに適用すれば、ブロックをまたいで歌詞の配置のズレが蓄積することがなくなるため、全体としてのアラインメントの精度は向上する。但し、このようなユーザによる支援は、可能な限りユーザにとって負担の少ないインタフェースで実現されることが望ましい。
【０００８】
そこで、本発明は、ユーザにとっての負担の少ないインタフェースを用いて、歌詞に含まれるブロックがそれぞれ対応する楽曲の区間をユーザが指定することのできる、新規かつ改良された情報処理装置、情報処理方法及びプログラムを提供しようとするものである。
【課題を解決するための手段】
【０００９】
本発明のある実施形態によれば、楽曲を再生するための楽曲データ及び当該楽曲の歌詞を表す歌詞データを記憶している記憶部と、上記楽曲の歌詞を画面上に表示する表示制御部と、上記楽曲を再生する再生部と、ユーザ入力を検出するユーザインタフェース部と、を備える情報処理装置であって、上記歌詞データは、少なくとも１文字の歌詞をそれぞれ有する複数のブロックを含み、上記表示制御部は、上記再生部により上記楽曲が再生されている間、上記歌詞データの各ブロックがユーザにより識別可能となるように上記楽曲の歌詞を画面上に表示し、上記ユーザインタフェース部は、第１のユーザ入力に応じて、表示された各ブロックに対応する上記楽曲の区間ごとの境界に対応するタイミングを検出する、情報処理装置が提供される。
【００１０】
かかる構成によれば、楽曲が再生されている間、楽曲の歌詞データに含まれる各ブロックがユーザにより識別可能となるように当該楽曲の歌詞が画面上に表示される。そして、第１のユーザ入力に応じて、各ブロックに対応する楽曲の区間ごとの境界に対応するタイミングが検出される。即ち、ユーザは、再生される楽曲を聴きながら、歌詞データに含まれるブロックごとに境界に対応するタイミングのみを指定すればよい。
【００１１】
また、上記ユーザインタフェース部が上記第１のユーザ入力に応じて検出するタイミングは、表示された各ブロックに対応する上記楽曲の区間ごとの再生終了タイミングであってもよい。
【００１２】
また、上記情報処理装置は、上記ユーザインタフェース部により検出された上記再生終了タイミングに応じて、上記歌詞データの各ブロックに対応する上記楽曲の区間の開始時刻及び終了時刻を表す区間データを生成するデータ生成部、をさらに備えてもよい。
【００１３】
また、上記データ生成部は、上記再生終了タイミングから所定のオフセット時間を減ずることにより、上記楽曲の各区間の開始時刻を決定してもよい。
【００１４】
また、上記情報処理装置は、上記データ生成部により生成された上記区間データに含まれる各区間の時間長と当該区間に対応する歌詞の文字列から推定される時間長との比較に基づいて、上記区間データを補正するデータ補正部、をさらに備えてもよい。
【００１５】
また、上記データ補正部は、上記区間データに含まれる１つの区間の時間長が当該１つの区間に対応する歌詞の文字列から推定される時間長よりも所定の閾値以上に長い場合には、上記区間データの当該１つの区間の開始時刻を補正してもよい。
【００１６】
また、上記情報処理装置は、上記楽曲の音声信号を解析することにより上記楽曲に含まれるボーカル区間を認識する解析部、をさらに備え、上記データ補正部は、開始時刻を補正すべき区間について、当該区間のうち上記解析部によりボーカル区間であると認識された部分の先頭の時刻を補正後の開始時刻としてもよい。
【００１７】
また、上記表示制御部は、上記ユーザインタフェース部により上記再生終了タイミングが検出されたブロックが上記ユーザにより識別可能となるように、上記楽曲の歌詞の表示を制御してもよい。
【００１８】
また、上記ユーザインタフェース部は、第２のユーザ入力に応じて、注目されているブロックに対応する上記楽曲の区間についての上記再生終了タイミングの入力のスキップを検出してもよい。
【００１９】
また、上記データ生成部は、第１の区間について上記ユーザインタフェース部により上記再生終了タイミングの入力のスキップが検出された場合には、上記区間データにおいて、上記第１の区間の開始時刻と上記第１の区間に続く第２の区間の終了時刻とを、上記第１の区間に対応する歌詞と上記第２の区間に対応する歌詞とを結合した文字列に対応付けてもよい。
【００２０】
また、上記情報処理装置は、上記区間データにより表される区間ごとに、各区間と当該区間に対応するブロックとを用いて歌詞のアラインメントを実行するアラインメント部、をさらに備えてもよい。
【００２１】
また、本発明の別の実施形態によれば、楽曲を再生するための楽曲データ及び当該楽曲の歌詞を表す歌詞データを記憶する記憶部を備える情報処理装置を用いた情報処理方法であって、上記歌詞データは、少なくとも１文字の歌詞をそれぞれ有する複数のブロックを含み、上記方法は、上記楽曲を再生するステップと、上記楽曲が再生されている間、上記歌詞データの各ブロックがユーザにより識別可能となるように上記楽曲の歌詞を画面上に表示するステップと、第１のユーザ入力に応じて、表示された各ブロックに対応する上記楽曲の区間ごとの境界に対応するタイミングを検出するステップと、を含む、情報処理方法が提供される。
【００２２】
また、本発明の別の実施形態によれば、楽曲を再生するための楽曲データ及び当該楽曲の歌詞を表す歌詞データを記憶している記憶部を備える情報処理装置を制御するコンピュータを、上記楽曲の歌詞を画面上に表示する表示制御部と、上記楽曲を再生する再生部と、ユーザ入力を検出するユーザインタフェース部と、として機能させるためのプログラムであって、上記歌詞データは、少なくとも１文字の歌詞をそれぞれ有する複数のブロックを含み、上記表示制御部は、上記再生部により上記楽曲が再生されている間、上記歌詞データの各ブロックがユーザにより識別可能となるように上記楽曲の歌詞を画面上に表示し、上記ユーザインタフェース部は、第１のユーザ入力に応じて、表示された各ブロックに対応する上記楽曲の区間ごとの境界に対応するタイミングを検出する、プログラムが提供される。
【発明の効果】
【００２３】
以上説明したように、本発明に係る情報処理装置、情報処理方法及びプログラムによれば、ユーザにとっての負担の少ないインタフェースを用いて、歌詞に含まれるブロックがそれぞれ対応する楽曲の区間をユーザが指定することを可能とすることができる。
【図面の簡単な説明】
【００２４】
【図１】一実施形態に係る情報処理装置の概要を示す模式図である。
【図２】一実施形態に係る情報処理装置の構成の一例を示すブロック図である。
【図３】一実施形態に係る歌詞データについて説明するための説明図である。
【図４】一実施形態において表示される入力画面の一例について説明するための説明図である。
【図５】一実施形態においてユーザ入力に応じて検出されるタイミングについて説明するための説明図である。
【図６】一実施形態に係る区間データ生成処理について説明するための説明図である。
【図７】一実施形態に係る区間データについて説明するための説明図である。
【図８】一実施形態に係る区間データの補正について説明するための説明図である。
【図９Ａ】一実施形態に係るアラインメントの結果について説明するための第１の説明図である。
【図９Ｂ】一実施形態に係るアラインメントの結果について説明するための第２の説明図である。
【図１０】一実施形態に係る半自動アラインメント処理の流れの一例を示すフローチャートである。
【図１１】一実施形態においてユーザが行うべき操作の流れの一例を示すフローチャートである。
【図１２】一実施形態に係る再生終了タイミングの検出の流れの一例を示すフローチャートである。
【図１３】一実施形態に係る区間データ生成処理の流れの一例を示すフローチャートである。
【図１４】一実施形態に係る区間データ補正処理の流れの一例を示すフローチャートである。
【図１５】一実施形態において表示される修正画面の一例について説明するための説明図である。
【発明を実施するための形態】
【００２５】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付すことにより重複説明を省略する。
【００２６】
また、以下の順序にしたがって当該「発明を実施するための形態」を説明する。
１．情報処理装置の概要
２．情報処理装置の構成例
２−１．記憶部
２−２．再生部
２−３．表示制御部
２−４．ユーザインタフェース部
２−５．データ生成部
２−６．解析部
２−７．データ補正部
２−８．アラインメント部
３．半自動アラインメント処理の流れ
３−１．全体的な流れ
３−２．ユーザの操作
３−３．再生終了タイミングの検出
３−４．区間データ生成処理
３−５．区間データ補正処理
４．区間データのユーザによる修正
５．アラインメントデータの修正
６．まとめ
【００２７】
＜１．情報処理装置の概要＞
まず、図１を用いて、本発明の一実施形態に係る情報処理装置の概要を説明する。図１は、本発明の一実施形態に係る情報処理装置１００の概要を示す模式図である。
【００２８】
図１の例では、情報処理装置１００は、記憶媒体、画面、及びユーザ入力用のインタフェースを有するコンピュータである。情報処理装置１００は、例えばＰＣ（Personal  Computer）若しくはワークステーションなどの汎用的なコンピュータであってもよく、又はスマートフォン、オーディオプレーヤ若しくはゲーム機器などのその他の種類のコンピュータであってもよい。情報処理装置１００は、記憶媒体に記憶されている楽曲を再生すると共に、後に詳しく説明する入力画面を画面上に表示する。ユーザは、情報処理装置１００により再生される楽曲を聴きながら、楽曲の歌詞を区分するブロックごとに、各ブロックの再生が終了したタイミングを入力する。情報処理装置１００は、かかるユーザ入力に応じて歌詞の各ブロックに対応する楽曲の区間を認識し、認識した区間ごとに歌詞のアラインメントを実行する。
【００２９】
＜２．情報処理装置の構成例＞
次に、図２〜図７を用いて、図１に示した情報処理装置１００の詳細な構成について説明する。図２は、本実施形態に係る情報処理装置１００の構成の一例を示すブロック図である。図２を参照すると、情報処理装置１００は、記憶部１１０、再生部１２０、表示制御部１３０、ユーザインタフェース部１４０、データ生成部１６０、解析部１７０、データ補正部１８０及びアラインメント部１９０を備える。
【００３０】
［２−１．記憶部］
記憶部１１０は、ハードディスク又は半導体メモリなどの記憶媒体を用いて、楽曲を再生するための楽曲データ及び当該楽曲の歌詞を表す歌詞データを記憶する。記憶部１１０により記憶される楽曲データは、情報処理装置１００による歌詞の半自動的なアラインメントの対象の楽曲についての音声データである。楽曲データのファイルフォーマットは、例えばＷＡＶＥ、ＭＰ３（MPEG  Audio  Layer‐3）又はＡＡＣ（Advanced  Audio  Coding）などの任意のフォーマットであってよい。一方、歌詞データは、典型的には、楽曲の歌詞を表すテキストデータである。
【００３１】
図３は、本実施形態に係る歌詞データについて説明するための説明図である。図３を参照すると、楽曲データＤ１と関連付けられる歌詞データＤ２の内容の一例が示されている。
【００３２】
図３の例において、歌詞データＤ２は、記号“＠”がそれぞれ付された４つのデータ項目を有する。第１のデータ項目は、歌詞データＤ２と関連付けられる楽曲データを識別するためのＩＤ（“ＩＤ”＝“Ｓ０００１”）である。第２のデータ項目は、楽曲のタイトル（“ｔｉｔｌｅ”＝“ＸＸＸ  ＸＸＸＸ”）である。第３のデータ項目は、楽曲のアーティスト名（“ａｒｔｉｓｔ”＝“ＹＹ  ＹＹＹ”）である。第４のデータ項目は、楽曲の歌詞（“ｌｙｒｉｃ”）である。歌詞データＤ２において、歌詞は、改行を用いて複数のレコードに区切られている。本明細書では、これら複数のレコードの各々を、歌詞のブロックという。各ブロックは、少なくとも１文字の歌詞をそれぞれ有する。即ち、歌詞データＤ２は、楽曲の歌詞を区分する複数のブロックを定義したデータであると言うこともできる。図３の例では、歌詞データＤ２は、４つの（歌詞の）ブロックＢ１〜Ｂ４を含んでいる。なお、歌詞データにおいてブロックを区切るために、改行文字以外の文字又は記号が用いられてもよい。
【００３３】
記憶部１１０は、楽曲の再生の開始に際して、上述した楽曲データを再生部１２０へ出力すると共に、歌詞データを表示制御部１３０へ出力する。そして、後に説明する区間データ生成処理が行われた後、記憶部１１０は、生成された区間データを記憶する。区間データの内容については、後に具体的に説明する。記憶部１１０により記憶される区間データは、アラインメント部１９０による自動アラインメントのために使用される。
【００３４】
［２−２．再生部］
再生部１２０は、記憶部１１０により記憶されている楽曲データを取得し、楽曲を再生する。再生部１２０は、音声データファイルを再生可能な一般的なオーディオプレーヤであってよい。再生部１２０による楽曲の再生は、例えば、次に説明する表示制御部１３０からの指示に応じて開始される。
【００３５】
［２−３．表示制御部］
表示制御部１３０は、ユーザインタフェース部１４０においてユーザからの楽曲の再生開始の指示が検出されると、指定された楽曲の再生の開始を再生部１２０に指示する。また、表示制御部１３０は、内部にタイマを有し、楽曲の再生開始からの経過時間を計測する。さらに、表示制御部１３０は、再生部１２０により再生される楽曲の歌詞データを記憶部１１０から取得し、楽曲が再生部１２０により再生されている間、歌詞の各ブロックがユーザにより識別可能となるように、ユーザインタフェース部１４０が提供する画面上に歌詞データに含まれる歌詞を表示する。表示制御部１３０のタイマにより示される時間は、次に説明するユーザインタフェース部により検出される楽曲の区間ごとの再生終了タイミングの認識のために用いられる。
【００３６】
［２−４．ユーザインタフェース部］
ユーザインタフェース部１４０は、楽曲の区間ごとの境界に対応するタイミングをユーザが入力するための入力画面を提供する。本実施形態において、ユーザインタフェース部１４０が検出する境界に対応するタイミングとは、楽曲の区間ごとの再生終了タイミングである。ユーザインタフェース部１４０は、例えば所定のボタンの操作（例えばクリック若しくはタップ、又は物理的なボタンの押下など）に相当する第１のユーザ入力に応じて、入力画面に表示された各ブロックに対応する楽曲の区間ごとの再生終了タイミングを検出する。ユーザインタフェース部１４０により検出される楽曲の区間ごとの再生終了タイミングは、後に説明するデータ生成部１６０による区間データの生成のために用いられる。また、ユーザインタフェース部１４０は、例えば上記ボタンとは異なる所定のボタンの操作などに相当する第２のユーザ入力に応じて、注目されているブロックに対応する楽曲の区間についての再生終了タイミングの入力のスキップを検出する。ユーザインタフェース部１４０によりスキップが検出された楽曲の区間については、情報処理装置１００は、当該区間の終了時刻の認識を省略する。
【００３７】
図４は、本実施形態において情報処理装置１００により表示される入力画面の一例について説明するための説明図である。図４を参照すると、一例としての入力画面１５２が示されている。
【００３８】
入力画面１５２の中央部には、歌詞表示領域１３２が配置されている。歌詞表示領域１３２は、表示制御部１３０が歌詞を表示するために使用する領域である。図４の例では、歌詞表示領域１３２において、歌詞データに含まれる歌詞の各ブロックが、互いに異なる行に表示される。それにより、ユーザは、歌詞データの各ブロックを識別することができる。また、表示制御部１３０において、次に再生終了タイミングが入力されるべき対象のブロックが他のブロックよりも大きいフォントサイズにより強調して表示されている。なお、表示制御部１３０は、対象ブロックを強調するために、フォントサイズの大きさを変更する代わりに、テキストの色、背景色又はスタイルなどを変更してもよい。歌詞表示領域１３２の左側には、かかる対象ブロックを指し示す矢印Ａ１が表示されている。また、歌詞表示領域１３２の右側には、各ブロックについての再生終了タイミングの入力ステータスを表すマークが表示されている。例えば、マークＭ１は、ユーザインタフェース部１４０により再生終了タイミングが検出されたブロック（即ち、ユーザによる再生終了タイミングの入力が行われたブロック）を識別するためのマークである。マークＭ２は、次に再生終了タイミングが入力されるべき対象のブロックを識別するためのマークである。マークＭ３は、ユーザインタフェース部１４０により再生終了タイミングが未だ検出されていないブロックを識別するためのマークである。マークＭ４は、ユーザインタフェース部１４０によりスキップが検出されたブロックを識別するためのマークである。表示制御部１３０は、例えば、このような歌詞表示領域１３２における歌詞の表示をユーザによる再生終了タイミングの入力に応じて上方向へスクロールさせ、次に再生終了タイミングが入力されるべき対象のブロックが常に上下方向の中央に位置するように表示を制御してもよい。
【００３９】
入力画面１５２の下部には、３つのボタンＢ１、Ｂ２及びＢ３が配置されている。ボタンＢ１は、歌詞表示領域１３２に表示された各ブロックに対応する楽曲の区間ごとの再生終了タイミングをユーザが指定するためのタイミング指定ボタンである。例えば、ユーザがタイミング指定ボタンＢ１を操作すると、ユーザインタフェース部１４０は、表示制御部１３０の上述したタイマを参照し、矢印Ａ１に指し示されているブロックに対応する区間についての再生終了タイミングを記憶する。また、ボタンＢ２は、注目されているブロック（対象ブロック）に対応する楽曲の区間についての再生終了タイミングの入力をスキップすることをユーザが指定するためのスキップボタンである。例えば、ユーザがスキップボタンＢ２を操作すると、ユーザインタフェース部１４０は、再生終了タイミングの入力がスキップされることを表示制御部１３０に通知する。そうすると、表示制御部１３０は、歌詞表示領域１３２における歌詞の表示を上方向にスクロールさせ、次のブロックを強調表示すると共に、矢印Ａ１を当該次のブロックに付し、さらにスキップされたブロックのマークをマークＭ４に変更する。また、ボタンＢ３は、前のブロックについての再生終了タイミングの入力を再度行うことをユーザが指定するためのいわゆる“戻る（Ｂａｃｋ）”ボタンである。例えば、ユーザが戻るボタンＢ３を操作すると、ユーザインタフェース部１４０は、戻るボタンＢ３が操作されたことを表示制御部１３０に通知する。そうすると、表示制御部１３０は、歌詞表示領域１３２における歌詞の表示を下方向にスクロールさせ、前のブロックを強調表示すると共に、矢印Ａ１及びマークＭ２を新たに強調表示されたブロックに付す。
【００４０】
なお、ボタンＢ１、Ｂ２及びＢ３は、図４の例のように入力画面１５２上のＧＵＩ（Graphical  User  Interface）として実現される代わりに、例えばキーボード又はキーパッドの所定のキー（例えばＥｎｔｅｒキー）などに相当する物理的なボタンを用いて実現されてもよい。
【００４１】
入力画面１５２の歌詞表示領域１３２とボタンＢ１、Ｂ２及びＢ３との間には、タイムラインバーＣ１が表示されている。タイムラインバーＣ１は、楽曲の再生開始からの経過時間を計測している表示制御部１３０のタイマにより示される時間を表示する。
【００４２】
図５は、本実施形態においてユーザ入力に応じて検出されるタイミングについて説明するための説明図である。図５を参照すると、再生部１２０により再生される楽曲の音声波形の一例が時間軸に沿って示されている。また、音声波形の下には、各時点において音声を聴取することによりユーザが認識し得る歌詞が示されている。
【００４３】
図５の例において、例えば、ブロックＢ１に対応する区間の再生は、時刻Ｔａまでに終了する。また、ブロックＢ２に対応する区間の再生は、時刻Ｔｂから開始する。従って、図４を用いて説明した入力画面１５２を操作するユーザは、再生される楽曲を聴きながら、時刻Ｔａから時刻Ｔｂまでの間にタイミング指定ボタンＢ１を操作する。それにより、ユーザインタフェース部１４０は、ブロックＢ１についての再生終了タイミングを検出し、当該再生終了タイミングの時刻を記憶する。そして、このような楽曲の各区間の再生とブロックごとの再生終了タイミングの検出とを楽曲の全体にわたって繰り返すことにより、ユーザインタフェース部１４０は、歌詞のブロックごとの再生終了タイミングのリストを取得する。ユーザインタフェース部１４０は、かかる再生終了タイミングのリストをデータ生成部１６０へ出力する。
【００４４】
［２−５．データ生成部］
データ生成部１６０は、ユーザインタフェース部１４０により検出された再生終了タイミングに応じて、歌詞データの各ブロックに対応する楽曲の区間の開始時刻及び終了時刻を表す区間データを生成する。
【００４５】
図６は、本実施形態に係るデータ生成部１６０による区間データ生成処理について説明するための説明図である。図６の上段には、再生部１２０により再生される楽曲の音声波形の一例が時間軸に沿って再び示されている。また、中段には、ユーザインタフェース部１４０により検出されたブロックＢ１についての再生終了タイミングＩｎ（Ｂ１）、ブロックＢ２についての再生終了タイミングＩｎ（Ｂ２）及びブロックＢ３についての再生終了タイミングＩｎ（Ｂ３）が示されている。なお、Ｉｎ（Ｂ１）＝Ｔ１、Ｉｎ（Ｂ２）＝Ｔ２、Ｉｎ（Ｂ３）＝Ｔ３である。また、下段には、これら再生終了タイミングに応じて決定される各区間の開始時刻及び終了時刻が、区間ごとのボックスを用いて示されている。
【００４６】
ここで、図５を用いて説明したように、ユーザインタフェース部１４０により検出される再生終了タイミングは、歌詞のブロックごとの楽曲の再生が終了したタイミングである。即ち、ユーザインタフェース部１４０からデータ生成部１６０に入力される再生終了タイミングのリストには、歌詞のブロックごとの楽曲の再生が開始されるタイミングは含まれない。そこで、データ生成部１６０は、ある１つのブロックに対応する区間の開始時刻を、直前のブロックについての再生終了タイミングに応じて決定する。より具体的には、データ生成部１６０は、直前のブロックについての再生終了タイミングから所定のオフセット時間を減じた時刻を、上記１つのブロックに対応する区間の開始時刻とする。図６の例では、ブロックＢ２に対応する区間の開始時刻は、ブロックＢ１についての再生終了タイミングＴ１からオフセット時間Δｔ１を減じた時刻「Ｔ１−Δｔ１」である。ブロックＢ３に対応する区間の開始時刻は、ブロックＢ２についての再生終了タイミングＴ２からオフセット時間Δｔ１を減じた時刻「Ｔ２−Δｔ１」である。ブロックＢ４に対応する区間の開始時刻は、ブロックＢ３についての再生終了タイミングＴ３からオフセット時間Δｔ１を減じた時刻「Ｔ３−Δｔ１」である。このように、再生終了タイミングから所定のオフセット時間を減じた時刻を各区間の開始時刻とする理由は、ユーザがタイミング指定ボタンＢ１を操作した時点で、既に次の区間の再生が開始されている可能性があるためである。
【００４７】
一方、ユーザがタイミング指定ボタンＢ１を操作した時点で、対象区間の再生が終了していない可能性は低い。しかし、ユーザによる誤操作のケース以外にも、例えば、対象区間に対応する歌詞の最後の音素の波形が完全に終了していない時点でユーザによる操作が行われる可能性はある。そのため、データ生成部１６０は、各区間の終了時刻についても、開始時刻と同様のオフセット処理を行う。より具体的には、データ生成部１６０は、あるブロックについての再生終了タイミングに所定のオフセット時間を加えた時刻を、当該ブロックに対応する区間の終了時刻とする。図６の例では、ブロックＢ１に対応する区間の終了時刻は、ブロックＢ１についての再生終了タイミングＴ１にオフセット時間Δｔ２を加えた時刻「Ｔ１＋Δｔ２」である。ブロックＢ２に対応する区間の終了時刻は、ブロックＢ２についての再生終了タイミングＴ２にオフセット時間Δｔ２を加えた時刻「Ｔ２＋Δｔ２」である。ブロックＢ３に対応する区間の終了時刻は、ブロックＢ３についての再生終了タイミングＴ３にオフセット時間Δｔ２を加えた時刻「Ｔ３＋Δｔ２」である。なお、これらオフセット時間Δｔ１及びΔｔ２の値は、予め固定的に定義されてもよく、又は各ブロックの歌詞文字列の長さ若しくはビート数などに応じて動的に決定されてもよい。また、オフセット時間Δｔ２はゼロであってもよい。
【００４８】
データ生成部１６０は、歌詞データの各ブロックに対応する区間の開始時刻及び終了時刻をこのように決定し、各区間の開始時刻及び終了時刻を表す区間データを生成する。
【００４９】
図７は、本実施形態に係るデータ生成部１６０により生成される区間データについて説明するための説明図である。図７を参照すると、標準化されたフォーマットではないものの一般に広く使用されているＬＲＣ形式により記述された一例としての区間データＤ３が示されている。
【００５０】
図７の例において、区間データＤ３は、記号“＠”がそれぞれ付された２つのデータ項目を有する。第１のデータ項目は、楽曲のタイトル（“ｔｉｔｌｅ”＝“ＸＸＸ  ＸＸＸＸ”）である。第２のデータ項目は、楽曲のアーティスト名（“ａｒｔｉｓｔ”＝“ＹＹ  ＹＹＹ”）である。さらに、これら２つのデータ項目の下に、歌詞データの各ブロックに対応する各区間の開始時刻、歌詞文字列、及び終了時刻がレコードごとに記録されている。各区間の開始時刻及び終了時刻は、それぞれ“［ｍｍ：ｓｓ．ｘｘ］”というフォーマットを有し、楽曲の開始時点から当該時刻までの時間を分（ｍｍ）と秒（ｓｓ．ｘｘ）とにより表す。
【００５１】
なお、データ生成部１６０は、ある区間についてユーザインタフェース部１４０により再生終了タイミングの入力のスキップが検出された場合には、当該区間の開始時刻と当該区間に続く区間の終了時刻との組を、それら２つの区間に対応する歌詞文字列（即ち、２つの区間にそれぞれ対応する歌詞を結合した文字列）に対応付ける。例えば、図７の例において、ブロックＢ１についての再生終了タイミングの入力がスキップされた場合には、ブロックＢ１の開始時刻［００：００．００］、ブロックＢ１及びＢ２に対応する歌詞文字列“When  I  was  young  …  songs”、及びブロックＢ２の終了時刻［００：１３．５０］を１レコードに含む区間データＤ３が生成され得る。
【００５２】
生成データ生成部１６０は、このような区間データ生成処理により生成した区間データを、データ補正部１８０へ出力する。
【００５３】
［２−６．解析部］
解析部１７０は、楽曲データに含まれる音声信号を解析することにより、楽曲に含まれるボーカル区間を認識する。解析部１７０による音声信号の解析処理は、例えば、再表２００４／１１１９９６号公報に記載されているパワースペクトラムの解析に基づく入力音響信号からの有声区間（即ちボーカル区間）の検出などの、公知の手法に基づく処理であってよい。より具体的には、解析部１７０は、例えば、次に説明するデータ補正部１８０からの指示に応じて、開始時刻を補正すべき区間について楽曲データに含まれる音声信号を部分的に抽出し、抽出した音声信号のパワースペクトラムを解析する。次に、解析部１７０は、パワースペクトラムの解析結果を用いて、上記区間に含まれるボーカル区間を認識する。そして、解析部１７０は、認識したボーカル区間の境界を特定する時刻データを、データ補正部１８０へ出力する。
【００５４】
［２−７．データ補正部］
一般的な楽曲の多くは、歌手が歌っている区間であるボーカル区間と、ボーカル区間以外の非ボーカル区間との双方を含む（ボーカル区間を含まない楽曲は歌詞アラインメントの対象となり得ないため、本明細書ではこれを考慮しない）。例えば、前奏区間及び間奏区間は、非ボーカル区間の一例である。ここで、図４を用いて説明した入力画面１５２においては、ユーザは各ブロックについての再生終了タイミングのみを指定するため、ユーザインタフェース部１４０は、前奏区間又は間奏区間と後に続くボーカル区間との間の境界を検出しない。しかし、区間データにおいて、１つの区間に長時間にわたる非ボーカル区間が含まれていれば、後段の歌詞のアラインメントの精度が低下する要因となる。そこで、データ補正部１８０は、以下に説明するように、データ生成部１６０により生成された区間データを補正する。データ補正部１８０による区間データの補正は、データ生成部１６０により生成された区間データに含まれる各区間の時間長と当該区間に対応する歌詞の文字列から推定される時間長との比較に基づいて行われる。
【００５５】
より具体的には、データ補正部１８０は、まず、図７を用いて説明した区間データＤ３に含まれる各区間のレコードごとに、当該区間に対応する歌詞文字列の再生に要する時間を推定する。例えば、一般的な楽曲において歌詞に含まれる１単語分の再生に要する平均時間Ｔｗが既知であるものとする。その場合、データ補正部１８０は、各ブロックの歌詞文字列に含まれる単語数に既知の平均時間Ｔｗを乗算することにより、各ブロックの歌詞文字列の再生に要する時間を推定することができる。なお、１単語分の再生に要する平均時間Ｔｗの代わりに、１文字又は１音素の再生に要する平均時間などが既知であってもよい。
【００５６】
次に、区間データに含まれるある区間の開始時刻と終了時刻との差に相当する時間長が、上述した手法により歌詞文字列から推定される時間長よりも所定の閾値（例えば数秒〜十数秒）以上に長かったものとする（以下、そのような区間を補正対象区間という）。その場合、データ補正部１８０は、例えば、区間データに含まれる補正対象区間の開始時刻を、当該補正対象区間のうち解析部１７０によりボーカル区間であると認識された部分の先頭の時刻に補正する。それにより、区間データに含まれる各区間の範囲から、前奏区間又は間奏区間などの比較的長い時間にわたる非ボーカル区間が除外される。
【００５７】
図８は、本実施形態に係るデータ補正部１８０による区間データの補正について説明するための説明図である。図８の上段には、データ生成部１６０により生成された区間データに含まれるブロックＢ６についての区間がボックスを用いて示されている。当該区間の開始時刻はＴ６、終了時刻はＴ７である。また、ブロックＢ６の歌詞文字列は、“Those  were  …  times”である。このような例において、データ補正部１８０は、ブロックＢ６についての区間の時間長（＝Ｔ７−Ｔ６）とブロックＢ６の歌詞文字列“Those  were  …  times”から推定される時間長とを比較する。そして、前者の方が後者よりも所定の閾値以上に長い場合には、データ補正部１８０は、当該区間を補正対象区間として認識する。そうすると、データ補正部１８０は、解析部１７０に補正対象区間の音声信号を解析させ、補正対象区間に含まれるボーカル区間を特定する。図８の例では、ボーカル区間は、時刻Ｔ６´から時刻Ｔ７までの区間である。その結果、データ補正部１８０は、データ生成部１６０により生成された区間データに含まれる補正対象区間についての開始時刻を、Ｔ６からＴ６´に補正する。データ補正部１８０は、補正対象区間として認識される各区間についてこのように補正した区間データを、記憶部１１０に記憶させる。
【００５８】
［２−８．アラインメント部］
アラインメント部１９０は、歌詞のアラインメントの対象である楽曲についての楽曲データ、歌詞データ及びデータ補正部１８０により補正された区間データを記憶部１１０から取得する。そして、アラインメント部１９０は、区間データにより表される区間ごとに、各区間と当該区間に対応するブロックとを用いて歌詞のアラインメントを実行する。より具体的には、アラインメント部１９０は、区間データにより表される楽曲の区間と歌詞のブロックとの組ごとに、例えば上記非特許文献１又は非特許文献２に記載された自動的な歌詞アラインメント技術を適用する。それにより、楽曲の全体と当該楽曲の歌詞の全体との組に歌詞アラインメント技術を適用する場合と比較して、アラインメントの精度が向上する。アラインメント部１９０によるアラインメントの結果は、例えば、図７に関連して説明したＬＲＣ形式のアラインメントデータとして、記憶部１１０により記憶される。
【００５９】
図９Ａ及び図９Ｂは、本実施形態に係るアラインメント部１９０によるアラインメントの結果について説明するための説明図である。
【００６０】
図９Ａを参照すると、アラインメント部１９０により生成される一例としてのアラインメントデータＤ４が示されている。図９Ａの例において、アラインメントデータＤ４は、図７の区間データＤ３と同様の２つのデータ項目である楽曲のタイトル及びアーティスト名を含む。さらに、これら２つのデータ項目の下に、歌詞に含まれる各単語についての開始時刻、ラベル（歌詞文字列）、及び終了時刻がレコードごとに記録されている。各ラベルの開始時刻及び終了時刻は、それぞれ“［ｍｍ：ｓｓ．ｘｘ］”というフォーマットを有する。このようなアラインメントデータＤ４は、例えば、オーディオプレーヤにおける楽曲の再生に沿った歌詞の表示又は自動歌唱システムにおける歌唱タイミングの制御などの様々な用途に活用され得る。図９Ｂを参照すると、図９Ａに例示されたアラインメントデータＤ４が時間軸に沿って音声波形と共に可視化されている。なお、例えば楽曲の歌詞が日本語である場合には、１つの単語を１つのラベルとする代わりに、１つの文字を１つのラベルとしてアラインメントデータが生成されてもよい。
【００６１】
＜３．半自動アラインメント処理の流れ＞
次に、図１０〜図１４を用いて、上述した情報処理装置１００による半自動アラインメント処理の流れを説明する。
【００６２】
［３−１．全体的な流れ］
図１０は、本実施形態に係る半自動アラインメント処理の流れの一例を示すフローチャートである。図１０を参照すると、まず、情報処理装置１００は、楽曲を再生しながら、ユーザ入力に応じて、楽曲の歌詞に含まれる各ブロックに対応する区間ごとの再生終了タイミングを検出する（ステップＳ１０２）。かかるユーザ入力に応じた再生終了タイミングの検出の流れについては、図１１及び図１２を用いてさらに説明する。
【００６３】
次に、情報処理装置１００のデータ生成部１６０は、ステップＳ１０２において検出された再生終了タイミングに応じて、図６を用いて説明した区間データ生成処理を行う（ステップＳ１０４）。区間データ生成処理の流れについては、図１３を用いてさらに説明する。
【００６４】
次に、情報処理装置１００のデータ補正部１８０は、図８を用いて説明した区間データ補正処理を行う（ステップＳ１０６）。区間データ補正処理の流れについては、図１４を用いてさらに説明する。
【００６５】
その後、情報処理装置１００のアラインメント部１９０は、補正後の区間データにより表される楽曲の区間と歌詞のブロックとの組ごとに、自動的な歌詞アラインメントを実行する（ステップＳ１０８）。
【００６６】
［３−２．ユーザの操作］
図１１は、図１０のステップＳ１０２においてユーザが行うべき操作の流れの一例を示すフローチャートである。なお、ユーザにより戻るボタンＢ３が操作されるケースは例外的なケースであるため、図１１のフローチャートではかかる場合の処理を図示することを省略する。図１２についても同様とする。
【００６７】
図１１を参照すると、まず、ユーザは、ユーザインタフェース部１４０を操作することにより、情報処理装置１００に楽曲の再生開始を指示する（ステップＳ２０２）。次に、ユーザは、情報処理装置１００の入力画面１５２上に表示される各ブロックの歌詞を確認しながら、再生部１２０により再生される楽曲を聴く（ステップＳ２０４）。そして、ユーザは、入力画面１５２上で強調表示されているブロック（以下、注目ブロックという）の歌詞の再生の終了を監視する（ステップＳ２０６）。注目ブロックの歌詞の再生が終了しない間は、ユーザによる監視は継続される。
【００６８】
注目ブロックの歌詞の再生が終了したと判断すると、ユーザは、ユーザインタフェース部１４０を操作する。通常は、ユーザによる操作は、注目ブロックの歌詞の再生が終了した後、次のブロックの歌詞の再生が開始される前に行われる（ステップＳ２０８の「Ｎｏ」の分岐）。その場合、ユーザは、タイミング指定ボタンＢ１を操作する（ステップＳ２１０）。それにより、注目ブロックについての再生終了タイミングがユーザインタフェース部１４０により検出される。一方、ユーザは、次のブロックの歌詞の再生が既に開始したと判断すると（ステップＳ２０８の「Ｙｅｓ」の分岐）、スキップボタンＢ２を操作する（ステップＳ２１２）。この場合には、注目ブロックについての再生終了タイミングが検出されることなく、注目ブロックが次のブロックに移動する。
【００６９】
このようなユーザによる再生終了タイミングの指定は、楽曲の再生が終了するまで繰り返される（ステップＳ２１４）。そして、楽曲の再生が終了すると、ユーザによる操作は終了する。
【００７０】
［３−３．再生終了タイミングの検出］
図１２は、図１０のステップＳ１０２における情報処理装置１００による再生終了タイミングの検出の流れの一例を示すフローチャートである。
【００７１】
図１２を参照すると、まず、情報処理装置１００は、ユーザからの指示に応じて、楽曲の再生を開始する（ステップＳ３０２）。その後、表示制御部１３０が入力画面１５２に各ブロックの歌詞を表示させながら、再生部１２０が楽曲を再生する（ステップＳ３０４）。その間、ユーザインタフェース部１４０は、ユーザ入力を監視する。
【００７２】
そして、ユーザによりタイミング指定ボタンＢ１が操作されると（ステップＳ３０６の「Ｙｅｓ」の分岐）、ユーザインタフェース部１４０は、再生終了タイミングを記憶する（ステップＳ３０８）。また、表示制御部１３０は、強調表示するブロックを現在の注目ブロックから次のブロックに変更する（ステップＳ３１０）。
【００７３】
また、ユーザによりスキップボタンＢ２が操作されると（ステップＳ３０６の「Ｎｏ」及びステップＳ３１２の「Ｙｅｓ」の分岐）、表示制御部１３０は、強調表示するブロックを現在の注目ブロックから次のブロックに変更する（ステップＳ３１４）。
【００７４】
このような再生終了タイミングの検出は、楽曲の再生が終了するまで繰り返される（ステップＳ３１６）。そして、楽曲の再生が終了すると、情報処理装置１００による再生終了タイミングの検出は終了する。
【００７５】
［３−４．区間データ生成処理］
図１３は、本実施形態に係る区間データ生成処理の流れの一例を示すフローチャートである。
【００７６】
図１３を参照すると、まず、データ生成部１６０は、図１２に示した処理においてユーザインタフェース部１４０により記憶された再生終了タイミングのリストから、１つのレコードを取得する（ステップＳ４０２）。かかるレコードは、１つの再生終了タイミングと対応する歌詞のブロックとを対応付けるレコードである。再生終了タイミングのスキップがあった場合には、１つの再生終了タイミングに歌詞の複数のブロックが対応付けられ得る。次に、データ生成部１６０は、取得したレコードに含まれる再生終了タイミング及びオフセット時間を用いて、対応する区間の開始時刻を決定する（ステップＳ４０４）。また、データ生成部１６０は、取得したレコードに含まれる再生終了タイミング及びオフセット時間を用いて、対応する区間の終了時刻を決定する（ステップＳ４０６）。次に、データ生成部１６０は、ステップ４０４において決定された開始時刻、歌詞の文字列及びステップ４０６において決定された終了時刻を含むレコードを、区間データの１つのレコードとして記録する（ステップＳ４０８）。
【００７７】
このような区間データの生成は、全ての再生終了タイミングについての処理が終了するまで繰り返される（ステップＳ４１０）。そして、再生終了タイミングのリストに処理すべきレコードが存在しなくなると、データ生成部１６０による区間データ生成処理は終了する。
【００７８】
［３−５．区間データ補正処理］
図１４は、本実施形態に係る区間データ補正処理の流れの一例を示すフローチャートである。
【００７９】
図１４を参照すると、まず、データ補正部１８０は、図１３に示した区間データ生成処理においてデータ生成部１６０により生成された区間データから、１つのレコードを取得する（ステップＳ５０２）。次に、データ補正部１８０は、取得したレコードに含まれる歌詞文字列から、当該歌詞文字列に対応する部分の再生に要する時間長を推定する（ステップＳ５０４）。次に、データ補正部１８０は、推定した時間長よりも区間データのレコードにおける区間長が所定の閾値以上に長いか否かを判定する（ステップＳ５１０）。ここで、推定した時間長よりも区間データのレコードにおける区間長が所定の閾値以上に長くない場合には、当該区間についてのその後の処理はスキップされる。一方、推定した時間長よりも区間データのレコードにおける区間長が所定の閾値以上に長い場合には、データ補正部１８０は、当該区間を補正対象区間とし、補正対象区間に含まれるボーカル区間を解析部１７０に認識させる（ステップＳ５１２）。そして、データ補正部１８０は、補正対象区間の開始時刻を解析部１７０によりボーカル区間であると認識された部分の先頭の時刻に補正することにより、補正対象区間から非ボーカル区間を除外する（ステップＳ５１４）。
【００８０】
このような区間データの補正は、区間データの全てのレコードについての処理が終了するまで繰り返される（ステップＳ５１６）。そして、区間データに処理すべきレコードが存在しなくなると、データ補正部１８０による区間データ補正処理は終了する。
【００８１】
＜４．区間データのユーザによる修正＞
ここまでに説明した半自動アラインメント処理により、情報処理装置１００は、ユーザ入力による支援を得て、完全に自動的な歌詞アラインメントと比較して精度の高い歌詞のアラインメントを実現する。また、情報処理装置１００がユーザに提供する入力画面１５２は、ユーザ入力の負担を軽減する。特に、歌詞のブロックの再生開始ではなく再生終了のタイミングのみをユーザに指定させることにより、必要以上の注意力がユーザに求められることがない。しかし、それでも、ユーザによる判断若しくは操作のミス、又は解析部１７０によるボーカル区間の誤認識などを原因として、歌詞のアラインメントに使用されるべき区間データが不正確な時刻を含んでいる可能性は残されている。そのような場合のために、表示制御部１３０及びユーザインタフェース部１４０は、例えば、図１５に示すような区間データの修正画面を提供し、ユーザにより事後的に区間データを修正することを可能とするのが有益である。
【００８２】
図１５は、本実施形態において情報処理装置１００により表示される修正画面の一例について説明するための説明図である。図１５を参照すると、一例としての修正画面１５４が示されている。なお、修正画面１５４は、区間データの開始時刻を修正するための画面であるが、区間データの終了時刻を修正するための画面もまた同様に構成され得る。
【００８３】
修正画面１５４の中央部には、図４に例示した入力画面１５２と同様に、歌詞表示領域１３２が配置されている。歌詞表示領域１３２は、表示制御部１３０が歌詞を表示するために使用する領域である。図４の例では、歌詞表示領域１３２において、歌詞データに含まれる歌詞の各ブロックが互いに異なる行に表示される。歌詞表示領域１３２の右側には、再生部１２０により再生されているブロックを指し示す矢印Ａ２が表示されている。また、歌詞表示領域１３２の左側には、開始時刻を修正すべきブロックをユーザが指定するためのマークが表示されている。例えば、マークＭ５は、開始時刻を修正すべきブロックとしてユーザに指定されたブロックを識別するためのマークである。
【００８４】
修正画面１５４の下部には、ボタンＢ４が配置されている。ボタンＢ４は、歌詞表示領域１３２に表示されたブロックのうち、開始時刻を修正すべきブロックについての新たな開始時刻をユーザが指定するための時刻指定ボタンである。例えば、ユーザが時刻指定ボタンＢ４を操作すると、ユーザインタフェース部１４０は、タイマにより示されている新たな開始時刻を取得し、区間データの開始時刻を当該新たな開始時刻に修正する。なお、ボタンＢ４は、図１５の例のように修正画面１５４上のＧＵＩとして実現される代わりに、例えばキーボード又はキーパッドの所定のキーなどに相当する物理的なボタンを用いて実現されてもよい。
【００８５】
＜５．アラインメントデータの修正＞
図９Ａを用いて説明したように、アラインメント部１９０により生成されるアラインメントデータもまた、区間データと同様に、歌詞の部分文字列とその開始時刻及び終了時刻とを対応付けたデータである。従って、図１５に例示した修正画面１５４、又は図４に例示した入力画面１５２は、区間データのユーザによる修正のみならず、アラインメントデータのユーザによる修正のためにも使用され得る。例えば、修正画面１５４を用いてアラインメントデータをユーザに修正させる場合には、表示制御部１３０は、修正画面１５４の歌詞表示領域１３２において、アラインメントデータに含まれる各ラベルを互いに異なる行に表示する。また、表示制御部１３０は、楽曲の再生の進行に応じて、歌詞表示領域１３２を上方向にスクロールさせながら、各時点において再生されているラベルを強調表示する。そして、ユーザは、例えば、開始時刻又は終了時刻を修正したいラベルについて、正しいタイミングが到来した時点で、時刻指定ボタンＢ４を操作する。それにより、アラインメントデータに含まれるラベルの開始時刻又は終了時刻が修正される。
【００８６】
＜６．まとめ＞
ここまで、図１〜図１５を用いて、本発明の一実施形態について説明した。本実施形態によれば、情報処理装置１００により楽曲が再生されている間、楽曲の歌詞データに含まれる各ブロックがユーザにより識別可能となるように当該楽曲の歌詞が画面上に表示される。そして、ユーザによるタイミング指定ボタンの操作に応じて、各ブロックに対応する楽曲の区間ごとの境界に対応するタイミングが検出される。ここで検出されるタイミングは、画面上に表示された各ブロックに対応する楽曲の区間ごとの再生終了タイミングである。そして、検出された再生終了タイミングに応じて、歌詞データの各ブロックに対応する楽曲の区間の開始時刻及び終了時刻が認識される。かかる構成によれば、ユーザは、歌詞の再生の終了のタイミングのみに注意を向けて楽曲を聴けばよい。仮にユーザが歌詞の再生の開始のタイミングにも注意を向けなければならないとすれば、ユーザには多大な注意力（例えば歌詞の再生開始のタイミングを予測することなど）が求められる。また、再生開始タイミングを認識した後にユーザが操作をしたとしても、本来の再生開始タイミングから操作の検出までの間に遅延が生じることは避けられない。これに対し、本実施形態では、上述したように、ユーザは歌詞の再生の終了のタイミングのみに注意を向ければよいため、ユーザの負担は軽減される。また、本来の再生終了タイミングから操作の検出までの間には遅延は生じ得るものの、かかる遅延は区間データにおける区間がやや広がるという結果を導くのみであって、区間ごとの歌詞のアラインメントの精度には大きな影響を与えない。
【００８７】
また、本実施形態によれば、区間データに含まれる各区間の時間長と当該区間に対応する歌詞の文字列から推定される時間長との比較に基づいて、区間データが補正される。即ち、ユーザ入力に応じて生成された区間データに不自然なデータが含まれる場合には、情報処理装置１００がその不自然なデータを修正する。例えば、区間データに含まれる１つの区間の時間長が歌詞文字列から推定される時間長よりも所定の閾値以上に長い場合には、当該１つの区間の開始時刻が補正される。それにより、例えば、楽曲が前奏又は間奏などの非ボーカル区間を含む場合であっても、歌詞のアラインメントを歌詞のブロックごとに適切に行い得るように非ボーカル区間を除外した区間データが提供される。
【００８８】
また、本実施形態によれば、入力画面において、再生終了タイミングが検出されたブロックがユーザにより識別可能となるように、楽曲の歌詞の表示が制御される。また、ユーザは、あるブロックについて再生終了タイミングを逃した場合には、入力画面において再生終了タイミングの入力をスキップすることができる。その場合には、区間データにおいて、２つのブロックの歌詞文字列を結合した文字列に第１の区間の開始時刻及び第２の区間の終了時刻が対応付けられる。従って、再生終了タイミングの入力がスキップされた場合にも、歌詞のアラインメントを適切に行い得る区間データが提供される。このようなユーザインタフェースにより、再生終了タイミングの入力に際してのユーザによる負担はさらに軽減される。
【００８９】
なお、音声認識又は音声合成の分野においては、音声波形にラベルを付したコーパスがその解析のために数多く用意される。音声波形にラベルを付すためのソフトウェアもいくつか提供されている。しかし、これら分野において求められるラベリングの品質（時間軸上のラベルの配置の正確さ及び時間分解能など）は、楽曲の歌詞のアラインメントに求められる品質と比較して一般的に高い。従って、これら分野における既存のソフトウェアには、ラベリングの品質を確保するためにユーザに複雑な操作を要求するものが多い。これに対し、本実施形態に係る半自動アラインメントは、ある程度のレベルの区間データの精度を維持しながら、ユーザの負担を軽減することに重点を置いている点で、音声認識又は音声合成の分野におけるラベリングと異なっている。
【００９０】
本明細書において説明した情報処理装置１００による一連の処理は、典型的には、ソフトウェアを用いて実現される。一連の処理を実現するソフトウェアを構成するプログラムは、例えば、情報処理装置１００の内部又は外部に設けられる記憶媒体に予め格納される。そして、各プログラムは、例えば、実行時に情報処理装置１００のＲＡＭ（Random  Access  Memory）に読み込まれ、ＣＰＵ（Central  Processing  Unit）などのプロセッサにより実行される。
【００９１】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【００９２】
１００    情報処理装置
１１０    記憶部
１２０    再生部
１３０    表示制御部
１４０    ユーザインタフェース部
１６０    データ生成部
１７０    解析部
１８０    データ補正部
１９０    アラインメント部
Ｄ１      楽曲データ
Ｄ２      歌詞データ
Ｄ３      区間データ
Ｄ４      アラインメントデータ
【図１】
2011215358.tif 000003
【図２】
2011215358.tif 000004
【図３】
2011215358.tif 000005
【図４】
2011215358.tif 000006
【図５】
2011215358.tif 000007
【図６】
2011215358.tif 000008
【図７】
2011215358.tif 000009
【図８】
2011215358.tif 000010
【図９Ａ】
2011215358.tif 000011
【図９Ｂ】
2011215358.tif 000012
【図１０】
2011215358.tif 000013
【図１１】
2011215358.tif 000014
【図１２】
2011215358.tif 000015
【図１３】
2011215358.tif 000016
【図１４】
2011215358.tif 000017
【図１５】
2011215358.tif 000018