接上文(GLM-4-Flash 大模型 API 免费了,手把手构建“儿童绘本”应用实战(附源码)),老牛同学通过 GLM-4-Flash 文生文和 CogView-3 文生图大模型,和大家一起编写了一个图文并茂的儿童绘本应用,并且以《黑神话·悟空》当前热门游戏为背景,做了一本名为《悟空探秘之旅》的儿童小绘本。
绘本我们是做好了,可是还得我们读给小朋友们听,老牛同学懒虫又犯了:能不能把绘本转换成音频,直接播放给小朋友们听(顺便我也跟着听听)?
这让老牛同学想到了之前写的关于ChatTTS详细介绍的文章:ChatTTS 开源文本转语音模型本地部署、API 使用和搭建 WebUI 界面(建议收藏)
老牛同学打开之前写的ChatTTS文章,发现有不少朋友的留言,包括:ChatTTS 的 API 更新了运行失败、模型文件下载不下跑不起来,希望老牛同学给打个包放到云盘等。这也不能怪 ChatTTS,都过去 2 个多月了,发布了新版也属正常,但是啥就不能兼容一下呢?
本着负责到底和解放自己的目的,老牛同学觉得完全有必要在重头部署一遍最新版的 ChatTTS,部署过程中发现有新坑,本文逐一破解:
- ChatTTS 研发环境配置
- ChatTTS 的 2 种方式部署和填坑,填坑过程老牛同学已经痛了一次,本文就不在赘述了,推荐使用第 2 种方式
- ChatTTS 最长生成30 秒音频,如何生成《悟空探秘之旅》小绘本3 分钟左右的音频?
实在忍不住,必须要剧透一下:本文末有限量的福利活动,这个福利老牛同学都喜欢,大家可以顺便参与一下(其实就是一本最近上市的看起来还不错却还没有看完的大模型的书)!
ChatTTS 配置 Python 研发环境
工欲善其事,必先利其器,我们通过Miniconda管理 Python 虚拟环境,Miniconda的安装和使用可以参考老牛同学之前的文章:大模型应用研发基础环境配置(Miniconda、Python、Jupyter Lab、Ollama 等)
# Python虚拟环境名:ChatTTS,版本号:3.10
conda create --name ChatTTS python=3.10 -y
# 激活虚拟环境
conda activate ChatTTS
接下来,我们克隆 ChatTTS 源代码,安装 Python 依赖包(目录:ChatTTS
):
# 克隆源代码
git clone https://github.com/2noise/ChatTTS ChatTTS
# 切换到源代码目录
cd ChatTTS
# 安装Python依赖包
pip install -r requirements.txt
# 安装ChatTTS包:以下2种方式任一一种即可
pip install -e .
# pip install git+https://github.com/2noise/ChatTTS
最后,我们还需要安装 2 个依赖,主要是文本合成音频文件,和音频文件合并(这是一个坑,老牛同学翻源代码解决):
pip install pysoundfile
pip install pydub
通过以上步骤,我们即完成了 ChatTTS 环境准备。接下来我们采用2 种方式在本地部署 ChatTTS 模型。
方式一:API 自动下载模型文件部署
自动下载模型文件的方式比较省事,唯一就是需要从 HF 下载文件,如果大家发现自己没有通畅的网络,那就直接跳过,采用方式二部署方式。
打开刚刚源代码目录ChatTTS
,直接运行 WebUI 程序,就会自动下载模型文件:
# 切换到源代码目录
cd ChatTTS
# 启动WebUI,API自动下载模型文件
python examples/web/webui.py
我们可以看到,ChatTTS API 自动下载模型文件:
模型文件下载完成,自动启动了我们之前熟悉的 WebUI 界面:
ChatTTS WebUI 的输入部分核心包括 2 个内容:
- 需要转换音频的文本内容,也就是我们“儿童绘本”故事内容
- 选择音色
Timbre
,里面有男声、女声、翘舌等 10 种不同的音色
点击那个长长的 Generate橙色按钮,即可开始根据文本合并音频,我们可以点击播放按钮在线播放音频,还可以把音频文件下载到本地磁盘。
如果你想把绘本的内容全部放进,那是行不通的,因为:ChatTTS 最多只能合并30 秒时长的音频。我们得抛弃 WebUI 界面,通过 API 生产音频。
方式二:手动下载模型文件部署和 API 使用(推荐)
如果方式一大家能够成功下载模型文件,且只是体验一下玩玩,且能正常启动 WebUI,那么老年同学建议就直接使用方式一了,因为它确实简单粗暴。
如果我们想使用 API 自动化的做一下事情,那么就用方式二吧:
【第一步: 下载模型文件到本地】
我们通过 Git 大文件系统下载模型文件(下载目录:ChatTTS-Model