Long-form streaming TTS system for multi-speaker dialogue generation
Long-form streaming TTS system for multi-speaker dialogue generation
FireRedTTS‑2 is a long-form streaming TTS system for multi-speaker dialogue generation, delivering stable, natural speech with reliable speaker switching and context-aware prosody.
Random Timbre Generation & Multilingual Support
Zero-Shot Podcast Generation
Speaker-Specific Finetuned Podcast Generation
⚠️ Speaker voices: hosts "肥杰" and "惠子" from the podcast "肥话连篇". Use without authorization is forbidden.
⚠️ 声音来源:播客 "肥话连篇" 主播 "肥杰" 和 "惠子",未经授权不能使用。
For more examples, see demo page.
2025/09
2025/10
Clone the repo
git clone https://github.com/FireRedTeam/FireRedTTS2.git
cd FireRedTTS2Create env:
Setup environment with Conda:
conda create --name fireredtts2 python==3.11
conda activate fireredtts2
# Step 1. PyTorch Installation (if required)
pip install torch==2.7.1 torchvision==0.22.1 torchaudio==2.7.1 --index-url https://download.pytorch.org/whl/cu126
# Step 2. Install Dependencies
pip install -e .
pip install -r requirements.txtor use Docker:
# Build docker image
docker build -t fireredtts2:v1.0 docker
# Launch docker container
docker run -v=${PWD}:/workspace/FireRedTTS2 --ipc=host --net=host --gpus=all -it fireredtts2:v1.0 bashModel download
git lfs install
git clone https://huggingface.co/FireRedTeam/FireRedTTS2 pretrained_models/FireRedTTS2Dialogue Generation with Web UI
Generate dialogue through an easy-to-use web interface that supports both voice cloning and randomized voices.
python gradio_demo.py --pretrained-dir "./pretrained_models/FireRedTTS2"Dialogue Generation
…Dialogue Generation (Sreaming)
NOTE: Each audio chunk is 0.08 seconds, except the first (a little shorter) and last (a little longer).
…Monologue Generation
…We thank Moshi and Sesame CSM for their novel dual-transformer approach. Additionally, we adapted Sesame CSM's structure and core inference code.
We referred to Qwen2.5-1.5B text tokenizer solution.
We referred to Xcodec2 Vocos-based acoustic decoder.
No open issues yet, or sync has not completed.