- 人工智能
- 大模型
- 音频
- 音乐生成
- 媒体生成
- 本地部署
【免费下载链接】Yue2-3B-GGUF
Yue2-3B-GGUF 是面向 audio.cpp 的 Yue2-3B 音乐生成模型 GGUF 权重包,sidecars/目录下的三个 JSON 配置文件(yue2-model-config.json、yue2-generation-config.json、yue2-vae-config.json)决定了它的生成行为。本文逐字段注释这三个 Sidecar 配置文件,重点拆解 abc、semantic 两个采样参数块和 ODE 求解参数,帮你快速读懂并安全调整它们。
📁 Sidecar 文件是什么,放在哪里
Sidecar(伴生文件)是随权重一起发布、不修改权重本体、但描述模型结构与默认行为的配置文件。本仓库中与音乐生成直接相关的有三个,位于 sidecars/ 目录:
| 文件 | 作用 |
|---|---|
| sidecars/yue2-generation-config.json | 生成默认参数:abc / semantic 采样块、ODE 求解器、上下文长度 |
| sidecars/yue2-model-config.json | 主模型结构:层数、注意力头、词表、潜变量规格 |
| sidecars/yue2-vae-config.json | VAE 结构:编解码器、下采样率、采样率 |
另外还有 sidecars/yue2-qwen.tiktoken,是 Qwen 分词器词表(base64 编码,约 15 万条目),一般不需要人工修改。
💡 理解这三个文件的关系:主模型(AR)先"写谱"(abc 阶段),再产出语义 token(semantic 阶段),最后由 VAE 把潜变量解码成 48kHz 立体声音频。generation-config 管"怎么写",model-config 管"大脑多大",vae-config 管"耳朵怎么还原"。
一、yue2-generation-config.json:abc / semantic / ODE 参数全解读
这是三个文件中最值得读懂的一个,完整内容只有 24 行:
{ "abc": { "temperature": 0.7, "top_p": 0.9, "top_k": 30, "repetition_penalty": 1.005, "penalty_window": 100, "min_tokens": 32, "max_tokens": 4096 }, "semantic": { "temperature": 1.0, "top_p": 0.95, "top_k": 100, "repetition_penalty": 1.2, "penalty_window": 50, "min_tokens": 200, "max_tokens": 9000 }, "ode_steps": 32, "ode_method": "midpoint", "context": 24576, "version": "yue2-native-v1" }abc 参数块(第一阶段的采样策略)
abc对应 AR 阶段——模型逐 token 生成谱式描述(即cot=melody/cot=full时使用的 ABC 谱条件,对应 demo3、demo4 场景)。逐字段解释:
| 字段 | 默认值 | 含义 |
|---|---|---|
temperature | 0.7 | 温度采样。小于 1 让输出更"稳"、更保守,谱结构更规整 |
top_p | 0.9 | 核采样阈值,累积概率达到 0.9 即截断候选词表 |
top_k | 30 | 只保留概率最高的 30 个候选 token,与 top_p 叠加生效 |
repetition_penalty | 1.005 | 轻微重复惩罚。ABC 谱本身有大量重复小节,所以惩罚刻意调到很弱,避免打碎谱式结构 |
penalty_window | 100 | 重复惩罚只回看最近 100 个 token |
min_tokens | 32 | 谱式部分最少生成 32 个 token 才允许收尾 |
max_tokens | 4096 | 谱式部分最多生成 4096 个 token,防止失控 |
semantic 参数块(第二阶段的采样策略)
semantic对应语义 token 阶段——真正驱动整首歌走向的语义序列(LoRA 样本文档中提到过"6448 个 semantic tokens 自然收尾",指的就是这一阶段)。
| 字段 | 默认值 | 含义 |
|---|---|---|
temperature | 1.0 | 无缩放,保留原始分布,鼓励音乐多样性 |
top_p | 0.95 | 比 abc 阶段更宽松,保留更多长尾可能 |
top_k | 100 | 候选池更大,同样与 top_p 叠加 |
repetition_penalty | 1.2 | 明显更强的重复惩罚,防止歌词/动机无限复读 |
penalty_window | 50 | 回看窗口更短,惩罚更"局部" |
min_tokens | 200 | 至少 200 个语义 token,保证歌曲有最低时长 |
max_tokens | 9000 | 最长 9000 个语义 token;超出会截断,长曲(longform)表现与之相关 |
两个块放在一起看很有味道:abc 阶段"收"(低温、窄 top_k、弱惩罚),semantic 阶段"放"(温度 1.0、宽候选、强惩罚)——前者要结构严谨,后者要表达自由。
ODE 与全局参数
| 字段 | 默认值 | 含义 |
|---|---|---|
ode_steps | 32 | flow matching / ODE 积分步数。步数越多潜变量轨迹越平滑、音质越稳定,耗时也越高;命令行num_inference_steps=8可临时覆盖以追求速度(官方 demo 均用 8 步) |
ode_method | "midpoint" | ODE 求解器方法,中点法(midpoint):比欧拉法更平滑,比更高阶方法更快 |
context | 24576 | 生成上下文长度,与 model-config 的max_position_embeddings一致 |
version | "yue2-native-v1" | 配置格式版本号,用于兼容检查,不要手改 |
二、yue2-model-config.json:主模型结构字段
yue2-model-config.json 描述 YuE2-3B 主模型(YuE2ForCausalLM),可按用途分组:
架构标识
| 字段 | 值 | 说明 |
|---|---|---|
architectures | ["YuE2ForCausalLM"] | 模型类名,audio.cpp 据此选择推理路径 |
model_type | "yue2" | 模型族标识 |
auto_map | AutoConfig / AutoModelForCausalLM | 指向上游自定义建模类modeling_yue2.*的映射 |
dtype | "bfloat16" | 原生计算精度;对应仓库中的yue2-3b-bf16.gguf |
Transformer 结构(决定算力与显存)
| 字段 | 值 | 说明 |
|---|---|---|
hidden_size | 2048 | 隐藏层维度 |
num_hidden_layers | 28 | 层数,"3B" 参数的主要来源 |
num_attention_heads | 16 | 注意力头数 |
num_key_value_heads | 8 | KV 头数,是头数的一半——GQA 分组查询注意力,省显存提速 |
head_dim | 128 | 每头维度(16×128=2048,正好对齐 hidden_size) |
intermediate_size | 6144 | FFN 中间层宽度 |
vocab_size | 184704 | 词表大小,包含语义/音频 token 扩展区 |
rms_norm_eps | 1e-06 | RMSNorm 数值稳定常数 |
rope_theta | 1000000 | RoPE 旋转基频,百万级适配长上下文 |
max_position_embeddings | 24576 | 最大位置长度,即 24K 上下文 |
音频潜变量相关(与 VAE 对接的关键)
| 字段 | 值 | 说明 |
|---|---|---|
latent_type | "vae" | 潜空间由 VAE 编码而来 |
latent_dim | 64 | 潜向量维度,须与 vae-config 一致 |
max_latent_frames | 24576 | 最多处理的潜帧数 |
timestep_shift | 1.0 | flow 时间步偏移系数,1.0 表示不偏移 |
其余字段(return_dict、output_hidden_states、torchscript、is_decoder、add_cross_attention、四个null的 token id、transformers_version: "4.57.6"、output_attentions: false)是上游 transformers 序列化时自动携带的通用开关,audio.cpp 推理时不依赖它们,保持原样即可。
三、yue2-vae-config.json:从潜变量到 48kHz 音频
yue2-vae-config.json 描述YuE2VAE。VAE 负责双向转换:编码端把音频压成潜变量,解码端把模型输出的潜变量还原为波形。
编解码器结构(encoder_config / decoder_config 对称)
| 字段 | 值 | 说明 |
|---|---|---|
strides | [2, 2, 4, 4, 5, 6] | 六级下采样步长,乘积 2×2×4×4×5×6 =1920,正好等于顶层downsampling_ratio |
c_mults | [1, 2, 4, 8, 16, 32] | 各级通道数倍数,逐层变宽 |
channels | 64 | 基础通道数 |
in_channels/out_channels | 2 / 2 | 立体声进、立体声出 |
latent_dim | 编码器 128 / 解码器 64 | 编码器输出 2×64,经重参数化后解码器消费 64 维,与主模型latent_dim: 64对上 |
use_snake/snake_type | true / "vanilla" | 使用 Snake 激活函数(周期性激活),对波形这类周期信号建模效果好 |
final_tanh/use_filter | false | 解码端不加 tanh 限幅、不用滤波模块 |
顶层参数(调参时最常关心的一行)
| 字段 | 值 | 说明 |
|---|---|---|
sample_rate | 48000 | 输出采样率 48kHz(CD 级) |
downsampling_ratio | 1920 | 48000 ÷ 1920 =每秒 25 个潜帧,这是估算生成时长的换算基准 |
audio_channels | 2 | 立体声 |
dtype | "float32" | VAE 原生 F32;仓库提供yue2-vae-f32.gguf与yue2-vae-f16.gguf两种量化 |
decode_core_frames | 1024 | 解码分块大小:每批 1024 潜帧(约 41 秒音频) |
decode_halo_frames | 16 | 分块边界两侧的"光晕"重叠帧,消除分块接缝 |
release_variant | "standard" | 发布变体标记 |
🔎 三个文件如何协同:一张速查图
生成一首歌时,三个文件依次登场:
- model-config:加载 28 层、24K 上下文的主模型,准备按
latent_dim: 64输出潜变量; - generation-config:先按
abc块写出谱式条件(0.7 温度、最多 4096 token),再按semantic块展开语义序列(1.0 温度、200–9000 token),最后用 32 步 midpoint ODE 把潜变量轨迹积分到位; - vae-config:VAE 按 1024+16 帧分块解码,输出 48kHz 立体声。
想快速对照官方生成效果,可听 examples/ 目录:demo1.wav(cot=off直接生成)、demo2.wav(cot=full完整规划)、demo3.wav(cot=melody旋律条件翻唱)、demo4.wav(完整谱条件),以及tonight-awake-audiocpp-current.wav(官方 longform 用例)——文件名中的_q8/_q4_0后缀分别是 Q8_0 / Q4_0 量化权重的同 prompt 对照版。
📌 修改建议与注意事项
- 新手优先动
ode_steps:显存和速度紧张时可降到 16 甚至 8(官方 demo 命令即num_inference_steps=8),音质损失通常可接受; - semantic 的
min_tokens/max_tokens控制歌曲最短与最长时长,长曲生成时 max_tokens 是否够用是常见排查点; - abc 块的
repetition_penalty不要调大,ABC 谱天然重复,惩罚过强会破坏小节结构; version、architectures、auto_map、strides等字段属于"结构契约",改动前请确认 audio.cpp 兼容性;- 本包权重许可证为
cc-by-nc-4.0(非商业),商用前请先阅读 README.md 中的许可证说明。
总结:generation-config 是行为旋钮(abc 管结构、semantic 管表达、ODE 管还原精度),model-config 是能力上限(24K 上下文、25 潜帧/秒),vae-config 是保真度保障(48kHz 立体声、Snake 激活)。读懂这三个 Sidecar 配置文件,你就掌握了 Yue2-3B 在 audio.cpp 中从文字到音乐的全部关键参数。
- 人工智能
- 大模型
- 音频
- 音乐生成
- 媒体生成
- 本地部署
【免费下载链接】Yue2-3B-GGUF
相关推荐
its-matrix-computation硬件配置完全参考:昇腾910B1 JSON参数逐字段详解
its matrix computation硬件配置完全参考:昇腾910B1 JSON参数逐字段详解 its matrix computation(SimNPU
高性能计算CANNHigress stock-helper MCP Server:基于 REST-to-MCP 将云市场股票行情 API 暴露给 AI 的完整实现
Higress stock helper MCP Server:基于 REST to MCP 将云市场股票行情 API 暴露给 AI 的完整实现 stock h
人工智能大模型音频音乐生成媒体生成本地部署速查表:segmind-vega-amdnpu AMD NPU 文生图模型文件与配置字段逐项解读(API 参考)
速查表:segmind vega amdnpu AMD NPU 文生图模型文件与配置字段逐项解读(API 参考) segmind vega amdnpu 是 A
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考