/sasegan

Self-Attention Generative Adversarial Network for Speech Enhancement using Tensorflow 2

Primary LanguagePythonApache License 2.0Apache-2.0

SASEGAN

GitHub python tensorflow ubuntu

Self Attention GAN for Speech Enhancement in Tensorflow 2

This is the TensorFlow 2 Version of Self-Attention Generative Adversarial Network for Speech Enhancement. These models can be converted to TFLite 😄

😋 Supported Models

Setup Environment and Datasets

Install tensorflow: pip3 install tensorflow or pip3 install tf-nightly (for using tflite)

Install packages: pip3 install .

For setting up datasets, see datasets

To enable XLA, run TF_XLA_FLAGS=--tf_xla_auto_jit=2 $python_train_script

Clean up: python3 setup.py clean --all (this will remove /build contents)

Training & Testing

Example YAML Config Structure

speech_config: ...
model_config: ...
decoder_config: ...
learning_config:
  augmentations: ...
  dataset_config:
    train_paths: ...
    eval_paths: ...
    test_paths: ...
    tfrecords_dir: ...
  optimizer_config: ...
  running_config:
    batch_size: 8
    num_epochs: 20
    outdir: ...
    log_interval_steps: 500

See examples for some running scripts.

References

@article{phan2020sasegan,
  title={Self-Attention Generative Adversarial Network for Speech Enhancement},
  author={H. Phan, Hu. L. Nguyen, O. Y. Chén, P. Koch, N. Q. K. Duong, I. McLoughlin, and A. Mertins},
  journal={arXiv preprint arXiv:2010.09132},
  year={2020}
}
  1. Speech Enhancement GAN
  2. Improving GANs for Speech Enhancement
  3. Self Attention GAN

Contact

Huy Le Nguyen

Email: nlhuy.cs.16@gmail.com