研究で音声合成を始めたいと考えている人「何でもいいから音声合成の始め方を知りたい。WaveGlowって凄いらしいから使ってみたい」
趣味で音声合成を始めたいと考えている人「好きな声優・キャラの声で名前を呼ばれたい。音声合成を用いたシステムを作りたい。けど、始め方すら分からない、とりあえず音声合成を動かしてみたい」
こういった疑問に答えます
本記事のテーマ
【完全初心者向け】WaveGlowによる音声合成の始め方
必要なもの
・パソコン だけ!
(私はMacbookPro 2015を使用してます)
はじめに
WaveGlowとは
Glow+WaveNetの手法により高速な音声生成を行う手法。「WaveGlowは波形の生成をメルスペクトログラムの条件付けをしてFlowベースに行うため並列化が可能で、WaveGlow論文中ではWaveNetより高速且つ高品質と述べられています。」だそうです。([1]引用)
Google Colaboratoryとは
Colaboratory は、完全にクラウドで実行される Jupyter ノートブック環境です。設定不要で、無料でご利用になれます。Colaboratory を使用すると、コードの記述と実行、解析の保存や共有、強力なコンピューティング リソースへのアクセスなどをブラウザからすべて無料で行えます。(公式から引用)
GoogleColabの接続〜テストGoogleColab
・Googleドライブへ行く
・Colaboratoryのファイルを作成
〜テスト実行(動画)
動画を見ながら一緒に実行して頂いたらわかりやすいと思います。
WaveGlowとGoogle Colaboratoryによる実践音声合成! 〜installからテストまで〜
〜テスト実行
install WaveGlow
import os
!git clone https://github.com/NVIDIA/waveglow.git
os.chdir('waveglow')
!git submodule init
!git submodule update
googleドライブ上のファイル操作
・googleドライブのファイル操作に必要なものをインストール
!pip install -U -q PyDrive
・googleドライブのファイル操作に必要なものをインポート
from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
from google.colab import auth
from oauth2client.client import GoogleCredentials
・googleドライブのファイル操作_初期設定
auth.authenticate_user()
gauth = GoogleAuth()
gauth.credentials = GoogleCredentials.get_application_default()
drive = GoogleDrive(gauth)
・googleドライブのファイル操作
id = '#' # 共有リンクで取得した id= より後の部分
downloaded = drive.CreateFile({'id': id})
downloaded.GetContentFile('mel_spectrograms.zip')
共有リンクの取得方法
id = '#'の#のところに取得した id= より後の部分を入力する
・共有リンクの取得方法
ファイルを右クリック
共有可能なリンクを取得をクリック
リンクの共有をオンにする
リンクをコピーする
zipファイルの解凍
!unzip mel_spectrograms.zip
pytorchとCUDA(GPUの設定)
import torch print(torch.__version__)
Pytorchの公式からダウンロード
!pip3 install https://download.pytorch.org/whl/cu100/torch-1.0.1-cp36-cp36m-linux_x86_64.whl
RUNTIMEを再起動した後、
apexの設定
!pip install -v --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" .
WaveGlowの設定
!pip3 install -r requirements.txt
Errorが出たけど2回実行したら行けた
testモデルの実行
!!python3 inference.py -f <(ls mel_spectrograms/*.pt) -w waveglow_256channels.pt -o . --is_fp16 -s 0.6
生成した音声
・LJ001-0051.wav_synthesis.mp3
・LJ001-0015.wav_synthesis.mp3
以上です!これでテストモデルの実行はできるようになりました。
しかし、研究でも趣味でも自分のモデルで実行したい方が多いと思います。私も好きな声優の声で実行したいので、これからWaveGlowの使い方を勉強し、また共有したいと思います。
ご覧頂きありがとうございました。
〜テストまでの動画
WaveGlowとGoogle Colaboratoryによる実践音声合成! 〜installからテストまで〜
引用元
[1]