こんにちは!株式会社DIGITALIOでエンジニアをしているぐりです。
この記事はCARTAエンジニアアドベントカレンダー12/21の記事です。
突然ですが、みなさんにクイズです!
これから再生される音声は「ぐり」でしょうか? それともぐりから生成された合成音声「おぐりもん」でしょうか?
クイズは全5問です。目指せ全問正解!
※音声が再生されます。ご注意ください。
第1問
第2問
第3問
第4問
第5問
いかがでしたでしょうか?正解は以下の通りです。
簡単でしたか?思ったより難しかったでしょうか?
実は、今回作成した「おぐりもん」は結構簡単に作ることができます。
作成方法
自分の声を利用した合成音声の作成には、MYCOEIROINCというものが利用できます。
MYCOEIROINCは無料AIトークソフトCOEIROINK向けに自作の合成音声を作成できるものです。
作るというページが用意されているので、基本的にはこちらのページに記載されている手順で作成を行っていくことになります。
大まかな作成手順
- 学習用の音声収録を行う
- Google colabで公開されている手順の通りに合成音声の学習を行う
- COEIROINCのインストールを行い、作成したMYCOEIROINCのインポートを行う
それぞれの手順について解説をします。
学習用の音声収録を行う
合成音声を作成するには、学習用の自身の声を収録する必要があります。
収録の台本には、パブリックドメインで公開されている文章コーパスであるITAコーパスやMANAコーパスを用います。
ITAコーパスやMANAコーパスには日本語のいろいろな音がバランスよく含まれているため、合成音声の作成に適した音声を収録することが出来ます。
それぞれのコーパスに特徴があり、用途に合わせて自身が必要な量の文章を収録して利用することができます。
今回は、ITAコーパスのEmotion(100文)を収録して学習に利用しました。
合成音声のクオリティを高めたい場合には、ITAコーパスのRecitation(324文)やMANAコーパスも合わせて収録を行うと良さそうです。
収録方法に関しては、MYCOEIROINKの作り方 | 有響シロ 公式サイトを参考にさせて頂きました。
収録用ソフトOREMOのインストール・設定方法や収録の注意点まで記載されているためとても参考になりました。
私が作成したときには、サンプリング周波数を44.1kHzに変更(他に音声の利用予定がある場合は48kHzで取っておくとよい)くらいの変更のみで、あとは記載の流れでスムーズに収録を行うことが出来ました。
Google colabで公開されている手順の通りに合成音声の学習を行う
収録した音声を使って合成音声モデルの学習を行います。
とはいっても、MYCOEIROINKの公式ページに貼られているGoogle colabの手順に従って作業を行うだけです。
きちんと利用規約を読み込んだら、あとはGoogle colabを上から実行していけばOKです。
注意する必要があるポイントとしては、Google colabの無料枠で学習を行おうとする場合は制限により手間や時間が掛かってしまう場合があります。
私は1ヵ月分の課金を行い利用しました。課金を行うことで100コンピューティングリソースが与えられ、強いGPUで学習を進めることが出来ます。
今回はV100 GPUを用いて、良い品質になるといわれている50epoch(1から100epochまでの範囲で学習を進めることが出来ます)まで学習を行いました。
50epochまでの学習にざっくり8時間ほど掛かり、学習を終えた時点で23.9コンピューティングリソースが残っていたので、76.1消費したことになります。
COEIROINCのインストールを行い、作成したMYCOEIROINCのインポートを行う
ここも基本的にはGoogle colabに記載の手順に従ってCOEIROINCにインポートを行うのみです。 後は好きに文章を入力してしゃべらせることが出来ます。
まとめ
というわけで、自分の声から合成音声を作ってみた!という記事でした。 最近流行りの生成AIなどと組み合わせれば、もはや自分の代わりにミーティングに出席してもらおう、みたいな使い方も妄想できますね。
クレジット
無料AIトークソフトCOEIROINK: https://coeiroink.com