研究笔记 1 · 方向 1:声音与心灵 · 2026 年 11 月 2 日 · 状态:初步,机器分析
当 AI 歌手变换性别:检测并减少 AI 生成的韩语歌曲中的歌手性别漂移
摘要. 我们让一个开源音乐模型生成由一位男歌手演唱的歌曲。在部分歌曲中,尤其是副歌部分,出现了听起来像女声的声音。对分离出的人声进行简单的音高检查,标记出的歌曲与人工聆听的判断一致。只在提示词中加入"只要男声独唱、不要对唱"并不能解决问题。去掉强烈的副歌段落标签、降低调性、把歌手描述放在最前面,效果最明显。
为什么重要
为了放松而听音乐的人,对声音的突然变化很敏感。一首本应由一个平静声音演唱的歌,中途换成另一位歌手,可能让人感到不安。对于自动生成歌曲的人来说,这是应该在有人听到之前就发现的质量问题。
实验设置
- 模型:ACE-Step 1.5(turbo DiT 加 0.6B 规划语言模型),开放权重,在一台配备 8 GB 显卡的家用电脑上离线运行。
- 歌曲:为测试撰写的韩语歌词,45 秒的抒情歌和舞曲,以及 30 秒的流行歌曲。每种条件用 3 个随机种子生成。
- 第一个案例由人工聆听发现:一首要求为男声抒情歌的歌曲以女声开始,后来听起来像男女对唱。
我们如何检测漂移
- 将人声与伴奏分离(htdemucs)。
- 用 pYIN 以 3 秒为窗口测量人声的音高(F0)。只统计以有声为主、且音量足够的窗口。
- 对于要求男声的歌曲,当 25% 或以上窗口的中位音高高于 320 Hz 时标记。对于要求女声或童声的歌曲,当 25% 或以上窗口低于 210 Hz 时标记。
- 作为第二意见,音频分类器(AST,AudioSet)按每 10 秒窗口给出"男声演唱"和"女声演唱"的分数。它只用于提示需要人工聆听,不用于判定。
阈值来自人工已判断过的歌曲:我们样本中正常的男声流行旋律大约在 195–350 Hz,女声大约在 260–510 Hz。使用这些阈值,听者指出的歌曲被检出,而被判断为正常的歌曲都通过了。
哪些做法减少了漂移
男声抒情歌和男声舞曲,各 3 个种子。"未通过"表示音高检查标记了漂移。
| 步骤 | 修改 | 抒情歌(男) | 舞曲(男) |
|---|---|---|---|
| 原始 | "male lead vocal" 写在类型描述句中 | 未通过 1/1 | 未通过 1/1 |
| b | + "Solo male vocal only, no female vocal, no duet, no backing vocals" | 未通过 3/3 | 未通过 3/3 |
| c | 歌手描述放在最前("A single adult male … baritone"),类型句不含性别,+ 独唱措辞 | 未通过 3/3(主歌移到男声音区) | 未通过 3/3 |
| d | c + 降低调性 + "low chest-voice register, no falsetto" | 需聆听 1,未通过 2 | 未通过 3/3 |
| e | d + 所有段落标为 [Verse](不用强烈的副歌标签) | 通过 2,需聆听 1 | 通过 1,未通过 2 |
在所有未通过的版本中,主歌保持较低,副歌则跳得很高。"[Chorus - emotional]"或"[Chorus - powerful]"这类强烈的副歌标签,似乎会把模型推向更高、常常听起来像女声的声音。柔和、带气声的"细腻"描述,也让六首男声歌曲中的一首偏向了女声。
实用建议
- 不要只依赖"独唱、不要对唱"的措辞。
- 把歌手描述放在提示词的开头。
- 男声请选择较低的调性,并避免强烈的副歌标签。
- 自动检查每一首生成的歌曲,发现漂移时用新的种子重新生成。
局限
- 样本较小:每种条件 3 个种子,一个模型,只有韩语歌词。
- 除第一个案例外,结果来自机器分析,而非系统的人工聆听。
- 仅凭音高并不总能区分高音男声与女声;两人同时演唱时只会被当作一个声音追踪。
- 没有单独测试不带强度词的普通"[Chorus]"标签。
我们计划开展开放、匿名的聆听实验,与大家一起检验这些机器分析结果。