日期:2026-09-16 风格:哥萨克军乐(巴扬手风琴 + 巴拉莱卡 + 铜管 + 军鼓 + 马蹄节奏) 词曲:歌词为本次原创(AI 协作),曲由 YuE2-3B 生成 时长:各 2:15(134.9s)· 48kHz 立体声
| 文件 | 中位 F0 | 音域(5–95%) | 说明 |
|---|---|---|---|
01-…-男声版.flac / .mp3 | 174 Hz (F3) | G2 – A4 | 主推:男声合唱音区,适合军歌 |
02-…-初版高音.flac / .mp3 | 295 Hz (D4) | G3 – G#4 | 备选:模型默认给的高音声部 |
两版旋律与结构相同(同一份乐谱规划),差别只在人声音区/音色。
[verse]
马蹄踏碎草原的霜
号角吹亮东方
马刀映着初升的太阳
红旗卷过山岗
[chorus]
人民骑兵向前进
踏破万里风与尘
人民骑兵向前进
一往无前 所向无垠
[verse]
歌声越过冰封的河
钢枪握在手中
风雪刻进年轻的脸
热血比火更红
[chorus]
人民骑兵向前进
踏破万里风与尘
人民骑兵向前进
一往无前 所向无垠
[bridge]
听 那是大地的鼓点
看 那是黎明的旌旗
我们策马 向着天亮
把胜利写在马蹄下
[chorus]
人民骑兵向前进
踏破万里风与尘
人民骑兵向前进
一往无前 所向无垠
[outro]
向前进 向前进
| 项 | 值 |
|---|---|
| 模式 | cot=full(先出乐谱规划再渲染) |
| seed | 132132(两版相同) |
semantic_max_tokens | 7000(成曲 134.8s,未截断) |
| 实测 | abc_tokens=1378, sem_tokens=3371, e2e=161.7s, abc=27.7s, semantic=98.3s, 峰值显存 11.13 GiB |
| 风格提示词 | Cossack-style military march for a Chinese people's cavalry song, powerful male chorus in unison, rousing heroic male lead vocal, bayan accordion, balalaika and domra, brass fanfare, military snare and bass drum, timpani, galloping hoofbeat rhythm, whip cracks, fierce and triumphant, 132 BPM |
第一次生成(初版)的问题:风格词里已经写了 powerful male chorus、male lead vocal,但实测人声中位 295 Hz (D4) —— 落在女声区,军歌听起来会不对味。说明纯靠文字提示词压不住音区。
修法(用的是 fork 自带的"八度安全移调",不破坏和声):
初版 cot=full 生成的乐谱规划 ABC
└─ ABCModifier:transpose_scope=vocal_only, semitones=-12(只降人声声部,伴奏与和弦不动)
└─ 用这份 ABC 重新渲染(cot=full + abc 覆盖)
└─ 中位 295 Hz → 174 Hz (F3),音域 G2–A4 = 男声合唱音区 ✅
只移人声声部 12 个半音是八度移位,音级不变 → 与伴奏和声天然兼容,这是 fork 作者推荐的唯一"和声安全"的自动移调方式(非八度移调会改变旋律与和声的关系)。
歌词-人民骑兵向前进.txt 后重跑同一条命令即可;Russian folk choir, deep basso profundo, balalaika tremolo;suona, Chinese military drum, erhu counter-melody;脚本/ 里),落在不对的音区就用上面的 -12 移调法修。复现命令:
python3 yue2-run.py --cot full --lyrics-file 歌词-人民骑兵向前进.txt \
--sem-mx 7000 --attn sdpa --seed 132132 \
--style "$(cat style-cavalry.txt)" --tag cavalry-march --outdir <输出目录>