Skip to content

552023587/CosyVoice-Chat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

CosyVoice-Chat

基于 CosyVoice3 的 LLM 语音对话 WebUI,支持流式 TTS 边生成边播放。

UI

功能特性

  • 🎙️ 文本转语音 - 支持零音色克隆,使用参考音频生成语音
  • 🤖 LLM 语音对话 - 对接 OpenAI 兼容接口的 LLM,实现语音对话
  • 流式输出 - 原生支持 CosyVoice 流式推理,边生成边播放
  • 🌐 Web 界面 - 内置简洁的 WebUI,直接浏览器访问使用

安装说明

1. 克隆项目

git clone https://github.com/your-username/CosyVoice-Chat.git
cd CosyVoice-Chat

2. 下载 CosyVoice 源码和模型

# 克隆 CosyVoice 到项目目录
git clone https://github.com/FunAudioLLM/CosyVoice.git
cd CosyVoice

按照 CosyVoice 官方文档安装依赖:

pip install -r requirements.txt

下载预训练模型到 pretrained_models 目录:

# Fun-CosyVoice3-0.5B (推荐)
# 请参考 CosyVoice 官方文档下载模型
# 放置到 pretrained_models/Fun-CosyVoice3-0.5B 目录

克隆 Matcha-TTS 到 third_party:

mkdir -p third_party
cd third_party
git clone https://github.com/yl4579/Matcha-TTS.git
cd ../..

3. 安装本项目依赖

pip install fastapi uvicorn openai numpy soundfile torchaudio pydantic

使用方法

启动服务

python webui.py

服务启动后访问:

配置 LLM(对话功能)

对话功能需要对接一个 OpenAI 兼容格式的 LLM API 服务。例如:

  • 使用 llama.cpp 启动本地服务
  • 使用 vLLM 提供 OpenAI 兼容接口
  • 或其他任何 OpenAI 格式的 API 服务

在网页中配置你的 LLM API 地址即可使用。

API 接口

  • GET / - 服务健康检查
  • POST /tts/stream - 文本转语音流式输出
  • POST /tts/download - 文本转语音文件下载
  • POST /chat/completion-stream - LLM 对话流式输出文字
  • GET /chat/tts-pcm - TTS 流式输出 PCM 音频

目录结构

CosyVoice-Chat/
├── webui.py           # FastAPI Web服务
├── asset/             # 参考音频示例
├── pretrained_models/ # CosyVoice 模型
├── third_party/
│   └── Matcha-TTS/    # Matcha-TTS 依赖
└── README.md

注意事项

  • 需要 GPU 环境以获得较好的推理速度
  • 模型体积较大,请确保有足够磁盘空间
  • LLM 服务需要单独启动,本项目仅做对接

About

CosyVoice UI

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages