唱字母表本应是 AI 语音最容易完成的任务。A-B-C-D-E-F-G。七个离散的声音,地球上的每个孩子都耳熟能详。然而,任何尝试过 AI 音乐生成的人都知道,现实情况要混乱得多。让模型唱字母表时,字母 L、M、N、O 和 P 往往会塌陷成一个模糊的音节。“Elemmennopee” 不是一个字母,而是一种症状。
这就是“LMNOP 问题”,它的影响远不止于童谣。星期几、编号指令以及任何形式的有序列表都会暴露同样的弱点。一位开发者最近通过 AI 流水线生成了八首歌,并使用自动语音识别工具 mlx-whisper 对输出结果进行了测量,以此对这一问题进行了测试。他们没有依赖主观听感,而是让转录软件准确报告 AI 唱出的内容。结果非常惊人:枚举内容会让合成歌手陷入困境,而这在普通语言中并不会发生。
为什么列表会破坏 AI 语音
口语带有上下文。如果有人含糊地说,“我要带狗去公园”,而你没听清“狗”这个词,句子依然通顺。周围的词语会填补空白。列表则没有这种安全网。每个项目都是独立的。如果模型模糊了“B”和“D”的区别,听者无法获得部分含义,只能听到噪音。
在字母歌中,LMNOP 组合是最明显的失败点。语音模型将这一序列视为一个单一的语音团块,而不是五个独立的字母。由于缺乏锚定每个声音的上下文线索,合成器只能猜测辅音之间的过渡。它通常会猜错。星期几或编号步骤也会发生同样的情况。模型会匆忙跳过序列,将不同的项目压缩成模糊的浆糊。
衡量损害程度
为了客观地研究这一点,开发者生成了八首歌,并通过 mlx-whisper 运行以评估歌词准确度。流水线非常简单:编写提示词,生成音频,转录结果,并将转录文本与预期的歌词进行对比。
对于标准的叙事性歌词,输出结果相当忠实。单词的位置基本正确。但当提示词包含列表、字母表或枚举时,mlx-whisper 返回的是乱码。字母消失或合并,数字变成了无法辨认的音节。实验证实,包含大量列表的歌词在可懂度方面明显差于散文。
有效的提示词架构
你不能依靠后处理来修复混乱的列表。修复必须在第一个音符生成之前完成。一个精心构建的初始提示词可以迫使模型发出更清晰的吐字。这些调整无需成本,但它们改变了模型的呼吸和停顿方式。
将长序列拆分为较小的组。 不要写 A-B-C-D-E,而是将行结构化为 A-B-C-D 和 E-F-G。组与组之间微小的重置让模型有机会准确发出正确的辅音,而不是将它们混在一起。
拼写出数字。 使用 “thirty” 而不是 “30”。书面数字是抽象符号;模型有时会将其压缩成短促、无声的噪音。完整的英文单词能提供语音实质。
在字母周围插入视觉间距。 使用连字符或空格编写 “A - B - C”,而不是 “ABC”。视觉上的分离向模型发出信号,表明这些是独立的项,而不是单个缩写或单词。
锁定音节数。 将每行保持在六到十个音节之间。剧烈的变化会导致模型赶读短句并拉长长句。列表本身就需要精确度;不均匀的节奏会让准确的表达几乎变得不可能。
从列表中去掉 “and” 这个词。 在自然语言中,“and” 起到连词作用。但在演唱列表时,它会增加一个柔和的音节,往往会吞掉前一个项目的硬边。相比 “Monday, Tuesday, and Wednesday”,“Monday, Tuesday, Wednesday” 的节奏更干脆。
再生陷阱
这正是人类直觉适得其反的地方。对于普通的歌词,迭代提示通常会改善结果。你听到一句唱错的词,调整措辞,然后再次生成。下一个版本听起来会更好。测试表明,这种方法适用于非枚举歌曲。但对于包含列表的歌曲,重写提示词反而使输出结果更难理解。
数据非常明确。非列表歌曲在提示词修复后有所改善,而枚举歌曲的质量却下降了。
罪魁祸首是声学种子。在歌词转歌曲模型中,更改提示词并不只是在编辑现有的音频。它会重新洗牌整个生成基础。模型会从头开始重建表演。对于叙事性文本,新的随机数(dice roll)可能会得到一个更清晰的版本。对于列表,你通常是在招致更严重的吞音。你可能修复了一个字母的时值,却眼睁睁看着模型在下一次尝试中把“J”、“K”和“L”给吞掉了。原版虽然有瑕疵,但修改后的版本往往只是用另一种发音混乱取代了原来的混乱。
针对列表密集型歌词的更智能工作流
由于重新生成存在破坏清晰度的风险,你的流程需要改变。不要再追求完美的重写了。相反,要把第一次提示词当作一场试镜。
使用不同的随机种子,从完全相同的提示词中生成多个版本。不要改动文本。保持歌词不变,让模型去改变其表现形式。你是在进行一场试听,而不是在进行编辑。
然后为每个候选版本评分。将每个版本通过 mlx-whisper 或类似的转录工具运行,并衡量哪个版本最忠实地匹配你的提示词。根据歌词准确度选出胜者,即使伴奏或人声音色稍欠打磨也没关系。对于列表密集型内容,清晰度比氛围感更重要。
最重要的是,将修复工作前置。在点击生成之前,先应用间距规则、音节限制和分组。不要用普通的英文写好字母歌,然后再试图去修补它。当涉及列表时,模型对事后修改的容忍度较低。A
