ChatTTS:开源最强文本转真人语音工具

目录

1.前言        

2.详细介绍

2.1 什么是ChatTTS

2.2 项目地址:

2.3 应用特点:

3.如何安装和使用

3.1.谷歌colab

3.1.1.点击链接

3.1.2 进行保存

3.1.3 按照流程依次点击运行

3.1.4 填写自己需要转的文字

3.2 本地运行

3.2.1 下载或克隆项目源码到本地

3.2.2 安装相关依赖

 3.2.3 介绍用法

1.基本用法

2.高级用法

3.示例:自我介绍

3.2.4 用PyCharm打开项目文件

 3.2.5 运行测试代码,安装模型

 3.2.6 通过Webui的方式运行

3.3 直接exe文件使用

3. 总结


1.前言        

        也快到期末了,最近就基本不做别的事情,主要对期末进行复习和做自己喜欢的一些事情,下面是对自己发现的一个好玩的项目进行分享,如果不想太麻烦的话,直接看3.3有直接可以运行的版本进行使用.

2.详细介绍

2.1 什么是ChatTTS

        ChatTTS(Chat Text-to-Speech)是一种技术,它允许计算机程序将文本转换成口语,即语音输出。这种技术广泛应用于各种场景,比如语音助手、电子书阅读器、自动电话系统、辅助技术等。用户输入文本,ChatTTS系统会将这些文本转换成语音,然后通过扬声器播放出来,或者通过音频文件保存。这种转换通常涉及到语音合成技术,包括自然语言处理和语音合成引擎,使得生成的语音听起来尽可能自然和流畅。

2.2 项目地址:

目前项目已通过Github加速,在Gitee存在备份

ChatTTS:ChatTTS is a generative speech model for daily dialogue. - GitCodeicon-default.png?t=N7T8https://gitcode.com/2noise/ChatTTS/overview?utm_source=csdn_github_accelerator&isLogin=1

2noise/ChatTTS 在 upstract.com (github.com)icon-default.png?t=N7T8https://github.com/2noise/ChatTTS?ref=upstract.com

2.3 应用特点:

  1. 对话式优化:ChatTTS专注于对话式任务,确保合成语音的自然性和流畅性。
  2. 细粒度控制:支持对笑声、停顿和插入词等声音元素的精确操纵。
  3. 多说话人支持:能够模拟不同性别和风格的说话人,增加语音的多样性。
  4. 高效接口:提供简单易用的Python API,方便快速集成到现有项目中。
  5. 多语言支持:支持中文和英文,适用于多语言环境并满足不同语言用户的需求。
  6. 大规模数据训练:使用了大约10万小时的中文和英文数据进行训练,使得语音合成质量高,听起来自然。
  7. 开源:项目是开源的,鼓励进一步的研发与创新,并提供预训练模型。
  8. 易用性:只需要文本信息作为输入,就可以生成相应的语音文件,方便有语音合成需求的用户4。
  9. 对话任务兼容性:适合处理通常分配给大型语言模型(LLMs)的对话任务,提供更自然流畅的互动体验。
  10. 控制和安全性:致力于提高模型的可控性,添加水印,并将其与LLMs集成,确保模型的安全性和可靠性。

3.如何安装和使用

3.1.谷歌colab

         使用这个的话是傻瓜式,但是有限制条件,首先需要进行科学上网以及需要有谷歌账号,其次运行起来比较慢,经过测试第一次部署后,生成一段20多秒的语音大概需要10分钟左右

3.1.1.点击链接

点击进入后,登录谷歌账号

https://colab.research.google.com/drive/1_Ma1BXvIrYw9kO4UYsSG4GaFkttbS1wY?usp=sharing&pli=1#scrollTo=-NdpPWnIQb_qicon-default.png?t=N7T8https://colab.research.google.com/drive/1_Ma1BXvIrYw9kO4UYsSG4GaFkttbS1wY?usp=sharing&pli=1#scrollTo=-NdpPWnIQb_q

3.1.2 进行保存

