【手把手教学】最新ChatTTS语音合成项目使用指南【附所有源码与模型】

简介: 【手把手教学】最新ChatTTS语音合成项目使用指南【附所有源码与模型】


引言

这几天看到ChatTTS语音合成项目貌似很火爆,就抽空体验了一下,整体感觉语音还是比较自然的,不过整个项目说明比较简单,没有给出更详细的使用方法。比如如何控制音色,选择固定人声等,希望后面能够更加完善。

本文详细介绍了ChatTTS项目的基本使用步骤与方法,我在使用过程中遇到了一些坑,都替小伙伴们提前解决了。本文提供的所有项目源码、模型文件和示例代码等内容,只需配置好环境既可体验。所有文件获取方式见文末。

ChatTTS简介

ChatTTS是专门为对话场景设计的文本转语音模型。它支持英文和中文两种语言。最大的模型使用了10万小时以上的中英文数据进行训练。在HuggingFace中开源的版本为4万小时训练且未SFT的版本。

项目亮点

对话式 TTS: ChatTTS针对对话式任务进行了优化,实现了自然流畅的语音合成,同时支持多说话人。

细粒度控制: 该模型能够预测和控制细粒度的韵律特征,包括笑声、停顿和插入词等。

更好的韵律: ChatTTS在韵律方面超越了大部分开源TTS模型。同时提供预训练模型,支持进一步的研究。

下载源码

源码地址:https://github.com/2noise/ChatTTS

下载源码后解压如下:

环境配置

使用conda 创建虚拟环境配置【输入安装命令前,需进入到项目目下】。命令如下:

conda create -n ChatTTS python=3.9   # 创建新的虚拟环境
source activate ChatTTS       # 激活新建的虚拟环境
pip install -r requirements.txt  #安装项目需要的库

项目使用步骤

导入需要的库

import ChatTTS
from wave import Wave_write
import numpy as np

加载模型

这里需要自行修改base_path 的路径,改成你自己的项目路径:

base_path = r'D:\1MyShare\VoiceProgram\ChatTTS-main\ChatTTS-main\ChatTTS'
chat = ChatTTS.Chat()
chat.load_models(source='local',local_path=base_path)

模型推理

# 输入文本
inputs = """大家好,我是阿旭。专注于python、机器学习及人工智能等相关技术分享,感谢大家的点赞关注"""
# 笑声、停顿等按需要添加的输入文本中具体位置
params_refine_text = {
  'prompt': '[oral_2][laugh_0][break_4]'
}
wavs = chat.infer(inputs, params_refine_text=params_refine_text)[0]

语音保存

将结果保存到test4.wav文件中:

sample_rate = 24000
# 转换数据类型并调整到合适的范围
# audio_data_rescaled = (wavs * 32767).astype(np.int16).flatten()
audio_data_rescaled = (wavs * 28000).astype(np.int16).flatten()
# 创建并打开一个wav文件用于写入
with Wave_write('test4.wav') as wave_file:
    wave_file.setparams((1, 2, sample_rate, len(audio_data_rescaled), 'NONE', 'not compressed'))
    wave_file.writeframes(audio_data_rescaled.tobytes())

相关文章
|
算法 语音技术
基于MFCC特征提取和HMM模型的语音合成算法matlab仿真
基于MFCC特征提取和HMM模型的语音合成算法matlab仿真
|
5天前
|
人工智能 数据处理 语音技术
LatentLM:微软联合清华大学推出的多模态生成模型,能够统一处理和生成图像、文本、音频和语音合成
LatentLM是由微软研究院和清华大学联合推出的多模态生成模型,能够统一处理离散和连续数据,具备高性能图像生成、多模态大型语言模型集成等功能,展现出卓越的多模态任务处理能力。
61 29
LatentLM:微软联合清华大学推出的多模态生成模型,能够统一处理和生成图像、文本、音频和语音合成
|
14天前
|
机器学习/深度学习 人工智能 Linux
Fish Speech 1.5:Fish Audio 推出的零样本语音合成模型,支持13种语言
Fish Speech 1.5 是由 Fish Audio 推出的先进文本到语音(TTS)模型,支持13种语言,具备零样本和少样本语音合成能力,语音克隆延迟时间不到150毫秒。该模型基于深度学习技术如Transformer、VITS、VQVAE和GPT,具有高度准确性和快速合成能力,适用于多种应用场景。
83 3
Fish Speech 1.5:Fish Audio 推出的零样本语音合成模型,支持13种语言
|
4月前
|
自然语言处理 语音技术 开发者
ChatTTS超真实自然的语音合成模型
ChatTTS超真实自然的语音合成模型
150 3
|
5月前
|
机器学习/深度学习 TensorFlow 语音技术
使用Python实现深度学习模型:语音合成与语音转换
【7月更文挑战第19天】 使用Python实现深度学习模型:语音合成与语音转换
115 1
|
7月前
|
自然语言处理 文字识别 Linux
ModelScope运行语音合成模型的官网代码示例报错如何解决
ModelScope模型报错是指在使用ModelScope平台进行模型训练或部署时遇到的错误和问题;本合集将收集ModelScope模型报错的常见情况和排查方法,帮助用户快速定位问题并采取有效措施。
195 0
|
7月前
|
自然语言处理 搜索推荐 PyTorch
ModelScope问题之NoteBook训练个性化语音合成模型报错如何解决
ModelScope训练是指在ModelScope平台上对机器学习模型进行训练的活动;本合集将介绍ModelScope训练流程、模型优化技巧和训练过程中的常见问题解决方法。
108 0
|
7月前
|
监控 语音技术 异构计算
使用开源的模型(像speech_sambert-hifigan_tts_zhida_zh-cn_16k)进行语音合成任务的推理时,推理速度太慢了,500字大约需要1分钟,为什么会这么慢
使用开源的模型(像speech_sambert-hifigan_tts_zhida_zh-cn_16k)进行语音合成任务的推理时,推理速度太慢了,500字大约需要1分钟,为什么会这么慢
590 2
|
7月前
|
JSON Java 语音技术
【Android App】实现在线语音合成功能(使用云知声平台和WebSocket 超详细 附源码)
【Android App】实现在线语音合成功能(使用云知声平台和WebSocket 超详细 附源码)
267 0
|
机器学习/深度学习 人工智能 自然语言处理
Tacotron2、GST、Glow-TTS、Flow-TTS…你都掌握了吗?一文总结语音合成必备经典模型(四)
Tacotron2、GST、Glow-TTS、Flow-TTS…你都掌握了吗?一文总结语音合成必备经典模型
1219 0

热门文章

最新文章

下一篇
DataWorks