【自部署】TTS文本转语音大模型(docker一键使用)

马上国庆节了,写了个小玩具给大伙耍耍。 :grin:

众所周知,阿里开源的Cosyvoice文本转语音大模型的效果非常的不错 :+1:

我也把玩了很久 :palm_up_hand:

但苦于没有高性能的显卡 :flexed_biceps: (租的卡总有一种紧迫感,用得不舒坦 :hot_beverage: ),所以写了个纯CPU运行的版本 :bili_038:

相较于官方原版:

CPU推理时 原版 精简后
内存占用 4G+ 4G+
硬盘占用 20G+ 8.93G
速度相同 50s/it 50s/it

对于原版,做了以下处理:

  1. 剔除不必要的Python环境依赖和模型文件,硬盘占用减少10G
  2. 基于python:3.10-slim镜像(裸镜像仅43M大小),并且使用Docker打包,系统更轻量的同时,不会遇到安装报错、版本不兼容、网络错误等等等等问题,小白也能轻松部署。
  3. 重写了WebUI,(原版UI仅供测试使用,并且解决了第一次生成时,无法获取音频的问题),步骤指导更清晰!
  4. 新构建了arm镜像,arm处理器也能运行。

硬件要求:

  • 物理内存推荐 8G,不够的话再加swap缓存也能跑,但是慢。
  • 硬盘剩余空间大于 10G
  • 流量消耗大约 10G
  • CPU在推理时,会满载95%+(注意vps商家有无限制)

好了,说了那么多,下面就是详细步骤了:

第一步:将下面内容保存为docker-compose.yml

services:
  cov:
    image: eureka6688/cosyvoice:latest # arm架构请将“latest”替换成“arm”。
	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端口访问都没问题(注意网络安全!)

82 个赞

感谢分享。

2 个赞

打包自GitHub项目:GitHub - FunAudioLLM/CosyVoice: Multi-lingual large voice generation model, providing inference, training and deployment full-stack ability.

演示效果请移步:

3 个赞

不错,给小鸡试试

wow,好强,明天弄一个在小鸡上试试

我要去好好参考下代码,太厉害了佬 :face_with_monocle:

硅基不是有吗?速度还更快

很久以前用过硅基,只有默认音色,不能模拟其他人的声音,所以自己写了一个。。。现在不知道硅基支持了没有

可以了,不过需要认证

流量消耗10g??是用一次就要10g??

部署的时候要下载docker镜像和模型文件,部署好以后可以离线运行,不耗流量。

2 个赞

好玩的诶

那明天我也去试试硅门的

感谢佬的分享

码住想玩

有空搞一个试试

感谢佬分享!

1 个赞

太厉害了……

太厉害了大佬

收藏一下,国庆后 看看 :pleading_face:

感谢佬友分享 :folded_hands: