dansuh17 / segan-pytorch

SEGAN pytorch implementation https://arxiv.org/abs/1703.09452
GNU General Public License v3.0
106 stars 32 forks source link
audio data-preprocessing mir pytorch segan segan-pytorch source-separation speech-enhancement

Pytorch Implementation of SEGAN (Speech Enhancement GAN)

Implementation of SEGAN by Pascual et al. in 2017, using pytorch. Original Tensorflow version can be found here.

Prerequisites

Installing Required Libraries

pip install -r requirements.txt

Data Preprocessing

Use data_preprocess.py file to preprocess downloaded data. Adjust the file paths at the beginning of the file to properly locate the data files, output folder, etc. Uncomment functions in __main__ to perform desired preprocessing stage.

Data preprocessing consists of three main stages:

  1. Downsampling - downsample original audio files (48k) to sampling rate of 16000.
  2. Serialization - Splitting the audio files into 2^14-sample (about 1 second) snippets.
  3. Verification - whether it contains proper number of samples.

Note that the second stage takes a fairly long time - more than an hour.

Training

python model.py

Again, fix and adjust datapaths in model.py according to your needs. Especially, provide accurate path to where serialized data are stored.

Using Tensorboard

In order to use tensorboard, you need to first install tensorboard:

pip install tensorboard

Then run tensorboard by specifing the log directory.

tensorboard --logdir=segan_data_out/tblogs