diff --git a/src/content/posts/yue2-on-a-12gb-gpu-songs-that-lost-their-endings.md b/src/content/posts/yue2-on-a-12gb-gpu-songs-that-lost-their-endings.md
new file mode 100644
index 0000000..ce87a12
--- /dev/null
+++ b/src/content/posts/yue2-on-a-12gb-gpu-songs-that-lost-their-endings.md
@@ -0,0 +1,963 @@
+---
+title: "Why My AI Songs Kept Losing Their Endings: Running YuE2 on a 12 GB GPU"
+description: "Twelve Mandarin songs came out exactly 240.000 seconds long with the outros missing. The cause wasn't the lyrics — it was a hard cap, a VRAM ceiling, and a planner that ignores BPM."
+pubDate: 2026-10-20
+category: ai
+tags: ["yue2", "comfyui", "ai-music", "local-ai", "gpu", "vram", "mandarin"]
+draft: false
+---
+YuE2 is a 3B open-weights music model that sings Mandarin from a style prompt
+and a lyric sheet. I ran it locally on a 12 GB RTX 3060 through ComfyUI —
+twelve original songs in one serial queue — and the first batch came back with
+**every single file exactly 240.000 seconds long**. That number is not a
+coincidence, and it is not good news.
+
+## Every track was exactly 240.000 seconds
+
+Twelve files, twelve identical durations to the millisecond:
+
+```
+01_A1_..._糖画小仙.mp3 duration=240.000000
+02_A2_..._溪边捉云记.mp3 duration=240.000000
+03_A3_..._寒露拾桂子.mp3 duration=240.000000
+...
+```
+
+I had asked for `max_duration=240` because the style guide I was working from
+said a 12-section structure would land around three and a half minutes. It
+landed on 240 seconds exactly — which means the model never decided to stop.
+It ran out of room.
+
+## A round number is a confession
+
+YuE2 plans a song with an ABC planner: it reads the lyric sheet, decides how
+many bars each section gets, and emits a symbolic sketch. The music generator
+then sings that sketch and **ends when the sketch ends**. A finished song
+therefore comes out *shorter* than the cap you set — it stops on its own.
+
+Here is the tell, and it costs one shell command:
+
+```bash
+d=$(ffprobe -v error -show_entries format=duration -of csv=p=0 take.mp3)
+python -c "print(abs(float('$d') - 240.0) <= 0.005)" # True = hard cut
+```
+
+If the duration equals `max_duration` to within a few milliseconds, the render
+was truncated. The lyric sheet wanted more time than the cap allowed, and the
+last thing being sung at the cutoff point got sliced off mid-phrase.
+
+## Confirming the outros were actually missing
+
+Duration alone tells you *that* it was cut, not *what* was lost. So I pulled
+the tail of each take and transcribed it with a local speech model (SenseVoice,
+CPU — it stays running while the GPU renders):
+
+```bash
+ffmpeg -v error -y -i take.mp3 -ss 232 -t 20 -ar 16000 -ac 1 -c:a pcm_s16le t.wav
+curl -s -X POST http://127.0.0.1:20129/v1/audio/transcriptions \
+ -F "file=@t.wav" -F "language=zh"
+```
+
+The results were unambiguous:
+
+| Song | Sung up to | What was missing |
+|---|---|---|
+| 糖画小仙 | final chorus, last line | the entire `[Outro]` |
+| 溪边捉云记 | `[Bridge]` at 215 s | solo + final chorus + outro |
+| 寒露拾桂子 | `[Bridge]` at 215 s | final chorus + outro |
+| 纸鸢与旧木偶 | final chorus, line 5 | rest of chorus + outro |
+
+So: not a mixing artefact, not a fade-out. The songs were structurally
+incomplete.
+
+## Three fixes that did nothing, and one that half-worked
+
+### 1. Raising the BPM — no effect
+
+The obvious reasoning: faster tempo, more syllables per second, more lyrics
+fit in the same window. I tested this across the batch: the 117 BPM guofeng
+tracks and the 140 BPM DJ remixes had **effectively identical throughput**.
+
+YuE2's duration comes from the ABC planner's bar count, not from the BPM token
+in your style prompt. The BPM tag shapes the *feel*; it does not buy you room.
+Stop tuning it for duration.
+
+### 2. Re-running with the same seed — silently does nothing
+
+ComfyUI was started with `--cache-classic`, so resubmitting a byte-identical
+prompt — same style, same lyrics, same seed — hits the node cache. The job
+"completes" in about ten seconds and hands you back the same truncated audio
+with a `_00002` filename.
+
+It looks like a fast, successful retry. It is a cache hit on a known-bad take.
+
+### 3. Rolling new seeds — works about 3 times out of 4
+
+The planner's bar allocation depends on the seed, so a different seed really can
+produce a shorter, complete song from the same lyrics. This rescued three of my
+four clipped tracks:
+
+| Song | Original | New seed | Result |
+|---|---|---|---|
+| 溪边捉云记 | clipped at 281 s | 20002 | 279.7 s, complete |
+| 外婆的绿搪瓷碗 | clipped at 300 s | 20007 | 251.9 s, complete |
+| 北溟有小鱼 | clipped at 300 s | 20005, 30005 | clipped again |
+
+## The budget is characters per second — and it isn't constant
+
+I tried to turn this into arithmetic: count the Chinese characters, divide by a
+throughput figure, get the duration. The measurements refused to cooperate.
+
+| Song | Characters | Cap | Actual | Fits? |
+|---|---|---|---|---|
+| 糖画小仙 | 556 | 272 s | 258.7 s | ✅ |
+| 纸鸢与旧木偶 | 572 | 300 s | 279.9 s | ✅ |
+| 溪边捉云记 | 578 | 281 s | **281.0 s** | ❌ cut |
+| 小楼檐下听雨眠 | 580 | 300 s | 256.3 s | ✅ |
+| 画卷小锦鲤 | 634 | 300 s | 285.9 s | ✅ |
+| 三楼窗台的蒲公英 | 693 | 329 s | 247.4 s | ✅ |
+| 弄堂口的竹蜻蜓 | 692 | 300 s | 250.0 s | ✅ |
+
+Read the last two rows against the third. **693 characters finished in 247
+seconds, while 578 characters overflowed 281 seconds.** A lyrics-to-duration
+formula simply does not exist here — the observed throughput ranges from about
+2.0 to 2.8 Chinese characters per second, depending on how the planner chops the
+sections.
+
+So characters are useful for a *budget warning*, not for setting a timer.
+
+## The limit that actually binds: VRAM
+
+Once you accept "give it enough room and let it close naturally", the cap wants
+to be large. On a 12 GB card it cannot be.
+
+Measured peak VRAM while rendering, sampled every five seconds with
+`nvidia-smi` during the run:
+
+| `max_duration` | Peak VRAM |
+|---|---|
+| 240 s | 10.3 GB |
+| 272 s | 11.65 GB |
+| 278 s | 11.07 GB |
+| 281 s | 12.06 GB |
+| 300 s | 12.03 GB |
+
+The card has 12.288 GB. **300 seconds is the practical ceiling** — past that
+you are one desktop browser tab away from an out-of-memory abort in the middle
+of a six-minute render.
+
+## The fix
+
+Three changes, all cheap:
+
+1. **Set the cap to 300 s and let the planner close the song itself.** Do not
+ chase a target length; give it headroom and it ends where the music ends.
+2. **Archive clipped takes instead of mixing them in.** A take whose duration
+ equals the cap goes to `未自然结尾\` ("did not end naturally"). The output
+ folder then contains only complete songs, and re-renders never destroy a
+ usable take.
+3. **Cap the seed roulette at three attempts.** Different seeds help, but a song
+ whose lyrics genuinely need more than the VRAM ceiling allows will fail
+ forever. Three strikes and you trim the lyric sheet — don't burn an hour of
+ GPU pretending the next seed will be the one.
+
+## The song that never fit
+
+One of the twelve never made it. **北溟有小鱼 — 593 characters — failed five
+times:**
+
+| Attempt | Parameters | Result |
+|---|---|---|
+| 1 | seed 10005, cap 287 s | hit 287 s |
+| 2 | seed 10005, cap 300 s | hit 300 s |
+| 3 | seed 20005, cap 300 s | hit 300 s |
+| 4 | seed 30005, cap 300 s | hit 300 s |
+| 5 | seed 40005, both instrumental sections removed | hit 300 s |
+
+I even deleted the `[Interlude]` and `[Instrumental Solo]` markers — 12 sections
+down to 10, not one sung word changed — and it still overflowed. Its planner
+wants more time than a 12 GB card can give. The honest fix is to cut about 40
+characters of lyric and re-render, and I would rather tell you that than ship a
+twelfth track with a bitten-off ending.
+
+## A trap I hit before any of this
+
+Worth its own warning: **YuE2 will sing the Chinese production notes in your
+lyric sheet.**
+
+If you paste lyrics that look like this — which is how most lyric sheets are
+written —
+
+```
+[Intro]
+(重鼓点起,急促琵琶轮指,唢呐破空,合成器铺底)
+嘿!哈!山海震!
+```
+
+…then that parenthetical line becomes a lyric. The model does not know it is a
+stage direction. Strip them before submitting:
+
+```python
+clean = "\n".join(l for l in raw.split("\n")
+ if not re.match(r"^\s*[((].*[))]\s*$", l))
+```
+
+Arrangement and dynamics belong in the style prompt. The lyric box gets section
+tags and sung words, nothing else.
+
+## What I'd do differently
+
+- **Pre-flight the lyric sheet, not the render.** Count characters first. Over
+ roughly 600 characters on a 12 GB card, expect trouble; over 550, expect to
+ trim something.
+- **Never set `max_duration` to a target length.** Set it generously above the
+ estimate and let the planner finish. The cap is a safety rail, not a dial.
+- **Treat "duration == cap" as a hard failure in the pipeline**, not something
+ you notice three days later when a chorus sounds wrong.
+- **Re-run with a new seed before touching the lyrics** — it is free and works
+ most of the time. Then stop at three.
+
+## Eleven tracks
+
+These are the ones that closed naturally, sung by a child voice, in Mandarin,
+on a 12 GB card that cost less than a year of cloud music credits. Each player
+below has synced lyrics — the timing was recovered by transcription and aligned
+against the written lyrics, since the model emits no timestamps.
+
+
+
+### 1. 糖画小仙 — Sugar-Painting Fairy
+
+*Guofeng electronic* · 556 characters · 259 s
+
+
+
+ [00:16.38]青石板路亮起红灯笼
+[00:19.74]我踮起脚尖钻进人海中
+[00:24.50]铜锅里的麦芽糖咕嘟咕嘟响
+[00:28.20]甜丝丝的风吹红我脸庞
+[00:31.22]老爷爷手腕轻轻晃一晃
+[00:36.52]金黄的丝线落在石板上
+[00:40.22]左一圈是尾巴右一勾是翅膀
+[00:43.68]我数着星星等它亮晶晶登场
+[00:48.76]竹签儿转呀转出小月亮
+[00:52.46]笛声悠悠飘过青瓦墙
+[00:55.20]快看那糖画眨了眨眼眶
+[00:59.36]悄悄对我说今夜去飞翔
+[01:04.04]我是提着灯笼的糖画小仙
+[01:07.92]骑着金丝小龙飞过屋檐
+[01:11.36]琵琶声哒哒敲打着云烟
+[01:15.26]把甜味洒满整条长安街
+[01:19.70]蝴蝶在发梢跳起圆圈舞
+[01:23.30]小凤凰衔来春天的露珠
+[01:27.06]一口咬下月亮的甜脆边角
+[01:31.58]连梦里都带着桂花的味道
+[01:52.64]小铜勺画出一只小花猫
+[01:54.62]胡须翘翘对着我喵喵叫
+[01:56.52]旁边的弟弟馋得直跺脚
+[01:58.50]我举高竹签偏偏不给瞧
+[02:00.72]鼓点像心跳蹦蹦停不了
+[02:03.04]石榴裙摆跟着风儿摇
+[02:05.20]糖人儿突然拉住我的手
+[02:06.64]带我穿过灯火去银河游一游
+[02:08.78]竹签儿转呀转出小月亮
+[02:12.46]笛声悠悠飘过青瓦墙
+[02:15.14]快看那糖画眨了眨眼眶
+[02:19.70]悄悄对我说今夜去飞翔
+[02:24.12]我是提着灯笼的糖画小仙
+[02:28.50]骑着金丝小龙飞过屋檐
+[02:31.28]琵琶声哒哒敲打着云烟
+[02:35.20]把甜味洒满整条长安街
+[02:39.70]蝴蝶在发梢跳起圆圈舞
+[02:43.68]小凤凰衔来春天的露珠
+[02:47.66]一口咬下月亮的甜脆边角
+[02:51.56]连梦里都带着桂花的味道
+[02:56.46]不怕夜风凉也不怕路遥远
+[03:00.62]童话就藏在一勺甜里边
+[03:04.22]只要心里还有亮晶晶的光
+[03:08.08]每一朵云彩都是麦芽糖
+[03:28.10]我是提着灯笼的糖画小仙
+[03:32.00]骑着金丝小龙飞向天边
+[03:36.48]古筝声铮铮唤醒了星辰
+[03:39.22]万家灯火都为我敞开门
+[03:43.42]蝴蝶在发梢跳起圆圈舞
+[03:47.26]小凤凰衔来春天的露珠
+[03:51.10]一口咬下月亮的甜脆边角
+[03:55.52]全世界的开心都装进荷包
+[04:01.56]糖画转呀转
+[04:02.76]灯火闪呀闪
+[04:05.74]小仙女困了
+[04:09.72]枕着甜梦晚安
+
+
+### 2. 溪边捉云记 — Catching Clouds by the Stream
+
+*Guofeng electronic* · 578 characters · 280 s
+
+
+
+ [00:18.38]阵雨刚刚洗干净小山坡
+[00:22.40]荷叶上滚着圆圆的水珠儿
+[00:25.18]我卷起裤脚拎着小竹篓
+[00:30.10]光着脚丫踩碎溪里的云朵
+[00:35.44]小螃蟹吐着泡泡横着走
+[00:38.16]红蜻蜓停在芦苇尖上头
+[00:42.22]山风吹过竹林沙沙地唱歌
+[00:45.88]水底的太阳公公看着我笑呵呵
+[00:50.40]竹笛吹开山谷里的薄雾
+[00:54.42]水花溅湿我的小布鞋
+[00:58.50]伸出手想把白云装进篓
+[01:02.16]它却化作浪花溜出指缝间
+[01:06.12]空山新雨后呀溪水哗啦啦
+[01:10.32]我是山里最忙的小娃娃
+[01:15.36]东边追小鱼西边数落花
+[01:18.48]把彩虹借来当我的发卡
+[01:24.20]古筝弹得水波一圈一圈晃
+[01:26.62]松果掉进水里咚的一声响
+[01:30.80]夕阳催我回家吃饭我不听
+[01:34.76]还要跟小月亮捉迷藏到天明
+[01:55.38]青苔石上坐着小青蛙
+[01:59.12]鼓着肚皮像个小喇叭
+[02:03.28]我折了一只歪歪的纸船儿
+[02:07.28]载着三片花瓣顺水去天涯
+[02:11.74]山那头住着神仙老爷爷吗
+[02:15.82]会不会收到我寄去的悄悄话
+[02:20.92]泥点子画在我鼻尖像小花猫
+[02:24.48]脆生生的笑声惊飞了白鹭鸟
+[02:28.10]竹笛吹开山谷里的薄雾
+[02:32.10]水花溅湿我的小布鞋
+[02:36.16]伸出手想把白云装进篓
+[02:39.76]它却化作浪花溜出指缝间
+[02:44.34]空山新雨后呀溪水哗啦啦
+[02:48.54]我是山里最忙的小娃娃
+[02:52.98]东边追小鱼西边数落花
+[02:56.18]把彩虹借来当我的发卡
+[03:01.84]古筝弹得水波一圈一圈晃
+[03:04.30]松果掉进水里咚的一声响
+[03:08.44]夕阳催我回家吃饭我不听
+[03:12.38]还要跟小月亮捉迷藏到天明
+[03:16.94]小溪水慢些流等等我脚步
+[03:20.68]竹篓里装满了夏天的礼物
+[03:24.94]一颗鹅卵石加上半朵云
+[03:28.66]全都藏进我小小的秘密木盒里
+[03:51.98]空山新雨后呀溪水哗啦啦
+[03:55.62]我是山里最快乐的小娃娃
+[03:59.48]东边追小鱼西边数落花
+[04:03.24]把星光借来当我的发卡
+[04:07.66]琵琶声伴着晚风轻轻唱
+[04:12.26]炊烟升起在温暖的村庄
+[04:16.52]娘亲在村口喊着我的小名
+[04:19.68]我提着满篓月光蹦蹦跳跳回庭院
+[04:24.42]溪水哗啦啦
+[04:25.62]蛙声呱呱呱
+[04:27.66]云朵睡着啦
+[04:33.04]明天再来捉它
+
+
+### 3. 寒露拾桂子 — Picking Osmanthus at Cold Dew
+
+*Guofeng electronic* · 578 characters · 290 s
+
+
+
+ [00:19.03]日历翻到寒露的那一页
+[00:23.33]院子里的秋风有了一点凉
+[00:28.06]我披上娘亲缝的小夹袄
+[00:32.36]提着小竹篮跑到桂花树旁
+[00:37.82]金黄的小花朵像雨点落下
+[00:40.62]沾满我的刘海和麻花辫上
+[00:45.72]大黄狗围着我的裙角打转
+[00:49.40]一不小心踩响了满地金黄
+[00:54.36]远处的笛声吹落了晚霞
+[00:57.84]大雁排成人字飞向南方
+[01:01.70]我把桂花一朵一朵收好
+[01:06.66]留住整个秋天最甜的时光
+[01:10.48]寒露的风儿吹呀吹散了云裳
+[01:14.58]小小姑娘在桂花雨里忙
+[01:19.70]一层桂花铺上一层白砂糖
+[01:24.98]封进玻璃罐里等冬天品尝
+[01:27.86]琵琶和古筝在屋檐下对唱
+[01:31.94]红枫叶寄去远方的思念长
+[01:37.16]哪怕霜花染白了小窗台
+[01:41.46]我的小竹篮里永远有春光
+[02:05.32]石桌上摆着柿子红彤彤
+[02:07.64]我偷偷尝了一口甜进心中
+[02:13.48]蚂蚁搬着花瓣排成了长队
+[02:17.02]我蹲在地上看了一刻钟
+[02:21.64]竹篮装满了一半金桂香
+[02:25.10]另一半装进落叶和夕阳
+[02:29.14]摇摇晃晃走过九曲小回廊
+[02:33.92]影子被拉得又细又长
+[02:39.10]远处的笛声吹落了晚霞
+[02:42.58]大雁排成人字飞向南方
+[02:47.02]我把桂花一朵一朵收好
+[02:51.28]留住整个秋天最甜的时光
+[02:55.28]寒露的风儿吹呀吹散了云裳
+[02:59.24]小小姑娘在桂花雨里忙
+[03:04.34]一层桂花铺上一层白砂糖
+[03:09.70]封进玻璃罐里等冬天品尝
+[03:12.56]琵琶和古筝在屋檐下对唱
+[03:16.64]红枫叶寄去远方的思念长
+[03:21.88]哪怕霜花染白了小窗台
+[03:26.18]我的小竹篮里永远有春光
+[03:32.18]节气一轮一轮慢慢走
+[03:35.70]小树苗陪着我一起长高
+[03:40.12]等到来年春暖花再开
+[03:43.62]再把这罐秋天的甜味打开
+[03:50.02]寒露的月光洒呀洒满小院墙
+[03:53.86]小小姑娘在桂花梦里晃
+[03:59.00]一层星光铺上一层桂花糖
+[04:03.24]送给夜空中最亮的那道光
+[04:08.38]弦乐与古筝在云端上回响
+[04:11.80]千山万水都闻到这抹香
+[04:16.52]不管岁月走得有多匆忙
+[04:20.74]童年的桂花永远不会遗忘
+[04:25.70]寒露凉呀桂花香
+[04:29.60]小小竹篮装月光
+[04:34.28]摇啊摇到外婆桥
+[04:38.26]秋天的甜梦真漫长
+
+
+### 4. 纸鸢与旧木偶 — The Kite and the Old Puppet
+
+*Guofeng ballad* · 572 characters · 280 s
+
+
+
+ [00:14.64]老戏台的青苔爬上了木桩
+[00:20.50]雨水顺着褪色的画梁滴落
+[00:27.38]我抱膝坐在角落的竹筐旁
+[00:31.38]看见你静静躺在灰尘中央
+[00:34.42]半边脸颊还留着红胭脂妆
+[00:41.04]身上的彩衣已经有些微凉
+[00:44.72]是谁把丝线遗忘在旧时光
+[00:47.64]让你独自守着空荡的剧场
+[00:54.06]我用衣袖擦去你眼角的灰
+[00:57.56]解下发间的红绳系上你手背
+[01:00.56]风吹过空巷像一声轻叹
+[01:03.68]我轻轻摇晃你便抬起眉眼
+[01:09.16]小木偶呀你别怕夜黑风高
+[01:12.98]我提着小灯笼陪你跳一曲歌谣
+[01:16.52]指尖的红丝线一牵一绕
+[01:20.26]旧戏台又亮起从前的热闹
+[01:23.38]唱一段悲欢呀叹一段离合
+[01:26.36]清亮的童音穿过雨幕飘摇
+[01:29.78]哪怕看戏的人早就散了场
+[01:33.00]还有我为你鼓掌到天亮
+[01:53.12]你曾看过多少繁华的灯火
+[01:58.92]听过多少台下热烈的喝彩
+[02:05.72]如今只剩燕子在梁上筑窝
+[02:09.72]和一只淋湿翅膀的纸鸢作伴
+[02:13.06]我把纸鸢修好放在你身旁
+[02:19.28]给你们讲山外小镇的故事长
+[02:23.40]木偶的嘴角仿佛弯了一弯
+[02:26.00]在摇曳烛光里不再孤单
+[02:32.48]我用衣袖擦去你眼角的灰
+[02:35.86]解下发间的红绳系上你手背
+[02:38.88]风吹过空巷像一声轻叹
+[02:42.04]我轻轻摇晃你便抬起眉眼
+[02:47.52]小木偶呀你别怕夜黑风高
+[02:51.32]我提着小灯笼陪你跳一曲歌谣
+[02:55.38]指尖的红丝线一牵一绕
+[02:59.02]旧戏台又亮起从前的热闹
+[03:01.42]唱一段悲欢呀叹一段离合
+[03:04.74]清亮的童音穿过雨幕飘摇
+[03:08.08]哪怕看戏的人早就散了场
+[03:11.30]还有我为你鼓掌到天亮
+[03:18.40]啦——啊——
+[03:25.92]丝线不断情意不散
+[03:31.44]啦——啊——
+[03:38.24]木偶有心岁月生香
+[03:44.20]小木偶呀你看那雨过天晴
+[03:47.90]漫天的星河落进古老的屋檐
+[03:51.48]指尖的红丝线越飞越高
+[03:54.74]带着纸鸢飞向云端的怀抱
+[03:58.06]唱一段春秋呀绘一幅人间
+[04:01.34]纯净的歌声回荡在天地之间
+[04:04.70]就算我有一天也会长大走远
+[04:08.06]这曲童年的戏永远留在心田
+[04:14.80]红绳系手腕
+[04:19.32]木偶入梦乡
+[04:23.12]旧戏台安静
+[04:26.30]月光白如霜
+
+
+### 5. 小楼檐下听雨眠 — Listening to Rain Under the Eaves
+
+*Guofeng ballad* · 580 characters · 256 s
+
+
+
+ [00:16.16]滴答滴答雨水顺着瓦当落
+[00:19.40]在青石天井敲出小小的水涡
+[00:23.86]我搬来小木凳坐在门槛旁
+[00:26.36]双手托着下巴数着雨点儿多
+[00:30.74]院里的芭蕉叶被洗得碧绿
+[00:33.36]小花猫蜷在竹椅上打着呼噜
+[00:37.16]阿姐出门时说天黑前就回
+[00:40.30]怎么巷口还没看见那把油纸伞
+[00:43.88]风儿吹动檐下的铜风铃
+[00:47.46]叮当声混着细雨轻又轻
+[00:50.90]我折了一只白色的纸青蛙
+[00:53.52]请它去巷口帮我探一探口信
+[00:59.00]山外小楼夜听雨呀雨绵绵
+[01:03.14]小姑娘守着灯火不肯眠
+[01:06.58]数过一滴雨又数过一片云
+[01:10.22]等那熟悉的脚步声响在门前
+[01:14.20]古筝弹碎了江南的烟雨天
+[01:17.48]笛声绕着青砖黛瓦转呀转
+[01:20.82]阿姐你可别在路上贪看风景
+[01:24.06]家里的桂花糕还温在灶台边
+[01:42.88]窗纸上映着摇晃的竹影儿
+[01:45.54]奶奶在灯下穿针又引线
+[01:48.70]我趴在窗台哈出一团白气
+[01:51.68]用手指画出一个圆圆的笑脸
+[01:55.94]水缸里的红金鱼摆着尾巴
+[01:59.18]好像也在听屋檐滴水的节拍
+[02:02.32]雨声越下越密像一张小网
+[02:05.76]把整个夜晚都轻轻网在里边
+[02:10.98]风儿吹动檐下的铜风铃
+[02:13.24]叮当声混着细雨轻又轻
+[02:16.66]我折了一只白色的纸青蛙
+[02:20.56]请它去巷口帮我探一探口信
+[02:25.58]山外小楼夜听雨呀雨绵绵
+[02:28.96]小姑娘守着灯火不肯眠
+[02:32.42]数过一滴雨又数过一片云
+[02:36.34]等那熟悉的脚步声响在门前
+[02:40.36]古筝弹碎了江南的烟雨天
+[02:43.30]笛声绕着青砖黛瓦转呀转
+[02:45.80]阿姐你可别在路上贪看风景
+[02:49.90]家里的桂花糕还温在灶台边
+[02:53.96]啦——呀——
+[02:55.64]雨打芭蕉叶儿垂
+[03:01.04]啦——呀——
+[03:04.48]油纸伞儿快快归
+[03:21.66]山外小楼夜听雨呀雨渐停
+[03:24.98]巷口忽然亮起一盏暖黄灯
+[03:28.86]油纸伞转开晶莹的小水花
+[03:32.58]阿姐笑着唤我熟悉的小名
+[03:37.40]二胡与弦乐拉出团圆的暖意
+[03:38.76]怀里揣着刚买的热糖炒栗子
+[03:42.16]原来最美的风景不在山外头
+[03:46.20]就在这屋檐下灯火相依的眼眸
+[03:51.24]雨声慢慢停
+[03:55.20]风铃轻轻响
+[03:59.18]吃颗甜栗子
+[04:04.86]钻进被窝里
+
+
+### 6. 外婆的绿搪瓷碗 — Grandma's Green Enamel Bowl
+
+*Urban folk* · 679 characters · 252 s
+
+
+
+ [00:14.28]外婆家的院子有一棵老槐树
+[00:16.84]夏天的时候知了叫得特别响
+[00:19.78]我坐在小板凳上剥着毛豆壳
+[00:23.26]阳光透过树叶掉在我的膝盖上
+[00:27.60]厨房里有一只绿色的搪瓷碗
+[00:31.56]碗边磕掉了一块黑色的瓷儿
+[00:33.64]外婆总用它给我盛满凉白开
+[00:37.44]或者装满刚切好的沙瓤大西瓜
+[00:42.04]收音机里放着听不懂的老歌
+[00:44.82]蒲扇一下一下摇走夏天的热
+[00:47.36]那时候觉得下午总是很长很长
+[00:51.14]长到一觉睡醒太阳还没落山坡
+[00:56.14]外婆你慢点走等等我的小短腿
+[01:00.04]菜市场的小路石板有些滑
+[01:03.02]我帮你提着两颗绿油油的青菜
+[01:06.52]你给我买一块五毛钱的橘子冰
+[01:11.60]绿搪瓷碗里装过多少顿晚饭
+[01:13.70]一碗西红柿炒蛋就能吃得很香
+[01:17.12]墙头的老花猫眯着眼睛打哈欠
+[01:20.30]日子就像井水一样安静又清凉
+[01:41.32]外婆的针线盒是个铁皮饼干桶
+[01:44.84]里面装着五颜六色的小纽扣
+[01:48.02]我最喜欢把它们倒在竹席上
+[01:51.16]一颗一颗排成弯弯的小火车
+[01:54.84]傍晚的时候胡同里飘来饭菜香
+[01:58.34]外婆站在门口扯着嗓子喊我回家
+[02:01.32]我拍拍屁股上的土跑进院门
+[02:04.94]先喝一口搪瓷碗里的绿豆汤
+[02:08.30]收音机里放着听不懂的老歌
+[02:12.48]蒲扇一下一下摇走夏天的热
+[02:14.78]那时候觉得下午总是很长很长
+[02:19.10]长到一觉睡醒太阳还没落山坡
+[02:23.56]外婆你慢点走等等我的小短腿
+[02:27.46]菜市场的小路石板有些滑
+[02:29.98]我帮你提着两颗绿油油的青菜
+[02:33.78]你给我买一块五毛钱的橘子冰
+[02:38.80]绿搪瓷碗里装过多少顿晚饭
+[02:41.14]一碗西红柿炒蛋就能吃得很香
+[02:44.58]墙头的老花猫眯着眼睛打哈欠
+[02:47.72]日子就像井水一样安静又清凉
+[02:55.02]后来老平房画上了拆字圆圈
+[02:58.28]我们搬进了高高的水泥楼房
+[03:01.50]外婆把那只绿搪瓷碗包在布里
+[03:04.78]说这是陪我长大的老伙计不能忘
+[03:25.96]外婆你别变老等等我再长高一点
+[03:29.00]换我牵着你的手去公园晒太阳
+[03:32.28]我给你剥最甜的那颗红富士苹果
+[03:36.02]给你讲学校里发生的稀奇事儿
+[03:40.74]绿搪瓷碗还放在橱柜最里边
+[03:43.08]盛满了老院子回不去的夏天
+[03:45.80]只要外婆还在身边摸摸我的头
+[03:49.98]哪里都是最安心的那个小院
+[03:56.66]木吉他轻轻弹
+[04:00.08]蒲扇慢慢摇
+[04:03.90]绿搪瓷碗里的夏天
+[04:05.82]我一直记着呢
+
+
+### 7. 弄堂口的竹蜻蜓 — The Bamboo Dragonfly at the Alley Mouth
+
+*Urban folk* · 692 characters · 250 s
+
+
+
+ [00:11.58]弄堂口停着一辆蓝色的大卡车
+[00:14.78]工人们把大衣柜抬下木楼梯
+[00:17.73]我坐在红色的小塑料板凳上
+[00:20.69]手里捏着你昨天给我的竹蜻蜓
+[00:23.89]白衬衫的晾衣杆还在头顶晃
+[00:26.85]卖冰棍的自行车叮铃铃路过
+[00:29.80]你抱着一只装满弹珠的玻璃罐
+[00:31.00]站在太阳底下不知道说什么
+[00:35.58]平时这个时候我们早就在捉迷藏
+[00:41.18]躲在煤球炉子后面捂着嘴偷笑
+[00:46.90]今天大人们忙着打包旧报纸
+[00:50.52]连巷子里的风都变得静悄悄
+[00:56.16]竹蜻蜓飞呀飞上二楼的晒台
+[00:58.48]转着圈儿落进长满青苔的花盆
+[01:01.12]你说新家在很远的江北新区
+[01:03.88]要坐十几站公交车才能到那儿
+[01:06.70]我把最漂亮的那张贴纸贴在你手背
+[01:11.06]你把竹蜻蜓塞进我的小口袋
+[01:12.58]大人说以后放假还能再见面
+[01:15.16]可我知道弄堂口只剩我一个人发呆
+[01:32.00]我们在水泥地上画过的跳房子
+[01:34.96]被昨天的雨水冲淡了一大半
+[01:37.62]小卖部门口的摇摇车还在唱歌
+[01:41.22]投进一块钱就能去太空转一转
+[01:43.42]你妈妈喊你上车系好安全带
+[01:45.96]你隔着车窗对我用力挥挥手
+[01:49.26]大卡车突突突地冒着白烟开走
+[01:51.48]拐过街角再也看不见影踪
+[01:56.58]平时这个时候我们早就在捉迷藏
+[02:02.18]躲在煤球炉子后面捂着嘴偷笑
+[02:07.84]今天大人们忙着打包旧报纸
+[02:10.76]连巷子里的风都变得静悄悄
+[02:15.48]竹蜻蜓飞呀飞上二楼的晒台
+[02:19.36]转着圈儿落进长满青苔的花盆
+[02:22.02]你说新家在很远的江北新区
+[02:24.82]要坐十几站公交车才能到那儿
+[02:27.62]我把最漂亮的那张贴纸贴在你手背
+[02:31.00]你把竹蜻蜓塞进我的小口袋
+[02:33.40]大人说以后放假还能再见面
+[02:36.12]可我知道弄堂口只剩我一个人发呆
+[02:41.56]手心一搓竹蜻蜓又飞了起来
+[02:47.22]飞过老电线杆飞过麻雀的翅膀
+[02:52.94]如果它能飞得像风筝一样高
+[02:57.60]能不能替我去看看你的新书房
+[03:15.34]竹蜻蜓飞呀飞进傍晚的红云彩
+[03:18.58]弄堂里的路灯一盏接一盏亮起来
+[03:22.20]妈妈在楼上喊我收衣服吃晚饭
+[03:23.70]我把玻璃弹珠装进小书包里边
+[03:26.30]也许明天会有新的小朋友搬来
+[03:29.18]也许我也会慢慢习惯一个人玩
+[03:32.10]但我会一直留着这只竹蜻蜓
+[03:36.98]和弄堂口那个晒满太阳的夏天
+[03:43.34]大卡车走远了
+[03:46.88]竹蜻蜓落下来
+[03:48.14]再见啦我的好朋友
+[03:52.64]要在新学校天天开心呀
+
+
+### 8. 三楼窗台的蒲公英 — Dandelion on the Third-Floor Windowsill
+
+*Urban folk* · 693 characters · 247 s
+
+
+
+ [00:14.30]我家住在红砖楼的第三层
+[00:16.90]窗台外面的铁栏杆漆成了绿色
+[00:20.26]角落里不知什么时候长出一株草
+[00:23.76]开出一朵毛茸茸的白色蒲公英
+[00:27.12]楼下的修车摊大爷戴着老花镜
+[00:30.60]爸爸推着那辆掉漆的二八自行车
+[00:34.82]链条转起来哗啦哗啦地响
+[00:37.00]车后座绑着我放学坐的小软垫
+[00:41.88]作业本上还有两道算术题没写完
+[00:45.10]铅笔头上的橡皮擦得圆圆的
+[00:47.70]晚风吹过十九路公交车的站牌
+[00:51.54]报站的声音听起来有点困了
+[00:54.82]三楼窗台的蒲公英呀你要去哪里
+[00:58.62]外面的高楼大厦会不会挡住你
+[01:01.80]我轻轻吹一口气送你上天去
+[01:04.82]替我去看看云朵后面的秘密
+[01:08.58]爸爸的自行车铃铛叮铃铃地响
+[01:11.88]妈妈在厨房切着土豆丝咔嚓嚓
+[01:15.12]城市的傍晚没有森林和大海
+[01:18.72]却有千家万户亮起的温暖窗花
+[01:35.60]对门的老爷爷喜欢在阳台养信鸽
+[01:39.18]每天傍晚哨子一吹鸽群就盘旋
+[01:42.62]我用彩笔在日记本上画下翅膀
+[01:46.00]涂上橘红色的晚霞和蓝色的天
+[01:49.62]楼下卖烤红薯的三轮车停在路边
+[01:53.44]甜甜的焦香味一直飘进我房间
+[01:56.26]我数着储蓄罐里的硬币叮当响
+[01:59.72]想给爸爸妈妈一人买一块尝尝鲜
+[02:04.14]作业本上还有两道算术题没写完
+[02:07.36]铅笔头上的橡皮擦得圆圆的
+[02:09.98]晚风吹过十九路公交车的站牌
+[02:13.80]报站的声音听起来有点困了
+[02:17.60]三楼窗台的蒲公英呀你要去哪里
+[02:21.30]外面的高楼大厦会不会挡住你
+[02:24.08]我轻轻吹一口气送你上天去
+[02:27.52]替我去看看云朵后面的秘密
+[02:30.98]爸爸的自行车铃铛叮铃铃地响
+[02:34.16]妈妈在厨房切着土豆丝咔嚓嚓
+[02:37.42]城市的傍晚没有森林和大海
+[02:41.00]却有千家万户亮起的温暖窗花
+[02:45.26]小小的伞兵飘过晾衣架
+[02:47.74]落在对面小弟弟的玩具车上
+[02:51.14]原来长大就像蒲公英的种子
+[02:54.32]总有一天要飞向更远的地方
+[03:12.24]三楼窗台的蒲公英呀明年还会开
+[03:15.54]我的身高线又在门框上画高了一截
+[03:19.54]把小小的心愿折成纸飞机扔出去
+[03:22.54]穿过梧桐树梢飞向满天星辉
+[03:26.52]爸爸的旧单车停在楼道口休息
+[03:29.50]一家人围在桌前喝着热玉米粥
+[03:32.10]这平平常常的每一天我都记在心里
+[03:36.03]就是我童年最珍贵的童话书
+[03:42.84]蒲公英飞走了
+[03:45.76]路灯亮起来了
+[03:48.28]作业写完啦
+[03:51.94]晚安我的小窗台
+
+
+### 9. 小哪吒借红绫 — Little Nezha Borrows the Red Sash
+
+*Guofeng DJ remix* · 612 characters · 271 s
+
+
+
+ [00:28.98]双丸子头扎起红绸带迎风扬
+[00:32.42]小木枪在手心转出万道金光
+[00:35.86]莫笑我年纪小个头才到桌角
+[00:39.30]一招一式都能把乌云全刺破
+[00:42.74]陈塘关的海浪拍打着石城墙
+[00:45.28]夜叉在雷雨里张牙舞爪叫嚣
+[00:48.62]我踩上滑板当作我的风火轮
+[00:53.02]乾坤圈一扔震碎满天狂飙
+[00:57.64]琵琶声急促像急雨落玉盘
+[00:59.78]战鼓擂响点燃心中的火焰
+[01:02.32]看我小小身影冲进风暴眼
+[01:05.90]天高海阔任我闯荡立誓言
+[01:11.26]借我三尺混天绫呀翻江又倒海
+[01:14.40]我是天地之间最飒的小小孩
+[01:17.86]电音节拍震得四海龙王抖三抖
+[01:22.16]唢呐一响万道霞光为我开
+[01:25.82]乾坤圈转出日月星辰的节拍
+[01:28.12]小小的拳头也能打破旧安排
+[01:31.60]哪怕前方有十万天兵拦住路
+[01:34.82]我自仰天大笑踏破凌霄台
+[01:53.02]金砖在书包里闪着耀眼的光
+[01:56.26]九龙神火罩护住身后的村庄
+[01:58.88]谁说小姑娘只能安静绣花朵
+[02:03.12]我偏要披上战甲去巡视八荒
+[02:06.20]左脚踏碎惊雷右脚踢开巨浪
+[02:09.20]把黑夜变成五光十色的游乐场
+[02:12.62]眉心一点红砂亮得像小太阳
+[02:16.06]全场的灯光都跟着我一起晃
+[02:19.58]琵琶声急促像急雨落玉盘
+[02:23.78]战鼓擂响点燃心中的火焰
+[02:26.36]看我小小身影冲进风暴眼
+[02:29.82]天高海阔任我闯荡立誓言
+[02:35.26]借我三尺混天绫呀翻江又倒海
+[02:38.84]我是天地之间最飒的小小孩
+[02:41.86]电音节拍震得四海龙王抖三抖
+[02:46.20]唢呐一响万道霞光为我开
+[02:49.60]乾坤圈转出日月星辰的节拍
+[02:52.18]小小的拳头也能打破旧安排
+[02:55.56]哪怕前方有十万天兵拦住路
+[02:58.84]我自仰天大笑踏破凌霄台
+[03:02.44]风火轮转不停
+[03:06.20]红绫舞破天际
+[03:09.66]少年志不言弃
+[03:13.06]看我一战成名
+[03:33.54]借我三尺混天绫呀搅动九重天
+[03:36.64]小小女童也有大圣般的威严
+[03:40.04]重低音轰鸣唤醒沉睡的山川
+[03:44.70]古筝与电音齐奏最燃的诗篇
+[03:48.12]乾坤圈转出万里山河新画卷
+[03:50.80]所有的烦恼统统震碎成云烟
+[03:53.86]今夜把星辰大海都当作舞台
+[03:57.30]跟着我的节奏一起嗨翻天
+[04:00.68]红绫飞呀飞
+[04:02.72]金鼓擂呀擂
+[04:03.92]小小小哪吒
+[04:05.12]威风震四海
+
+
+### 10. 画卷小锦鲤 — The Koi That Left the Painting
+
+*Guofeng DJ remix* · 634 characters · 286 s
+
+
+
+ [00:32.42]宣纸画卷在月光下慢慢展开
+[00:34.54]水墨渲染出一池碧绿的荷花台
+[00:38.12]我穿上一袭红裙从画里跳出来
+[00:41.72]摇一摇小尾巴吐出七彩云彩
+[00:45.40]千年的古镇亮起霓虹的灯牌
+[00:49.66]电子的鼓点敲得石拱桥摇摆
+[00:52.44]别看我只是一尾小小红锦鲤
+[00:56.10]心里装着跃过龙门的英雄气概
+[01:01.64]古筝拨响急促的浪花一朵朵
+[01:03.22]合成器的音浪推着我往前冲
+[01:06.86]倒计时三二一准备起跳升空
+[01:10.24]让整条银河都看见我的红影踪
+[01:14.52]我是画卷里跑出来的小锦鲤
+[01:20.16]乘着电音的巨浪直上九万里
+[01:21.36]左摇右摆躲开所有的暴风雨
+[01:24.68]一个鲤鱼打挺跃过龙门去
+[01:28.06]把好运气统统洒向人间的街巷
+[01:32.12]让每张笑脸都闪着金色的光芒
+[01:36.52]鼓点咚咚咚敲响最旺的节拍
+[01:38.84]跟着小锦鲤一起摇摆发大财
+[01:58.10]琉璃瓦上反射着绚烂的激光
+[02:00.20]我提着莲花灯在飞檐上奔跑
+[02:03.84]金鳞片在夜色里闪得像钻石
+[02:07.32]把沉闷的黑夜点亮成不夜城
+[02:11.64]不管是高山险滩还是急流弯
+[02:14.48]我都笑着当成蹦蹦床来通关
+[02:18.06]一口气游过三千六百道波澜
+[02:21.72]头顶的小龙角已经露出一尖尖
+[02:26.66]古筝拨响急促的浪花一朵朵
+[02:30.00]合成器的音浪推着我往前冲
+[02:33.58]倒计时三二一准备起跳升空
+[02:35.90]让整条银河都看见我的红影踪
+[02:39.62]我是画卷里跑出来的小锦鲤
+[02:43.84]乘着电音的巨浪直上九万里
+[02:46.38]左摇右摆躲开所有的暴风雨
+[02:50.22]一个鲤鱼打挺跃过龙门去
+[02:53.74]把好运气统统洒向人间的街巷
+[02:57.82]让每张笑脸都闪着金色的光芒
+[03:03.26]鼓点咚咚咚敲响最旺的节拍
+[03:04.56]跟着小锦鲤一起摇摆发大财
+[03:08.06]水花四溅跃云端
+[03:11.78]金光万道破重关
+[03:17.56]锦鲤赐福好运来
+[03:18.82]岁岁年年皆灿烂
+[03:39.12]我是画卷里最神气的小锦鲤
+[03:43.30]化身金龙在九天星河里嬉戏
+[03:46.84]竹笛与电音吹散所有的阴霾
+[03:49.88]漫天烟花都在为我热烈喝彩
+[03:52.84]把福气和欢喜装满每个口袋
+[03:56.38]心想事成花开富贵全都来
+[03:59.94]最燃的节奏永远不会停下来
+[04:03.56]小小锦鲤带你飞向最亮的未来
+[04:08.22]锦鲤跳呀跳
+[04:09.44]龙门高呀高
+[04:14.04]好运来到家门口
+[04:18.38]天天开口笑
+
+
+### 11. 山海小当家 — Little Boss of the Classic of Mountains and Seas
+
+*Guofeng DJ remix* · 647 characters · 237 s
+
+
+
+ [00:16.41]翻开山海经那本厚厚的图鉴
+[00:19.85]里面的神兽全都跳到我面前
+[00:23.30]小饕餮馋得抱着奶瓶不松手
+[00:26.75]九尾狐忙着梳理毛茸茸的尾尖
+[00:30.48]我吹响竹哨立下今天的规矩
+[00:32.26]排好队伍不许调皮也不许哭泣
+[00:35.28]虽然我只是扎着羊角辫的小童
+[00:38.76]却是这山海神兽乐园的大统领
+[00:42.20]战鼓与电音在昆仑山顶轰鸣
+[00:46.12]琵琶弦拨出闪电一般的轨迹
+[00:51.12]骑上小麒麟戴上威风的虎头帽
+[00:53.30]今夜的山海巡游马上要开启
+[00:55.84]我是山海经里最酷的小当家
+[00:59.68]带着百兽战队闯荡海角天涯
+[01:03.38]重低音一震群山跟着一起晃
+[01:06.74]凤凰在头顶铺开五彩的霓裳
+[01:10.46]应龙在云端打着节拍呼风唤雨
+[01:13.48]白泽在身边为我指点着迷津
+[01:16.56]一二三四跟着鼓点大步往前迈
+[01:20.36]小小当家要把天地都点燃起来
+[01:37.76]毕方鸟点亮了漫山遍野的篝火
+[01:41.06]精卫鸟衔来亮晶晶的彩色贝壳
+[01:44.74]连打瞌睡的烛龙都睁开了眼睛
+[01:47.96]被这动感的电子节拍彻底唤醒
+[01:50.72]我拿出糖葫芦分给乖巧的小兽
+[01:54.54]谁表现最好就奖励一朵小红花
+[01:57.62]古老的神话撞上最潮的电音浪
+[02:01.12]整片星空都是我们的游乐场
+[02:04.60]战鼓与电音在昆仑山顶轰鸣
+[02:08.38]琵琶弦拨出闪电一般的轨迹
+[02:11.44]骑上小麒麟戴上威风的虎头帽
+[02:15.58]今夜的山海巡游马上要开启
+[02:18.12]我是山海经里最酷的小当家
+[02:21.56]带着百兽战队闯荡海角天涯
+[02:25.94]重低音一震群山跟着一起晃
+[02:29.04]凤凰在头顶铺开五彩的霓裳
+[02:32.74]应龙在云端打着节拍呼风唤雨
+[02:35.76]白泽在身边为我指点着迷津
+[02:38.90]一二三四跟着鼓点大步往前迈
+[02:42.64]小小当家要把天地都点燃起来
+[02:46.92]昆仑山高路不平
+[02:50.36]神兽同行显威灵
+[02:53.82]唢呐声声震九霄
+[02:56.54]山海少年最逍遥
+[03:12.96]我是山海经里无敌的小当家
+[03:16.44]跨越山海把快乐传遍千万家
+[03:20.50]最密的鼓点撞碎所有的孤单
+[03:24.20]古筝与合成器奏响狂欢的夜晚
+[03:29.28]麒麟踏瑞气九尾摇动满天星
+[03:30.48]每一个梦想都在节奏里觉醒
+[03:34.40]不管未来还有多少未知的奇遇
+[03:37.54]山海小当家永远勇敢冲第一
+[03:38.74]小麒麟跑呀跑
+[03:39.94]九尾狐笑呀笑
+[03:41.14]山海小当家
+[03:54.20]明天继续闹
+
+
+
diff --git a/src/content/posts/zh/yue2-on-a-12gb-gpu-songs-that-lost-their-endings.md b/src/content/posts/zh/yue2-on-a-12gb-gpu-songs-that-lost-their-endings.md
new file mode 100644
index 0000000..7930a20
--- /dev/null
+++ b/src/content/posts/zh/yue2-on-a-12gb-gpu-songs-that-lost-their-endings.md
@@ -0,0 +1,908 @@
+---
+title: "为什么我的 AI 歌曲总是丢结尾:在 12GB 显卡上跑 YuE2"
+description: "12 首中文歌时长全都恰好 240.000 秒,尾奏不见了。原因不在歌词 —— 是一道硬上限、一堵显存天花板,和一个不看 BPM 的规划器。"
+pubDate: 2026-10-20
+category: ai
+tags: ["yue2", "comfyui", "ai-music", "local-ai", "gpu", "vram", "mandarin"]
+draft: false
+---
+YuE2 是一个 30 亿参数的开源音乐模型,能按风格提示词和歌词唱中文。我把它放在自己那台 12GB 显存的 RTX 3060 上用 ComfyUI 本地跑,一次排了 12 首原创歌 —— 结果第一批出来,**每一首的时长都恰好是 240.000 秒**。这个数字不是巧合,而且是个坏消息。
+
+## 每首都恰好 240.000 秒
+
+12 个文件,时长精确到毫秒完全一致:
+
+```
+01_A1_..._糖画小仙.mp3 duration=240.000000
+02_A2_..._溪边捉云记.mp3 duration=240.000000
+03_A3_..._寒露拾桂子.mp3 duration=240.000000
+...
+```
+
+我设的是 `max_duration=240`,因为参考指南说 12 段结构大约会落在三分半左右。结果它精确落在 240 秒 —— 这意味着模型从来没有"决定结束",它是把时间用光了。
+
+## 整数是一种自白
+
+YuE2 用 ABC 规划器来编排:读取歌词,给每一段分配小节数,生成一份符号化的曲谱草稿。音乐生成器照着这份草稿唱,**草稿结束它就结束**。
+
+所以一首真正唱完的歌,输出时长一定是**小于**你设的上限的 —— 它自己停下来了。
+
+判断方法只要一条命令:
+
+```bash
+d=$(ffprobe -v error -show_entries format=duration -of csv=p=0 take.mp3)
+python -c "print(abs(float('$d') - 240.0) <= 0.005)" # True = 被硬切
+```
+
+如果时长和 `max_duration` 相差不到几毫秒,这次渲染就是被截断的。歌词需要的时间超过了上限允许的范围,切点那一句被拦腰砍断。
+
+## 确认尾奏真的丢了
+
+光看时长只能知道"被切了",不知道"丢了什么"。所以我把每首的尾巴切出来,用本地语音模型(SenseVoice,跑在 CPU 上,GPU 渲染时不用停)转写:
+
+```bash
+ffmpeg -v error -y -i take.mp3 -ss 232 -t 20 -ar 16000 -ac 1 -c:a pcm_s16le t.wav
+curl -s -X POST http://127.0.0.1:20129/v1/audio/transcriptions \
+ -F "file=@t.wav" -F "language=zh"
+```
+
+结果没有歧义:
+
+| 歌 | 唱到哪 | 缺了什么 |
+|---|---|---|
+| 糖画小仙 | 末遍副歌最后一句 | **整段 `[Outro]`** |
+| 溪边捉云记 | 215 秒还停在 `[Bridge]` | Solo + 末遍副歌 + Outro |
+| 寒露拾桂子 | 215 秒还停在 `[Bridge]` | 末遍副歌 + Outro |
+| 纸鸢与旧木偶 | 末遍副歌第 5 句 | 副歌后半 + Outro |
+
+所以不是混音问题、也不是淡出 —— 是结构不完整。
+
+## 试过但没用的三件事,和半有用的一件
+
+### 1. 提高 BPM —— 完全无效
+
+直觉上:节奏更快、每秒塞进更多字、同样的窗口能装更多歌词。我在整批上验过:117 BPM 的国风组和 140 BPM 的 DJ 燃曲组,**吞吐几乎一样**。
+
+YuE2 的时长来自 ABC 规划器分配的小节数,不看你风格提示词里的 BPM 标签。BPM 只影响"感觉",买不到时间。别在它身上调时长。
+
+### 2. 同 seed 重跑 —— 静悄悄地什么都没做
+
+ComfyUI 是用 `--cache-classic` 启动的,所以重新提交一个逐字节相同的任务(同样的风格、同样的歌词、同样的 seed)会直接命中节点缓存。任务"完成"于 10 秒左右,还你一份一模一样的截断音频,文件名加个 `_00002`。
+
+看起来像一次又快又成功的重试。实际上是命中了一个已知有问题 take 的缓存。
+
+### 3. 换 seed —— 四次里能救三次
+
+规划器分配小节的方式依赖 seed,所以换个 seed 确实可能给出更短、能唱完的版本。这一招救回了我四首里的三首:
+
+| 歌 | 原始 | 新 seed | 结果 |
+|---|---|---|---|
+| 溪边捉云记 | 卡在 281 秒 | 20002 | 279.7 秒,完整 |
+| 外婆的绿搪瓷碗 | 卡在 300 秒 | 20007 | 251.9 秒,完整 |
+| 北溟有小鱼 | 卡在 300 秒 | 20005、30005 | 再次撞顶 |
+
+## 预算是"每秒几个字",而这个数还在变
+
+我试过把它做成算术:数字数、除以吞吐、得出时长。实测不配合。
+
+| 歌 | 汉字数 | 上限 | 实际 | 装下了吗 |
+|---|---|---|---|---|
+| 糖画小仙 | 556 | 272 秒 | 258.7 秒 | ✅ |
+| 纸鸢与旧木偶 | 572 | 300 秒 | 279.9 秒 | ✅ |
+| 溪边捉云记 | 578 | 281 秒 | **281.0 秒** | ❌ 被切 |
+| 小楼檐下听雨眠 | 580 | 300 秒 | 256.3 秒 | ✅ |
+| 画卷小锦鲤 | 634 | 300 秒 | 285.9 秒 | ✅ |
+| 三楼窗台的蒲公英 | 693 | 329 秒 | 247.4 秒 | ✅ |
+| 弄堂口的竹蜻蜓 | 692 | 300 秒 | 250.0 秒 | ✅ |
+
+把最后两行和第三行对比着看:**693 个字在 247 秒内唱完了,578 个字却撑爆了 281 秒。** 字数换算时长的公式在这里根本不存在 —— 实测吞吐落在每秒 2.0 到 2.8 个汉字之间,取决于规划器怎么切段落。
+
+所以字数只适合用来**预警预算**,不适合用来掐时间。
+
+## 真正卡住的瓶颈是显存
+
+一旦接受"给它足够空间、让它自己收尾",上限自然想设大一点。但在 12GB 卡上设不大。
+
+渲染过程中每 5 秒采一次 `nvidia-smi` 得到的峰值显存:
+
+| `max_duration` | 峰值显存 |
+|---|---|
+| 240 秒 | 10.3 GB |
+| 272 秒 | 11.65 GB |
+| 278 秒 | 11.07 GB |
+| 281 秒 | 12.06 GB |
+| 300 秒 | 12.03 GB |
+
+卡总共 12.288 GB。**300 秒就是实际天花板** —— 再往上,你离"渲染到第六分钟时因为一个浏览器标签页而 OOM 崩掉"只差一步。
+
+## 解法
+
+三处改动,都很便宜:
+
+1. **把上限设到 300 秒,让规划器自己收尾。** 不要追目标时长;给足余量,它会在音乐结束的地方结束。
+2. **被切的 take 归档,不要混进成品。** 时长等于上限的 take 移到 `未自然结尾\` 目录。成品目录里就只有完整的歌,而且重跑永远不会覆盖掉一个可用的 take。
+3. **换 seed 最多试三次。** 换 seed 有用,但如果一首歌的歌词真的超过显存能撑的时长,它会永远失败。三次不成就动歌词 —— 别烧一小时 GPU 假装下一个 seed 会中。
+
+## 那首始终装不下的歌
+
+12 首里有一首没做成。**北溟有小鱼,593 字,失败了五次:**
+
+| 尝试 | 参数 | 结果 |
+|---|---|---|
+| 1 | seed 10005,上限 287 秒 | 撞 287 秒 |
+| 2 | seed 10005,上限 300 秒 | 撞 300 秒 |
+| 3 | seed 20005,上限 300 秒 | 撞 300 秒 |
+| 4 | seed 30005,上限 300 秒 | 撞 300 秒 |
+| 5 | seed 40005,删掉两段纯器乐 | 撞 300 秒 |
+
+我甚至把 `[Interlude]` 和 `[Instrumental Solo]` 两个标记删掉 —— 从 12 段降到 10 段,一个唱词都没动 —— 它还是溢出。它的规划器要的时间超过了这张卡能给的上限。诚实的解法是砍掉大约 40 个字再重跑;我宁可告诉你这件事,也不想交一首结尾被咬掉一块的第十二首歌。
+
+## 在这之前踩到的一个坑
+
+值得单独警告:**YuE2 会把你歌词里括号内的中文制作备注唱出来。**
+
+如果你贴的歌词长这样(大多数歌词稿就是这么写的):
+
+```
+[Intro]
+(重鼓点起,急促琵琶轮指,唢呐破空,合成器铺底)
+嘿!哈!山海震!
+```
+
+那么那行括号内容就成了一句歌词。模型不知道那是舞台说明。提交前先清掉:
+
+```python
+clean = "\n".join(l for l in raw.split("\n")
+ if not re.match(r"^\s*[((].*[))]\s*$", l))
+```
+
+配器和动态写进风格提示词。歌词框里只留段落标签和要唱的字。
+
+## 我会怎么改
+
+- **预警做在歌词阶段,不在渲染之后。** 先数字数。12GB 卡上超过约 600 字就要有心理准备,超过 550 字就该准备删点什么。
+- **永远不要把 `max_duration` 设成目标时长。** 设得比估算宽松,让它自己收尾。上限是安全护栏,不是旋钮。
+- **把"时长 == 上限"当成流水线里的硬失败**,而不是三天后觉得副歌怪怪的才发现。
+- **先换 seed,再动歌词** —— 免费,而且大多数时候有效。然后三次为止。
+
+## 十一首歌
+
+下面这些是自然收尾的成品,女童声、中文、跑在一张 12GB 显卡上,成本比一年的云端音乐额度还低。每个播放器都带同步歌词 —— 因为模型不输出时间戳,时间轴是用转写结果和歌词原文对齐反推出来的。
+
+
+
+### 1. 糖画小仙 — Sugar-Painting Fairy
+
+*Guofeng electronic* · 556 characters · 259 s
+
+
+
+ [00:16.38]青石板路亮起红灯笼
+[00:19.74]我踮起脚尖钻进人海中
+[00:24.50]铜锅里的麦芽糖咕嘟咕嘟响
+[00:28.20]甜丝丝的风吹红我脸庞
+[00:31.22]老爷爷手腕轻轻晃一晃
+[00:36.52]金黄的丝线落在石板上
+[00:40.22]左一圈是尾巴右一勾是翅膀
+[00:43.68]我数着星星等它亮晶晶登场
+[00:48.76]竹签儿转呀转出小月亮
+[00:52.46]笛声悠悠飘过青瓦墙
+[00:55.20]快看那糖画眨了眨眼眶
+[00:59.36]悄悄对我说今夜去飞翔
+[01:04.04]我是提着灯笼的糖画小仙
+[01:07.92]骑着金丝小龙飞过屋檐
+[01:11.36]琵琶声哒哒敲打着云烟
+[01:15.26]把甜味洒满整条长安街
+[01:19.70]蝴蝶在发梢跳起圆圈舞
+[01:23.30]小凤凰衔来春天的露珠
+[01:27.06]一口咬下月亮的甜脆边角
+[01:31.58]连梦里都带着桂花的味道
+[01:52.64]小铜勺画出一只小花猫
+[01:54.62]胡须翘翘对着我喵喵叫
+[01:56.52]旁边的弟弟馋得直跺脚
+[01:58.50]我举高竹签偏偏不给瞧
+[02:00.72]鼓点像心跳蹦蹦停不了
+[02:03.04]石榴裙摆跟着风儿摇
+[02:05.20]糖人儿突然拉住我的手
+[02:06.64]带我穿过灯火去银河游一游
+[02:08.78]竹签儿转呀转出小月亮
+[02:12.46]笛声悠悠飘过青瓦墙
+[02:15.14]快看那糖画眨了眨眼眶
+[02:19.70]悄悄对我说今夜去飞翔
+[02:24.12]我是提着灯笼的糖画小仙
+[02:28.50]骑着金丝小龙飞过屋檐
+[02:31.28]琵琶声哒哒敲打着云烟
+[02:35.20]把甜味洒满整条长安街
+[02:39.70]蝴蝶在发梢跳起圆圈舞
+[02:43.68]小凤凰衔来春天的露珠
+[02:47.66]一口咬下月亮的甜脆边角
+[02:51.56]连梦里都带着桂花的味道
+[02:56.46]不怕夜风凉也不怕路遥远
+[03:00.62]童话就藏在一勺甜里边
+[03:04.22]只要心里还有亮晶晶的光
+[03:08.08]每一朵云彩都是麦芽糖
+[03:28.10]我是提着灯笼的糖画小仙
+[03:32.00]骑着金丝小龙飞向天边
+[03:36.48]古筝声铮铮唤醒了星辰
+[03:39.22]万家灯火都为我敞开门
+[03:43.42]蝴蝶在发梢跳起圆圈舞
+[03:47.26]小凤凰衔来春天的露珠
+[03:51.10]一口咬下月亮的甜脆边角
+[03:55.52]全世界的开心都装进荷包
+[04:01.56]糖画转呀转
+[04:02.76]灯火闪呀闪
+[04:05.74]小仙女困了
+[04:09.72]枕着甜梦晚安
+
+
+### 2. 溪边捉云记 — Catching Clouds by the Stream
+
+*Guofeng electronic* · 578 characters · 280 s
+
+
+
+ [00:18.38]阵雨刚刚洗干净小山坡
+[00:22.40]荷叶上滚着圆圆的水珠儿
+[00:25.18]我卷起裤脚拎着小竹篓
+[00:30.10]光着脚丫踩碎溪里的云朵
+[00:35.44]小螃蟹吐着泡泡横着走
+[00:38.16]红蜻蜓停在芦苇尖上头
+[00:42.22]山风吹过竹林沙沙地唱歌
+[00:45.88]水底的太阳公公看着我笑呵呵
+[00:50.40]竹笛吹开山谷里的薄雾
+[00:54.42]水花溅湿我的小布鞋
+[00:58.50]伸出手想把白云装进篓
+[01:02.16]它却化作浪花溜出指缝间
+[01:06.12]空山新雨后呀溪水哗啦啦
+[01:10.32]我是山里最忙的小娃娃
+[01:15.36]东边追小鱼西边数落花
+[01:18.48]把彩虹借来当我的发卡
+[01:24.20]古筝弹得水波一圈一圈晃
+[01:26.62]松果掉进水里咚的一声响
+[01:30.80]夕阳催我回家吃饭我不听
+[01:34.76]还要跟小月亮捉迷藏到天明
+[01:55.38]青苔石上坐着小青蛙
+[01:59.12]鼓着肚皮像个小喇叭
+[02:03.28]我折了一只歪歪的纸船儿
+[02:07.28]载着三片花瓣顺水去天涯
+[02:11.74]山那头住着神仙老爷爷吗
+[02:15.82]会不会收到我寄去的悄悄话
+[02:20.92]泥点子画在我鼻尖像小花猫
+[02:24.48]脆生生的笑声惊飞了白鹭鸟
+[02:28.10]竹笛吹开山谷里的薄雾
+[02:32.10]水花溅湿我的小布鞋
+[02:36.16]伸出手想把白云装进篓
+[02:39.76]它却化作浪花溜出指缝间
+[02:44.34]空山新雨后呀溪水哗啦啦
+[02:48.54]我是山里最忙的小娃娃
+[02:52.98]东边追小鱼西边数落花
+[02:56.18]把彩虹借来当我的发卡
+[03:01.84]古筝弹得水波一圈一圈晃
+[03:04.30]松果掉进水里咚的一声响
+[03:08.44]夕阳催我回家吃饭我不听
+[03:12.38]还要跟小月亮捉迷藏到天明
+[03:16.94]小溪水慢些流等等我脚步
+[03:20.68]竹篓里装满了夏天的礼物
+[03:24.94]一颗鹅卵石加上半朵云
+[03:28.66]全都藏进我小小的秘密木盒里
+[03:51.98]空山新雨后呀溪水哗啦啦
+[03:55.62]我是山里最快乐的小娃娃
+[03:59.48]东边追小鱼西边数落花
+[04:03.24]把星光借来当我的发卡
+[04:07.66]琵琶声伴着晚风轻轻唱
+[04:12.26]炊烟升起在温暖的村庄
+[04:16.52]娘亲在村口喊着我的小名
+[04:19.68]我提着满篓月光蹦蹦跳跳回庭院
+[04:24.42]溪水哗啦啦
+[04:25.62]蛙声呱呱呱
+[04:27.66]云朵睡着啦
+[04:33.04]明天再来捉它
+
+
+### 3. 寒露拾桂子 — Picking Osmanthus at Cold Dew
+
+*Guofeng electronic* · 578 characters · 290 s
+
+
+
+ [00:19.03]日历翻到寒露的那一页
+[00:23.33]院子里的秋风有了一点凉
+[00:28.06]我披上娘亲缝的小夹袄
+[00:32.36]提着小竹篮跑到桂花树旁
+[00:37.82]金黄的小花朵像雨点落下
+[00:40.62]沾满我的刘海和麻花辫上
+[00:45.72]大黄狗围着我的裙角打转
+[00:49.40]一不小心踩响了满地金黄
+[00:54.36]远处的笛声吹落了晚霞
+[00:57.84]大雁排成人字飞向南方
+[01:01.70]我把桂花一朵一朵收好
+[01:06.66]留住整个秋天最甜的时光
+[01:10.48]寒露的风儿吹呀吹散了云裳
+[01:14.58]小小姑娘在桂花雨里忙
+[01:19.70]一层桂花铺上一层白砂糖
+[01:24.98]封进玻璃罐里等冬天品尝
+[01:27.86]琵琶和古筝在屋檐下对唱
+[01:31.94]红枫叶寄去远方的思念长
+[01:37.16]哪怕霜花染白了小窗台
+[01:41.46]我的小竹篮里永远有春光
+[02:05.32]石桌上摆着柿子红彤彤
+[02:07.64]我偷偷尝了一口甜进心中
+[02:13.48]蚂蚁搬着花瓣排成了长队
+[02:17.02]我蹲在地上看了一刻钟
+[02:21.64]竹篮装满了一半金桂香
+[02:25.10]另一半装进落叶和夕阳
+[02:29.14]摇摇晃晃走过九曲小回廊
+[02:33.92]影子被拉得又细又长
+[02:39.10]远处的笛声吹落了晚霞
+[02:42.58]大雁排成人字飞向南方
+[02:47.02]我把桂花一朵一朵收好
+[02:51.28]留住整个秋天最甜的时光
+[02:55.28]寒露的风儿吹呀吹散了云裳
+[02:59.24]小小姑娘在桂花雨里忙
+[03:04.34]一层桂花铺上一层白砂糖
+[03:09.70]封进玻璃罐里等冬天品尝
+[03:12.56]琵琶和古筝在屋檐下对唱
+[03:16.64]红枫叶寄去远方的思念长
+[03:21.88]哪怕霜花染白了小窗台
+[03:26.18]我的小竹篮里永远有春光
+[03:32.18]节气一轮一轮慢慢走
+[03:35.70]小树苗陪着我一起长高
+[03:40.12]等到来年春暖花再开
+[03:43.62]再把这罐秋天的甜味打开
+[03:50.02]寒露的月光洒呀洒满小院墙
+[03:53.86]小小姑娘在桂花梦里晃
+[03:59.00]一层星光铺上一层桂花糖
+[04:03.24]送给夜空中最亮的那道光
+[04:08.38]弦乐与古筝在云端上回响
+[04:11.80]千山万水都闻到这抹香
+[04:16.52]不管岁月走得有多匆忙
+[04:20.74]童年的桂花永远不会遗忘
+[04:25.70]寒露凉呀桂花香
+[04:29.60]小小竹篮装月光
+[04:34.28]摇啊摇到外婆桥
+[04:38.26]秋天的甜梦真漫长
+
+
+### 4. 纸鸢与旧木偶 — The Kite and the Old Puppet
+
+*Guofeng ballad* · 572 characters · 280 s
+
+
+
+ [00:14.64]老戏台的青苔爬上了木桩
+[00:20.50]雨水顺着褪色的画梁滴落
+[00:27.38]我抱膝坐在角落的竹筐旁
+[00:31.38]看见你静静躺在灰尘中央
+[00:34.42]半边脸颊还留着红胭脂妆
+[00:41.04]身上的彩衣已经有些微凉
+[00:44.72]是谁把丝线遗忘在旧时光
+[00:47.64]让你独自守着空荡的剧场
+[00:54.06]我用衣袖擦去你眼角的灰
+[00:57.56]解下发间的红绳系上你手背
+[01:00.56]风吹过空巷像一声轻叹
+[01:03.68]我轻轻摇晃你便抬起眉眼
+[01:09.16]小木偶呀你别怕夜黑风高
+[01:12.98]我提着小灯笼陪你跳一曲歌谣
+[01:16.52]指尖的红丝线一牵一绕
+[01:20.26]旧戏台又亮起从前的热闹
+[01:23.38]唱一段悲欢呀叹一段离合
+[01:26.36]清亮的童音穿过雨幕飘摇
+[01:29.78]哪怕看戏的人早就散了场
+[01:33.00]还有我为你鼓掌到天亮
+[01:53.12]你曾看过多少繁华的灯火
+[01:58.92]听过多少台下热烈的喝彩
+[02:05.72]如今只剩燕子在梁上筑窝
+[02:09.72]和一只淋湿翅膀的纸鸢作伴
+[02:13.06]我把纸鸢修好放在你身旁
+[02:19.28]给你们讲山外小镇的故事长
+[02:23.40]木偶的嘴角仿佛弯了一弯
+[02:26.00]在摇曳烛光里不再孤单
+[02:32.48]我用衣袖擦去你眼角的灰
+[02:35.86]解下发间的红绳系上你手背
+[02:38.88]风吹过空巷像一声轻叹
+[02:42.04]我轻轻摇晃你便抬起眉眼
+[02:47.52]小木偶呀你别怕夜黑风高
+[02:51.32]我提着小灯笼陪你跳一曲歌谣
+[02:55.38]指尖的红丝线一牵一绕
+[02:59.02]旧戏台又亮起从前的热闹
+[03:01.42]唱一段悲欢呀叹一段离合
+[03:04.74]清亮的童音穿过雨幕飘摇
+[03:08.08]哪怕看戏的人早就散了场
+[03:11.30]还有我为你鼓掌到天亮
+[03:18.40]啦——啊——
+[03:25.92]丝线不断情意不散
+[03:31.44]啦——啊——
+[03:38.24]木偶有心岁月生香
+[03:44.20]小木偶呀你看那雨过天晴
+[03:47.90]漫天的星河落进古老的屋檐
+[03:51.48]指尖的红丝线越飞越高
+[03:54.74]带着纸鸢飞向云端的怀抱
+[03:58.06]唱一段春秋呀绘一幅人间
+[04:01.34]纯净的歌声回荡在天地之间
+[04:04.70]就算我有一天也会长大走远
+[04:08.06]这曲童年的戏永远留在心田
+[04:14.80]红绳系手腕
+[04:19.32]木偶入梦乡
+[04:23.12]旧戏台安静
+[04:26.30]月光白如霜
+
+
+### 5. 小楼檐下听雨眠 — Listening to Rain Under the Eaves
+
+*Guofeng ballad* · 580 characters · 256 s
+
+
+
+ [00:16.16]滴答滴答雨水顺着瓦当落
+[00:19.40]在青石天井敲出小小的水涡
+[00:23.86]我搬来小木凳坐在门槛旁
+[00:26.36]双手托着下巴数着雨点儿多
+[00:30.74]院里的芭蕉叶被洗得碧绿
+[00:33.36]小花猫蜷在竹椅上打着呼噜
+[00:37.16]阿姐出门时说天黑前就回
+[00:40.30]怎么巷口还没看见那把油纸伞
+[00:43.88]风儿吹动檐下的铜风铃
+[00:47.46]叮当声混着细雨轻又轻
+[00:50.90]我折了一只白色的纸青蛙
+[00:53.52]请它去巷口帮我探一探口信
+[00:59.00]山外小楼夜听雨呀雨绵绵
+[01:03.14]小姑娘守着灯火不肯眠
+[01:06.58]数过一滴雨又数过一片云
+[01:10.22]等那熟悉的脚步声响在门前
+[01:14.20]古筝弹碎了江南的烟雨天
+[01:17.48]笛声绕着青砖黛瓦转呀转
+[01:20.82]阿姐你可别在路上贪看风景
+[01:24.06]家里的桂花糕还温在灶台边
+[01:42.88]窗纸上映着摇晃的竹影儿
+[01:45.54]奶奶在灯下穿针又引线
+[01:48.70]我趴在窗台哈出一团白气
+[01:51.68]用手指画出一个圆圆的笑脸
+[01:55.94]水缸里的红金鱼摆着尾巴
+[01:59.18]好像也在听屋檐滴水的节拍
+[02:02.32]雨声越下越密像一张小网
+[02:05.76]把整个夜晚都轻轻网在里边
+[02:10.98]风儿吹动檐下的铜风铃
+[02:13.24]叮当声混着细雨轻又轻
+[02:16.66]我折了一只白色的纸青蛙
+[02:20.56]请它去巷口帮我探一探口信
+[02:25.58]山外小楼夜听雨呀雨绵绵
+[02:28.96]小姑娘守着灯火不肯眠
+[02:32.42]数过一滴雨又数过一片云
+[02:36.34]等那熟悉的脚步声响在门前
+[02:40.36]古筝弹碎了江南的烟雨天
+[02:43.30]笛声绕着青砖黛瓦转呀转
+[02:45.80]阿姐你可别在路上贪看风景
+[02:49.90]家里的桂花糕还温在灶台边
+[02:53.96]啦——呀——
+[02:55.64]雨打芭蕉叶儿垂
+[03:01.04]啦——呀——
+[03:04.48]油纸伞儿快快归
+[03:21.66]山外小楼夜听雨呀雨渐停
+[03:24.98]巷口忽然亮起一盏暖黄灯
+[03:28.86]油纸伞转开晶莹的小水花
+[03:32.58]阿姐笑着唤我熟悉的小名
+[03:37.40]二胡与弦乐拉出团圆的暖意
+[03:38.76]怀里揣着刚买的热糖炒栗子
+[03:42.16]原来最美的风景不在山外头
+[03:46.20]就在这屋檐下灯火相依的眼眸
+[03:51.24]雨声慢慢停
+[03:55.20]风铃轻轻响
+[03:59.18]吃颗甜栗子
+[04:04.86]钻进被窝里
+
+
+### 6. 外婆的绿搪瓷碗 — Grandma's Green Enamel Bowl
+
+*Urban folk* · 679 characters · 252 s
+
+
+
+ [00:14.28]外婆家的院子有一棵老槐树
+[00:16.84]夏天的时候知了叫得特别响
+[00:19.78]我坐在小板凳上剥着毛豆壳
+[00:23.26]阳光透过树叶掉在我的膝盖上
+[00:27.60]厨房里有一只绿色的搪瓷碗
+[00:31.56]碗边磕掉了一块黑色的瓷儿
+[00:33.64]外婆总用它给我盛满凉白开
+[00:37.44]或者装满刚切好的沙瓤大西瓜
+[00:42.04]收音机里放着听不懂的老歌
+[00:44.82]蒲扇一下一下摇走夏天的热
+[00:47.36]那时候觉得下午总是很长很长
+[00:51.14]长到一觉睡醒太阳还没落山坡
+[00:56.14]外婆你慢点走等等我的小短腿
+[01:00.04]菜市场的小路石板有些滑
+[01:03.02]我帮你提着两颗绿油油的青菜
+[01:06.52]你给我买一块五毛钱的橘子冰
+[01:11.60]绿搪瓷碗里装过多少顿晚饭
+[01:13.70]一碗西红柿炒蛋就能吃得很香
+[01:17.12]墙头的老花猫眯着眼睛打哈欠
+[01:20.30]日子就像井水一样安静又清凉
+[01:41.32]外婆的针线盒是个铁皮饼干桶
+[01:44.84]里面装着五颜六色的小纽扣
+[01:48.02]我最喜欢把它们倒在竹席上
+[01:51.16]一颗一颗排成弯弯的小火车
+[01:54.84]傍晚的时候胡同里飘来饭菜香
+[01:58.34]外婆站在门口扯着嗓子喊我回家
+[02:01.32]我拍拍屁股上的土跑进院门
+[02:04.94]先喝一口搪瓷碗里的绿豆汤
+[02:08.30]收音机里放着听不懂的老歌
+[02:12.48]蒲扇一下一下摇走夏天的热
+[02:14.78]那时候觉得下午总是很长很长
+[02:19.10]长到一觉睡醒太阳还没落山坡
+[02:23.56]外婆你慢点走等等我的小短腿
+[02:27.46]菜市场的小路石板有些滑
+[02:29.98]我帮你提着两颗绿油油的青菜
+[02:33.78]你给我买一块五毛钱的橘子冰
+[02:38.80]绿搪瓷碗里装过多少顿晚饭
+[02:41.14]一碗西红柿炒蛋就能吃得很香
+[02:44.58]墙头的老花猫眯着眼睛打哈欠
+[02:47.72]日子就像井水一样安静又清凉
+[02:55.02]后来老平房画上了拆字圆圈
+[02:58.28]我们搬进了高高的水泥楼房
+[03:01.50]外婆把那只绿搪瓷碗包在布里
+[03:04.78]说这是陪我长大的老伙计不能忘
+[03:25.96]外婆你别变老等等我再长高一点
+[03:29.00]换我牵着你的手去公园晒太阳
+[03:32.28]我给你剥最甜的那颗红富士苹果
+[03:36.02]给你讲学校里发生的稀奇事儿
+[03:40.74]绿搪瓷碗还放在橱柜最里边
+[03:43.08]盛满了老院子回不去的夏天
+[03:45.80]只要外婆还在身边摸摸我的头
+[03:49.98]哪里都是最安心的那个小院
+[03:56.66]木吉他轻轻弹
+[04:00.08]蒲扇慢慢摇
+[04:03.90]绿搪瓷碗里的夏天
+[04:05.82]我一直记着呢
+
+
+### 7. 弄堂口的竹蜻蜓 — The Bamboo Dragonfly at the Alley Mouth
+
+*Urban folk* · 692 characters · 250 s
+
+
+
+ [00:11.58]弄堂口停着一辆蓝色的大卡车
+[00:14.78]工人们把大衣柜抬下木楼梯
+[00:17.73]我坐在红色的小塑料板凳上
+[00:20.69]手里捏着你昨天给我的竹蜻蜓
+[00:23.89]白衬衫的晾衣杆还在头顶晃
+[00:26.85]卖冰棍的自行车叮铃铃路过
+[00:29.80]你抱着一只装满弹珠的玻璃罐
+[00:31.00]站在太阳底下不知道说什么
+[00:35.58]平时这个时候我们早就在捉迷藏
+[00:41.18]躲在煤球炉子后面捂着嘴偷笑
+[00:46.90]今天大人们忙着打包旧报纸
+[00:50.52]连巷子里的风都变得静悄悄
+[00:56.16]竹蜻蜓飞呀飞上二楼的晒台
+[00:58.48]转着圈儿落进长满青苔的花盆
+[01:01.12]你说新家在很远的江北新区
+[01:03.88]要坐十几站公交车才能到那儿
+[01:06.70]我把最漂亮的那张贴纸贴在你手背
+[01:11.06]你把竹蜻蜓塞进我的小口袋
+[01:12.58]大人说以后放假还能再见面
+[01:15.16]可我知道弄堂口只剩我一个人发呆
+[01:32.00]我们在水泥地上画过的跳房子
+[01:34.96]被昨天的雨水冲淡了一大半
+[01:37.62]小卖部门口的摇摇车还在唱歌
+[01:41.22]投进一块钱就能去太空转一转
+[01:43.42]你妈妈喊你上车系好安全带
+[01:45.96]你隔着车窗对我用力挥挥手
+[01:49.26]大卡车突突突地冒着白烟开走
+[01:51.48]拐过街角再也看不见影踪
+[01:56.58]平时这个时候我们早就在捉迷藏
+[02:02.18]躲在煤球炉子后面捂着嘴偷笑
+[02:07.84]今天大人们忙着打包旧报纸
+[02:10.76]连巷子里的风都变得静悄悄
+[02:15.48]竹蜻蜓飞呀飞上二楼的晒台
+[02:19.36]转着圈儿落进长满青苔的花盆
+[02:22.02]你说新家在很远的江北新区
+[02:24.82]要坐十几站公交车才能到那儿
+[02:27.62]我把最漂亮的那张贴纸贴在你手背
+[02:31.00]你把竹蜻蜓塞进我的小口袋
+[02:33.40]大人说以后放假还能再见面
+[02:36.12]可我知道弄堂口只剩我一个人发呆
+[02:41.56]手心一搓竹蜻蜓又飞了起来
+[02:47.22]飞过老电线杆飞过麻雀的翅膀
+[02:52.94]如果它能飞得像风筝一样高
+[02:57.60]能不能替我去看看你的新书房
+[03:15.34]竹蜻蜓飞呀飞进傍晚的红云彩
+[03:18.58]弄堂里的路灯一盏接一盏亮起来
+[03:22.20]妈妈在楼上喊我收衣服吃晚饭
+[03:23.70]我把玻璃弹珠装进小书包里边
+[03:26.30]也许明天会有新的小朋友搬来
+[03:29.18]也许我也会慢慢习惯一个人玩
+[03:32.10]但我会一直留着这只竹蜻蜓
+[03:36.98]和弄堂口那个晒满太阳的夏天
+[03:43.34]大卡车走远了
+[03:46.88]竹蜻蜓落下来
+[03:48.14]再见啦我的好朋友
+[03:52.64]要在新学校天天开心呀
+
+
+### 8. 三楼窗台的蒲公英 — Dandelion on the Third-Floor Windowsill
+
+*Urban folk* · 693 characters · 247 s
+
+
+
+ [00:14.30]我家住在红砖楼的第三层
+[00:16.90]窗台外面的铁栏杆漆成了绿色
+[00:20.26]角落里不知什么时候长出一株草
+[00:23.76]开出一朵毛茸茸的白色蒲公英
+[00:27.12]楼下的修车摊大爷戴着老花镜
+[00:30.60]爸爸推着那辆掉漆的二八自行车
+[00:34.82]链条转起来哗啦哗啦地响
+[00:37.00]车后座绑着我放学坐的小软垫
+[00:41.88]作业本上还有两道算术题没写完
+[00:45.10]铅笔头上的橡皮擦得圆圆的
+[00:47.70]晚风吹过十九路公交车的站牌
+[00:51.54]报站的声音听起来有点困了
+[00:54.82]三楼窗台的蒲公英呀你要去哪里
+[00:58.62]外面的高楼大厦会不会挡住你
+[01:01.80]我轻轻吹一口气送你上天去
+[01:04.82]替我去看看云朵后面的秘密
+[01:08.58]爸爸的自行车铃铛叮铃铃地响
+[01:11.88]妈妈在厨房切着土豆丝咔嚓嚓
+[01:15.12]城市的傍晚没有森林和大海
+[01:18.72]却有千家万户亮起的温暖窗花
+[01:35.60]对门的老爷爷喜欢在阳台养信鸽
+[01:39.18]每天傍晚哨子一吹鸽群就盘旋
+[01:42.62]我用彩笔在日记本上画下翅膀
+[01:46.00]涂上橘红色的晚霞和蓝色的天
+[01:49.62]楼下卖烤红薯的三轮车停在路边
+[01:53.44]甜甜的焦香味一直飘进我房间
+[01:56.26]我数着储蓄罐里的硬币叮当响
+[01:59.72]想给爸爸妈妈一人买一块尝尝鲜
+[02:04.14]作业本上还有两道算术题没写完
+[02:07.36]铅笔头上的橡皮擦得圆圆的
+[02:09.98]晚风吹过十九路公交车的站牌
+[02:13.80]报站的声音听起来有点困了
+[02:17.60]三楼窗台的蒲公英呀你要去哪里
+[02:21.30]外面的高楼大厦会不会挡住你
+[02:24.08]我轻轻吹一口气送你上天去
+[02:27.52]替我去看看云朵后面的秘密
+[02:30.98]爸爸的自行车铃铛叮铃铃地响
+[02:34.16]妈妈在厨房切着土豆丝咔嚓嚓
+[02:37.42]城市的傍晚没有森林和大海
+[02:41.00]却有千家万户亮起的温暖窗花
+[02:45.26]小小的伞兵飘过晾衣架
+[02:47.74]落在对面小弟弟的玩具车上
+[02:51.14]原来长大就像蒲公英的种子
+[02:54.32]总有一天要飞向更远的地方
+[03:12.24]三楼窗台的蒲公英呀明年还会开
+[03:15.54]我的身高线又在门框上画高了一截
+[03:19.54]把小小的心愿折成纸飞机扔出去
+[03:22.54]穿过梧桐树梢飞向满天星辉
+[03:26.52]爸爸的旧单车停在楼道口休息
+[03:29.50]一家人围在桌前喝着热玉米粥
+[03:32.10]这平平常常的每一天我都记在心里
+[03:36.03]就是我童年最珍贵的童话书
+[03:42.84]蒲公英飞走了
+[03:45.76]路灯亮起来了
+[03:48.28]作业写完啦
+[03:51.94]晚安我的小窗台
+
+
+### 9. 小哪吒借红绫 — Little Nezha Borrows the Red Sash
+
+*Guofeng DJ remix* · 612 characters · 271 s
+
+
+
+ [00:28.98]双丸子头扎起红绸带迎风扬
+[00:32.42]小木枪在手心转出万道金光
+[00:35.86]莫笑我年纪小个头才到桌角
+[00:39.30]一招一式都能把乌云全刺破
+[00:42.74]陈塘关的海浪拍打着石城墙
+[00:45.28]夜叉在雷雨里张牙舞爪叫嚣
+[00:48.62]我踩上滑板当作我的风火轮
+[00:53.02]乾坤圈一扔震碎满天狂飙
+[00:57.64]琵琶声急促像急雨落玉盘
+[00:59.78]战鼓擂响点燃心中的火焰
+[01:02.32]看我小小身影冲进风暴眼
+[01:05.90]天高海阔任我闯荡立誓言
+[01:11.26]借我三尺混天绫呀翻江又倒海
+[01:14.40]我是天地之间最飒的小小孩
+[01:17.86]电音节拍震得四海龙王抖三抖
+[01:22.16]唢呐一响万道霞光为我开
+[01:25.82]乾坤圈转出日月星辰的节拍
+[01:28.12]小小的拳头也能打破旧安排
+[01:31.60]哪怕前方有十万天兵拦住路
+[01:34.82]我自仰天大笑踏破凌霄台
+[01:53.02]金砖在书包里闪着耀眼的光
+[01:56.26]九龙神火罩护住身后的村庄
+[01:58.88]谁说小姑娘只能安静绣花朵
+[02:03.12]我偏要披上战甲去巡视八荒
+[02:06.20]左脚踏碎惊雷右脚踢开巨浪
+[02:09.20]把黑夜变成五光十色的游乐场
+[02:12.62]眉心一点红砂亮得像小太阳
+[02:16.06]全场的灯光都跟着我一起晃
+[02:19.58]琵琶声急促像急雨落玉盘
+[02:23.78]战鼓擂响点燃心中的火焰
+[02:26.36]看我小小身影冲进风暴眼
+[02:29.82]天高海阔任我闯荡立誓言
+[02:35.26]借我三尺混天绫呀翻江又倒海
+[02:38.84]我是天地之间最飒的小小孩
+[02:41.86]电音节拍震得四海龙王抖三抖
+[02:46.20]唢呐一响万道霞光为我开
+[02:49.60]乾坤圈转出日月星辰的节拍
+[02:52.18]小小的拳头也能打破旧安排
+[02:55.56]哪怕前方有十万天兵拦住路
+[02:58.84]我自仰天大笑踏破凌霄台
+[03:02.44]风火轮转不停
+[03:06.20]红绫舞破天际
+[03:09.66]少年志不言弃
+[03:13.06]看我一战成名
+[03:33.54]借我三尺混天绫呀搅动九重天
+[03:36.64]小小女童也有大圣般的威严
+[03:40.04]重低音轰鸣唤醒沉睡的山川
+[03:44.70]古筝与电音齐奏最燃的诗篇
+[03:48.12]乾坤圈转出万里山河新画卷
+[03:50.80]所有的烦恼统统震碎成云烟
+[03:53.86]今夜把星辰大海都当作舞台
+[03:57.30]跟着我的节奏一起嗨翻天
+[04:00.68]红绫飞呀飞
+[04:02.72]金鼓擂呀擂
+[04:03.92]小小小哪吒
+[04:05.12]威风震四海
+
+
+### 10. 画卷小锦鲤 — The Koi That Left the Painting
+
+*Guofeng DJ remix* · 634 characters · 286 s
+
+
+
+ [00:32.42]宣纸画卷在月光下慢慢展开
+[00:34.54]水墨渲染出一池碧绿的荷花台
+[00:38.12]我穿上一袭红裙从画里跳出来
+[00:41.72]摇一摇小尾巴吐出七彩云彩
+[00:45.40]千年的古镇亮起霓虹的灯牌
+[00:49.66]电子的鼓点敲得石拱桥摇摆
+[00:52.44]别看我只是一尾小小红锦鲤
+[00:56.10]心里装着跃过龙门的英雄气概
+[01:01.64]古筝拨响急促的浪花一朵朵
+[01:03.22]合成器的音浪推着我往前冲
+[01:06.86]倒计时三二一准备起跳升空
+[01:10.24]让整条银河都看见我的红影踪
+[01:14.52]我是画卷里跑出来的小锦鲤
+[01:20.16]乘着电音的巨浪直上九万里
+[01:21.36]左摇右摆躲开所有的暴风雨
+[01:24.68]一个鲤鱼打挺跃过龙门去
+[01:28.06]把好运气统统洒向人间的街巷
+[01:32.12]让每张笑脸都闪着金色的光芒
+[01:36.52]鼓点咚咚咚敲响最旺的节拍
+[01:38.84]跟着小锦鲤一起摇摆发大财
+[01:58.10]琉璃瓦上反射着绚烂的激光
+[02:00.20]我提着莲花灯在飞檐上奔跑
+[02:03.84]金鳞片在夜色里闪得像钻石
+[02:07.32]把沉闷的黑夜点亮成不夜城
+[02:11.64]不管是高山险滩还是急流弯
+[02:14.48]我都笑着当成蹦蹦床来通关
+[02:18.06]一口气游过三千六百道波澜
+[02:21.72]头顶的小龙角已经露出一尖尖
+[02:26.66]古筝拨响急促的浪花一朵朵
+[02:30.00]合成器的音浪推着我往前冲
+[02:33.58]倒计时三二一准备起跳升空
+[02:35.90]让整条银河都看见我的红影踪
+[02:39.62]我是画卷里跑出来的小锦鲤
+[02:43.84]乘着电音的巨浪直上九万里
+[02:46.38]左摇右摆躲开所有的暴风雨
+[02:50.22]一个鲤鱼打挺跃过龙门去
+[02:53.74]把好运气统统洒向人间的街巷
+[02:57.82]让每张笑脸都闪着金色的光芒
+[03:03.26]鼓点咚咚咚敲响最旺的节拍
+[03:04.56]跟着小锦鲤一起摇摆发大财
+[03:08.06]水花四溅跃云端
+[03:11.78]金光万道破重关
+[03:17.56]锦鲤赐福好运来
+[03:18.82]岁岁年年皆灿烂
+[03:39.12]我是画卷里最神气的小锦鲤
+[03:43.30]化身金龙在九天星河里嬉戏
+[03:46.84]竹笛与电音吹散所有的阴霾
+[03:49.88]漫天烟花都在为我热烈喝彩
+[03:52.84]把福气和欢喜装满每个口袋
+[03:56.38]心想事成花开富贵全都来
+[03:59.94]最燃的节奏永远不会停下来
+[04:03.56]小小锦鲤带你飞向最亮的未来
+[04:08.22]锦鲤跳呀跳
+[04:09.44]龙门高呀高
+[04:14.04]好运来到家门口
+[04:18.38]天天开口笑
+
+
+### 11. 山海小当家 — Little Boss of the Classic of Mountains and Seas
+
+*Guofeng DJ remix* · 647 characters · 237 s
+
+
+
+ [00:16.41]翻开山海经那本厚厚的图鉴
+[00:19.85]里面的神兽全都跳到我面前
+[00:23.30]小饕餮馋得抱着奶瓶不松手
+[00:26.75]九尾狐忙着梳理毛茸茸的尾尖
+[00:30.48]我吹响竹哨立下今天的规矩
+[00:32.26]排好队伍不许调皮也不许哭泣
+[00:35.28]虽然我只是扎着羊角辫的小童
+[00:38.76]却是这山海神兽乐园的大统领
+[00:42.20]战鼓与电音在昆仑山顶轰鸣
+[00:46.12]琵琶弦拨出闪电一般的轨迹
+[00:51.12]骑上小麒麟戴上威风的虎头帽
+[00:53.30]今夜的山海巡游马上要开启
+[00:55.84]我是山海经里最酷的小当家
+[00:59.68]带着百兽战队闯荡海角天涯
+[01:03.38]重低音一震群山跟着一起晃
+[01:06.74]凤凰在头顶铺开五彩的霓裳
+[01:10.46]应龙在云端打着节拍呼风唤雨
+[01:13.48]白泽在身边为我指点着迷津
+[01:16.56]一二三四跟着鼓点大步往前迈
+[01:20.36]小小当家要把天地都点燃起来
+[01:37.76]毕方鸟点亮了漫山遍野的篝火
+[01:41.06]精卫鸟衔来亮晶晶的彩色贝壳
+[01:44.74]连打瞌睡的烛龙都睁开了眼睛
+[01:47.96]被这动感的电子节拍彻底唤醒
+[01:50.72]我拿出糖葫芦分给乖巧的小兽
+[01:54.54]谁表现最好就奖励一朵小红花
+[01:57.62]古老的神话撞上最潮的电音浪
+[02:01.12]整片星空都是我们的游乐场
+[02:04.60]战鼓与电音在昆仑山顶轰鸣
+[02:08.38]琵琶弦拨出闪电一般的轨迹
+[02:11.44]骑上小麒麟戴上威风的虎头帽
+[02:15.58]今夜的山海巡游马上要开启
+[02:18.12]我是山海经里最酷的小当家
+[02:21.56]带着百兽战队闯荡海角天涯
+[02:25.94]重低音一震群山跟着一起晃
+[02:29.04]凤凰在头顶铺开五彩的霓裳
+[02:32.74]应龙在云端打着节拍呼风唤雨
+[02:35.76]白泽在身边为我指点着迷津
+[02:38.90]一二三四跟着鼓点大步往前迈
+[02:42.64]小小当家要把天地都点燃起来
+[02:46.92]昆仑山高路不平
+[02:50.36]神兽同行显威灵
+[02:53.82]唢呐声声震九霄
+[02:56.54]山海少年最逍遥
+[03:12.96]我是山海经里无敌的小当家
+[03:16.44]跨越山海把快乐传遍千万家
+[03:20.50]最密的鼓点撞碎所有的孤单
+[03:24.20]古筝与合成器奏响狂欢的夜晚
+[03:29.28]麒麟踏瑞气九尾摇动满天星
+[03:30.48]每一个梦想都在节奏里觉醒
+[03:34.40]不管未来还有多少未知的奇遇
+[03:37.54]山海小当家永远勇敢冲第一
+[03:38.74]小麒麟跑呀跑
+[03:39.94]九尾狐笑呀笑
+[03:41.14]山海小当家
+[03:54.20]明天继续闹
+
+
+