---
name: suno-song-craft
description: "Research, design, write, audit, localize, validate, and package original Suno songs from named references. Use when asked to create or revise lyrics, emulate a reference song without copying protected expression, produce Cantonese Jyutping or multilingual performance and reader versions, configure Style, Exclude, vocal gender, sliders, or Auto duration, validate research-backed song batches, or render a copy-ready HTML materials pack."
---

# Suno 歌曲创作技能

写歌、审歌、修歌。三条底线：**歌词通顺有故事** · **听得出参照曲** · **语言是母语写的且真的唱对了**。

---

## ⛔ 强制流程

```
【关卡 1】参照曲三层拆解（参数 / 语域 / 精髓+声纹）← 仿写必须先读完整原曲
【关卡 1.5】研究证据与整体设计落盘（未落盘不得写参数、不得打开 Suno 提交）
【关卡 2】装叙事引擎（先有故事线，再有句子）
【关卡 3】写词 → 推敲关（逐行杀 AI 味）
【关卡 4】双层语种交付（演唱版 + 用户阅读版，含粤语粤拼转换）
【关卡 5】交付前扫描 + HTML 渲染验证
```

---

# ★★★ 粤语专章（实测踩坑最多，独立成章）

## 🔴 第一铁律：歌词必须交付**粤拼罗马字**，不是汉字

> **实测结论（用户实听验证）：写繁体汉字，Suno 唱出来是普通话。**
> 原因：Suno 中文模型主要按普通话读汉字——「影」读 ying 而非粤语 jing2，「亮晶晶」读 jing 而非 zing1。
> **我曾采信一个二手来源说「汉字优于粤拼」，被实测推翻。多个中文实操来源一致：必须用粤拼。**

**做法（三件套缺一不可）：**

**① 歌词框贴粤拼**，逐字带声调数字：
```
daan1 ce1 ting4 zoi6 taa1 lau4 haa6 dik1 wong4 fan1,
din6 waa2 ting4 tan1 heoi3 ngo5 dik1 ngaang6 bai6,
lin4 tung4 naa5 bun3 geoi3 zan1 sam1.
```
转换工具：`pip install ToJyutping --break-system-packages`
```python
import ToJyutping
ToJyutping.get_jyutping_text('電話亭吞去我的硬幣')
```
段落标签 `[Verse 1: ...]` 保持英文不转。声调数字 1–6 同时也是给模型的音高提示。

**② Style 里显式否定普通话**：
```
genre: "cantonese song, sung in cantonese not mandarin, hong kong cantopop, <年代/曲风>, jyutping lyrics"
vocal: "... cantonese diction, jyutping pronunciation ..."
```
语种声明必须在 genre **最前面**（Suno style 字段前位权重最高）。

**③ Exclude 第一位放 `mandarin`**：`mandarin, [反向性别] vocals, duet`

**④ 交付物同时附汉字对照**，标明「只供阅读，不要贴进 Suno」——否则用户会误贴。

**⑤ 卡片标题加【粵語】标记**——曾因粤语版另起歌名（不翻译原则）导致用户找错卡片去生成国语版。**语种标记优先于命名美学。**

## 语体：主流是**书面语入词**，不是口语

> **踩坑：把三首粤语版全写成满屏「嘅咗喺唔哋」。**
> 真相：Beyond《喜欢你》《海阔天空》**通篇零口语字**；《敢爱敢做》（潘伟源）雅正工整；《无赖》（李峻一）是**混合型**——书面语骨架（我/但/不/很/了）+ 粤语实词（返工、损友、捱、攰），**同样零个「唔/係/嘅/咗」**。
> 史实：许冠杰 147 首仅半数口语；黄伟文 2002 年「新广东歌运动」全口语实验失败，口语占比 2002 年 48% → 2011 年 12%。

