跳至内容
OmniTTS

OmniTTS

vLLM-Omni是一个推理服务系统,已经支持了多种tts模型,包括qwen3-tts、cosyvoice、VoxCpm2。更多模型https://docs.vllm.ai/projects/vllm-omni/en/latest/serving/speech_api/。对外提供统一的tts API接口服务,兼容openai规范,支持克隆声音的上传、删除、查看。

1. 安装依赖库

uv venv --python 3.12 --seed
source .venv/bin/activate
#uv pip install vllm==0.22.0 --torch-backend=auto
uv pip install vllm==0.27.0 --extra-index-url https://wheels.vllm.ai/0.27.0/cu129 --extra-index-url https://download.pytorch.org/whl/cu129 --index-strategy unsafe-best-match #根据cuda版本从https://vllm.ai/releases选择

2. 安装vllm-omni

git clone https://github.com/vllm-project/vllm-omni.git

cd vllm-omni
uv pip install -e .

3. 启动api服务:

3.1 Qwen3

需要显存12g

vllm serve Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice --omni --trust-remote-code --port 8091  #预定义声音vivian、aiden等
vllm serve Qwen/Qwen3-TTS-12Hz-1.7B-Base --omni --trust-remote-code --port 8091  #需上传克隆声音

3.2 Voxcpm

需要显存13G

uv pip install voxcpm>=2.0
vllm serve openbmb/VoxCPM2 --omni --trust-remote-code --port 8091  #预设音色default,可以上传克隆声音

3.3 Fish Speech

需要显存18G

uv pip install fish_speech
vllm serve fishaudio/s2-pro --omni --trust-remote-code --port 8091

3.4 IndexTTS

需要显存17G,延时4s

vllm serve IndexTeam/IndexTTS-2 --omni --trust-remote-code --port 8091

3.5 CosyVoice

需要显存14G

uv pip install s3tokenizer
vllm serve FunAudioLLM/Fun-CosyVoice3-0.5B-2512 --omni --trust-remote-code --port 8091

4,克隆声音

  1. 运行livetalking服务
    python app.py --transport webrtc --model wav2lip --avatar_id wav2lip256_avatar1 --tts omnitts --TTS_SERVER http://127.0.0.1:8091

  2. 打开网址http://<serverip>:8010/tts/index.html
    在tts服务器地址栏填入http://<tts-serverip>:8091,点击连接测试,可以看到现有的音色列表 在上传克隆声音框里上传声音文件,克隆成功后会显示在音色列表里。 该音色对所有模型都有效

Image

  1. 打开网址http://<serverip>:8010
    在参考音频里填上刚才克隆的音色名,如voxpcm_edge,然后点击连接视频