ChatTTS本地部署安装与使用

AI技术分享2年前更新 AIGC吧
7,843 0

1、从 GitHub 克隆代码

git clone https://github.com/2noise/ChatTTS.git

2、安装依赖:

pip install -r requirements.txt

3、快速开始

导入必要的库:

import ChatTTS
from IPython.display import Audio
import torchaudio

初始化 ChatTTS:

chat = ChatTTS.Chat()
chat.load_models(compile=False) # 设置为 True 以获得更快的性能

准备文本:

texts = [“Hello, welcome to ChatTTS!”]

生成语音:

wavs = chat.infer(texts, use_decoder=True)
torchaudio.save(“output.wav”, torch.from_numpy(wavs[0]), 24000)
Audio(wavs[0], rate=24000, autoplay=True)

进阶用法

随机采样说话人

rand_spk = chat.sample_random_speaker()
params_infer_code = {‘spk_emb’: rand_spk, ‘temperature’: 0.3, ‘top_P’: 0.7, ‘top_K’: 20}
wavs = chat.infer(texts, params_infer_code=params_infer_code)

手动控制句子级别的韵律

params_refine_text = {‘prompt’: ‘[oral_2][laugh_0][break_6]’}
wavs = chat.infer(texts, params_refine_text=params_refine_text, params_infer_code=params_infer_code)

完整示例代码

import torch
import ChatTTS
from IPython.display import Audio
import torchaudio

# 初始化 ChatTTS
chat = ChatTTS.Chat()
chat.load_models()

# 定义文本
texts = [“Hello, welcome to ChatTTS!”]

# 生成语音
wavs = chat.infer(texts, use_decoder=True)

# 保存生成的语音
torchaudio.save(“output.wav”, torch.from_numpy(wavs[0]), 24000)

# 播放生成的语音
Audio(wavs[0], rate=24000, autoplay=True)

 

 

© 版权声明

相关文章

暂无评论

none
暂无评论...

Fatal error: Uncaught TypeError: Cannot access offset of type string on string in /www/wwwroot/aigcba.com/wp-content/themes/onenav/inc/functions/io-search.php:442 Stack trace: #0 /www/wwwroot/aigcba.com/wp-content/themes/onenav/inc/functions/io-footer.php(374): io_search_body_html() #1 /www/wwwroot/aigcba.com/wp-content/themes/onenav/inc/functions/io-footer.php(336): io_nav_search_html() #2 /www/wwwroot/aigcba.com/wp-includes/class-wp-hook.php(353): io_get_footer_content() #3 /www/wwwroot/aigcba.com/wp-includes/class-wp-hook.php(377): WP_Hook->apply_filters() #4 /www/wwwroot/aigcba.com/wp-includes/plugin.php(523): WP_Hook->do_action() #5 /www/wwwroot/aigcba.com/wp-includes/general-template.php(3457): do_action() #6 /www/wwwroot/aigcba.com/wp-content/themes/onenav/footer.php(41): wp_footer() #7 /www/wwwroot/aigcba.com/wp-includes/template.php(880): require_once('...') #8 /www/wwwroot/aigcba.com/wp-includes/template.php(815): load_template() #9 /www/wwwroot/aigcba.com/wp-includes/general-template.php(92): locate_template() #10 /www/wwwroot/aigcba.com/wp-content/themes/onenav/single.php(49): get_footer() #11 /www/wwwroot/aigcba.com/wp-includes/template-loader.php(132): include('...') #12 /www/wwwroot/aigcba.com/wp-blog-header.php(19): require_once('...') #13 /www/wwwroot/aigcba.com/index.php(17): require('...') #14 {main} thrown in /www/wwwroot/aigcba.com/wp-content/themes/onenav/inc/functions/io-search.php on line 442