機械学習で音声を生成する手法「WaveGAN」の実装です。
参考資料:https://arxiv.org/abs/1802.04208
解説記事:https://qiita.com/zassou65535/items/5a9d5ef44dedea94be8a
Ubuntu20.04
python 3.7.1
torch==1.4.0
torchvision==0.5.0
pip install -r requirements.txtで環境を揃えることができます。
WaveGAN_train.pyは学習を実行し、過程と結果を出力するプログラムです。- 学習においては各イテレーションごとにデータセットから音声(
.wav形式)を選び出し、約4秒分ランダムな箇所から切り取って学習します。
- 学習においては各イテレーションごとにデータセットから音声(
WaveGAN_inference.pyはWaveGAN_train.pyが出力した学習結果(重み)をGeneratorに読み込み推論を実行、音声データを出力するプログラムです。- 出力されるwavファイルは約4秒の長さの音声です。
WaveGAN_train.pyのあるディレクトリに./datasetディレクトリを作成します./datasetディレクトリに、学習に使いたい音声ファイルを./dataset/**/*.wavという形式で好きな数入れますWaveGAN_train.pyの置いてあるディレクトリでpython WaveGAN_train.pyを実行して学習を開始します- 学習の過程が
./output/train/以下に出力されます - 学習結果が
./output/generator_trained_model_cpu.pthとして出力されます
- 学習の過程が
WaveGAN_inference.pyの置いてあるディレクトリでpython WaveGAN_inference.pyを実行して推論します- 推論結果が
./output/inference/以下に出力されます - 注意点として、
./output/generator_trained_model_cpu.pth(学習済みモデル)がなければエラーとなります
- 推論結果が
学習には環境によっては12時間以上要する場合があります。