首先进入后先进行Ctrl+S进行保存,留到自己的盘中

3.1.3 按照流程依次点击运行

接下来按照顺序进行点击运行,即可

在第二个安装依赖的运行时,会出现下面的重启会话,点击重启会话,然后再运行一次

然后继续按照顺序进行运行

3.1.4 填写自己需要转的文字

        到达这个运行窗口时,填入自己需要转换的文字写入,将其转换为语音,记住每次需要转换时都要运行这段代码,然后正常继续运行就可以了.

3.2 本地运行

        需要使Pycharm,需要Git或是将项目源码zip下载到本地

3.2.1 下载或克隆项目源码到本地

通过git进行克隆

2noise/ChatTTS 在 upstract.com (github.com)

下载zip推荐下面的这个,下载后是有-main的我把他去掉了;

ChatTTS:ChatTTS is a generative speech model for daily dialogue. - GitCode

3.2.2 安装相关依赖

        如下图所示,先切换到下载或是克隆的文件目录下,然后运行打开命令框,输入命令,等待安装,当然如果中间出现报错,可以自行百度解决,一般我这样安装时就会出错,但是测试的时候发现没出错,说明,目前依赖什么的还是很适配的不会出现什么问题.

PowerShell 7.4.2
cd D:\ChatTTS
pip install -r requirements.txt -i https://pypi.doubanio.com/simple/

 

 3.2.3 介绍用法

为什么要介绍用法呢,因为接下来会用到

1.基本用法
import ChatTTS
from IPython.display import Audio

chat = ChatTTS.Chat()
chat.load_models(compile=False) # Set to True for better performance

texts = ["PUT YOUR TEXT HERE",]

wavs = chat.infer(texts, )

torchaudio.save("output1.wav", torch.from_numpy(wavs[0]), 24000)
2.高级用法
###################################
# Sample a speaker from Gaussian.

rand_spk = chat.sample_random_speaker()

params_infer_code = {
  'spk_emb': rand_spk, # add sampled speaker 
  'temperature': .3, # using custom temperature
  'top_P': 0.7, # top P decode
  'top_K': 20, # top K decode
}

###################################
# For sentence level manual control.

# use oral_(0-9), laugh_(0-2), break_(0-7) 
# to generate special token in text to synthesize.
params_refine_text = {
  'prompt': '[oral_2][laugh_0][break_6]'
} 

wav = chat.infer(texts, params_refine_text=params_refine_text, params_infer_code=params_infer_code)

###################################
# For word level manual control.
text = 'What is [uv_break]your favorite english food?[laugh][lbreak]'
wav = chat.infer(text, skip_refine_text=True, params_refine_text=params_refine_text,  params_infer_code=params_infer_code)
torchaudio.save("output2.wav", torch.from_numpy(wavs[0]), 24000)
3.示例:自我介绍
inputs_en = """
chat T T S is a text to speech model designed for dialogue applications. 
[uv_break]it supports mixed language input [uv_break]and offers multi speaker 
capabilities with precise control over prosodic elements [laugh]like like 
[uv_break]laughter[laugh], [uv_break]pauses, [uv_break]and intonation. 
[uv_break]it delivers natural and expressive speech,[uv_break]so please
[uv_break] use the project responsibly at your own risk.[uv_break]
""".replace('\n', '') # English is still experimental.

params_refine_text = {
  'prompt': '[oral_2][laugh_0][break_4]'
} 
# audio_array_cn = chat.infer(inputs_cn, params_refine_text=params_refine_text)
audio_array_en = chat.infer(inputs_en, params_refine_text=params_refine_text)
torchaudio.save("output3.wav", torch.from_numpy(audio_array_en[0]), 24000)

3.2.4 用PyCharm打开项目文件

按照官方示例代码来一个test.py

import ChatTTS
from IPython.display import Audio

chat = ChatTTS.Chat()
chat.load_models()

texts = ["我是测试文本", "你好,世界!"]

wavs = chat.infer(texts, use_decoder=True)

Audio(wavs[0], rate=24_000, autoplay=True)

 3.2.5 运行测试代码,安装模型