| 语体 | 用于 |
|---|---|
| **书面语**（默认） | 抒情情歌、分手歌、K 歌、大歌、励志、家国、文艺、古风、正剧主题曲 |
| **混合型**（最稳，拿不准用这个） | 书面语骨架 + 粤语实词/俗语点缀 |
| **纯口语** | 说唱、市井打工、喜剧、讽刺自嘲、童谣广告、都市小品 |

**判断法**：副歌最高音落在语法词位置吗？若是且想用口语 → 「唔 m4／嘅 ge3／咗 zo2」全是低调唱不上去 → 必须改书面语。

## 绝对禁止（书面语粤词）

- **语体混用**：的/嘅、是/係、不/唔、了/咗、在/喺、他/佢、这那/呢嗰、没有/冇。**第三人称是语体的锚，错一个字整首散架。**
- **北方词**：咱们、俺、啥、挺、蛮、干嘛、闺蜜、姑娘、小伙子、丫头、瞅、唠嗑
- **儿化音**：粤语完全没有，一个都不能有
- **普通话语气词**：呗、嘛、哈、哟、咯。书面语粤词**句末不加语气词，靠旋律收**
- **歧义字**：走（粤＝跑，改「行/踏遍」）· 喝（粤＝呼喝，改「飲」）· 吃（改「食」）· 給（改「予/留給」）· 和（改「與」）
- **「的」≤3 个且只放高音短位；「了」尽量删**（粤语「了」liu5 是实音节占字位，改「已/早/盡」）

## 粤语韵部——**绝不能用普通话十三辙**

