ChatTTS-ui本地一键部署视频配音系统源码 影视解说视频必备工具

ChatTTS-ui是Github上一个开源项目,它提供一个简单的本地WebUI,直接使用ChatTTS将文字合成为语音,同时支持对外提供API接口。这个工具对影视解说一类的自媒体来说是非常实用的,而且还免费,唯一要付费的就是好用的显卡。

Windows版下载地址

v0.85完整包下载(2.7G含模型)

百度网盘下载: https://pan.baidu.com/s/1RntYLT6UNd8_ew2osy8d1A?pwd=by14

123网盘下载:https://www.123pan.com/s/03Sxjv-oEyB3.html

huggingface link: https://huggingface.co/spaces/mortimerme/s4/resolve/main/ChatTTS-UI-0.85.7z?download=true

v0.89升级补丁包下载(50M)

补丁包仅用于覆盖旧版本升级,不可独立使用,如果未下载过完整包,请先下载完整包并解压,然后再下载补丁包覆盖。

补丁包内含 app.exe.envtemplates .speaker文件夹,解压后将这些文件文件夹复制到旧版目录下覆盖同名。

升级补丁包下载地址: https://pan.baidu.com/s/18wx0cVoEKaENIfNMfu6NLA?pwd=yojr

Windows部署

  1. (1)从 上面给的地址下载压缩包,解压升级后双击 app.exe 即可使用
  2. (2)某些安全软件可能报毒,请退出或使用源码部署
  3. (3)英伟达显卡大于4G显存,并安装了CUDA11.8+后,将启用GPU加速

Linux下容器部署

安装

(1)拉取项目仓库

在任意路径下克隆项目,例如:

git clone https://github.com/jianchang512/ChatTTS-ui.git chat-tts-ui

(2)启动 Runner

进入到项目目录:

cd chat-tts-ui

启动容器并查看初始化日志:

gpu版本
docker compose -f docker-compose.gpu.yaml up -d 

cpu版本    
docker compose -f docker-compose.cpu.yaml up -d

docker compose logs -f --no-log-prefix

(3)访问 ChatTTS WebUI

启动:['0.0.0.0', '9966'],也即,访问部署设备的 IP:9966 即可,例如:

  • 本机:http://127.0.0.1:9966
  • 服务器: http://192.168.1.100:9966

更新

Get the latest code from the main branch:

git checkout main
git pull origin main

Go to the next step and update to the latest image:

docker compose down

gpu版本
docker compose -f docker-compose.gpu.yaml up -d --build

cpu版本
docker compose -f docker-compose.cpu.yaml up -d --build

docker compose logs -f --no-log-prefix

Linux下源码部署

(1)配置好 python3.9-3.11环境

(2)创建空目录 /data/chattts 执行命令 cd /data/chattts && git clone https://github.com/jianchang512/chatTTS-ui .

(3)创建虚拟环境 python3 -m venv venv

(4)激活虚拟环境 source ./venv/bin/activate

(5)安装依赖 pip3 install -r requirements.txt

(6)如果不需要CUDA加速,执行

pip3 install torch==2.2.0 torchaudio==2.2.0

如果需要CUDA加速,执行

pip install torch==2.2.0 torchaudio==2.2.0 --index-url https://download.pytorch.org/whl/cu118

pip install nvidia-cublas-cu11 nvidia-cudnn-cu11
	

另需安装 CUDA11.8+ ToolKit,请自行搜索安装方法 或参考 https://juejin.cn/post/7318704408727519270

除CUDA外,也可以使用AMD GPU进行加速,这需要安装ROCm和PyTorch_ROCm版本。AMG GPU借助ROCm,在PyTorch开箱即用,无需额外修改代码。

pip3 install torch==2.2.0  torchaudio==2.2.0 --index-url https://download.pytorch.org/whl/rocm6.0

安装完成后,可以通过rocm-smi命令来查看系统中的AMD GPU。也可以用以下Torch代码(query_gpu.py)来查询当前AMD GPU Device.

import torch

print(torch.__version__)

if torch.cuda.is_available():
    device = torch.device("cuda")          # a CUDA device object
    print('Using GPU:', torch.cuda.get_device_name(0))
else:
    device = torch.device("cpu")
    print('Using CPU')

torch.cuda.get_device_properties(0)

使用以上代码,以AMD Radeon Pro W7900为例,查询设备如下。


$ python ~/query_gpu.py

2.4.0.dev20240401+rocm6.0

Using GPU: AMD Radeon PRO W7900

(7)执行 python3 app.py 启动,将自动打开浏览器窗口,默认地址 http://127.0.0.1:9966 (注意:默认从 modelscope 魔塔下载模型,不可使用代理下载,请关闭代理)

MacOS下源码部署

配置好 python3.9-3.11 环境,安装git ,执行命令 brew install libsndfile git python@3.10 继续执行

export PATH="/usr/local/opt/python@3.10/bin:$PATH"

source ~/.bash_profile 

source ~/.zshrc

创建空目录 /data/chattts 执行命令 cd /data/chattts && git clone https://github.com/jianchang512/chatTTS-ui .

创建虚拟环境 python3 -m venv venv

激活虚拟环境 source ./venv/bin/activate

安装依赖 pip3 install -r requirements.txt

安装torch pip3 install torch==2.2.0 torchaudio==2.2.0

执行 python3 app.py 启动,将自动打开浏览器窗口,默认地址 http://127.0.0.1:9966 (注意:默认从 modelscope 魔塔下载模型,不可使用代理下载,请关闭代理)

