跳转至

生成参数

参数可以作为关键字参数传递给 model.generate(...),或通过 OmniVoiceGenerationConfig 数据类传递。完整列表以及每个参数所属的类别如下所示。

# 1) Direct keyword arguments
audio = model.generate(text="Hello world", num_step=32, guidance_scale=2.0)

# 2) Via OmniVoiceGenerationConfig dataclass
from omnivoice import OmniVoiceGenerationConfig

config = OmniVoiceGenerationConfig(num_step=32, guidance_scale=2.0)
audio = model.generate(text="Hello world", generation_config=config)

解码

参数 类型 默认值 描述
num_step int 32 迭代式去掩码的步数。数值越高,质量越好,但生成速度越慢。如需更快推理,可使用 16。
denoise bool True 在输入前添加 <|denoise|> 标记,指示模型生成更干净的语音。
guidance_scale float 2.0 无分类器引导的缩放系数。
t_shift float 0.1 噪声调度的时间步偏移。较小的值更强调解码过程中的早期步骤。

采样

参数 类型 默认值 描述
position_temperature float 5.0 掩码位置选择的温度。0 = 贪心(确定性)。数值越高,随机性越大。
class_temperature float 0.0 每一步 token 采样的温度。0 = 贪心(确定性)。数值越高,随机性越大。
layer_penalty_factor float 5.0 对更深码本层施加的惩罚,鼓励更早(更低)的层先被去掩码。

使用温度(以及固定随机种子)来引出富有表现力的演绎——呼吸声、笑声、叹息——在 expressive-speech.md 中有详细说明,包括其中的权衡取舍。

时长与速度

这些参数接受应用于所有项目的单个值,或按项目提供的列表(在批量模式下很有用):

# Fixed 10-second output
audio = model.generate(text="Hello, this is a test of duration control", duration=10.0)

# Faster speech (1.2x faster than estimated)
audio = model.generate(text="Hello, this is a test of duration control", speed=1.2)
参数 类型 默认值 描述
duration float or list[float | None] None 固定的输出时长(秒)。设置后覆盖 speed。
speed float or list[float | None] None 速度系数。大于 1.0 的值产生更短的音频(更快);小于 1.0 的值产生更长的音频(更慢)。当设置了 duration 时忽略。两者均为 None 时默认 1.0。

优先级:duration > speed。

预处理/后处理

参数 类型 默认值 描述
preprocess_prompt bool True 是否对语音克隆提示音频应用预处理(去除参考音频中的长静音,并在参考文本末尾添加标点符号)。
postprocess_output bool True 对生成的音频应用后处理(去除长静音)。

注意 — 安静的录音是安全的。 静音去除是自适应的:如果在标准阈值下进行裁剪会消耗掉一段安静但真实的录音,则会依次尝试更温和的阈值;作为最后手段,会跳过裁剪——安静的片段会被克隆,而不是报错。只有当片段确实没有音频(空白或完全静音)时才会被拒绝,并会建议靠近麦克风重新录制。

提示 — 参考片段的音质会传递。 零样本克隆不仅会复现参考片段的声音,还会复现其声学特征:在回声较大的房间录制的片段,克隆结果也会有回声。请使用干声并近距离拾音录制,以获得干净的输出。除非你选择明确声明了混响的效果预设(Cinematic、Warm),否则没有效果预设会添加混响。

对于应用内录制,请在 Voice 面板中选择麦克风以及 Auto、Mono 或 Stereo。录制时,输入电平表会确认 VoiceStudio 是否正在接收可用的信号;监听是可视化的,不会通过扬声器播放麦克风的声音。

长文本生成

为支持低 VRAM 消耗下的稳定长文本语音生成,当生成语音的预估时长超过 audio_chunk_duration 时,文本会被自动拆分为更小的片段,每个片段大约生成 audio_chunk_duration 秒的音频。这种方法允许模型接受任意长度的文本,并以近乎恒定的 VRAM 消耗生成任意长度的语音。

参数 类型 默认值 描述
audio_chunk_duration float 15.0 拆分长文本时的目标块时长(秒)。
audio_chunk_threshold float 30.0 预估音频时长(秒)超过该值时启用分块。

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 om/VoiceStudio