然后进行运行或是python test.py进行运行都可以,运行后就会下载很多依赖项

 3.2.6 通过Webui的方式运行

推荐使用webui的方式来运行,界面如下

​git clone GitHub - cronrpc/ChatTTS-webui: TTS

然后安装依赖,依赖中少了一个gradio,需要单独安装

pip install -r requirements.txt -i https://pypi.doubanio.com/simple/

pip install gradio

然后运行python webui.py就可以打开界面进行使用了

3.3 直接exe文件使用

下面是佬对进行项目进行打包的版本,有不同win,linux使用的介绍以及一些报错的解决方案

Releases · jianchang512/ChatTTS-ui (github.com)icon-default.png?t=N7T8https://github.com/jianchang512/chatTTS-ui/releases

        通过网盘进行下载解压后,,在文件中找到exe文件,记得需要通过管理员运行,运行完成后会出现图所示的界面,代表成功

 一些基本的介绍在下面的图片中

3. 总结

        在学习过程中对于配置环境以及接触新知识是一件比较重要的事情,借着这个好玩的项目,重新对安装依赖进行一个回忆.

  • 31
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: Java开源语音文本是一种利用Java语言编写的开源软件,用于将语音内容换为可读的文本格式。在这种软件中,采用了一系列的语音信号处理和机器学习算法,能够实现高效准确地将语音音频换为文本。 Java开源语音文本的工作流程一般包括以下几个步骤:首先,将语音输入以音频流的形式传递给程序;接着,采用声音分析技术将音频流分割为语音片段;然后,将这些语音片段一段段地送到语音识别引擎中进行分析和识别;最后,将得到的识别结果输出为文本格式。 Java开源语音文本的优点在于它是开源的,意味着可以自由地获取和修改源代码,以满足个人或企业的需求。此外,由于Java语言具有跨平台特性,因此该软件可以在不同操作系统上运行,如Windows、Linux和Mac。同时,Java还具备良好的可扩展性和稳定性,能够处理大规模的语音数据,提供高质量的文本写服务。 Java开源语音文本在很多场景中都有广泛的应用。比如,在语音识别领域,它可以用于将语音录音换为文字,方便听障人士的阅读和理解。在智能助理和语音助手中,它可以用于将用户的语音指令化为文本命令,实现人机交互。此外,在语音翻译和语音搜索等领域,Java开源语音文本也能提供有价值的支持。 总之,Java开源语音文本是一种可靠高效的工具,可以将语音内容换为文本格式,为多个领域的应用提供便捷和灵活的解决方案。 ### 回答2: Java开源语音文本,首先要使用到Java的语音识别库。有一些开源库可以实现这一功能,如CMU Sphinx、Deepspeech等。 CMU Sphinx是一个流行的开源语音识别库,它支持多种语言和平台。它提供了一组Java API,可以用于开发语音识别应用程序。使用CMU Sphinx,可以通过录制音频文件或实时音频输入来进行语音文本。它使用训练好的模型来识别音频中的语音,并将其换为对应的文本。 Deepspeech是Mozilla开发的一个开源语音识别引擎。它基于深度学习技术,能够实现更高的准确率和更好的性能。Deepspeech提供了Java的API,可以在Java应用程序中集成语音文本功能。使用Deepspeech,可以将音频输入换为对应的文本。 要使用这些开源库进行语音文本,首先需要在Java项目中引入相应的库文件。然后,可以使用库提供的API来进行语音识别操作。首先,需要将音频输入换为库可接受的格式,如PCM格式。然后,调用库的识别函数,传入音频数据,等待返回识别结果。最后,将识别结果换为文本形式,并进行后续处理或展示。 总之,Java开源语音文本可以通过使用CMU Sphinx、Deepspeech等开源库来实现。这些库提供了丰富的API和功能,能够将音频输入换为对应的文本。使用这些库,可以在Java应用程序中集成语音文本功能,实现各种语音识别应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

XError_xiaoyu

你的支持,使我更好的创作

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值