vits_yz / server /README.md
byzp's picture
-
40fac91
<div align="center">
# Vits_Yunzai_Plugin
**前后端分离**
[![访问量](https://profile-counter.glitch.me/Vits前后端分离/count.svg)](https://gitee.com/byzp/vits_yunzai_plugin)
</div>
> [原仓库](https://gitee.com/sumght/vits-yunzai-plugin)
> [引用的其他项目](https://github.com/svc-develop-team/so-vits-svc)
**虑到后端可能更注重速度,模型在内存常驻是更好的选择,所以本项目后端的内存占用比原仓库更多,至少需要2GB可用的RAM**
# client 前端
- 在Yunzai根目录执行以下命令即可
``` bash
git clone -b client --depth=1 https://gitee.com/byzp/vits_yunzai_plugin.git ./plugins/vits-yunzai-plugin/
```
- 安装 axios 依赖
``` js
pnpm install axios -w
```
- 修改 ./apps/genshinSpeak.js 的第十四行为可用地址
- 默认使用高清语音可直接发送
- 但电脑点击高清语音听不到声音
- 可开启标清语音([需要配置FFmpeg](https://gitee.com/sumght/vits-yunzai-plugin#ffmpeg%E9%85%8D%E7%BD%AE))
# server 后端
- 自行安装Python版本限制3.8-3.10
- [下载server分支](https://gitee.com/byzp/vits_yunzai_plugin/repository/archive/server.zip)随便放一个位置(不推荐放Yunzai目录内)
也可以克隆server分支到本地
``` bash
git clone -b server --depth=1 https://gitee.com/byzp/vits_yunzai_plugin.git
```
- 创建并激活venv虚拟环境(可跳过)
- 运行check.py检查依赖(需要在server目录运行,缺失会自动安装)
- [两个模型](https://www.123pan.com/s/YkmlVv-bhkg3.html)都放在./vits/models文件夹内,然后选择是否运行compress_model.py删除模型不必要的信息以节省内存,新模型被命名为ys.pth.1和bh3.pth.1(原模型含有继续训练所需的数据,除掉这部分的模型仅150MB)
- 安装内存分配器[google-perftools] (tcmalloc,仅用于linux,可跳过但推荐使用)
- 运行main.py(默认监听65432端口)
- 本地测试可使用curl发出请求
``` POST
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](https://gitee.com/byzp/vits_yunzai_plugin/tree/37aaa6d3c347c640917c558c334bb356355b2350/)提交开始,运行时模型常驻于内存,不必每次请求都从硬盘加载
- 若使用Linux运行server,且跳过了venv虚拟环境,请确保python -V命令存在,若不存在请执行
``` Python
alias python=python3
```
``` Python
ln -s /usr/bin/python3 /usr/bin/python
```
否则可能出现错误[python: command not found]