|
|
--- |
|
|
license: apache-2.0 |
|
|
--- |
|
|
<div align="center"> |
|
|
<h1>FireRedTTS: A Foundation Text-To-Speech Framework for Industry-Level Generative Speech Applications</h1> |
|
|
</div> |
|
|
|
|
|
#### 👉🏻 [FireRedTTS Paper](https://arxiv.org/abs/2409.03283) 👈🏻 |
|
|
|
|
|
#### 👉🏻 [FireRedTTS Demos](https://fireredteam.github.io/demos/firered_tts/) 👈🏻 |
|
|
|
|
|
#### 👉🏻 [FireRedTTS Space (Interactive Demo)](https://huggingface.co/spaces/fireredteam/FireRedTTS) 👈🏻 |
|
|
|
|
|
## News |
|
|
|
|
|
- [2024/10/17] 🔥 We release [new rich-punctuation model](https://huggingface.co/fireredteam/FireRedTTS/tree/main), offering expanded punctuation coverage and enhanced audio production consistency. In addition, we have strengthened the capabilities of the text front-end and enhanced the stability of synthesis. |
|
|
- [2024/09/26] 🔥 Our model is already available on [huggingface space](https://huggingface.co/spaces/fireredteam/FireRedTTS),try it through the interactive interface. |
|
|
- [2024/09/20] 🔥 We release the pre-trained checkpoints and inference code. |
|
|
- [2024/09/06] 🔥 We release the [technical report](https://arxiv.org/abs/2409.03283) and [project page](https://fireredteam.github.io/demos/firered_tts/) |
|
|
|
|
|
## Roadmap |
|
|
|
|
|
- [ ] 2024/09 |
|
|
- [x] Release the pre-trained checkpoints and inference code. |
|
|
- [ ] Release testing set. |
|
|
|
|
|
- [ ] 2024/10 |
|
|
- [x] Release rich punctuation version. |
|
|
- [ ] Release finetuned checkpoints for controllable human-like speech generation. |
|
|
|
|
|
## Usage |
|
|
|
|
|
#### Clone and install |
|
|
|
|
|
- Clone the repo |
|
|
|
|
|
```shell |
|
|
https://github.com/FireRedTeam/FireRedTTS.git |
|
|
cd FireRedTTS |
|
|
``` |
|
|
|
|
|
- Create conda env |
|
|
|
|
|
```shell |
|
|
# step1.create env |
|
|
conda create --name redtts python=3.10 |
|
|
|
|
|
# stpe2.install torch (pytorch should match the cuda-version on your machine) |
|
|
# CUDA 11.8 |
|
|
conda install pytorch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1 pytorch-cuda=11.8 -c pytorch -c nvidia |
|
|
# CUDA 12.1 |
|
|
conda install pytorch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1 pytorch-cuda=12.1 -c pytorch -c nvidia |
|
|
|
|
|
# step3.install fireredtts form source |
|
|
pip install -e . |
|
|
|
|
|
# step4.install other requirements |
|
|
pip install -r requirements.txt |
|
|
``` |
|
|
|
|
|
#### Download models |
|
|
|
|
|
Download the required model files from [**Model_Lists**](https://huggingface.co/fireredteam/FireRedTTS/tree/main) and place them in the folder `pretrained_models` |
|
|
|
|
|
#### Basic Usage |
|
|
|
|
|
```python |
|
|
import os |
|
|
import torchaudio |
|
|
from fireredtts.fireredtts import FireRedTTS |
|
|
|
|
|
tts = FireRedTTS( |
|
|
config_path="configs/config_24k.json", |
|
|
pretrained_path=<pretrained_models_dir>, |
|
|
) |
|
|
|
|
|
#same language |
|
|
rec_wavs = tts.synthesize( |
|
|
prompt_wav="examples/prompt_1.wav", |
|
|
text="小红书,是中国大陆的网络购物和社交平台,成立于二零一三年六月。", |
|
|
lang="zh", |
|
|
) |
|
|
|
|
|
rec_wavs = rec_wavs.detach().cpu() |
|
|
out_wav_path = os.path.join("./example.wav") |
|
|
torchaudio.save(out_wav_path, rec_wavs, 24000) |
|
|
|
|
|
``` |
|
|
|
|
|
## Tips |
|
|
|
|
|
- Removing the long silence (>1s) in the middle of prompt_wav may bring better stability. If there are too many long silences in your prompt_wav and it causes stability problems, it is recommended to use our tool(`tools/process_prompts.py`) to remove the silence. |
|
|
|
|
|
## Acknowledgements |
|
|
|
|
|
- [**Tortoise-tts**](https://github.com/neonbjb/tortoise-tts) and [**XTTS-v2**](https://github.com/coqui-ai/TTS) offer invaluable insights for constructing an autoregressive-style system. |
|
|
- [**Matcha-TTS**](https://github.com/shivammehta25/Matcha-TTS) and [**CosyVoice**](https://github.com/FunAudioLLM/CosyVoice) demonstrate the excellent ability of flow-matching in converting audio code to mel. |
|
|
|
|
|
- [**BigVGAN-v2**](https://github.com/NVIDIA/BigVGAN), utilized for vocoding. |
|
|
- We referred to [**whisper’s**](https://github.com/openai/whisper) text tokenizer solution. |