14
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

音声のアラインメントについてのメモ

Last updated at Posted at 2018-12-17

音声データ(e.g. mp3)とテキスト(text)から, 音声データに対して文字や音素のアラインメント(どの文字/音素がどの時刻に位置するか)をしたい.

この分野のツールのまとめ

Installing and Using the Penn Forced Aligner (P2FA) Chinese
https://congzhanglinguist.wordpress.com/2018/07/30/p2fa_chinese/

HTK(HTS) をベースにするものが多くありますが, HTK はライセンスが微妙 http://htk.eng.cam.ac.uk/docs/license.shtml なので, Montreal Forced Aligner や Gentle を見てみます.

text-to-speech で音声を生成すれば, テキストだけで audio と transcript(台本)を用意することができます.

用語

Montreal Forced Aligner

音声認識ツールキット Kaldi http://kaldi-asr.org/doc/about.html をベースにしている.

Windows バイナリなどがあってとりあえず動かせて楽で良いですが, 使い方にくせがあります.

結果は TextGrid 形式で出力されます. GUI があるっぽい?

アラインは以下のようにする.

bin/mfa_align /path/to/input /path/to/librispeech/lexicon.txt english /path/to/output_aligned

.wav などファイルを個別で指定はできず, フォルダ単位でのバッチ処理になるので注意.
.lab(台本を大文字アルファベットだけなどで構成したもの)が必要.

出力フォルダはすでに存在するディレクトリを指定するとエラーになります.
面倒ですが, 毎回出力フォルダは存在しないディレクトリを指定する必要があります(もしくは mfa_align の前に毎回出力フォルダを削除するか)

また, wav のサンプリングレートは 44.1k Hz あたりが推奨. 16K とかだと処理中に落ちたりする.
サンプリングレート変換は sox あたりをつかうとよい.

成功すると, .TextGrid ファイルが生成されます(コンソールでは, 成功したかどうかはレポートしてくれない模様)

oovs_found.txt

アラインメントの検出に失敗すると, .TextGrid が生成されず, oovs_found.txt などのファイルが生成されます.
(OOV = Out of vocabrary)

辞書にない単語があったり, アルファベット以外の文字(カンマやピリオドなど)の文字が .lab にあります. .lab の内容をチェックしましょう.
(とくに, .lab にはピリオドを含めてはいけないのですが, ピリオドを含めてしまうケースがよくあります)

Gentle

これも Kaldi をベースにしている. Kaldi は Apache 2.0 ライセンスでよい. Gentle も MIT ライセンスでよい.

ツールまとめ

ありがとうございます.

Speech analysis and transcription tools

データセット

TODO

14
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?