当前位置:   article > 正文

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

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 安装相关依赖

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

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

 

 3.2.3 介绍用法

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

1.基本用法
  1. import ChatTTS
  2. from IPython.display import Audio
  3. chat = ChatTTS.Chat()
  4. chat.load_models(compile=False) # Set to True for better performance
  5. texts = ["PUT YOUR TEXT HERE",]
  6. wavs = chat.infer(texts, )
  7. torchaudio.save("output1.wav", torch.from_numpy(wavs[0]), 24000)
2.高级用法
  1. ###################################
  2. # Sample a speaker from Gaussian.
  3. rand_spk = chat.sample_random_speaker()
  4. params_infer_code = {
  5. 'spk_emb': rand_spk, # add sampled speaker
  6. 'temperature': .3, # using custom temperature
  7. 'top_P': 0.7, # top P decode
  8. 'top_K': 20, # top K decode
  9. }
  10. ###################################
  11. # For sentence level manual control.
  12. # use oral_(0-9), laugh_(0-2), break_(0-7)
  13. # to generate special token in text to synthesize.
  14. params_refine_text = {
  15. 'prompt': '[oral_2][laugh_0][break_6]'
  16. }
  17. wav = chat.infer(texts, params_refine_text=params_refine_text, params_infer_code=params_infer_code)
  18. ###################################
  19. # For word level manual control.
  20. text = 'What is [uv_break]your favorite english food?[laugh][lbreak]'
  21. wav = chat.infer(text, skip_refine_text=True, params_refine_text=params_refine_text, params_infer_code=params_infer_code)
  22. torchaudio.save("output2.wav", torch.from_numpy(wavs[0]), 24000)
3.示例:自我介绍
  1. inputs_en = """
  2. chat T T S is a text to speech model designed for dialogue applications.
  3. [uv_break]it supports mixed language input [uv_break]and offers multi speaker
  4. capabilities with precise control over prosodic elements [laugh]like like
  5. [uv_break]laughter[laugh], [uv_break]pauses, [uv_break]and intonation.
  6. [uv_break]it delivers natural and expressive speech,[uv_break]so please
  7. [uv_break] use the project responsibly at your own risk.[uv_break]
  8. """.replace('\n', '') # English is still experimental.
  9. params_refine_text = {
  10. 'prompt': '[oral_2][laugh_0][break_4]'
  11. }
  12. # audio_array_cn = chat.infer(inputs_cn, params_refine_text=params_refine_text)
  13. audio_array_en = chat.infer(inputs_en, params_refine_text=params_refine_text)
  14. torchaudio.save("output3.wav", torch.from_numpy(audio_array_en[0]), 24000)

3.2.4 用PyCharm打开项目文件

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

  1. import ChatTTS
  2. from IPython.display import Audio
  3. chat = ChatTTS.Chat()
  4. chat.load_models()
  5. texts = ["我是测试文本", "你好,世界!"]
  6. wavs = chat.infer(texts, use_decoder=True)
  7. Audio(wavs[0], rate=24_000, autoplay=True)

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

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

 3.2.6 通过Webui的方式运行

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

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

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

  1. pip install -r requirements.txt -i https://pypi.doubanio.com/simple/
  2. 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. 总结

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/720594
推荐阅读
相关标签
  

闽ICP备14008679号