项目简介 链接到标题
MeloTTS 是清华、MIT 和 MyShell.ai 联合开发的多语言 TTS 库,MIT 协议。
- 架构:VITS2(基于 VITS、VITS2、Bert-VITS2)
- 语言:中文(支持中英混合)、英语(美/英/印/澳)、日语、韩语、西班牙语、法语
- 特点:CPU 可实时推理,GPU 加速效果更好
- Stars:7.5k
部署方式 链接到标题
一年前用 Docker 部署在 GPU 节点上,分两个容器:
services:
tts-ui:
image: marshalw/tts-ui
container_name: tts-ui
ports:
- "7776:80"
melotts-server:
image: marshalw/melo-tts-server:latest
container_name: melotts-server
ports:
- "7777:8080"
environment:
- DEFAULT_SPEED=1
- DEFAULT_LANGUAGE=ZH
- DEFAULT_SPEAKER_ID=ZH
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
tts-ui:Web 操作界面,端口 7776melotts-server:推理后端,端口 7777,API 路径/convert/tts- nginx 反向代理将 UI 的
/convert/tts转发到后端
使用印象 链接到标题
优点:
- 中文发音自然,多语言支持好
- CPU 可跑,不需要强 GPU
- 部署简单,Docker 一键启动
问题:
- 语音忽大忽小,音量不稳定
- 同一个句子每次生成音量都可能不同
问题分析 链接到标题
音量不稳定的根源在 VITS2 架构本身。VITS2 对 prosody(韵律)的控制粒度不够细,没有专门的音量归一化层,输出电平随输入文本的韵律特征自然波动。这不是封装或部署能解决的问题,是架构层面的限制。
对比同期试过的 ChatTTS:ChatTTS 有 emotion control,模型更大(1.2GB vs 180MB),但中文发音不如 MeloTTS 自然。
现状 链接到标题
服务一年没用了,这次清理节点时一并移除。记录下配置,以后有需要可以快速恢复。
相关链接 链接到标题
- 原版仓库:https://github.com/myshell-ai/MeloTTS
- 社区活跃 fork(更好的封装,模型不变):https://github.com/hangry-labs/MeloTTS
- GGUF 转换版(97MB,配合 CrispASR):https://huggingface.co/cstr/melotts-en-v2-GGUF