粤语韵尾 9 套（零/-i/-u/**-m**/-n/-ng/**-p/-t/-k**），普通话只有 3 套。**普通话一辙 = 粤语 4–8 韵。**

- **常用大韵**：aa · ai · oi · au · iu · ou · an · **am** · ong · ung · ing · eoi
- **-m 尾韵（am/im/aam）是国语完全没有的**，善用可立刻拉开与国语词的距离（心 sam1 / 深 sam1 / 音 jam1）
- **陷阱**：心 sam1 vs 新 san1（普通话同音，粤语不同韵）｜长短 a 不通押（-aan≠-an、-aai≠-ai）｜東 dung1 vs 冰 bing1（普通话同辙，粤语绝不通押）
- **入声韵**（-p/-t/-k）：只配短音符，**句尾长音禁用入声**；-uk 局促憋闷、-ok 决绝。⚠️ 入声只与第 1/3/6 声同调，**没有与第 2/4/5 声同调的入声字**，副歌用入声韵是高危

## 协音（啱音）——Suno 场景下的能力边界

粤语九声六调，字调走向须顺旋律，否则唱出来变成另一个字（「我下昼要去买餸」→「饿虾昼腰去卖鬆」）。
业界方法：**0243 类音阶法**——3={1,2,7声}最高 · 4={3,5,8} · 2={6,9} · 0={4}最低；先把旋律译成数字串「搭棚」再填同档字；卡音时优先换**阴上声（第2声）**，它最灵活。

**但 Suno 是先词后曲，无 demo，做不了严格协音——必须向用户说明这个边界。** 能保证的是：语体纯净、韵部正确、入声不落长音、避开歧义字、粤拼交付。
**验收：找粤语母语者只听不看词逐字复述，错字换同调同韵字重填。**

## 粤语句法优势
**单音节词优先**（食/飲/行/企/睇/講/著/畀/返/落），省出的音位加意象｜**压缩定语**是招牌（「攔路雨」不是「挡路的雨」）｜目标每 7 字乐句 ≥4 个实词

---

# 跨语言总则

> **不同语言只能重新原创，不能翻译。** 协音不可迁移、韵部不同、虚词体系不同、文化引用不同。
> 跨版本只保留：情绪弧线、副歌落点开口度、标题记忆点。**歌词内容默认全部重写。**
> 实证：《富士山下》/《爱情转移》同一词人同一旋律，第一句连意象层都不重合。

**英文**：verbing（the winter thinned us down）· 忌中式语序 · 按英文音节重音押韵
**任何语言**：确认该语言在 Suno 的**实际发音表现**，不要假设「写对文字就会唱对」——粤语的教训就是这么来的。

## 双层语种自动适配（所有曲目必做）

先从当前对话确定 `readerLanguage`（用户正在使用的阅读语言），再从歌词与 Style 确定 `performanceLanguage`（实际交给 Suno 演唱的语言）。**两者是独立字段，不得用翻译稿覆盖演唱稿。**

每首歌必须交付两个明确标注的版本：

- `performanceLyrics`：适配该歌曲演唱语种、韵律、重音与发音的版本；这是唯一允许复制进 Suno Lyrics 的文本；
- `readerLyrics`：适配用户当前语言的逐段阅读版本，保留故事、关系与段落标签，服务理解，不承担演唱格律；
- 两种语言相同时仍保留两个入口，`readerMode: "same-as-performance"`，可复用同一文本但不得省略语言标签；
- 英文或其他外语歌曲：演唱版使用目标语言原创歌词，阅读版翻译为用户语言，`readerMode: "localized-reading"`；
- 粤语歌曲：`performanceLyrics` 必须是带声调数字的粤拼；同时提供繁体粤语汉字版 `scriptLyrics`，并注明“只供阅读，不要贴进 Suno”。若用户语言不是中文，再额外提供该用户语言的 `readerLyrics`；
- 普通话用户阅读日语、英语或其他语言时，阅读版允许自然意译，但段落顺序、叙事事实、人物关系与 Hook 含义必须对应；不得伪装成可唱译配版。

标准本地化文件使用 `localizations.<reader-locale>.json`，`entries` 以歌曲标题为键；每首至少保存：`performanceLanguage`、`readerLanguage`、`readerTitle`、`readerMode`、`readerLyrics`；粤语再加 `scriptLanguage: "yue-Hant"` 与 `scriptLyrics`。目标语言不是粤语时，不得生成伪粤拼字段。

交付层自动适配规则：

| 演唱语种 | 用户阅读语种 | 页面必须展示 |
|---|---|---|
| 与用户相同 | 相同 | 演唱版 + 同文阅读版 |
| 英语/日语/其他外语 | 中文 | 原语演唱版 + 中文阅读版 |
| 粤语 | 中文 | 粤拼演唱版 + 繁体粤语文字版 |
| 粤语 | 非中文 | 粤拼演唱版 + 繁体粤语文字版 + 用户语言阅读版 |
| 任意语言 | 任意其他语言 | 原语演唱版 + 用户语言阅读版 |

**跨语言原创与阅读翻译的边界**：创作多个可唱版本时必须分别原创；这里只为用户理解而生成的 `readerLyrics` 可以翻译，但页面必须标注“阅读版 / 不用于 Suno 演唱”。

---

# 关卡 2 · 叙事引擎

> **病根：先造金句再补上下文 → 每行都在表演，行与行没推进 → 「陈列」不是「叙述」。**
> **正确：先写 100 字散文故事（谁·何时·做什么·什么转折·结局），再切段落，每行推进故事。**

| 引擎 | 原曲 | 做法 |
|---|---|---|
| **时间** | 父亲写的散文诗、听妈妈的话 | `一九九四年的四月` `后来北方落了雪` `八岁那年…二十八岁` |
| **动作** | 敢爱敢做、夜的第七章 | 每句补新动作/物证：`地铁开过，红灯亮过，雨落过` |
| **句法** | 偷心、你爱我像谁、无赖、孤勇者 | 同构换词／连词链／清单+但是／反问排比 |

**句法四型**：同构换词（`是舞会慢慢散了`→`是日子慢慢旧了`→`是我慢慢懂了`）· 连词链（只要…就／就算…也／所以／可是／原来）· 清单+一个但是（列 5–6 条罪状→一个「但」转向）· 反问论证（画像→质疑→加冕）

**三铁律**：
1. 事件密的歌几乎不用连接词（事件本身就是连接）；无事件的歌必须用更强句法补偿。**两头不靠=散。**
2. **V2 必须推进且只推进一个变量**（时间/处境/认知/代价/清单范围）——这是「有推进」与「原地打转」的分界线。
3. 副歌性质由叙事强度倒推：叙事强→副歌负责评述/命名；叙事弱→副歌必须是可复述箴言。

**保留「不漂亮但必要」的连接句**——为了「每句都是意象」删光连词是散的直接原因。

---

# 关卡 3 · 推敲关（杀 AI 味）

1. **装饰性意象**——三问：讲什么事实？为何必须这个意象？删掉损失什么？答不出即删。
   > ✗ 雾把城折进月光 → ✓ **指针咬住一个谎**（怀表停在案发时刻＝物证）
2. **引擎用错语域**——修辞预算 ≤2–3 处/首，**白描语域（民谣/日记体）主歌禁用引擎**。
   > ✗ 她把挥手挥成了一小片远 → ✓ 她挥了挥手，人越来越小
3. **活细节 ≥3 处/首**＝具体物+具体行为+不完美：
   > `我咬住筷子练了两个月` · `琴房的墙贴满了退回的demo` · `尾巴尖秃了一小截` · `毛衣起球领口松了也没扔掉`
   > 反例（可被任意模型生成的漂亮话）：`我天天照镜子苦练`
4. **90% 素句 + 1–2 把刀**，刀只放 hook 与 Final。最狠的往往最素：`这首歌唱红那年，她没有来听`

**附加**：世界一致性 · 朗读测试 · 单曲内装置动词不复读

---

# 关卡 1 · 参照曲三层拆解

**铁律：说不出参照曲名不准动笔；仿写必须先读完整原曲。**

1. **参数**：搜 `"曲名" 歌手 BPM key`。**双倍计数陷阱**：慢歌标 >130 先除以 2（喜欢你标152实为76、父亲写的散文诗标130实为65）。舞曲默认小调、中国风默认大调。
2. **语域**：逐句量句长/韵部/人称/标志句法/第一句。开头定式：叙事型＝年份+地点；告白型＝自曝缺点；颂歌型＝第二人称身体特写。
3. **精髓+声纹**：情感机制（悔恨？卑微？自愧？）· 转折点 · 最扎心的类型；前奏动机 · 标志编曲瞬间 · 人声爆发点 · 年代质感。
   实证：喜欢你＝**为理想弃爱之悔**（非暗恋）｜南方姑娘＝怜惜+**自愧无力**｜无赖＝自贬95%铺垫尾句终老承诺｜你爱我像谁＝问句永无答案、末段越唱越轻｜敢爱敢做＝**两个人**对抗世界

**艺人名不能进提示词**（实锤：「Artist name 'kordhell' replaced」静默替换）→ 翻译成描述词，五件套＝**地域+年代+节奏特征+标志音色+hook性格**（地名/专辑名/乐器名安全）。艺人名只留 ref 字段。
更强参照：Inspo 上传 1–4 首 > Cover（W0/SI100/Audio100，Style 极简）。

## 关卡 1.5 · 研究、设计与参数必须落盘

**浏览器提交前硬门禁：没有可审计文件，不得生成。** 每首参照曲先通过搜索引擎获取并交叉核验，至少保存两个可打开、且来自两个独立域名的来源 URL：一个覆盖完整歌词/段落结构，一个覆盖 BPM、调性、时长、制作或编曲信息。纯音乐可用曲谱、MIDI、官方曲目页替代歌词来源，并明确标记“无歌词”。只保存搜索结果标题、只列 URL、或只查 BPM 都不算完成；必须把来源支持的结论写入下面五个研究字段。

在项目内创建 `artifacts/YYYY-MM-DD-<batch-slug>/song-batch.json`，每首必须保存：

- `reference`：曲名、艺人、来源 URL、参数、结构、语域、情感机制、声纹；
- `design`：100 字左右故事线、V2 推进变量、原创 Hook、与参照曲只保留的高层机制；
- `suno`：完整原创歌词、Style 四字段、Exclude、Vocal Gender、Weirdness、Style Influence、`durationMode: "Auto"`；
- `generation`：实际提交时的 Duration 模式、生成链接、重复/失败记录。

五个研究字段是统一硬合同，不得合并或省略：

| 字段 | 必须回答 |
|---|---|
| `parameters` | BPM（含半拍/双倍计数判断）、调性、拍号、时长或速度网格 |
| `structure` | 主歌/预副歌/副歌/桥段/尾声如何排列，Hook 何时出现，后段如何变化 |
| `register` | 人称、句长、语体、押韵/重音，以及主歌到副歌的唱法变化 |
| `emotionalMechanism` | 情绪起点、转折、代价与最终落点，不能只写“伤感/励志” |
| `soundSignature` | 主唱音区与发声、标志乐器、节奏/动态、空间和制作质感 |

`scripts/validate_artifact.py` 对上述五项执行内容深度、BPM/调性、曲式术语、唱法或器乐证据、编曲证据、来源唯一性与来源域名多样性检查。**任何一首失败，整批停止。** `scripts/audit_research.py` 必须输出逐首 `research-audit.json`，证明每首 5/5 研究字段、4/4 设计字段、来源数和独立域名，而不是只在回复里声称“已经调研”。

如需网页交付，同时保存：

- `localizations.<reader-locale>.json`：演唱语种与用户阅读语种的映射和阅读版歌词；
- `song-materials.json`：由渲染器合并后的唯一页面数据；
- `index.html`：使用 `assets/song-materials-template.html` 生成的离线自包含页面。

HTML 必须采用“**全部歌曲总览卡片 + 单曲详细工作台**”结构：总览中同时看见每首的歌名、阅读名、参照曲、Hook、故事摘要、Vocal、Weirdness、Style Influence、Duration 与“研究 5/5”状态；选择歌曲后在详细工作台逐项展示参数、曲式、语域/唱法、情绪机制、声纹/编曲、完整歌词、整体设计和研究来源。禁止用超大首屏标题或仅靠折叠面板隐藏多首歌曲信息。

**所有需要录入 Suno 的字段都必须一键复制**：`Song Title`、演唱版 `Lyrics`、`Style of Music`、`Exclude Styles`、`Vocal Gender`、`Weirdness`、`Style Influence`、`Duration`，并额外提供“复制整套录入参数”。阅读翻译版也应支持复制，但必须持续标明“只供理解，不用于 Suno 演唱”。

顺序必须是：**搜索并读原曲 → 写入 reference → 写入 design → 生成并写入 suno → 运行 `scripts/validate_artifact.py` → 运行 `scripts/audit_research.py` 并保存报告 → 才能操作 Suno → 回填 generation**。研究在后台完成但未落盘，视为门禁失败；不得以会话记忆、浏览器状态或子任务消息代替文件。

---

# Style 与滑块

```
76 BPM, key of C major.
genre: "<语种声明前置>, <年代+曲风>, <参照描述词翻译>".
vocal: "solo male mid-range, husky earnest, <语种> diction, clear diction".
production: "chorus-effect clean electric arpeggio, big drum fill into chorus, arena reverb, analog warmth".
mood: "last phone booth in the rain, chose the dream lost the girl".
```
BPM+key 最前 · 概念间句号 · **production 层不可省** · 不罗列乐器 · 8–15 标签
**production 词族**：原声＝single-take/close mic/tape warmth/breath detail；电子＝clean transients/punchy compression/sidechain/wide stereo；年代＝gated reverb snare(80s)/vinyl crackle(lo-fi)/arena reverb
**实测词表**：✅ anthemic chorus/building intensity/desperate/haunting｜❌ ethereal/crescendo/realistic/lush/shimmering
**Exclude ≤3**（长 Exclude 掏空编曲）；非普通话曲目第一位放语种否定（`mandarin`）

**Duration 默认且必须保持 `Auto`。** 不填写固定时长，也不切换到 `Custom`；硬设时长可能在 `[Outro]` 或 `[End]` 前截断，造成歌曲没有自然结束。用段落数量与歌词密度控制目标体感时长，而不是用 Duration 硬切。只有用户明确要求精确时长时才可使用 `Custom`，且生成后必须实听确认完整唱到 `[End]`；未确认完整结束则立即恢复 `Auto`。

**滑块禁止一刀切，逐首给理由：**
| 情况 | W | SI |
|---|---|---|
| 私密慢歌/白描民谣 | 40 | 50 |
| 年代/声纹签名强 | 45 | 55 |
| 段落切换多（rap↔唱） | 50 | 50–55 |
| 唱法要求精确 | 40 | 55 |
| 要混乱感（hyperpop） | 55 | 45 |
**具体提示词配 SI 40–60**（SI>85+具体提示词=僵硬）；模糊标签才 70–90。官方锚点 W50=normal。

---

# 文采引擎（预算制 ≤2–3 处/首）

转品（渡瘦了江流）· 量词错配（半盏灯）· 物做主语（指针咬住一个谎）· 意象并置 · 倒装 · 疑问宾语 · 曲折层次（谁说…才算…，写苦难必给出口）· 重章换句（Final 只换金句，灵魂句逐字不动）
**白描语域可以全曲 0 引擎——素本身就是设计。**

# 反 AI 味（歌单级）
歌名＝**意象名词**（怀表/纽扣/工资条/无名火），从歌词里挑最独特的实物，禁主题概括动词短语｜「谁说…才算」≤3–4 首/歌单｜每首一个主引擎｜跨歌单查重（同意象/同句式/同装置指纹）

# 结构与格律
段落编曲线索写方括号内｜副歌＝灵魂乐句上下半(10–15字含人称)+展开+金句槽+原样重复，三次副歌逐字一致｜`[Break]→[Final Chorus]+[Full Voice]（越唱越轻用[Fading Voice]）→[Outro 以景结情]→[End]`｜主歌无鼓→Pre 进 kick→副歌兑现→Bridge 剥离｜V1/V2 词格差≤1｜密度 0.9–1.4 字/秒（括号和声不计）｜95% 句号、≤1 感叹号｜人声描述放 Style vocal 字段｜**普通话高危多音字**换同音字（还着干朝重长行血数间种藏为分调曲乐缝系转当校更扇削），灵魂乐句零容忍
**人声四重保险**：Vocal Gender 下拉 + solo 单数 + 每段标签 + Exclude 反向性别

# 关卡 5 · 交付前扫描
**单曲**：研究来源≥2且可打开 · 三层拆解已落盘 · 故事设计已落盘 · 艺人名残留 · BPM前置 · 四字段 · Exclude≤3 · **Duration=Auto（除非用户明确要求 Custom）** · 滑块区间 · 无效词 · 韵脚≥3/4（**按语种用对韵表**）· 词格 · 多音字 · 灵魂句重复 · 重章换句 · 叙事引擎已装 · 活细节≥3 · 推敲关四病征
**非普通话曲目额外**：粤语已转粤拼？Style 有语种否定？Exclude 有 mandarin？卡片标了【粵語】？附了汉字对照且注明不要贴？
**双层语种**：每首都有 `performanceLanguage`、`readerLanguage`、`readerMode`？演唱版与阅读版都非空且以 `[End]` 或本地化等价标签结束？阅读版已明确标注不用于 Suno？粤语是否同时具备粤拼演唱版与繁体文字版？
**歌单级**：谁说≤3–4 · 同意象≤5 首 · 歌名无主题概括
**★ 产物验证**：提交前运行 `python3 skills/suno-song-craft/scripts/validate_artifact.py <song-batch.json>`；失败即停止，不得驱动浏览器。随后运行 `python3 skills/suno-song-craft/scripts/audit_research.py <song-batch.json> <research-audit.json>`，必须得到全批 `allPassed: true`。生成后回填链接并再次验证。
**★ HTML 渲染**：运行 `python3 skills/suno-song-craft/scripts/render_song_materials.py <song-batch.json> <localizations.json> <output.html> --json-output <song-materials.json>`。默认使用 `assets/song-materials-template.html`；模板必须离线自包含，不引用 CDN、在线字体或远程脚本。
**★ 渲染验证**：渲染后先运行 `python3 skills/suno-song-craft/scripts/validate_materials_html.py <output.html> <song-materials.json>`，静态核对离线自包含、实际批次数量、8 个录入字段与复制逻辑。交付 HTML 前还必须实际执行页面 JS，确认曲目数、标题、五项研究、Style、Exclude、双语歌词与来源链接均非空；核对上述 8 个录入字段的独立复制入口、每首总览卡的整套复制入口，并实际触发一次整套复制成功反馈；在桌面/窄屏至少各做一次浏览器检查。**曾因 style 内嵌双引号未转义整页空白交付**；禁止手拼 JS 字符串，必须用 JSON 序列化嵌入数据。
**校验脚本必须与 Skill 同版本升级**（曾因脚本停旧规则误报 13 首）｜**历史版本移出交付目录**，只留一个「唯一最终版」

# 故障速查
| 症状 | 修法 |
|---|---|
| **粤语唱成普通话** | **歌词换粤拼罗马字**＋Style 加 `sung in cantonese not mandarin`＋Exclude 加 `mandarin` |
| **用户拿错语种的卡** | 卡名加【粵語】，语种标记优先于命名美学 |
| **歌词不通顺/没故事** | 装叙事引擎；补连接词；V2 推一个变量 |
| **AI 味/经不起细读** | 推敲关四病征；补活细节 |
| **粤语不像粤语歌** | 改书面语入词；用粤语韵部；删口语字；避走/喝/吃/給/和 |
| **仿写不像** | 三层拆解，重点语域+精髓 |
| **歌曲没唱完/结尾被截断** | Duration 恢复 `Auto`；保留 `[Outro]→[End]`，重新生成并实听确认自然结束 |
| **页面空白** | style 引号转义 + node 验证 |
| **用户看不懂外语歌词** | 保留目标语演唱版，另生成用户语言阅读版；不要把阅读翻译贴进 Suno |
| **双语内容错位** | 对齐段落标签、故事事实与 Hook 含义；用 `readerMode` 明确同文/翻译/粤语文字版 |
| 提示词被改写 | 艺人名→描述词五件套 |
| 僵硬通用 | SI 降 50–55 |
| 编曲空 | Exclude ≤3 |
| 质感/年代不对 | 补 production 层 |
| 说教味 | 金句降为歌单级稀缺 |
| 像说明书 | 写凝视不写流程 |
| 唱错音 | 换同音字 |

# 证据强度
**平台实锤**：艺人名静默替换 · style 引号毁渲染 · **粤语汉字被按普通话唱（用户实听）**
**调研实证**：粤语九声六调与 0243 类音阶法｜粤语韵尾 9 套 vs 普通话 3 套｜入声只与 1/3/6 声同调｜粤语书面语为主流（许冠杰 147 首半数、黄伟文口语实验占比 48%→12%）｜10 首经典的叙事结构/语域/精髓/声纹
**高**：结构化字段 · BPM 前置 · production 词族 · Exclude≤3 · 具体提示词配 SI40–60 · 无效词表 · Inspo 1–4 · W50=normal
**教训链**：平台消息>社区指南>自己假设｜**用户实测>任何二手资料**（「汉字优于粤拼」的二手说法被实听推翻）｜校验器随 Skill 同步｜交付前实际打开交付物｜修辞是刀不是墙漆｜跨语言只能重写不能翻译
