UPDATE: whisper语音输入, 第一次会下载预训练模型,默认small,可在配置文件更改。接受前端录音base64,或输入//
指令开始录音(//
仅支持本地服务器)
GPT方面接入chatGPT和gpt3 api,有记忆连续对话,可切换接口
VITS方面详见表格,中英日韩自动tag读出
代码基于MoeGoe参考vits_with_chatgpt-gpt3、VITS-fast-fine-tuning,感谢各位大佬
Special Thanks to Arkueid, 感谢前端GUI以及后续更新
0.1 本项目仅含后端,需要前端图形界面(推荐 Live2DMascot)
pip install -r requirements.txt
OpenAI API Key: 自行注册或联系我
vctk依赖于espeak,不使用该模型可以略过
下载安装espeak-ng
添加环境变量
PHONEMIZER_ESPEAK_PATH “C:\Program Files\eSpeak NG” PHONEMIZER_ESPEAK_LIBRARY "C:\Program Files\eSpeak NG\libespeak-ng.dll"
或conda环境可以
conda env config vars set PHONEMIZER_ESPEAK_PATH=“C:\Program Files\eSpeak NG”` conda env config vars set PHONEMIZER_ESPEAK_LIBRARY="C:\Program Files\eSpeak NG\libespeak-ng.dll"
技术交流,严禁商用
包含角色等详情参见来源介绍及config文件
名称 | 音素 | 语言 | 来源 | 人 |
---|---|---|---|---|
vctk(base) | 英文音标 | en,zh | vits | 110 |
yuzu | 国际音标 | jp,zh | moegeo | 4 |
cjke | 国际音标 | jp,zh,en,kr | moegeo | 2890 |
uma87 | 罗马音 | jp | Plachta | 87 |
yumag | 国际音标 | zh,jp,en | Plachta | 147 |
humag | 国际音标 | zh,jp | sayashi | 804 |
声线需求可参考VITS-fast-fine-tuning 微调新模型
运行chat_server.py 与 前端
注意端口与前端一致
配置文件可以添加模型,更改默认配置
语音输入可接受前端发送base64的wav文件, 也可输入//
指令后本地录音
指令集,用于更改设定和执行一些简单功能,无需指令也可正常运行,运行后可随时输入指令
指令 | 作用 | 说明 | 示例 |
---|---|---|---|
/{model_name} | 更换vits模型 | 合法值见模型名称,默认yumag | /uma87 |
/{model_name}={speaker_id} | 更换vits模型同时指定说话人 | speaker_id合法值可通过/speakers查看 | /humag=328 |
/{speaker_id} | 指定当前模型说话人 | 同上 | /233 |
/speakers | 显示可用说话人和当前说话人 | - | - |
/models | 显示可用模型和当前模型 | - | - |
/{device} | 更换推理设备 | [cpu,cuda], 默认cuda | /cpu |
/name={str} | 设置对话AI名字 | 给你的幻想朋友起个名 | /name=MOSS |
/api={api}, /{api} | 更换对话API | api合法值[gpt3, chatGPT],默认chatGPT | /gpt3 |
/restart | 重启服务,重置设定 | - | - |
// | 语音输入开始录音 | 本地录音仅支持本地服务器 | - |
bug反馈可提交issue
- jaywalnut310/vits: VITS: Conditional Variational Autoencoder with Adversarial Learning for End-to-End Text-to-Speech
- CjangCjengh/MoeGoe: Executable file for VITS inference
- Paraworks/vits_with_chatgpt-gpt3
- w4123/vits: VITS: Conditional Variational Autoencoder with Adversarial Learning for End-to-End Text-to-Speech