ChatTTS 中文文档 下载 App

ChatTTS.Chat 类方法详解——load、infer、sample_random_speaker

Chat 类概览

import ChatTTS
chat = ChatTTS.Chat()

Chat 类是 ChatTTS 唯一的顶层入口——模型加载、推理、说话人采样都从它出发。

load(compile=False, device=None, source=None, custom_path=None)

加载模型权重。推荐的现代 API。

参数类型默认值说明
compileboolFalse是否启用 torch.compile 加速
devicestr / int / NoneNone设备选择:'cuda'、'cpu'、GPU 编号
sourcestr / NoneNone'hf' HuggingFace、'modelscope' 国内源、'custom' 自定义路径
custom_pathstr / NoneNonesource='custom' 时指定本地模型目录

load_models(compile=False)

旧 API,兼容早期代码。功能等价于 load(compile=compile),但不支持 device / source / custom_path 参数。

infer(texts, params_refine_text=None, params_infer_code=None, skip_refine_text=False, use_decoder=False)

核心推理方法,把文本转成音频波形。

参数类型默认值说明
textsstr 或 list[str]必填待合成文本
params_refine_textRefineTextParams / NoneNone文本精炼参数
params_infer_codeInferCodeParams / NoneNone推理代码参数
skip_refine_textboolFalse跳过文本精炼(见 skip_refine_text)
use_decoderboolFalse旧参数,保持默认即可

返回值:list[np.ndarray]——每个数组对应一条输入文本的 24 kHz float32 单声道波形。

sample_random_speaker()

从说话人嵌入空间中随机采样一个音色。

完整调用示例

chat = ChatTTS.Chat()
chat.load(compile=False)

# 采样说话人
spk = chat.sample_random_speaker()

# 推理
wavs = chat.infer(
    ["第一条文本", "第二条文本"],
    params_refine_text=ChatTTS.Chat.RefineTextParams(prompt='[oral_5]'),
    params_infer_code=ChatTTS.Chat.InferCodeParams(
        spk_emb=spk,
        temperature=0.3,
        top_P=0.7,
        top_K=20,
    )
)