ChatTTS使用demo示例(包含长文本生成语音、固定音色pt文件)
一、配置开发环境
安装anaconda,安装参考文章:https://blog.youkuaiyun.com/Q_fairy/article/details/129158178
建议anaconda最新版:
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2024.06-1-Windows-x86_64.exe
pycharm 配置 anaconda 自行百度
Windows打开CMD命令时候,必须使用administrator管理员身份,切记切记!!!如果运行 conda activate ChatTTS 报错,关闭并重新administer管理员身份打开CMD,输入 conda init --system --all 尝试!!!
anaconda 的 Python虚拟环境名:ChatTTS,版本号:3.10
conda create --name ChatTTS python=3.10 -y
激活虚拟环境
#Windows打开CMD命令时候,必须使用administrator管理员身份,切记切记!!!如果运行 conda activate ChatTTS 报错,关闭并重新administer管理员身份打开CMD,输入 conda init --system --all 尝试
conda activate ChatTTS
克隆源代码
git clone https://github.com/2noise/ChatTTS
切换到源代码目录
cd ChatTTS
安装Python依赖包
# 超时报错,反复执行重试
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
安装ChatTTS包:以下2种方式任一一种即可
pip install -e .
## pip install git+https://github.com/2noise/ChatTTS
最后,我们还需要安装 2 个依赖,主要是文本合成音频文件,不支持阿拉伯数字(这是一个坑):
pip install pysoundfile -i https://pypi.tuna.tsinghua.edu.cn/simple
conda install -c conda-forge pynini=2.1.5 && pip install WeTextProcessing==1.0.2 -i https://pypi.tuna.tsinghua.edu.cn/simple
运行demo
# 创建文件夹 ChatTTS\examples\hsj 并创建文件 test_001.py
# 第一次运行会下载模型文件到当前目录ChatTTS\examples\hsj\asset(asset目录没有会自动创建),花费时间稍长,请耐心等待
cd ChatTTS\examples\hsj
python test_001.py
如果你的电脑GPU很吊,要测GPU模式,只需要找到:
torch.load("./seed_1065_restored_emb.pt", map_location=torch.device('cpu'), weights_only=True)
换成:
torch.load("./seed_1065_restored_emb.pt")
二、编写测试代码:test_001.py
import ChatTTS
import torch
import torchaudio
import numpy as np
from tools.normalizer import normalizer_zh_tn
'''
开源项目地址:https://github.com/2noise/ChatTTS
ChatTTS使用demo示例(包含长文本生成语音、固定音色pt文件)
由于电脑不才,无法GPU运行,故使用CPU方式加载音色pt文件运行测试
seed_1649_restored_emb.pt文件见附件
'''
###################################################################################################
# 初始化ChatTTS
chat = ChatTTS.Chat()
chat.load(compile=False) # Set to True for better performance
###################################################################################################
# 短文本,单个30秒内
# texts = ["""
# 《呐喊》是现代文学家鲁迅的短篇小说集,收录鲁迅于1918年至1922年所作的14篇短篇小说,1923年由北京新潮社出版,现编入《鲁迅全集》第1卷。
# 小说集真实地描绘了从辛亥革命到五四运动时期的社会生活.
# 从革命民主主义出发,抱着启蒙主义目的和人道主义精神,揭示了种种深层次的社会矛盾,
# 表现出对民族生存浓重的忧患意识和对社会变革的强烈希望。
# """]
###################################################################################################
# 长文本,多个短文本合成
# 每一行建议384字以内
# texts = """
# 《呐喊》是现代文学家鲁迅的短篇小说集,收录鲁迅于1918年至1922年所作的14篇短篇小说,1923年由北京新潮社出版,现编入《鲁迅全集》第1卷。
# 小说集真实地描绘了从辛亥革命到五四运动时期的社会生活。
# 从革命民主主义出发,抱着启蒙主义目的和人道主义精神,揭示了种种深层次的社会矛盾。
# 表现出对民族生存浓重的忧患意识和对社会变革的强烈希望。
# 《呐喊》是中国现代小说的开端与成熟的标志,开创了现代现实主义文学的先河。
# 作品通过写实主义、象征主义、浪漫主义等多种手法,
# 以传神的笔触和“画眼睛”、“写灵魂”的艺术技巧,
# 形象生动地塑造了狂人、孔乙己、阿Q等一批不朽的艺术形象,
# 深刻反映了19世纪末到20世纪20年代间中国社会生活的现状,
# 有力揭露和鞭挞了封建旧恶势力,表达了作者渴望变革,为时代呐喊,希望唤醒国民的思想。
# 奠定了鲁迅在中国现代文学史和现代文化史上的地位。
# 1985年,日本出版的50卷本《世界最高杰作》,中国仅有《呐喊》与《论语》被收入;
# 1999年6月,《呐喊》被《亚洲周刊》评选为20世纪中文小说100强之首。
# """
# texts = """
# 关于春节的神话故事。我是主播:老鼠喜欢捉小花猫。
#
# 嗯!好啦,到这里就结束了啦,我是老鼠喜欢捉小花猫,欢迎您关注我啦!
# """
texts = """
10位文学大师笔下的母亲,我是主播:老鼠喜欢捉小花猫,欢迎订阅喔。
1,杨绛《回忆我的母亲》
“我们的妈妈从此没有了”
我妈妈忠厚老实,绝不敏捷。
如果受了欺侮,她往往并不感觉,事后才明白,“哦,她(或他)在笑我”或“哦,他(或她)在骂我”。
但是她从不计较,不久都忘了。她心胸宽大,不念旧恶,所以能和任何人都和好相处,一辈子没一个冤家。
妈妈并不笨,该说她很聪明。她出身富商家,家里也请女先生教读书。
她不但新旧小说都能看,还擅长女红。我出生那年,爸爸为她买了一台胜家名牌的缝衣机。
她买了衣料自己裁,自己缝,在缝衣机上缝,一会儿就做出一套衣裤。
妈妈缝纫之余, 常爱看看小说,旧小说如《缀白裘》,她看得吃吃地笑。
看新小说也能领会各作家的风格,例如看了苏梅的《棘心》。
又读她的《绿天》,就对我说:“她怎么学着苏