Pythonで学ぶ音声合成を読んで

 

応用音響学でお勧めされていたので読んでみた。凄い分かりやすかった。

読んでいて、つっかかったところ(重要な部分だったので戻ってきて読んだ場所、分かりにくくてもっと調べたところや、凄いのでもっと知りたいと思ってもっと調べたところ)をとりあえずメモ

 

https://www.amazon.co.jp/Python%E3%81%A7%E5%AD%A6%E3%81%B6%E9%9F%B3%E5%A3%B0%E5%90%88%E6%88%90-%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E5%AE%9F%E8%B7%B5%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-%E5%B1%B1%E6%9C%AC%E9%BE%8D%E4%B8%80/dp/4295012270

 

モーラの定義 

モーラは長さ、音節は発音のまとまりを表すらしい

モーラは等時性を持つ。音節は人間の認識に近い?(言語学的存在っぽい)

がっこうはモーラだと4だが、音節だとがっ/こうで2

スペクトログラム

よく出てくる図は横軸が時間、縦軸が周波数で、振幅(パワー)を色の明るさによってあらわす

信号がどういう周期の成分から成り立っているかを見る

 

音素継続長モデル

一つの音素がどれぐらいの長さになるか予測する。どれぐらいの精度があるんだろう?

F0予測とかもそうだが、コンテキストラベルのテキストの情報から継続長やF0を予測する

フルコンテキストラベル

全ての言語特徴量。例えば、直近のモーラの位置とか、単語の活用の型とか、前後の音素とか

「質問」はこのフルコンテキストラベルから情報を取り出すことを指す

 

Wavenet

スペクトル包絡を予測してそこから信号処理で音声を作り出すのではなく、波形を1次元の数値列としてそのまま予測

 

Tacotronのデコーダ

teacher-forcingはできる(学習時に答えをそのまま使うことはできる)が、LSTMのためこれまでの状態を表す変数を用いることになるから並列はできない

アテンションが継続長予測の代わりをする

Tacotron, Wavenetの学習

データセットは24時間ほどらしい