WaveNet
Yet another WaveNet implementation in PyTorch.
The purpose of this implementation is Well-structured, reusable and easily understandable.
Prerequisites
-
System
- Linux or macOS
- CPU or (NVIDIA GPU + CUDA CuDNN)
- It can run on Single CPU/GPU or Multi GPUs.
- Python 3
-
Libraries
- PyTorch >= 0.3.0
- librosa >= 0.5.1
Training
python train.py \
--data_dir=./test/data \
--output_dir=./outputs
Use python train.py --help
to see more options.
Generating
It's just for testing. You need to modify for real world.
python generate.py \
--model=./outputs/model \
--seed=./test/data/helloworld.wav \
--out=./output/helloworld.wav
Use python generate.py --help
to see more options.
File structures
networks.py
and model.py
is main implementations.
- wavenet
config.py
: Training optionsnetworks.py
: The neural network architecture of WaveNetmodel.py
: Calculate loss and optimizing- utils
data.py
: Utilities for loading data
- test
- Some tests for check if it's correct model like casual, dilated..
train.py
: A script for WaveNet traininggenerate.py
: A script for generating with pre-trained model
TODO
- Add some nice samples
- Global conditions
- Local conditions
- Faster generating
- Parallel WaveNet
- General Generator