Audio8 TTS API完全参考:generate、encode_audio与decode_audio参数详解及调用示例

📅 2026/8/24 8:33:35
Audio8 TTS API完全参考:generate、encode_audio与decode_audio参数详解及调用示例
Audio8 TTS API完全参考generate、encode_audio与decode_audio参数详解及调用示例【免费下载链接】Audio8-TTS-Preview-0.1b项目地址: https://ai.gitcode.com/hf_mirrors/Audio8/Audio8-TTS-Preview-0.1bAudio8 TTS Preview 0.1B 是当前体积最小的零样本语音克隆 TTS 模型之一主模型约 170M 参数。本文带你完整掌握它的三个核心 APIgenerate、encode_audio与decode_audio包括每个参数的含义、默认值、输入输出形状以及一套可直接运行的调用示例帮助新手快速上手 Audio8 TTS 语音合成。Audio8 TTS 模型速览为什么值得上手 项目规格主模型约 170M 参数Falcon-H1 慢/快双分支自回归Codec 解码器约 120M 参数随仓库内置于codec.pth输出采样率44.1 kHz声学 Token10 个 codebook每本 4096 条目帧率每帧 2048 采样点约 21.5 帧/秒支持语言中文、英语为主多语言实验支持一次完整的语音合成流水线是文本 →generate生成 codec 码本 →decode_audio还原波形encode_audio则负责把参考音频转成码本。三个方法都定义在 modeling_arktts.py 中。三个核心 API 一览方法作用输入输出generate自回归生成声学 codec 帧处理器输出的张量 采样参数codes形状[B, 10, T]encode_audio单声道波形 → 10 路码本流波形[B, 1, T] 长度码本[B, 10, T]decode_audio码本 → 44.1 kHz 波形码本[B, 10, T](waveforms, lengths)generate 参数详解生成质量的关键开关generatemodeling_arktts.py 第 777 行起接收由处理器构建的 prompt 张量常用参数如下参数默认值说明input_ids/attention_mask-文本 token 及其掩码处理器输出prefix_input_ids/prefix_attention_mask-参考语音前置文本片段suffix_input_ids/suffix_attention_mask-待合成文本后置片段reference_codes/reference_code_lengths-预编码的参考语音码本可选reference_audio_values/reference_audio_lengths-原始参考语音波形可选max_new_tokens512最长生成帧数自动被 2048 上下文截断temperature0.7采样温度越高越随机必须 0top_p0.9核采样阈值top_k50候选 token 数do_sampleTrue是否开启采样return_dict_in_generateFalseTrue 时返回含codes、code_lengths、finished的字典否则直接返回codes张量提示传入未知参数会直接抛出TypeError这有助于及早发现拼写错误。默认值与 generation_config.json 保持一致。encode_audio 参数详解参考音频变码本codes model.encode_audio(audio_values, audio_lengthsNone)参数说明audio_values填充后的单声道波形形状[B, 1, T]自动转为 codec 数据类型audio_lengths每条音频的真实采样数用于区分有效帧与填充输出为 10 路码本流[B, 10, T]。典型用途批量推理时先把参考语音编码一次多次调用generate时直接复用reference_codes省去重复编码开销对应 processing_arktts.py 中reference_codes分支的输入要求。decode_audio 参数详解从码本还原 44.1 kHz 波形参数说明codes形状[B, 10, T]传入 2 维[10, T]会自动补 batch 维。-1视为填充帧并自动裁剪返回两个值waveforms形状[B, Tmax]的 float32 波形按最长条右填充waveform_lengths每条音频的真实采样数截取时务必使用它。⚠️ 注意 codec 是懒加载的首次调用decode_audio时才会从codec.pth加载约 120M 参数因此首次解码会稍慢。完整调用示例零样本音色克隆加载模型需使用trust_remote_codeTrue自定义代码见modeling_arktts.py与processing_arktts.pyimport soundfile as sf import torch from transformers import AutoModel, AutoProcessor model_id Audio8/Audio8-TTS-Preview-0.1b processor AutoProcessor.from_pretrained(model_id, trust_remote_codeTrue) model AutoModel.from_pretrained(model_id, trust_remote_codeTrue).eval() # 1) 构建输入text 为待合成文本reference_audio/reference_text 用于克隆音色 inputs processor( text[这是一个语音合成测试。], reference_audio[reference.wav], # 44.1 kHz 参考音频 reference_text[参考音频对应的完整文本。], return_tensorspt, ) with torch.inference_mode(): # 2) generate生成 codec 码本 output model.generate( **inputs, max_new_tokens512, temperature0.7, top_p0.9, top_k50, do_sampleTrue, return_dict_in_generateTrue, ) # 3) decode_audio码本还原为波形 waveforms, waveform_lengths model.decode_audio(output.codes) audio waveforms[0, : int(waveform_lengths[0])].float().cpu().numpy() sf.write(output.wav, audio, model.config.codec_sample_rate) # 44100 Hz不做克隆时直接省略reference_audio与reference_text即可。也可以一步到位model.generate_audio(**inputs)会内部串联generate与decode_audio返回波形、长度与码本。常见问题与调参建议生成太短/太长调整max_new_tokens每帧约 46 ms512 帧约等于 23 秒语音上限。音色不稳定优先检查参考音频过长的、嘈杂的或转写错误的参考文本都会降低说话人相似度。采样率不匹配处理器要求参考音频为 44.1 kHz其他采样率会经 torchaudio 自动重采样。批量推理同一 batch 内所有样本必须使用相同的条件模式要么都传reference_audio要么都传reference_codes。相关文件清单文件说明modeling_arktts.py主模型含generate、encode_audio、decode_audio实现modeling_arktts_codec.py神经音频 codecencode/decodeprocessing_arktts.py处理器构建 prompt 与参考音频输入configuration_arktts.py/config.json模型结构配置codec.pthcodec 权重约 120M 参数model.safetensors主模型权重约 170M 参数generation_config.json默认生成参数如果想离线使用全部文件可先克隆仓库git clone https://gitcode.com/hf_mirrors/Audio8/Audio8-TTS-Preview-0.1b【免费下载链接】Audio8-TTS-Preview-0.1b项目地址: https://ai.gitcode.com/hf_mirrors/Audio8/Audio8-TTS-Preview-0.1b创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考