vits-simple-api
vits-simple-api 是一个基于 VITS(Voice Identity Transformation System)技术的简单 HTTP 接口工具,支持文本转语音、语音转换等多种功能。它通过扩展 Moegoe 项目并添加更多特性,简化了调用 VITS 模型的过程,让用户可以更方便地生成高质量语音。
这个工具解决了传统语音合成流程复杂、部署门槛高的问题,提供了一种快速部署和调用多种语音模型的方式。用户只需通过简单的 HTTP 请求,即可实现多语言、多风格的语音生成,甚至支持情绪控制和长文本批量处理等功能。
适合需要集成语音合成功能的开发者、研究人员或设计师使用,特别是对 AI 音频处理有一定了解但希望减少部署复杂度的用户。其独特之处在于支持多种主流 VITS 模型,如 Bert-VITS2、GPT-SoVITS 等,并且具备自动识别语言类型、GPU 加速推理等实用功能,极大提升了使用效率与灵活性。
使用场景
某配音工作室的开发者正在为一款互动式教育软件开发多语言语音合成功能,需要将大量中英文文本转换为自然流畅的语音,并支持不同情绪和语调的表达。
没有 vits-simple-api 时
- 需要手动配置多个语音模型,部署复杂且耗时,难以快速切换不同模型。
- 缺乏统一接口,每次调用不同模型都需要编写不同的代码逻辑,维护成本高。
- 处理长文本时容易出现断句不自然、语音不连贯的问题,需额外处理文本分段。
- 不支持情绪控制,无法生成带有情感色彩的语音输出,影响用户体验。
- 无法通过 HTTP 接口直接调用,需依赖本地服务或自建 API,限制了开发效率。
使用 vits-simple-api 后
- 支持一键加载多个语音模型,可快速切换不同语言和风格的语音模型,简化部署流程。
- 提供统一的 HTTP 接口,开发者只需发送请求即可调用多种模型,无需修改底层逻辑。
- 内置长文本批量处理功能,自动优化断句与语义衔接,提升语音输出的自然度。
- 支持情绪参数调节,如通过
emotion参数生成兴奋、低语等不同语气的语音,增强表达效果。 - 可直接通过浏览器或 API 调用在线演示服务,便于测试与调试,加快开发周期。
vits-simple-api 显著提升了多语言语音合成的开发效率与灵活性,使复杂需求得以快速实现。
运行环境要求
- Linux
- macOS
- Windows
需要 NVIDIA GPU,显存 8GB+,CUDA 11.7+
16GB+

