ChatTTS & WebUI
ChatTTS & WebUI

2025-03-26 09:26:52

154

本指导适用于在 TencentOS Server 3 上运行 ChatTTS & WebUI 应用框架,以 Docker 方式启动。

ChatTTS 环境准备

由于 ChatTTS 框架较新,目前还没有官方的 Docker 镜像。根据 ChatTTS 官方文档,可以通过 conda 来运行,因此我们将使用 Nvidia 的 PyTorch 镜像作为基础环境,该环境已经包含了运行 ChatTTS 所需的许多基础包。
1. 首先从 GitHub 下载 ChatTTS 开源仓库到本地。
git clone https://github.com/2noise/ChatTTScd ChatTTS
2. 启动 ChatTTS 容器。
docker run -it --gpus all -p 8080:8080 --name=chattts -e HF_ENDPOINT="https://hf-mirror.com" -v $PWD:/workspace nvcr.io/nvidia/pytorch:23.06-py3 /bin/bash
3. 在运行命令后,系统将开始下载 PyTorch 镜像。请确保您的网络环境良好,以便成功下载镜像的所有层。下载成功后,系统将自动进入容器内部。

安装必要的包

此时应在 /workspace 目录下,我们需要安装运行模型所需要的包。
1. 将 pip 换为国内清华源以加快下载速度。
#将pip换成清华源#设为默认,永久有效pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
2. 确保使用较新的 pip 包,并使用命令更新。
#更新pip包python3 -m pip install --upgrade pip
3. 安装必要的包。
pip install --upgrade -r requirements.txt
此时下载包的速度应该较快,请耐心等待下载结束。

运行模型

webui

1. ChatTTS 提供了 webui 服务以便可视化的运行模型,运行以下命令来启动 webui 服务:
python examples/web/webui.py
此时会开始下载模型,请耐心等待。
2. 模型下载完成后会启动 webui 服务,此时可以看到以下内容:
...[+0000 20240801 04:43:37] [INFO] ChatTTS | core | tokenizer loaded.[+0000 20240801 04:43:37] [INFO] ChatTTS | core | all models has been initialized. NeMo-text-processing :: INFO     :: Creating ClassifyFst grammars.2024-08-01 04:43:57,179 WETEXT INFO found existing fst: /usr/local/lib/python3.10/dist-packages/tn/zh_tn_tagger.fst2024-08-01 04:43:57,179 WETEXT INFO                     /usr/local/lib/python3.10/dist-packages/tn/zh_tn_verbalizer.fst2024-08-01 04:43:57,179 WETEXT INFO skip building fst for zh_normalizer ...[+0000 20240801 04:43:57] [INFO]  WebUI  | webui | Models loaded successfully.Running on local URL:  http://0.0.0.0:8080
3. 此时,在本地浏览器(非服务器端)中输入 http://(服务器公网IP):8080/,即可访问 ChatTTS Web UI 服务的界面。

说明:
当使用公网 IP 访问服务器服务时,请确保将服务器的8080端口添加到安全组中并放行,以便通过公网访问8080端口的服务。
如果不想通过公网访问,想在本地浏览器里输入http://localhost:8080/直接访问 webui 界面,请通过 VSCode 连接上服务器之后,在终端的 PORTS 新添加8080端口服务,再打开浏览器即可看到 webui 服务(因为 VSCode 也有端口转发的功能)。

4. 这里我们以网站给的例子:
四川美食确实以辣闻名,但也有不辣的选择。例如甜水面、赖汤圆、蛋烘糕、叶儿粑等,这些小吃口味温和,甜而不腻,也很受欢迎。
将这段话转为语音,单击 Generate 后耐心等待,生成语音结束后可以看到输出文本的语调变化以及语音的波形图。

5. 单击播放即可听到生成的语音。在容器里的 tmp/gradio 目录下也可以看到输出的语音文件。

命令行运行

1. 通过命令行也可以直接运行,输入以下命令:
python examples/cmd/run.py "ChatTTS是最好的文字转语音框架" "腾讯是全球最好的互联网企业之一"
2. 以下是文字转语音的两句话。输入后,模型将开始进行文字到语音的转换。运行结束后,您将看到以下内容:
...[+0000 20240801 08:00:40] [INFO] Command | run | Inference completed.[+0000 20240801 08:00:41] [INFO] Command | run | Audio saved to output_audio_0.mp3[+0000 20240801 08:00:41] [INFO] Command | run | Audio saved to output_audio_1.mp3[+0000 20240801 08:00:41] [INFO] Command | run | Audio generation successful.[+0000 20240801 08:00:41] [INFO] Command | run | ChatTTS process finished.
3. 在 ChatTTS 文件夹下,可以看到两个文件:output_audio_0.mp3output_audio_1.mp3,表示输出成功。

Python 文件运行

1. 首先安装 ChatTTS 库。
pip install ChatTTS
2. 接着,创建一个名为Demo的文件夹,在该文件夹中创建一个名为 basic_usage.py 的文件,并输入相应的代码。
mkdir Democd Demo
basic_usage.py 输入以下代码:
import ChatTTSimport torchimport torchaudiochat = ChatTTS.Chat()chat.load(compile=False) # Set to True for better performancetexts = ["上海拥有东方明珠,外滩,豫园等知名景点", "Tencent OS server is a stable and secure enterprise-class Linux"]wavs = chat.infer(texts)for i in range(len(wavs)):    torchaudio.save(f"basic_output{i}.wav", torch.from_numpy(wavs[i]), 24000)
3. 请运行以下代码:
python Demo/basic_usage.py
4. 运行完成后,您可以在 ChatTTS 文件夹中看到输出的语音文件 basic_output0.wavbasic_output1.wav,这表明模型已成功运行。


ChatTTS & WebUI
ChatTTS & WebUI
下一篇
关注我们
添加二维码咨询
上一篇
咨询
微信
立即与项目顾问通话
15013095105
您也可以咨询我们的在线客服或留下联系方式
信息保护中,请放心填写
关闭
微信扫码开通 可免费试用7天 快来扫码试试吧
已扫码
关闭