ChatTTS真人文本转语音模型,富有韵律与情感,且免费开源

智能也得细细瞧 2024-06-21 12:02:16

上期图文教程,我们分享了,但是微软的TTS模型只有针对新用户免费一年,其他用户都是收费的,虽然微软开源了部分TTS的功能,但是针对真人类似的富有情感的TTS模型并没有进行开源,本期介绍的ChatTTS是一个开源的真人转语音模型。

ChatTTS简介

ChatTTS是专门为对话场景设计的文本转语音模型,例如LLM助手对话任务。它支持英文和中文两种语言。最大的模型使用了10万小时以上的中英文数据进行训练。ChatTTS是一款强大的对话式文本转语音模型。它有中英混读和多说话人的能力。ChatTTS不仅能够生成自然流畅的语音,还能控制笑声,停顿,语气词啊等副语言现象。这个韵律超越了许多开源模型,首先听一段模型自动生成的语音。

对话式 TTS: ChatTTS针对对话式任务进行了优化,实现了自然流畅的语音合成,同时支持多说话人。细粒度控制: 该模型能够预测和控制细粒度的韵律特征,包括笑声、停顿和插入词等。更好的韵律: ChatTTS在韵律方面超越了大部分开源TTS模型。同时提供预训练模型,支持进一步的研究。

ChatTTS是一个开源模型,可以根据开源代码进行文本转语音的生成,当然,hugging face上也有开源的在线网页,直接免去了代码的部署,在线就可以生成高质量的语音。

ChatTTS使用

ChatTTS是一个开源的模型,可以直接使用官方提供的代码进行文本转语音的生成。首先需要复制ChatTTS整个GitHub仓,并在ChatTTS文件夹下安装需要的第三方模型。当然ChatTTS基于pytorch,确保自己电脑有GPU版本的torch库。

!git clone -q https://github.com/2noise/ChatTTS%cd ChatTTS!pip install -q omegaconf vocos vector_quantize_pytorch gradio cn2an pypinyin WeTextProcessing

安装完成后,便可以输入如下代码加载模型。代码第一次执行时,会自动下载相关的预训练模型,等待下载完成后,就可以生成语音了。

import torchtorch._dynamo.config.cache_size_limit = 64torch._dynamo.config.suppress_errors = Truetorch.set_float32_matmul_precision('high')import ChatTTSfrom IPython.display import Audiochat = ChatTTS.Chat()chat.load_models()

ChatTTS支持语音速度的调整,停顿的选择以及添加笑声等等,代码可以直接输入文本,让模型自动添加对应的停顿以及笑声关键词即可,也可以自行添加其关键词。

params_infer_code = {'prompt':'[speed_5]', 'temperature':.3}params_refine_text = {'prompt':'[oral_2][laugh_0][break_6]'}wav = chat.infer('四川美食可多了,有麻辣火锅、宫保鸡丁、麻婆豆腐、担担面、回锅肉、夫妻肺片等,每样都让人垂涎三尺。', \ params_refine_text=params_refine_text, params_infer_code=params_infer_code)Audio(wav[0], rate=24_000, autoplay=True)

基于ChatTTS的开源代码搭建了网页部署版本,可以直接在Google cloab 或者本地运行。

!git clone -q https://github.com/6drf21e/ChatTTS_colab%cd ChatTTS_colab!git clone -q https://github.com/2noise/ChatTTS%cd ChatTTS!git checkout -q f4c8329%cd ..!mv ChatTTS abc!mv abc/ChatTTS ./ChatTTS!pip install -q omegaconf vocos vector_quantize_pytorch gradio cn2an pypinyin openai jieba WeTextProcessing# 启动 Gradio 有公网地址!python webui_mix.py --share

执行以上代码后,模型会自动下载,并部署网页版本ChatTTS,等待部署完成,直接打开公共链接即可。

INFO:httpx:HTTP Request: GET https://api.gradio.app/pkg-version "HTTP/1.1 200 OK"INFO:httpx:HTTP Request: GET https://checkip.amazonaws.com/ "HTTP/1.1 200 "Running on local URL: http://127.0.0.1:7860INFO:httpx:HTTP Request: GET http://127.0.0.1:7860/startup-events "HTTP/1.1 200 OK"INFO:httpx:HTTP Request: HEAD http://127.0.0.1:7860/ "HTTP/1.1 200 OK"INFO:httpx:HTTP Request: GET https://api.gradio.app/v2/tunnel-request "HTTP/1.1 200 OK"Running on public URL: https://054d1298c1303e0370.gradio.live

此项目不仅使用了ChatTTS进行文本转语音,且提供了OpenAI的ChatGPT的接口,可以利用提示词生成短篇小说,并自动生成音频小说,且支持长语音生成与多角色语音生成,一篇文本小说有声读物就可以诞生啦。

当然hugging face也部署了网页版本的ChatTTS,不喜欢代码部署的小伙伴可以直接在hugging face上面体验ChatTTS的功能。整体体验下来,还是不错的,直接输入自己的文本,生成的音频,让别人去听,很难区分是合成的音频。

https://huggingface.co/spaces/Dzkaka/ChatTTShttps://github.com/2noise/ChatTTS/blob/main/README_CN.mdhttps://github.com/6drf21e/ChatTTS_colab?tab=readme-ov-file
0 阅读:0

智能也得细细瞧

简介:感谢大家的关注