強制アライメント
Forced Alignment / キョウセイアライメント
話している内容が文章として分かっている音声に対して、単語や文字、音素ごとに「どの時刻に話されたか」を割り当てる技術です。台本や原稿がある番組の字幕タイミング付けや、歌詞の同期に使われます。
- 英語表記
- Forced Alignment
- 入力
- 音声と、その音声で話されている文章(台本・原稿・書き起こし)
- 出力
- 単語・文字・音素ごとの開始時刻と終了時刻
- 主な手法
- 音響モデルによるビタビ探索、CTCを使ったアライメント、音声合成と動的時間伸縮(DTW)による照合
- 一般に知られる実装の例
- Montreal Forced Aligner、aeneas、Juliusのセグメンテーションキット
字幕の文章はもう手元にあるのに、表示のタイミングを1枚ずつ手で合わせるのに何時間もかかる。この作業を機械に任せるのが強制アライメントです。音声認識のように文章を当てにいくのではなく、答えの文章を先に渡して、それぞれの言葉がいつ話されたかだけを求めます。
強制アライメントの現場での使われ方
字幕制作では、台本や原稿がある番組で使われます。ナレーション原稿が確定しているドキュメンタリー、アナウンサーが原稿を読むニュース、台本どおりに進むドラマなどです。台本のテキストを字幕の区切りに分けてから音声と合わせると、各字幕の開始時刻と終了時刻が付き、SRTなどの字幕ファイルとして書き出せます。
音声認識を使った字幕制作の中にも組み込まれています。認識結果を人が直すと、直した文章と音声の時刻の対応がずれます。直した後の文章でもう一度アライメントをかけると、タイミングを付け直せます。
字幕以外では、カラオケや音楽配信の歌詞を歌声に合わせる同期歌詞(LRCなど)、電子書籍の文章を朗読音声に合わせて光らせる読み上げ同期、音声研究の分野で音素ごとの区切りを付けた音声データベース作りにも使われます。
強制アライメントの仕組み
音声認識の技術を、答えが決まった状態で使うのが基本の考え方です。文章を発音記号や音素の列に直し、音響モデルで音声の各時点がどの音素に近いかを計算します。そのうえで、音素の順番を守ったまま最も矛盾のない時刻の割り当てを探します。
実装の例としては、Kaldiをもとにした英語などに対応するMontreal Forced Aligner、音声合成した音と実際の音声をDTWで照合するaeneasがあります。日本語では、音声認識エンジンJuliusのセグメンテーションキットが、ひらがなの文章を与えて音素ごとの区切りを求める用途で使われてきました。近年は、CTCで学習した音声認識モデルの出力を使って、単語ごとの時刻を求める方法も広く使われています。
強制アライメントで間違えやすい点
もっとも多い失敗は、文章と音声が一致していないことです。出演者がアドリブを入れた、言い直した、台本の一部がカットされた、といった箇所では、機械は無理に文章を当てはめるので、その前後の時刻が数秒単位でずれます。撮影前の台本をそのまま使うのではなく、完成した映像の音声に合わせて直した文章を使うことが前提です。
日本語特有の注意点もあります。「2026年」や「NHK」のような数字や英字は読み方が決まらないと音素に直せないため、読みに変換してから与える必要があるツールがあります。BGMが大きい区間や、長い無音をはさむ長時間の音声も失敗しやすいので、VADなどで区間に分けてから処理すると安定します。
よくある質問
強制アライメントと音声認識の違いは何ですか
音声認識は音声から文章を推定します。強制アライメントは文章が分かっている前提で、その文章の各部分がいつ話されたかを求めます。文章がある場合は、強制アライメントのほうが時刻を正確に付けやすいです。
強制アライメントで字幕のタイミングは自動で付けられますか
台本と音声が一致していれば、字幕ごとの開始時刻と終了時刻を自動で付けられます。ただし、表示時間が短すぎる字幕の調整や、映像のカット点に合わせた微調整は人が確認します。
日本語で使える強制アライメントのツールはありますか
Juliusのセグメンテーションキットのほか、日本語の音響モデルを用意できるツールや、日本語に対応した音声認識モデルを使うアライメントの手法があります。数字や英字を読みに直す前処理が必要かどうかは、ツールごとに確認してください。
この用語を扱ったコラム
似ている形式との違い
関連する用語
最終更新
