news 2026/8/24 8:33:29

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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.1b

Audio8 TTS Preview 0.1B 是当前体积最小的零样本语音克隆 TTS 模型之一(主模型约 170M 参数)。本文带你完整掌握它的三个核心 API:generateencode_audiodecode_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 参数详解:生成质量的关键开关

generate(modeling_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采样温度,越高越随机,必须 > 0
top_p0.9核采样阈值
top_k50候选 token 数
do_sampleTrue是否开启采样
return_dict_in_generateFalseTrue 时返回含codescode_lengthsfinished的字典,否则直接返回codes张量

💡提示:传入未知参数会直接抛出TypeError,这有助于及早发现拼写错误。默认值与 generation_config.json 保持一致。

encode_audio 参数详解:参考音频变码本

codes = model.encode_audio(audio_values, audio_lengths=None)
参数说明
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_code=True(自定义代码见modeling_arktts.pyprocessing_arktts.py):

import 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_code=True) model = AutoModel.from_pretrained(model_id, trust_remote_code=True).eval() # 1) 构建输入:text 为待合成文本,reference_audio/reference_text 用于克隆音色 inputs = processor( text=["这是一个语音合成测试。"], reference_audio=["reference.wav"], # 44.1 kHz 参考音频 reference_text=["参考音频对应的完整文本。"], return_tensors="pt", ) with torch.inference_mode(): # 2) generate:生成 codec 码本 output = model.generate( **inputs, max_new_tokens=512, temperature=0.7, top_p=0.9, top_k=50, do_sample=True, return_dict_in_generate=True, ) # 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_audioreference_text即可。也可以一步到位:model.generate_audio(**inputs)会内部串联generatedecode_audio,返回波形、长度与码本。

常见问题与调参建议

  • 生成太短/太长?调整max_new_tokens:每帧约 46 ms,512 帧约等于 23 秒语音上限。
  • 音色不稳定?优先检查参考音频:过长的、嘈杂的或转写错误的参考文本都会降低说话人相似度。
  • 采样率不匹配?处理器要求参考音频为 44.1 kHz,其他采样率会经 torchaudio 自动重采样。
  • 批量推理?同一 batch 内所有样本必须使用相同的条件模式(要么都传reference_audio,要么都传reference_codes)。

相关文件清单

文件说明
modeling_arktts.py主模型,含generateencode_audiodecode_audio实现
modeling_arktts_codec.py神经音频 codec(encode/decode)
processing_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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/24 8:32:45

智能体蒸馏技术:从多教师同策略蒸馏到长程规划能力迁移

1. 项目概述:从“多轮长程规划”到“智能体蒸馏”的演进之路最近在跟几个做强化学习和决策智能的朋友聊天,大家不约而同地提到了一个共同的痛点:模型在模拟环境里玩得风生水起,一到现实世界的复杂、长程任务中就“掉链子”。这让我…

作者头像 李华
网站建设 2026/8/24 8:31:06

3 步把 RuoYi-Vue3 搬上桌面:Electron 跨平台桌面应用改造实战

3 步把 RuoYi-Vue3 搬上桌面:Electron 跨平台桌面应用改造实战 【免费下载链接】RuoYi-Vue3 :tada: (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统 项目地址: h…

作者头像 李华
网站建设 2026/8/24 8:29:05

Yuzu 模拟器下载:从选版本到跑起来的完整流程

Yuzu 模拟器下载:从选版本到跑起来的完整流程 【免费下载链接】yuzu-downloads 项目地址: https://gitcode.com/GitHub_Trending/yu/yuzu-downloads Yuzu 模拟器下载,说白了就是到 yuzu-downloads 仓库里挑对文件。这个仓库是 Yuzu(S…

作者头像 李华