2021-01-29

AI使った合成音声ソフトについて

GoogleがWaveNetを出してから、合成音声も機械学習を使うようになった。

2021年では日本でも機械学習を使ったソフトウェアがいくつか販売される。

はてな的にはAIきりたんのNEUTRINOが話題となった。1/29に発表されたCevio AI記事を見た人も中にはいるだろう。


ここでは個人的感想を書いていきたいと思う。


個人的にはもっとクオリティが上がるものだと思っていた

人の歌声区別できないとニュースタイトルでは付いているが、個人的はまだまだ違和感がある。

人間ボーカルを録音してピッチ修正をしている人だと、Melodyneピッチ合わせすぎると機械っぽい音声になるから、わざと修正しないといったことを行うわけだが、

歌声合成ソフトでは「しゃくり」といった、わざと外して人間っぽさを出す。

実際にソフト開発側もわかっていて、マニュアル修正する手段を用意しているので、それに引きずられてしまうのだが、

それ以前のところで人間ぽさが必要だと考えている。


声は複数周波数を重ねてできたものであり、各周波数ごとに分解すると、基本周波数の2倍、3倍といった周波数の音が出ているのがわかる。

実際の人の声を分析すると、時間方向に微妙な揺らぎが存在するのがわかる。

また口を閉じた状態から声を出そうとすると、口が開くまでの音の変化など、ちゃんとした周波数が出ていない箇所がある。

機械音声の場合、ゆらぎがなく、〇〇周波数ピタッと出ており±15Hz揺らぐといったことがない。


ゆらぎについても、人間の声の場合、±50Hzから±15Hzへ変化するといったことが起こっているように見える。

見えると言っているのは、自分が声のデータを処理しているとなっているように見えているからであり、

これについて言及した文献を探せていない。


さきほど声には倍音があるといったが、倍音の数も人間の声では変化するが、機械音声ではずっと同じ数のままだ。

「あ~」のように伸ばした音の場合ピッチ調整で波打つようなのを手書きしたことがあるDAW経験はいるだろうが、

人の声を調べると倍音の数が徐々に変わっていたりする。

現行のソフトピッチ補正で波を手書きしても、元から上手く伸ばした声にならないといった苦労をした人がいると思うが、

この倍音が変化する機能がないからではないかと考える。


この辺りが機械学習解決しているかというと、あまりなっていないように感じている。

思っていたよりクオリティが低いのだ。


なぜか。


つの仮説だが、RNNやTransformerといった、ニューラルネット構成ばかりに気にしていて、

音声をよくよく観測できていないのではないか

何かしらかの演算で前処理を行ってからニューラルネット入力するわけだが、

前処理段階で捉えられていない特徴量があるのではないだろうか。

また統計処理を行う際に、計算精度によって丸めまれしまっているのではないだろうか。



使い込んでいくと、より良い結果を出してくれるわけではない

プログラミングであれば徐々に自動化をする箇所を増やせるが、音声合成ソフト自動化が出来ない。

何年経ったとしても、良くならないのだ。

この辺り、修正前と修正後のデータがあるのだから学習していってより便利になればいいのだが、そうはならない。



データも少ないのでは

スマートスピーカーが出たり、日常的に音声を聞いているわけだが、音声を合成しようとしたときに使えるデータは案外少ない。

ちゃんとしたスタジオで録音したり、無響音室での録音した音声はない。

マイクの配置などでも変わってしまう。

ずっと声を出していると最初最後で声も変わってくる。

日をまたぐと体調も変わってくる。


同じ条件でデータを揃えるといった場合、音声はデータが少ないんだろうなと思うのだ。


計算リソースも足りてない

自分で合成音声をやってみるとわかるが、学習計算リソースがかなりかかる。

日本語だと日本市場しかなく、しかも人の声のクオリティを超えているわけではないので、市場は小さい。

そのくせ機械学習には大量の計算リソース必要となる。

  • 一つの仮説だが、RNNやTransformerといった、ニューラルネットの構成ばかりに気にしていて、 音声をよくよく観測できていないのではないか。 音声全く詳しくないけど、これは間違いな...

  • クオリティを上げるインセンティブがないからじゃね 機械学習であるクオリティに達したら他も競合できちゃうわけで 市場独占できるわけでもなく googleとかはもう満足してそうだし あ...

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん