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