littlebot
Published on 2025-04-09 / 1 Visits
0

【源码】基于FastAPI和Gradio的ChatTTS文本转语音服务

项目简介

本项目是基于FastAPI和Gradio构建的文本转语音(TTS)服务,可支持中英文文本的语音合成,并具备流式返回功能。通过Docker Compose实现容器化部署,简化了本地部署流程,适合开发者快速上手。不过,该项目存在合成速度较慢和偶尔发音不稳定的问题。

项目的主要特性和功能

  1. 支持中英文文本的语音合成任务。
  2. 支持流式传输音频数据,适用于长文本或实时音频流场景。
  3. 利用Gradio构建简单用户界面,用户可通过界面输入文本生成语音。
  4. 通过Docker Compose实现一键容器化部署,简化本地运行流程。
  5. 支持多说话人,用户可选择不同说话人(通过ID标识)进行语音合成。
  6. 支持固定音色、语速、停顿等参数设置,提升语音合成灵活性。

安装使用步骤

假设用户已经下载了本项目的源码文件。

1. 进入项目目录

bash cd ChatTTS-Deploy-using-FastAPI-and-Gradio

2. 下载模型

进入backend/models/目录,下载ChatTTS模型: bash cd backend/models/ git lfs clone https://www.modelscope.cn/mirror013/ChatTTS.git

3. 本地部署

安装环境依赖

创建并激活Python虚拟环境,安装依赖: bash conda create -n tts python==3.9 conda activate tts pip install --upgrade pip cd backend pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

运行后端服务

进入backend/fastapi目录,启动后端服务: bash cd backend/fastapi python api.py

4. Docker部署

使用Docker Compose进行容器化部署: bash docker compose build docker compose up 该命令将构建并启动FastAPI和Gradio服务,FastAPI服务将暴露在9880端口,Gradio服务将暴露在7860端口。

5. 使用Gradio前端

通过浏览器访问http://localhost:7860,使用Gradio界面输入文本并生成语音。

注意事项

  1. 模型下载时,需确保网络畅通,能够访问ModelScope。
  2. 建议使用Python 3.9环境,避免依赖冲突。
  3. 进行Docker部署时,要确保本地已安装Docker和Docker Compose。

参考

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】