快速开始
功能
- VITS 文本转语音、语音转换
- HuBert-soft VITS
- vits_chinese
- Bert-VITS2
- W2V2 VITS / emotional-vits 多维情感模型
- GPT-SoVITS
- 支持加载多个模型
- 自动语言识别与处理,可根据模型的 cleaner 设置语言类型识别范围,支持自定义语言类型范围
- 自定义默认参数
- 长文本批量处理
- GPU 加速推理
- SSML(语音合成标记语言)正在开发中...
在线演示
请注意,不同的 ID 可能支持不同的语言。演讲者
https://artrajz-vits-simple-api.hf.space/voice/vits?text=你好,こんにちは&id=164https://artrajz-vits-simple-api.hf.space/voice/vits?text=Difficult the first time, easy the second.&id=4- 兴奋的:
https://artrajz-vits-simple-api.hf.space/voice/w2v2-vits?text=こんにちは&id=3&emotion=111 - 轻声细语的:
https://artrajz-vits-simple-api.hf.space/w2v2-vits?text=こんにちは&id=3&emotion=2077
部署
有两种部署方式可供选择。无论您选择哪种方式,部署后都需要导入模型才能使用该应用。
Docker 部署(推荐用于 Linux)
第一步:拉取 Docker 镜像
运行以下命令以拉取 Docker 镜像。按照脚本中的提示选择需要下载的文件并拉取镜像:
bash -c "$(wget -O- https://raw.githubusercontent.com/Artrajz/vits-simple-api/main/vits-simple-api-installer-latest.sh)"
项目配置文件和模型文件夹的默认路径为 /usr/local/vits-simple-api/。
第二步:启动
运行以下命令以启动容器:
docker-compose up -d
镜像更新
要更新镜像,运行以下命令:
docker-compose pull
然后重启容器:
docker-compose up -d
虚拟环境部署
第一步:克隆项目
使用以下命令克隆项目仓库:
git clone https://github.com/Artrajz/vits-simple-api.git
第二步:安装 Python 依赖
建议为此项目使用 Python 3.10 的虚拟环境。运行以下命令以安装项目所需的 Python 依赖:
如果在安装某些依赖时遇到问题,请参阅下方的常见问题说明。
pip install -r requirements.txt
第三步:启动
运行以下命令以启动程序:
python app.py
Windows 快速部署包
第一步:下载并解压部署包
前往 发布页面,下载最新的部署包。解压下载的文件。
由于压缩原因(以及 Github 发布限制单个文件大小为 2GB),部分可选的依赖模型并未包含在部署包中,这些通常会在加载相应声音模型时由程序自动下载(如果所加载的模型需要)。若程序未自动下载依赖模型,或发现成功加载的声音模型为空,请阅读下方的故障排除——成功加载的模型为空部分。
第二步:启动
运行 start.bat 以启动程序。
一键云部署
该项目镜像已部署在 Compshare 上。无需任何配置,开箱即用。免费注册即可享受 5 小时 RTX 4090 或 10 小时 RTX 3080 Ti 的体验。点击访问
模型加载
第一步:下载 VITS 模型
下载 VITS 模型文件,并将其放置在 data/models 文件夹中。
第二步:加载模型
自动加载模型
自 0.6.6 版本起,默认行为是自动加载 data/models 文件夹中的所有模型,这使得初学者使用起来更加方便。
(如果是第一次使用且没有其他特殊需求,则无需了解如何手动加载模型)
手动加载模型
首次启动后会生成一个 config.yaml 配置文件。您需要将 tts_config.auto_load 修改为 false,以启用手动加载模式。
您可以在 config.yaml 中修改 tts_model_config.tts_modes,或者通过浏览器中的管理面板进行相应设置。
注意:自 0.6.6 版本起,模型加载路径已发生更改,请按照以下步骤重新配置模型路径!
路径可以是绝对路径或相对路径。如果是相对路径,则从项目根目录下的 data/models 文件夹开始计算。
例如,如果 data/models 文件夹中有如下文件:
├─model1
│ │─G_1000.pth
│ └─config.json
└─model2
│─G_1000.pth
└─config.json
则在 YAML 文件中按如下方式填写配置:
tts_model_config:
models_dir: models
auto_load: false
tts_models:
- config_path: model1/config.json
vits_path: model1/G_1000.pth
- config_path: model2/config.json
vits_path: model2/G_1000.pth
# GPT-SoVITS
- vits_path: gpt_sovits1/model1_e8_s11536.pth
t2s_path: gpt_sovits1/model1-e15.ckpt
- vits_path: gpt_sovits2/model2_e8_s11536.pth
t2s_path: gpt_sovits2/model2-e15.ckpt
通过管理面板加载模型很方便,但如果您想加载位于 data/models 文件夹之外的模型,则只能通过修改 config.yaml 配置文件来实现。具体方法是直接提供绝对路径。
绝对路径示例:
tts_model_config:
models_dir: models
auto_load: false
tts_models:
- config_path: D://model3/config.json
vits_path: D://model3/G_1000.pth
models_dir是相对于 data 目录的模型文件夹,默认值为 "models"。当auto_load设置为 true 时,models_dir目录下的所有模型都会被加载。
其他模型
下载 BERT 模型和情感模型后,分别将其放置在 data/bert 和 data/emotional 文件夹中,并根据对应名称插入即可。
GPU 加速
Windows
安装 CUDA
查看您的显卡支持的最高 CUDA 版本:
nvidia-smi
以 CUDA 11.7 为例,可从 官方网站 下载。
安装 GPU 版本的 PyTorch
PyTorch 官网 提供了安装指南:
pip install torch --index-url https://download.pytorch.org/whl/cu118
Linux
安装过程类似,但我没有环境可以测试。
WebUI
推理前端
*默认端口为 23456,也可自行修改。
管理后台
默认地址为 http://127.0.0.1:23456/admin。
首次启动后,可在 config.yaml 文件中搜索 'admin' 查找初始用户名和密码。
功能选项说明
禁用管理后台
管理后台允许加载和卸载模型,并且具备登录认证功能。为了进一步提升安全性,您可以在 config.yaml 中禁用管理后台:
'IS_ADMIN_ENABLED': !!bool 'false'
这一额外措施有助于确保管理后台对公网不可访问时的绝对安全。
Bert-VITS2 配置及语言/Bert 模型使用
自 Bert-VITS2 v2.0 起,一个模型需要加载三种不同的语言 Bert 模型。如果您仅需使用一种或两种语言,可以在模型数据部分的 config.json 文件中添加 lang 参数。值 ["zh"] 表示该模型仅使用中文,并会加载中文 Bert 模型;值 ["zh", "ja"] 则表示同时使用中文和日语双语模型,只会加载中日文 Bert 模型。其他语言组合也遵循相同规则。
示例:
"data": {
"lang": ["zh", "ja"],
"training_files": "filelists/train.list",
"validation_files": "filelists/val.list",
"max_wav_value": 32768.0,
...
}
自定义中文多音字词典
如果遇到多音字发音不准确的问题,可以尝试通过以下方法解决。
在 data 目录下创建并打开 phrases_dict.txt 文件,用于添加多音字词汇。
{
"一骑当千": [["yí"], ["jì"], ["dāng"], ["qiān"]],
}
GPT-SoVITS 参考音频预设
在 config.yaml 文件中找到 GPT-SoVITS 的配置,在 presets 部分添加预设。可添加多个预设,键作为预设名称。以下是两个默认预设:default 和 default2:
gpt_sovits_config:
hz: 50
is_half: false
id: 0
lang: auto
format: wav
segment_size: 50
presets:
default:
refer_wav_path: null
prompt_text: null
prompt_lang: auto
default2:
refer_wav_path: null
prompt_text: null
prompt_lang: auto
朗读 API
已在 legado 中测试。
可使用多种模型进行朗读,包括 VITS、Bert-VITS2、GPT-SoVITS。以 in 开头的参数用于配置引号内文本的发音人,而以 nr 开头的参数则用于配置旁白。
要使用 GPT-SoVITS,需提前在 config.yaml 文件的 presets 部分配置参考音频,并在下方 URL 中修改预设。
URL 中的 IP 地址可在 API 启动后获取,通常为以 192.168 开头的局域网 IP。
修改完成后,选择朗读引擎、添加朗读引擎、粘贴源文本并启用朗读引擎。
{
"concurrentRate": "1",
"contentType": "audio/wav",
"enabledCookieJar": false,
"header": "",
"id": 1709643305070,
"lastUpdateTime": 1709821070082,
"loginCheckJs": "",
"loginUi": "",
"loginUrl": "",
"name": "vits-simple-api",
"url": "http://192.168.xxx.xxx:23456/voice/reading?text={{java.encodeURI(speakText)}}&in_model_type=GPT-SOVITS&in_id=0&in_preset=default&nr_model_type=BERT-VITS2&nr_id=0&nr_preset=default&format=wav&lang=zh"
}
常见问题
Bert-VITS2 版本兼容性
为确保与 Bert-VITS2 模型的兼容性,请修改 config.json 文件,添加版本参数 "version": "x.x.x"。例如,若模型版本为 1.0.1,则配置文件应写成:
{
"version": "1.0.1",
"train": {
"log_interval": 10,
"eval_interval": 100,
"seed": 52,
...
}
}
请注意,对于中文增强版,版本应改为 extra 或 zh-clap;而对于增强修复版,版本则应为 2.4 或 extra-fix。
故障排查——成功加载的模型为空
首先,请检查您的程序目录是否为纯英文路径(不能包含任何中文或特殊字符),否则即使程序未报错,也可能出现无法加载模型的情况。
其次,请确认您的模型是否放置正确(参见“手动加载模型”部分)。您的模型不应直接放在 data/models 目录下,而应放置在 models 目录下的一个子文件夹中(该文件夹名称可任意,但不能包含特殊字符),每个声音模型对应一个独立的子文件夹。
最后,请查看日志中是否有类似“下载失败”的提示信息,您可参考下文关于“手动放置依赖模型”的说明。
手动放置依赖模型
- 下载 https://hf-mirror.com/TencentGameMate/chinese-hubert-base/resolve/main/pytorch_model.bin,并将其放置于
data\hubert\chinese_hubert_base。 - 下载 https://hf-mirror.com/hfl/chinese-roberta-wwm-ext-large/resolve/main/pytorch_model.bin,并将其放置于
data\bert\chinese-roberta-wwm-ext-large。 - 下载 https://openi.pcl.ac.cn/Stardust_minus/Bert-VITS2/modelmanage/model_filelist_tmpl?name=G2PWModel-v2-onnx,并将其放置于
data\G2PWModel。
若您不想从 openi.pcl.ac.cn 平台下载(大文件无法直接通过浏览器获取),也可在此处下载:https://huggingface.co/restsun2028/B2ZHTH/blob/b0a8cc2c69c6d1962c679ea2887080a0a86e6bbf/g2pW/g2pW.onnx,获取 g2pW.onnx 文件。
API
GET
发言人列表
GET http://127.0.0.1:23456/voice/speakers
返回角色 ID 与发言人姓名的映射表。
VITS 语音合成
GET http://127.0.0.1:23456/voice/vits?text=text
若未指定其他参数,则使用默认值。
GET http://127.0.0.1:23456/voice/vits?text=[ZH]text[ZH][JA]text[JA]&lang=mix
当
lang=mix时,文本需进行标注。GET http://127.0.0.1:23456/voice/vits?text=text&id=142&format=wav&lang=zh&length=1.4
文本为“text”,角色 ID 为 142,音频格式为 wav,文本语言为 zh,语音长度为 1.4,其余参数均为默认值。
检查
POST
- 参见
api_test.py
API 密钥
在 config.yaml 中将 api_key_enabled: true 设置为启用 API 密钥认证。启用后,GET 请求需添加 api_key 参数,POST 请求则需在 Header 中添加 X-API-KEY 参数。
参数
VITS
| 名称 | 参数 | 是否必填 | 默认值 | 类型 | 说明 |
|---|---|---|---|---|---|
| 合成文本 | text | 是 | str | 需要进行语音合成的文本。 | |
| 发言人 ID | id | 否 | 来自 config.yaml |
int | 发言人的 ID。 |
| 音频格式 | format | 否 | 来自 config.yaml |
str | 支持 wav、ogg、silk、mp3、flac 等格式。 |
| 文本语言 | lang | 否 | 来自 config.yaml |
str | 待合成文本的语言。可选值包括 auto、zh、ja 和 mix。当 lang=mix 时,文本需用 [ZH] 或 [JA] 包裹。默认模式为 auto,即自动检测文本语言。 |
| 音频长度 | length | 否 | 来自 config.yaml |
float | 调整合成语音的长度,相当于调整语音的速度。数值越大,速度越慢。 |
| 噪声 | noise | 否 | 来自 config.yaml |
float | 样本噪声,用于控制合成的随机性。 |
| SDP 噪声 | noisew | 否 | 来自 config.yaml |
float | 随机持续时间预测器噪声,用于控制音素发音的长度。 |
| 分段大小 | segment_size | 否 | 来自 config.yaml |
int | 根据标点符号将文本划分为若干段落,当长度超过 segment_size 时合并为一段。若 segment_size<=0,则不进行分段。 |
| 流式响应 | streaming | 否 | false | bool | 流式合成语音,初始响应更快。 |
VITS 语音转换
| 名称 | 参数 | 是否必填 | 默认值 | 类型 | 说明 |
|---|---|---|---|---|---|
| 上传音频 | upload | 是 | file | 需要上传的音频文件,格式应为 wav 或 ogg。 | |
| 源角色 ID | original_id | 是 | int | 上传音频所使用的角色 ID。 | |
| 目标角色 ID | target_id | 是 | int | 转换目标角色的 ID。 |
HuBert-VITS
| 名称 | 参数 | 是否必填 | 默认值 | 类型 | 说明 |
|---|---|---|---|---|---|
| 上传音频 | upload | 是 | file | 需要上传的音频文件,格式应为 wav 或 ogg。 | |
| 目标发言人 ID | id | 是 | int | 目标发言人的 ID。 | |
| 音频格式 | format | 是 | str | 支持 wav、ogg、silk 等格式。 | |
| 音频长度 | length | 是 | float | 调整合成语音的长度,相当于调整语音的速度。数值越大,速度越慢。 | |
| 噪声 | noise | 是 | float | 样本噪声,用于控制合成的随机性。 | |
| sdp 噪声 | noisew | 是 | float | 随机持续时间预测器噪声,用于控制音素发音的长度。 |
W2V2-VITS
| 名称 | 参数 | 是否必填 | 默认值 | 类型 | 说明 |
|---|---|---|---|---|---|
| 合成文本 | text | 是 | str | 用于语音合成的文本。 | |
| 发声人ID | id | 否 | 来自 config.yaml |
int | 发声人的ID。 |
| 音频格式 | format | 否 | 来自 config.yaml |
str | 支持wav、ogg、silk、mp3、flac等格式。 |
| 文本语言 | lang | 否 | 来自 config.yaml |
str | 待合成文本的语言。可选值包括auto、zh、ja以及mix。当lang=mix时,文本需用[ZH]或[JA]括起来。默认模式为auto,即自动检测文本语言。 |
| 音频长度 | length | 否 | 来自 config.yaml |
float | 调整合成语音的长度,相当于调整语音的速度。数值越大,速度越慢。 |
| 噪声 | noise | 否 | 来自 config.yaml |
float | 样本噪声,用于控制合成的随机性。 |
| SDP噪声 | noisew | 否 | 来自 config.yaml |
float | 随机持续时间预测器噪声,用于控制音素发音的长度。 |
| 分段大小 | segment_size | 否 | 来自 config.yaml |
int | 按标点符号将文本划分为若干段落,当某段长度超过segment_size时合并为一段。若segment_size≤0,则不进行分段。 |
| 维度化情感 | emotion | 否 | 0 | int | 取值范围取决于npy格式的情感参考文件,例如innnky模型的all_emotions.npy文件,其取值范围为0–5457。 |
维度化情感
| 名称 | 参数 | 是否必填 | 默认值 | 类型 | 说明 |
|---|---|---|---|---|---|
| 上传音频 | upload | 是 | file | 返回存储维度化情感向量的npy文件。 |
Bert-VITS2
| 名称 | 参数 | 是否必填 | 默认值 | 类型 | 说明 |
|---|---|---|---|---|---|
| 合成文本 | text | 是 | str | 用于语音合成的文本。 | |
| 发声人ID | id | 否 | 来自 config.yaml |
int | 发声人的ID。 |
| 音频格式 | format | 否 | 来自 config.yaml |
str | 支持wav、ogg、silk、mp3、flac等格式。 |
| 文本语言 | lang | 否 | 来自 config.yaml |
str | “Auto”为自动语言检测模式,也是默认模式。但目前仅支持对整段文本进行语言检测,无法逐句区分语言。其他可用语言选项为“zh”和“ja”。 |
| 音频长度 | length | 否 | 来自 config.yaml |
float | 调整合成语音的长度,相当于调整语音的速度。数值越大,速度越慢。 |
| 噪声 | noise | 否 | 来自 config.yaml |
float | 样本噪声,用于控制合成的随机性。 |
| SDP噪声 | noisew | 否 | 来自 config.yaml |
float | 随机持续时间预测器噪声,用于控制音素发音的长度。 |
| 分段大小 | segment_size | 否 | 来自 config.yaml |
int | 按标点符号将文本划分为若干段落,当某段长度超过segment_size时合并为一段。若segment_size≤0,则不进行分段。 |
| SDP/DP混合比例 | sdp_ratio | 否 | 来自 config.yaml |
int | 合成过程中SDP的理论占比,比例越高,合成语音的音色变化越大。 |
| 情感 | emotion | 否 | 来自 config.yaml |
int | 适用于Bert-VITS2 v2.1,取值范围为0至9。 |
| 情感参考音频 | reference_audio | 否 | 无 | Bert-VITS2 v2.1利用参考音频来控制合成音频的情感。 | |
| 文本提示 | text_prompt | 否 | 来自 config.yaml |
str | Bert-VITS2 v2.2的文本提示,用于情感控制。 |
| 风格文本 | style_text | 否 | 来自 config.yaml |
str | Bert-VITS2 v2.3的文本提示,用于情感控制。 |
| 风格文本权重 | style_weight | 否 | 来自 config.yaml |
float | Bert-VITS2 v2.3的文本提示权重,用于提示加权。 |
| 流式响应 | streaming | 否 | false | bool | 提供流式合成语音,初始响应更快。 |
GPT-SoVITS 语音合成
| 名称 | 参数 | 是否必填 | 默认值 | 类型 | 使用说明 |
|---|---|---|---|---|---|
| 合成文本 | text | 是 | str | 需要进行语音合成的文本。 | |
| 发音人 ID | id | 否 | 来自 config.yaml |
int | 发音人 ID。在 GPT-SoVITS 中,每个模型都可视为一个发音人 ID,通过参考音频预设实现语音切换。 |
| 音频格式 | format | 否 | 来自 config.yaml |
str | 支持 wav、ogg、silk、mp3、flac 等格式。 |
| 文本语言 | lang | 否 | 来自 config.yaml |
str | “auto”为自动语言检测模式,也是默认模式。但目前仅支持对整段文本的语言进行识别,无法区分每句话的语言。 |
| 参考音频 | reference_audio | 否 | 无 | 参考音频为必填项,但可用预设替代。 | |
| 参考音频文本 | prompt_text | 否 | 来自 config.yaml |
float | 需与参考音频的实际文本保持一致。 |
| 参考音频语言 | prompt_lang | 否 | 来自 config.yaml |
str | 默认为 auto,即自动识别文本语言。若识别失败,则需手动填写,zh 表示中文,ja 表示日语,en 表示英语。 |
| 参考音频预设 | preset | 否 | 默认 | str | 用预设的参考音频替代原始参考音频,可设置多个预设。 |
SSML(语音合成标记语言)
支持的元素与属性
speak 元素
| 属性 | 使用说明 | 是否必填 |
|---|---|---|
| id | 默认值从 config.yaml 获取 |
否 |
| lang | 默认值从 config.yaml 获取 |
否 |
| length | 默认值从 config.yaml 获取 |
否 |
| noise | 默认值从 config.yaml 获取 |
否 |
| noisew | 默认值从 config.yaml 获取 |
否 |
| segment_size | 根据标点符号将文本切分为若干片段。当各片段长度之和超过 segment_size 时,视为一个整体。若 segment_size<=0,则不进行切分。默认值为 0。 |
否 |
| model_type | 默认为 VITS。可选:W2V2-VITS、BERT-VITS2 | 否 |
| emotion | 仅在使用 W2V2-VITS 时有效。取值范围取决于 npy 情感参考文件。 | 否 |
| sdp_ratio | 仅在使用 BERT-VITS2 时有效。 | 否 |
voice 元素
优先级高于 speak。
| 属性 | 使用说明 | 是否必填 |
|---|---|---|
| id | 默认值从 config.yaml 获取 |
否 |
| lang | 默认值从 config.yaml 获取 |
否 |
| length | 默认值从 config.yaml 获取 |
否 |
| noise | 默认值从 config.yaml 获取 |
否 |
| noisew | 默认值从 config.yaml 获取 |
否 |
| segment_size | 根据标点符号将文本切分为若干片段。当各片段长度之和超过 segment_size 时,视为一个整体。若 segment_size<=0,则不进行切分。默认值为 0。 |
否 |
| model_type | 默认为 VITS。可选:W2V2-VITS、BERT-VITS2 | 否 |
| emotion | 仅在使用 W2V2-VITS 时有效。取值范围取决于 npy 情感参考文件。 | 否 |
| sdp_ratio | 仅在使用 BERT-VITS2 时有效。 | 否 |
break 元素
| 属性 | 使用说明 | 是否必填 |
|---|---|---|
| strength | x-weak、weak、medium(默认)、strong、x-strong | 否 |
| time | 暂停的绝对持续时间,单位为秒(如 2s)或毫秒(如 500ms)。有效值范围为 0 至 5000 毫秒。若设置的值超过支持的最大值,服务将采用 5000ms。若同时设置了 time 属性,则忽略 strength 属性。 |
否 |
| 强度 | 相对持续时间 |
|---|---|
| x-weak | 250 毫秒 |
| weak | 500 毫秒 |
| medium | 750 毫秒 |
| strong | 1000 毫秒 |
| x-strong | 1250 毫秒 |
阅读
| 名称 | 参数 | 是否必填 | 默认值 | 类型 | 说明 |
|---|---|---|---|---|---|
| 合成文本 | text | 是 | str | 要合成语音的文本。 | |
| 对话模型类型 | in_model_type | 否 | 从 config.yaml 获取 |
str | |
| 对话ID | in_id | 否 | 从 config.yaml 获取 |
int | |
| 对话参考音频预设 | preset | 否 | default | str | 将参考音频替换为预设设置,可预先设置多个预设。 |
| 旁白模型类型 | nr_model_type | 否 | 从 config.yaml 获取 |
str | |
| 旁白ID | nr_id | 否 | 从 config.yaml 获取 |
int | |
| 旁白参考音频预设 | preset | 否 | default | str | 将参考音频替换为预设设置,可预先设置多个预设。 |
| 音频格式 | format | 否 | 从 config.yaml 获取 |
str | 支持 wav、ogg、silk、mp3、flac |
| 文本语言 | lang | 否 | 从 config.yaml 获取 |
str | 'auto' 表示自动检测语言模式,这也是默认模式。但目前仅支持识别整段文本的语言,无法区分每句话的语言。 |
| 参考音频预设 | preset | 否 | default | str | 将参考音频替换为预设设置,可预先设置多个预设。 |
模型的其他参数将使用 config.yaml 文件中对应模型的默认参数。
示例
请参见 api_test.py
交流
学习与交流,目前仅有中文 QQ 群
致谢
- vits:https://github.com/jaywalnut310/vits
- MoeGoe:https://github.com/CjangCjengh/MoeGoe
- emotional-vits:https://github.com/innnky/emotional-vits
- vits-uma-genshin-honkai:https://huggingface.co/spaces/zomehwh/vits-uma-genshin-honkai
- vits_chinese:https://github.com/PlayVoice/vits_chinese
- Bert_VITS2:https://github.com/fishaudio/Bert-VITS2
- GPT-SoVITS:https://github.com/RVC-Boss/GPT-SoVITS
感谢所有贡献者

