马上国庆节了,写了个小玩具给大伙耍耍。
众所周知,阿里开源的Cosyvoice文本转语音大模型的效果非常的不错,
我也把玩了很久
但苦于没有高性能的显卡(租的卡总有一种紧迫感,用得不舒坦 ),所以写了个纯CPU运行的版本。
相较于官方原版:
CPU推理时 原版 精简后
内存占用 4G+ 4G+
硬盘占用 20G+ 8.93G
速度相同 50s/it 50s/it
对于原版,做了以下处理:
1. 剔除不必要的Python环境依赖和模型文件,硬盘占用减少10G
2. 基于python:3.10-slim镜像(裸镜像仅43M大小),并且使用Docker打包,系统更轻量的同时,不会遇到安装报错、版本不兼容、网络错误等等等等问题,小白也能轻松部署。
3. 重写了WebUI,(原版UI仅供测试使用,并且解决了第一次生成时,无法获取音频的问题),步骤指导更清晰!
硬件要求:
- 物理内存推荐 8G,加swap缓存也能跑,但是慢。
- 硬盘剩余空间大于 10G
- 流量消耗大约 10G
- CPU在推理时,会满载95%+(注意vps商家有无限制)
好了,说了那么多,下面就是详细步骤了:
第一步:将下面内容保存为docker-compose.yml
[ol]services:
cov:
image: eureka6688/cosyvoice
container_name: cov
ports:
- "50000:50000"
command: ["python", "web.py", "--port", "50000"]
stdin_open: true
tty: true
restart: unless-stopped[/ol]复制代码
第二步:在保存docker-compose.yml的目录下运行以下命令
[ol]docker compose up -d[/ol]复制代码
等待10分钟,也许更久,就能够在 http://localhost:50000 访问到web服务界面了
没错,就这么简单!
接下来用nginx反代使用也好,ssh隧道转发到本地使用也可以,甚至可以直接打开防火墙50000端口,再通过公网IP+50000端口访问都没问题(注意网络安全!)