FlashTTS

May 17, 2025 · View on GitHub

FlashTTS Logo

📘 Documentation | 📚 Deepwiki

中文 | English


FlashTTS

基于 SparkTTS、OrpheusTTS、MegaTTS 3 等先进模型,FlashTTS 提供高质量的中文语音合成与零样本声音克隆服务。借助简洁直观的 Web 界面,您可以快速生成自然逼真的人声,满足配音、阅读、无障碍、虚拟角色等多元场景需求。

如果 FlashTTS 对你有帮助,欢迎留下一个 ⭐ Star!

✨ 功能亮点

功能说明
🚀多后端推理加速支持 vllmsglangllama‑cppmlx‑lmtensorrt-llm 等多种高性能推理引擎
🎯高并发动态批处理与异步队列,轻松应对大流量请求
🎛️全参数控制可调节音调、语速、温度、情感标签等
📱轻量部署基于 FastAPI,一条命令即可启动;最小依赖
🔊长文本合成支持超长文本,保持连续音色一致
🔄流式 TTS边生成边播放,降低等待,提高交互体验
🎭多角色对话同文本多角色合成,适合剧本配音
🎨现代化前端适配Web端

🖼️ 前端示例

https://github.com/user-attachments/assets/1bd9d586-fac7-4016-b955-5a58d8fb9d7e

🔈 语音演示

下列 Demo 展示了 FlashTTS 在不同模型与角色上的克隆效果。

SparkTTS 模型

Donald Trump en

Donald Trump zh

Donald Trump en

Donald Trump zh

哪吒

李靖

哪吒

李靖

余承东

徐志胜

余承东

徐志胜

MegaTTS 3 模型

蔡徐坤

太乙真人

蔡徐坤

太乙真人

OrpheusTTS (zh) 模型

长乐

白芷

长乐

白芷

快速开始

建议在 python 3.8 - 3.12 环境中使用 pip 安装 flashtts

pip install flashtts

详细安装步骤,请参考:installation.md

本地推理:

flashtts infer \
  -i "你好,欢迎使用语音合成。" \
  -o output.wav \
  -m ./models/your_model \
  -b vllm \
  [其他可选参数]

详细使用说明,请参考:quick_start.md

部署方式:

 flashtts serve \
 --model_path Spark-TTS-0.5B \ 
 --backend vllm \ 
 --role_dir data/roles \ 
 --llm_device cuda \
 --tokenizer_device cuda \
 --detokenizer_device cuda \
 --wav2vec_attn_implementation sdpa \
 --llm_attn_implementation sdpa \ 
 --torch_dtype "bfloat16" \ 
 --max_length 32768 \
 --llm_gpu_memory_utilization 0.6 \
 --fix_voice \  # 启动后将固定住spark-tts中内置音色(female和male)
 --host 0.0.0.0 \
 --port 8000

web地址:http://localhost:8000

接口文档地址:http://localhost:8000/docs

详细部署说明,请参考:server.md

⚡ 推理速度

测试环境:A800 GPU · 模型:Spark-TTS‑0.5B · 测试脚本:speed_test.py

场景引擎设备音频长度 (s)推理耗时 (s)RTF
短文本llama‑cppCPU7.486.810.91
短文本torchGPU7.187.681.07
短文本vllmGPU7.241.660.23
短文本sglangGPU7.581.070.14
长文本llama‑cppCPU121.98117.830.97
长文本torchGPU113.70107.170.94
长文本vllmGPU111.827.280.07
长文本sglangGPU117.024.200.04

RTF < 1 表示实时合成。

⚙️ 使用提示

  1. SparkTTS 权重需使用 bfloat16float32float16 会报错。
  2. 若遇到长时间空白音,可将 repetition_penalty 调高 (> 1.0)。
  3. OrpheusTTS 支持在文本中插入 <tag> 控制情感,标签见 orpheus_engine.pyLANG_MAP
  4. 出于安全考虑,MegaTTS 3 未公开 WaveVAE 编码器,请参考官方说明下载:参考音频

🤝 鸣谢

⚠️ 免责声明

FlashTTS 仅供学术研究、教育与合法用途,如无障碍辅助、个性化语音合成等。请勿将其用于欺诈、冒充、深度伪造等违法场景。违者自行承担法律与道德责任。

License

本项目沿用 Spark‑TTS 的协议,详情参见 LICENSE

Star History

Star History Chart