當(dāng)你讓AI唱一段字母歌,比如“A-B-C-D”,它卻把“LMNOP”唱成了含混的一團,就像舌頭打了結(jié)——在AI音樂圈子里,這種枚舉式歌詞發(fā)音崩壞的現(xiàn)象,被戲稱為“LMNOP問題”。按理說,把提示詞修得更仔細(xì),應(yīng)該能讓AI唱得更清楚,可一項用8首歌實打?qū)崪y出來的結(jié)果卻指向另一個方向:那些看似正確的“修復(fù)”,偏偏在枚舉歌詞上起了反效果。
普通的歌詞即便發(fā)音有點飄,靠上下文也能猜個八九不離十。但像字母、數(shù)字、星期、月份這種一串單音節(jié)符號的枚舉,就沒有任何語境可以兜底。節(jié)奏上把它們等距排開,相鄰的音節(jié)極容易互相“淹沒”——B還是D、M還是N,人耳聽不出,語音識別同樣分不清。內(nèi)部音樂生成項目積累的設(shè)計原則,正好針對性地開出了幾條藥方:別讓枚舉項等距排列,改用不均勻的分組,比如把字母拆成“ABCD / EFG / HIJK / LMN / OPQ / RST / UVW / XYZ”;數(shù)字用完整的英文單詞(“thirty”而不是“30”);字母之間用連字符隔開,寫成“A - B - C”;每行控制在4到8個單詞、6到10個音節(jié),并且平行句子之間的音節(jié)數(shù)要對齊在±1個音節(jié)以內(nèi);還有,別在枚舉里塞進(jìn)“and”。
![]()
照方抓藥,測試用的提示詞和歌詞看起來完全符合教科書標(biāo)準(zhǔn)。曲風(fēng)設(shè)定是歡快的兒歌,尤克里里加鐵琴,清亮女聲,100拍的C大調(diào)。歌詞直接按照上述分組寫下:第一段是“A - B - C - D / E - F - G / H - I - J - K / L - M - N”,第二段接著“O - P - Q / R - S - T / U - V - W / X - Y - Z”。從提示詞設(shè)計的角度看,這份歌詞已經(jīng)把已知的反制措施全部用上了,屬于“理應(yīng)不出問題”的正確示范。
接著就是對生成結(jié)果的冷冰冰的丈量。用mlx-whisper把同一提示詞下、不同種子生成的8首歌全部轉(zhuǎn)錄成文本,再和原始歌詞比對匹配率。數(shù)據(jù)一跑出來就發(fā)現(xiàn),即便應(yīng)用了這些反制措施,同一首歌詞在不同生成結(jié)果里,匹配率依舊很散——有些地方的字母還是混到了一起,并沒有像預(yù)期那樣齊刷刷地保持清晰。但這還不是最出乎意料的部分。
真正讓實驗產(chǎn)生悖論感的,是接下來的一步:作者試圖根據(jù)轉(zhuǎn)錄提示去“修復(fù)提示詞再重新生成”,這個在常規(guī)流程中再自然不過的操作,在枚舉式歌詞這里,卻讓情況變得更糟。原本以為根據(jù)識別錯誤微調(diào)歌詞表達(dá),有助于下一次生成對齊,可反復(fù)測試后看到的趨勢反而是匹配率不升反降——針對枚舉歌詞去“修補提示詞”,本身就是一個陷阱。也就是說,對于這類幾乎沒有語義容錯的歌詞類型,過度參考中間結(jié)果去調(diào)整輸入,反而會把AI帶偏,越修越模糊。
這個發(fā)現(xiàn)并不是在說提示詞工程失效了,而是給了一個重要提醒:AI音樂里,枚舉歌詞有它自己的脾氣。常規(guī)的“檢測錯誤→修改提示→重新生成”循環(huán),在普通歌詞的行當(dāng)里也許能逐步收斂,但一旦對象變成一串孤零零的字母、數(shù)字或月份,這種回路就很可能變成一個越改越亂的負(fù)向螺旋。對于正在擺弄AI作曲的人,這可能意味著,面對LMNOP問題,與其反復(fù)修補提示詞去追精準(zhǔn),不如在最初的結(jié)構(gòu)設(shè)計上多花點功夫,甚至接受一定程度的發(fā)音模糊,反而更劃算。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.