Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.0%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: declare-lab
  • License: mit
  • Language: Python
  • Default Branch: master
  • Size: 145 MB
Statistics
  • Stars: 35
  • Watchers: 3
  • Forks: 2
  • Open Issues: 1
  • Releases: 0
Created over 2 years ago · Last pushed about 2 years ago
Metadata Files
Readme License Citation

README.md

HyperTTS: Parameter Efficient Adaptation in Text to Speech using Hypernetworks

Neural speech synthesis, or text-to-speech (TTS), aims to transform a signal from the text domain to the speech domain. While developing TTS architectures that train and test on the same set of speakers has seen significant improvements, out-of-domain speaker performance still faces enormous limitations. Domain adaptation on a new set of speakers can be achieved by fine-tuning the whole model for each new domain, thus making it parameter-inefficient. This problem can be solved by Adapters that provide a parameter-efficient alternative to domain adaptation. Although famous in NLP, speech synthesis has not seen much improvement from Adapters. In this work, we present HyperTTS, which comprises a small learnable network, ``hypernetwork", that generates parameters of the Adapter blocks, allowing us to condition Adapters on speaker representations and making them dynamic. Extensive evaluations of two domain adaptation settings demonstrate its effectiveness in achieving state-of-the-art performance in the parameter-efficient regime. We also compare different variants of HyperTTS, comparing them with baselines in different studies. Promising results on the dynamic adaptation of adapter parameters using hypernetworks open up new avenues for domain-generic multi-speaker TTS systems.

intro-fig

Figure: Comparison of our approach against baselines: Fine-tuning tunes the backbone model parameters on the adaptation dataset. AdapterTTS inserts learnable modules into the backbone. HyperTTS (ours) converts the static adapter modules to dynamic by speaker-conditional sampling using a (learnable) hypernetwork. Both AdapterTTS and HyperTTS keep the backbone model parameters frozen and thus parameter-efficient.

Architecture

Architecture Figure: An overview of the HYPERTTS. SE and LE denote speaker embedding and layer embedding.

We provide checkpoint here:

Pretrained on LTS100 checkpoint: 600000.pth.tar

Pretrain on LTS

python CUDA_VISIBLE_DEVICES=0 python3 train.py --dataset LTS

Finetune hyperTTS_all on VCTK or LTS2

```python

LTS2

CUDAVISIBLEDEVICES=0 python3 train.py --dataset LTS2 --restore_step 600000

VCTK

CUDAVISIBLEDEVICES=0 python3 train.py --dataset VCTK --restore_step 600000 ```

Inference

python CUDA_VISIBLE_DEVICES=2 python3 synthesize.py --source /data/Dataset/preprocessed_data/VCTK_16k/val_unsup.txt --restore_step 900000 --mode batch --dataset VCTK

Get objective metrics

python python object_metrics.py --ref_wav_dir /data/result/LTS100_GT --synth_wav_dir /data/result/LTS100_syn/

Audio Samples

We compare 20 samples and upload the generated audio files to the directory ./Show20Samples

We refer to this repo: Comprehensive-Transformer-TTS

Citation

@inproceedings{li2024hypertts, title={HyperTTS: Parameter Efficient Adaptation in Text to Speech using Hypernetworks}, author={Yingting Li and Rishabh Bhardwaj and Ambuj Mehrish and Bo Cheng and Soujanya Poria}, year={2024}, conference={COLING}, }

Owner

  • Name: Deep Cognition and Language Research (DeCLaRe) Lab
  • Login: declare-lab
  • Kind: organization
  • Location: Singapore University of Technology and Design

GitHub Events

Total
  • Issues event: 1
  • Watch event: 4
  • Fork event: 1
Last Year
  • Issues event: 1
  • Watch event: 4
  • Fork event: 1

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 1
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 1
  • Total pull request authors: 0
  • Average comments per issue: 0.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 0
  • Average comments per issue: 0.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • crushgh (1)
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Dependencies

requirements.txt pypi
  • PyYAML ==5.4.1
  • einops >=0.3
  • g2pen ==2.1.0
  • inflect ==4.1.0
  • librosa ==0.7.2
  • local_attention ==1.4.3
  • matplotlib ==3.2.2
  • numba ==0.48.0
  • numpy ==1.19.4
  • pandas ==1.1.5
  • pillow ==8.3.2
  • praatparselmouth ==0.3.3
  • product_key_memory ==0.1.10
  • pycwt ==0.3.0a22
  • pyloudnorm ==0.1.0
  • pypinyin ==0.39.0
  • python_speech_features ==0.6
  • pyworld ==0.3.0
  • rotary_embedding_torch ==0.1.0
  • scikitlearn ==0.22.2.post1
  • scipy ==1.5.4
  • soundfile ==0.10.3.post1
  • tensorboard ==2.5
  • tensorflow ==2.5.1
  • tgt ==1.4.4
  • torch ==1.7.0
  • tqdm ==4.46.1
  • unidecode ==1.1.1