Windows源码部署

  1. 下载python3.9-3.11,安装时注意选中Add Python to environment variables

  2. 下载并安装git,https://github.com/git-for-windows/git/releases/download/v2.45.1.windows.1/Git-2.45.1-64-bit.exe

  3. 创建空文件夹 D:/chattts 并进入,地址栏输入 cmd回车,在弹出的cmd窗口中执行命令 git clone https://github.com/jianchang512/chatTTS-ui .

  4. 创建虚拟环境,执行命令 python -m venv venv

  5. 激活虚拟环境,执行 .\venv\scripts\activate

  6. 安装依赖,执行 pip install -r requirements.txt

  7. 如果不需要CUDA加速,

    执行 pip install torch==2.2.0 torchaudio==2.2.0

    如果需要CUDA加速,执行

    pip install torch==2.2.0 torchaudio==2.2.0 --index-url https://download.pytorch.org/whl/cu118

    另需安装 CUDA11.8+ ToolKit,请自行搜索安装方法或参考 https://juejin.cn/post/7318704408727519270

  8. 执行 python app.py 启动,将自动打开浏览器窗口,默认地址 http://127.0.0.1:9966 (注意:默认从 modelscope 魔塔下载模型,不可使用代理下载,请关闭代理)

部署注意

  1. 如果GPU显存低于4G,将强制使用CPU。

  2. Windows或Linux下如果显存大于4G并且是英伟达显卡,但源码部署后仍使用CPU,可尝试先卸载torch再重装,卸载pip uninstall -y torch torchaudio , 重新安装cuda版torch。pip install torch==2.2.0 torchaudio==2.2.0 --index-url https://download.pytorch.org/whl/cu118 。必须已安装CUDA11.8+

  3. 注意 modelscope 仅允许中国大陆ip下载模型,如果遇到 proxy 类错误,请关闭代理。如果你希望从 huggingface.co 下载模型,请打开 app.py 查看大约第34行-50行的注释。


# 默认从 modelscope 下载模型,如果想从huggingface下载模型,请将以下3行注释掉
CHATTTS_DIR = snapshot_download('pzc163/chatTTS',cache_dir=MODEL_DIR)
chat = ChatTTS.Chat()
# 通过将 .env中 compile设为false,禁用推理优化. 其他为启用。一定情况下通过禁用,能提高GPU效率
chat.load_models(source="local",local_path=CHATTTS_DIR, compile=True if os.getenv('compile','true').lower()!='false' else False)

# 如果希望从 huggingface.co下载模型,将以下注释删掉。将上方3行内容注释掉

# import huggingface_hub
# os.environ['HF_HUB_CACHE']=MODEL_DIR
# os.environ['HF_ASSETS_CACHE']=MODEL_DIR
# CHATTTS_DIR = huggingface_hub.snapshot_download(cache_dir=MODEL_DIR,repo_id="2Noise/ChatTTS", allow_patterns=["*.pt", "*.yaml"])
# chat = ChatTTS.Chat()
# chat.load_models(source="local",local_path=CHATTTS_DIR, compile=True if os.getenv('compile','true').lower()!='false' else False)

修改http地址

默认地址是 http://127.0.0.1:9966,如果想修改,可打开目录下的 .env文件,将 WEB_ADDRESS=127.0.0.1:9966改为合适的ip和端口,比如修改为WEB_ADDRESS=192.168.0.10:9966以便局域网可访问

使用API请求 v0.5+

请求方法: POST

请求地址: http://127.0.0.1:9966/tts

请求参数:

  • text: str| 必须, 要合成语音的文字
  • voice: int| 可选,默认 2222, 决定音色的数字, 2222 | 7869 | 6653 | 4099 | 5099,可选其一,或者任意传入将随机使用音色
  • prompt: str| 可选,默认 空, 设定 笑声、停顿,例如 [oral_2][laugh_0][break_6]
  • temperature: float| 可选, 默认 0.3
  • top_p: float| 可选, 默认 0.7
  • top_k: int| 可选, 默认 20
  • skip_refine: int| 可选, 默认0, 1=跳过 refine text,0=不跳过
  • custom_voice: int| 可选, 默认0,自定义获取音色值时的种子值,需要大于0的整数,如果设置了则以此为准,将忽略 voice
  • is_split: int| 可选,默认 0, 1=将数字转为文本以便正确发音,0=保持不变

返回:json数据

成功返回: {code:0,msg:ok,audio_files:[dict1,dict2]}

  • 其中 audio_files 是字典数组,每个元素dict为 {filename:wav文件绝对路径,url:可下载的wav网址}

失败返回:

  • {code:1,msg:错误原因}

# API调用代码

import requests

res = requests.post('http://127.0.0.1:9966/tts', data={
  "text": "若不懂无需填写",
  "prompt": "",
  "voice": "3333",
  "temperature": 0.3,
  "top_p": 0.7,
  "top_k": 20,
  "skip_refine": 0,
  "custom_voice": 0,
  "is_split": 1
})
print(res.json())

#ok
{code:0, msg:'ok', audio_files:[{filename: E:/python/chattts/static/wavs/20240601-22_12_12-c7456293f7b5e4dfd3ff83bbd884a23e.wav, url: http://127.0.0.1:9966/static/wavs/20240601-22_12_12-c7456293f7b5e4dfd3ff83bbd884a23e.wav}]}

#error
{code:1, msg:"error"}


 

原文链接:https://vuesite.cn/42102.html,转载请注明出处。
0
显示验证码
没有账号?注册  忘记密码?