English 한국어 中文 हिन्दी 日本語

← ZenFlow Lab

研究笔记 1 · 方向 1:声音与心灵 · 2026 年 11 月 2 日 · 状态:初步,机器分析

当 AI 歌手变换性别:检测并减少 AI 生成的韩语歌曲中的歌手性别漂移

摘要. 我们让一个开源音乐模型生成由一位男歌手演唱的歌曲。在部分歌曲中,尤其是副歌部分,出现了听起来像女声的声音。对分离出的人声进行简单的音高检查,标记出的歌曲与人工聆听的判断一致。只在提示词中加入"只要男声独唱、不要对唱"并不能解决问题。去掉强烈的副歌段落标签、降低调性、把歌手描述放在最前面,效果最明显。

为什么重要

为了放松而听音乐的人,对声音的突然变化很敏感。一首本应由一个平静声音演唱的歌,中途换成另一位歌手,可能让人感到不安。对于自动生成歌曲的人来说,这是应该在有人听到之前就发现的质量问题。

实验设置

我们如何检测漂移

  1. 将人声与伴奏分离(htdemucs)。
  2. 用 pYIN 以 3 秒为窗口测量人声的音高(F0)。只统计以有声为主、且音量足够的窗口。
  3. 对于要求男声的歌曲,当 25% 或以上窗口的中位音高高于 320 Hz 时标记。对于要求女声或童声的歌曲,当 25% 或以上窗口低于 210 Hz 时标记。
  4. 作为第二意见,音频分类器(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
dc + 降低调性 + "low chest-voice register, no falsetto"需聆听 1,未通过 2未通过 3/3
ed + 所有段落标为 [Verse](不用强烈的副歌标签)通过 2,需聆听 1通过 1,未通过 2

在所有未通过的版本中,主歌保持较低,副歌则跳得很高。"[Chorus - emotional]"或"[Chorus - powerful]"这类强烈的副歌标签,似乎会把模型推向更高、常常听起来像女声的声音。柔和、带气声的"细腻"描述,也让六首男声歌曲中的一首偏向了女声。

实用建议

局限

我们计划开展开放、匿名的聆听实验,与大家一起检验这些机器分析结果。