虑到后端可能更注重速度,模型在内存常驻是更好的选择,所以本项目后端的内存占用比原仓库更多,至少需要2GB可用的RAM
client 前端
- 在Yunzai根目录执行以下命令即可
git clone -b client --depth=1 https://gitee.com/byzp/vits_yunzai_plugin.git ./plugins/vits-yunzai-plugin/
- 安装 axios 依赖
pnpm install axios -w
修改 ./apps/genshinSpeak.js 的第十四行为可用地址
默认使用高清语音可直接发送
但电脑点击高清语音听不到声音
可开启标清语音(需要配置FFmpeg)
server 后端
- 自行安装Python版本限制3.8-3.10
- 下载server分支随便放一个位置(不推荐放Yunzai目录内)
也可以克隆server分支到本地
git clone -b server --depth=1 https://gitee.com/byzp/vits_yunzai_plugin.git
- 创建并激活venv虚拟环境(可跳过)
- 运行check.py检查依赖(需要在server目录运行,缺失会自动安装)
- 两个模型都放在./vits/models文件夹内,然后选择是否运行compress_model.py删除模型不必要的信息以节省内存,新模型被命名为ys.pth.1和bh3.pth.1(原模型含有继续训练所需的数据,除掉这部分的模型仅150MB)
- 安装内存分配器[google-perftools] (tcmalloc,仅用于linux,可跳过但推荐使用)
- 运行main.py(默认监听65432端口)
- 本地测试可使用curl发出请求
curl -X POST -H "Content-Type: application/json" -d '{"command": "python ./vits/run_new.py --text=你好 --character=0"}' -o a.wav http://127.0.0.1:65432/vits/
注意事项
- 已在ubuntu 22.04 20.04 x86_64通过测试
- 注意Python版本不可超过3.10也不可低于3.8
- 从37aaa6d3c347c640917c558c334bb356355b2350提交开始,运行时模型常驻于内存,不必每次请求都从硬盘加载
- 若使用Linux运行server,且跳过了venv虚拟环境,请确保python -V命令存在,若不存在请执行
alias python=python3
或
ln -s /usr/bin/python3 /usr/bin/python
否则可能出现错误[python: command not found]