AI写歌定制自动化
一个人的故事进来,一首只属于他的歌出去。不是写一首"关于某主题"的歌,是写一首"只有他听得懂"的歌。
适用场合:生日歌、婚礼/求婚、金婚银婚、纪念日、表白、毕业季、家庭纪念、宝宝成长、宠物纪念、悼念、同学会、退休礼、企业/团队司歌、品牌主题曲。
零、四条铁律
| # | 铁律 | 违反的后果 |
|---|---|---|
| 1 | 先采故事,再落笔。没拿到 ≥3 个真实细节,不出歌词 | 写出正确的废话,用户看一眼就沉底 |
| 2 | 必现事实先锁定,再写词。名字/时间/地点/事件写错=废稿 | 整首重写,且用户会当场失去信任 |
| 3 | 改稿无限轮次、全免费;但定稿必须过"锁定清单"才能冻结 | 到了生成环节才发现不对,返工最贵 |
| 4 | 交付必须复盘,且如实。演唱效果、真实听感这类看不到的,明确标"需你自己试听" | 吹"完美动听"=砸招牌 |
一、路由
| 请求 | 走哪 |
|---|---|
| 从故事/主题写一首歌(最常见) | 本流程(第 2→7 节) |
| 歌词已定稿,只要风格描述词 | 直接跳到第 5 节,只做「词到曲」 |
| 要在对话里直接生成音频 | 先确认宿主是否已接音乐生成通道;没有通道就明说没有,不假装能生成 |
| 已经生成好了音乐,要做 MV/短视频 | 转 music-mv-production |
| 只想要"AI 音乐提示词宝典"式的风格词查询 | 查第 5 节 + references/style-library.md |
二、需求采集:10 项硬性输入
只问缺的。 已知的(历史偏好、上次用过的曲风)直接复用,不回问。
| # | 字段 | 说明 | 缺了会怎样 |
|---|---|---|---|
| 1 | 场合/用途 | 生日·婚礼·纪念日·司歌… | 阻塞(决定结构与用词分寸) |
| 2 | 收件人 + 你与他的关系 | 谁听、你叫他什么 | 阻塞(同一句"谢谢你",对妈妈和老板完全不同) |
| 3 | 真实细节 ≥3 个 | 具体到能入词的画面、对话、物件、数字 | 阻塞(这是歌的骨头) |
| 4 | 必现的名字/词句 | 人名、昵称、地名、口头禅、歌词必须有一句是… | 阻塞(写漏=返工) |
| 5 | 语言 | 普通话/粤语/方言/中英混 | 阻塞 |
| 6 | 情感弧线 | 「从 X 到 Y」,如从焦虑到笃定 | 阻塞(决定结构) |
| 7 | 曲风偏好/禁区 | 想要的和绝对不要的(如"别搞电子""别太苦") | 可默认(按场合推荐) |
| 8 | 时长 | 默认 3.5 分钟 | 可默认 |
| 9 | 演唱者性别/音色 | 男声/女声/沙哑/清澈/童声 | 可默认 |
| 10 | 需要省略的隐私 | 不能说的事、已故者称谓、离异/病情等敏感点 | 阻塞(写进去=事故) |
提问纪律
- 不许开放式空问。不要问"你想要什么风格?" → 给 3 个候选让用户点一个。
- 不许连环问。一轮最多 4 问,其余用「默认值 + 显式声明」补齐,并在故事简报里写「以下按默认,可改」。
- 采集表模板见
references/story-brief.md。
三、故事映射(免费,改到满意为止)
先给用户一张8 行速览表确认,再动歌词。这步最便宜,也最省后账。
主角: 一句话是谁(身份 + 一个特征)
关系: 与收件人的关系与张力
转折点: 故事里那个"变了"的时刻
难忘细节: 3 个能直接入词的画面/对话/物件
核心信息: 这首歌只想说的一句话
副歌落点: 希望听众跟着唱的那 1 句
情感弧线: 从 X 到 Y
结尾落点: 最后一句停在什么情绪上
用户说"不对"就改这张表,改表比改歌词便宜十倍。
四、锁定清单(Lock List)★ 定稿前置门槛
歌词落笔前必须先把下面 5 项写出来、让用户点头:
| 项 | 内容 | 为什么必须锁 |
|---|---|---|
| 必现事实表 | 人名/地名/时间/事件/数字逐条列 | 写错一个字整首报废 |
| 名字读音表 | 多音字、生僻字、英文名的读法(注拼音或谐音) | 决定 Suno 唱出来的发音,锁晚了下场就是"唱错名字" |
| 禁区表 | 不能出现的词、不能暗示的事 | 隐私合规 |
| 副歌金句 | 1–2 句,要能一眼记住、随口能哼 | 这是整首歌的购买理由 |
| 押韵策略 | 一韵到底/副歌换韵/不押 | 决定可唱性与风格贴合 |
读音表必须同时给「同音替代方案」:中文多音字(茜 qiàn/xī、行 xíng/háng、单 shān/dān)与生僻字在
Suno 里有误读风险。锁定时就备好同音替代字(如「阿茜」→ 阿倩/阿浅),替代只改字不改句、
风格词不动,生成后若唱错可立即补救,不必重走流程。
冻结(Freeze):用户点头 → 标 状态:已冻结 v1。冻结后任何改动 → 版本号 +1,且必须重新过一遍锁定清单。
五、平台输入包(交付物核心)
产出三个可直接复制的代码块,用户复制粘贴即可跑。
① Style Prompt(英文)
- 最佳 150–250 字符,硬上限 500;分隔用英文逗号或句点,不换行
- 结构:
[核心风格], [情绪/氛围], [人声], [核心乐器], [BPM], [制作质感] - 给 1 条主方案 + 2 条备选(换风格方向,不是换形容词)
- 示例:
Cinematic Chinese folk rock, melancholic yet uplifting, male vocal with raspy texture, guzheng and xiao leads, 75 BPM, warm spacious production
② Lyrics(含元标签,可直接粘贴)
- 段落标签
[Intro] [Verse] [Pre-Chorus] [Chorus] [Bridge] [Outro] - 人声/情感/器乐标签写在段首:
[Chorus][powerful][strings enter] - 标签只作标注,不改动原歌词词句
③ 排除项(Exclude Styles)
- 从禁区表反向生成,如
rap, heavy metal, autotune, children choir
附加两组生成策略
- 同词双方向:同一份歌词配主方案 + 备选风格各跑一次,让用户二选一。Suno 单次质量波动大,这是最省成本的比对法。
- 音色固定:想跨版本统一音色,用 Persona/同一音色描述词,别每次重编。
平台实操细节、字符上限实测、Extend/Cover/Remix 用法 → references/suno-platform.md
六、歌词写作
结构与押韵方法论 → references/song-structures.md(含经典流行/叙事史诗/中国风禅意 + 生日/婚礼/司歌/纪念日 4 套场景模板)
三条硬要求:
- 每段一个记忆点,副歌是金句集中区。
- 第二人称写。"你/你的"比"他/她"亲近,也更适合赠歌场景。
- 意象要来自用户给的真实细节,不要用"岁月""时光""星辰大海"这类通用填充词。通用词=这首歌可以送给任何人=这首歌不值得付费。
6.1 歌词自审(定稿前必过,不许跳过)
歌词写完先跑一遍机械检查,再人工过一遍脚本判不了的:
python3 scripts/check_lyrics.py <歌词文件.md>
# --json 机器可读 | --strict 把软伤也当失败
# 退出码 0=可交付 / 1=有软伤 / 2=有硬伤,可直接接流水线
核心规则(完整 20 条见 references/lyric-qc.md)
> 段内必须统一,段间允许更换。 不需要整首歌一个韵脚到底 —— 那样反而单调;
> 但也绝不允许一段里散成三四个韵。
| 规则 | 内容 |
|---|---|
| L1 段内同韵 | 每段句尾须落同一韵部;句句押或隔句押均可;有效率 ≥80% 合格,<50% 判散韵(硬伤) |
| L2 同韵不同字 | 同段句尾不要出现同一个汉字(手/走/头/够 ✓;手/手/头/头 ✗) |
| L3 段间成组换韵 | 允许:① 主歌一韵、副歌另一韵 ② 主歌换、副歌锁死。禁止:一段混 3 个以上韵部、每句换韵、副歌三遍之间换韵 |
| L4 副歌跨次一致 | 副歌出现 2–3 次,韵脚保持同韵(可换字不换韵)—— 副歌是记忆区 |
| L6 宽韵可接受 | an/ang、en/eng、in/ing 听觉接近可视为同韵;ou 与 u、ai 与 an 不可混 |
| L7 破韵要有数 | 语义优先于押韵;每段最多 1 处有意破韵,且必须在报告里写明理由 |
其余检查项:单句 ≤16 字且超 14 字须有气口(L9)、段内句长极差 ≤4 字(L8)、段内句数宜偶数(L10)、句尾闭口音连续 ≤2 行(L12)、通用填充词黑名单(L13)。
三档判定与交付纪律
| 档 | 处置 |
|---|---|
| 🔴 硬伤(散韵 / 超长无气口 / 句长极差 >6 / 填充词 / 副歌跨次不一致 / 生僻字 / 无金句) | 必须改,不得交付 |
| 🟡 软伤(韵脚偏散 / 同字重复 / 句长不齐 / 闭口音成串 / 奇数行 / 口号式结尾) | 可交付,但须在复盘里逐条列出由用户决定 |
| 🟢 有意为之(破韵 / 伸展句 / 刻意重复) | 保留,必须写明理由 |
v1 实战教训:本项目首版歌词就是被自审拦下的 —— 主歌每句换韵(同韵率 33%)、副歌四句只有两句押韵。
按报告改句尾(不动任何故事细节)后复检全绿。这说明"凭语感写"与"押韵合格"是两件事,必须机器验一遍。
七、交付复盘(必做,且如实)
定稿后逐项过一遍,逐条给结论,查不了就写"需你自己试听":
| 检查项 | 判据 |
|---|---|
| 故事准确度 | 必现事实表 100% 覆盖?有无错字、错时间 |
| 名字发音 | 读音表已给?多音字标注了? |
| 副歌记忆点 | 有没有 1 句能脱离旋律独立记住 |
| 押韵与顺口 | 出声念一遍,有无拗口处 |
| 可唱性 | 长句有没有换气点;汉字密度是否超速 |
| 场景贴合 | 用词分寸对不对(悼念歌不能有"加油") |
| 时长 | 行数 30–60 行 ≈ 3–5 分钟 |
| 隐私合规 | 禁区表逐条比对通过 |
| 演唱效果/真实听感 | 无法在文本阶段确认,明确交用户试听 |
八、交付物命名与落盘
song-<slug>-<YYYYMMDD>/
├─ 01-故事简报.md 采集 10 项 + 故事映射 8 行
├─ 02-锁定清单.md 必现事实/读音/禁区/金句/押韵
├─ 03-歌词-定稿v{N}.md 含元标签,可直接复制(改动即升版本号)
├─ 04-风格词包.md 主方案 + 2 备选 + 排除项
├─ 05-交付复盘.md 9 项结论
├─ 06-歌词自审报告.txt 脚本原始输出(存证,便于复检与对比)
└─ 交付单.html 可视化交付单(首选交付形态)
单文件交付时,至少落盘 03 + 04,并把三个"可直接复制"的代码块并排放在同一份文件里,别让用户来回翻。
首选交付形态:单独出一份可视化交付单 HTML(交付单.html),把歌名候选、故事映射、锁定清单、
歌词、三个风格代码块、复盘表、操作步骤全部收在一起,并给每个代码块配一键复制按钮。
文字版 md 保留在目录里备查。用户拿到 HTML 就能直接照着粘贴到平台,不用在多个文件之间找内容。
九、自检清单
创作向
- [ ] 10 项硬性输入齐了,或已显式声明默认值
- [ ] 故事映射表给用户确认过
- [ ] 锁定清单 5 项已冻结
- [ ] 副歌有 1–2 句金句
- [ ] 每段一个记忆点,无通用填充词
- [ ] 出声念过一遍,不拗口
- [ ] 歌词 30–60 行
- [ ] 歌词自审已跑,硬伤 0(
scripts/check_lyrics.py退出码 0 或仅软伤) - [ ] 韵脚段内统一、副歌跨次一致,段间换韵成组
- [ ] 有意破韵 / 伸展句 / 刻意重复已在报告里写明理由
- [ ] 复盘 9 项已逐条给结论
上架/分发向
- [ ] Style Prompt ≤500 字符(理想 150–250)
- [ ] Lyrics 含段落元标签,可直接粘贴
- [ ] 给了排除项
- [ ] 给了 1 主 + 2 备风格方案
- [ ] 交付物命名符合第八节规范
十、参考分册索引
| 场景 | 读哪份 |
|---|---|
| 采集故事、问问题、脱敏 | references/story-brief.md |
| 选结构、押韵、场景模板 | references/song-structures.md |
| 审歌词、查韵脚一致性、硬伤判定 | references/lyric-qc.md |
| 找风格词、中英对照、场景→曲风映射 | references/style-library.md |
| Suno 实操、字符上限、Extend/Persona | references/suno-platform.md |
| 复盘话术、如实汇报纪律 | references/delivery-review.md |
随包脚本
| 脚本 | 用途 |
|---|---|
scripts/check_lyrics.py |
歌词自审:韵脚一致性/押韵模式/句长气口/闭口音/填充词/副歌跨次一致/时长估算。优先 pypinyin,未安装时自动降级内置韵表,零第三方依赖也能跑(韵脚项标"需人工") |
十一、边界与版权
- 不假装能生成音频。本技能产出的是可直接使用的输入包;宿主未接生成通道时,明说"我只出词曲输入包,你自己拿去跑"。
- 不做真人声音模仿。用户要求"模仿某歌手原声"时,改为"描述其风格特征",不做声纹级复刻。
- 用户声明原创也要提示:公开传播前确认词曲、录音、肖像的使用范围。
- 涉及已故者、病患、未成年人时,措辞默认保守,拿不准就问。