版本历史
v0.6.162025/02/03v0.6.152025/01/25v0.6.142024/11/30v0.6.132024/11/11v0.6.122024/04/09v0.6.112024/03/25v0.6.102024/03/10v0.6.92024/02/14v0.6.82024/02/09v0.6.72024/02/01v0.6.62024/01/21v0.6.52024/01/09v0.6.42024/01/05v0.6.3.12024/01/04v0.6.32024/01/02v0.6.2.12024/01/02v0.6.22023/12/31v0.6.12023/12/25v0.6.02023/11/30v0.6.0-alpha.112023/11/22常见问题
相似工具推荐
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
NextChat
NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
ragflow
RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。
PaddleOCR
PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来,转换成计算机可读取的结构化数据,让机器真正“看懂”图文内容。 面对海量纸质或电子文档,PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域,它扮演着连接图像与大型语言模型(LLM)的桥梁角色,能将视觉信息直接转化为文本输入,助力智能问答、文档分析等应用场景落地。 PaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显:不仅支持全球 100 多种语言的识别,还能在 Windows、Linux、macOS 等多个系统上运行,并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目,PaddleOCR 既能满足快速集成的需求,也能支撑前沿的视觉语言研究,是处理文字识别任务的理想选择。
OpenHands
OpenHands 是一个专注于 AI 驱动开发的开源平台,旨在让智能体(Agent)像人类开发者一样理解、编写和调试代码。它解决了传统编程中重复性劳动多、环境配置复杂以及人机协作效率低等痛点,通过自动化流程显著提升开发速度。 无论是希望提升编码效率的软件工程师、探索智能体技术的研究人员,还是需要快速原型验证的技术团队,都能从中受益。OpenHands 提供了灵活多样的使用方式:既可以通过命令行(CLI)或本地图形界面在个人电脑上轻松上手,体验类似 Devin 的流畅交互;也能利用其强大的 Python SDK 自定义智能体逻辑,甚至在云端大规模部署上千个智能体并行工作。 其核心技术亮点在于模块化的软件智能体 SDK,这不仅构成了平台的引擎,还支持高度可组合的开发模式。此外,OpenHands 在 SWE-bench 基准测试中取得了 77.6% 的优异成绩,证明了其解决真实世界软件工程问题的能力。平台还具备完善的企业级功能,支持与 Slack、Jira 等工具集成,并提供细粒度的权限管理,适合从个人开发者到大型企业的各类用户场景。