人工知性を作りたい

私が日々、挑戦したことや学んだことなどを紹介していく雑記ブログです。 (新しいAI技術HTM, 専門の音声信号処理, 趣味のアニメ等も書いてます。)

WaveGlowとGoogle Colaboratoryによる実践音声合成! 〜installからテストまで〜 #機械学習

f:id:hiro-htm877:20190526173340p:plain


f:id:hiro-htm877:20190525105012p:plain

 

研究で音声合成を始めたいと考えている人「何でもいいから音声合成の始め方を知りたい。WaveGlowって凄いらしいから使ってみたい」

 

f:id:hiro-htm877:20190525105027p:plain

 

趣味で音声合成を始めたいと考えている人「好きな声優・キャラの声で名前を呼ばれたい。音声合成を用いたシステムを作りたい。けど、始め方すら分からない、とりあえず音声合成を動かしてみたい」

 

こういった疑問に答えます

 

本記事のテーマ 

【完全初心者向け】WaveGlowによる音声合成の始め方 

 

必要なもの

・パソコン だけ!

(私はMacbookPro 2015を使用してます)

 

はじめに

WaveGlowとは

Glow+WaveNetの手法により高速な音声生成を行う手法。「WaveGlowは波形の生成をメルスペクトログラムの条件付けをしてFlowベースに行うため並列化が可能で、WaveGlow論文中ではWaveNetより高速且つ高品質と述べられています。」だそうです。([1]引用)

Google Colaboratoryとは

Colaboratory は、完全にクラウドで実行される Jupyter ノートブック環境です。設定不要で、無料でご利用になれます。Colaboratory を使用すると、コードの記述と実行、解析の保存や共有、強力なコンピューティング リソースへのアクセスなどをブラウザからすべて無料で行えます。(公式から引用)

 

GoogleColabの接続〜テストGoogleColab

Googleドライブへ行く

・Colaboratoryのファイルを作成 

 

www.google.co.jp

 

〜テスト実行(動画)

動画を見ながら一緒に実行して頂いたらわかりやすいと思います。


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= より後の部分を入力する

・共有リンクの取得方法

ファイルを右クリック

共有可能なリンクを取得をクリック

f:id:hiro-htm877:20190525215700p:plain

リンクの共有をオンにする

リンクをコピーする

f:id:hiro-htm877:20190525215836p:plain

 

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

f:id:hiro-htm877:20190526091340p:plain

 

 生成した音声

 ・LJ001-0051.wav_synthesis.mp3

・LJ001-0015.wav_synthesis.mp3

 

 

以上です!これでテストモデルの実行はできるようになりました。

しかし、研究でも趣味でも自分のモデルで実行したい方が多いと思います。私も好きな声優の声で実行したいので、これからWaveGlowの使い方を勉強し、また共有したいと思います。

ご覧頂きありがとうございました。

 

〜テストまでの動画


WaveGlowとGoogle Colaboratoryによる実践音声合成! 〜installからテストまで〜

 

引用元

[1]

medium.com