在本标签页里运行 · 不限次数

AI 音乐检测:这首歌是不是 AI 做的?

把歌拖进来就行。频谱指纹在你自己的设备上算,音频一个字节都不出本机。

检测一首歌

手边没歌?先听听这两首:

两首示例的出处与授权

还没有放入歌曲

用你的 CPU 计算 · 音频不离开本机

  1. 模型
  2. 解码
  3. 算指纹
  4. 打分

–%

这首歌带有 AI 生成器伪影的可能性

    这里给出的只是一个小型统计模型的概率,它只找一种特定的频谱伪影。两个方向都可能判错,不能用来证明一首歌是怎么做出来的。

    它是怎么判断的

    1. 把频谱平均起来

      先把歌混成单声道、重采样到 16 kHz,再按 8192 个采样点一段切开,逐段求功率谱,按分贝取平均。旋律和歌词在平均里被抹平,剩下的是整条制作链路固定留下的频谱「底色」。

    2. 减掉底噪包络

      在相邻 10 个频点里取最小值,描出频谱的下包络;高出包络的部分(最多算 5 dB)就是 1–8 kHz 范围内由 3585 个数组成的指纹。

    3. 给尖峰加权打分

      AI 生成器的声码器里有上采样层,会在频谱上按固定间隔打出一排尖峰。一个逻辑回归模型给每个频点配一个权重,算出指纹和这种「梳子」有多像。

    方法出自 Afchar、Meseguer-Brocal、Akesbi、Hennequin 的论文《A Fourier Explanation of AI-music Artifacts》(ISMIR 2025),训练好的权重是 lofcz/ai-music-detector。我们拿同一段音频,把本页的计算结果和模型作者的 Python 代码逐项对过:指纹相关系数 1.0000000,分数差不到百万分之一。

    拿 11 首公开授权的歌实测的结果

    我们从维基共享资源挑了 11 首授权允许测试和公开结果的歌,每首再分别转成三种有损格式,看压缩会不会改变分数。表里是「带有 AI 生成器伪影的可能性」,2026 年 9 月 24 日测。

    曲目制作方原始文件MP3 128kMP3 64kAAC 128k
    Toreador Song — Bizet Musopen · CC0真人0.2%0.2%<0.1%0.2%
    Morning Musopen · PD真人<0.1%<0.1%<0.1%<0.1%
    Sax, Rock, and Roll Kevin MacLeod · CC BY-SA 3.0真人<0.1%<0.1%<0.1%<0.1%
    Fork and Spoon Kevin MacLeod · CC BY 3.0真人<0.1%<0.1%<0.1%<0.1%
    COW BOP Two Scuffed · PDSuno>99.9%>99.9%54.1%99.9%
    Inevitability V. Argonov · CC BY-SA 4.0Suno>99.9%>99.9%>99.9%>99.9%
    Rise! Seba Tysair · CC BY 3.0Suno>99.9%>99.9%>99.9%>99.9%
    My God Is Science Syntharia · CC BY 3.0Suno>99.9%>99.9%>99.9%>99.9%
    The Rise of the ClueBots PDaimusic.so(未注明底层模型)>99.9%>99.9%>99.9%>99.9%
    WikiWarriors PDaimusic.so(未注明底层模型)>99.9%>99.9%>99.9%>99.9%
    Wikipedia song PD · 2026-03腾讯的模型0.2%0.2%<0.1%0.1%

    有两点值得看:第一,腾讯模型在 2026 年 3 月生成的那首歌被彻底漏判,分数和真人录音一样低——这个模型只认识 Suno v5 及以前、Udio 1.5 及以前的声码器。第二,那段 33 秒的 Suno 短曲压到 64 kbps 后掉进了「说不准」,长一些的歌没有受影响。11 首歌只够做个基本核对,算不上评测基准;另外表里的真人曲目可能与模型训练所用的 Free Music Archive 数据有重叠。

    常见问题

    歌会被上传吗?

    不会。页面只下载一个 14.8 KB 的模型文件,之后的解码和分析全在当前浏览器标签页里完成。任何包含你音频或指纹的数据都不会发出去,打开浏览器开发者工具的「网络」面板就能自己核实。还没发行的 demo、有版权的分轨都可以放心测。

    准不准?能认出哪些生成器?

    模型作者在 17866 段留出测试集(FMA 真人音乐 + SONICS 数据集里的 Suno / Udio 作品)上报告准确率 99.88%、误报率 0.31%,但那是和训练数据同一来源的成绩。覆盖范围是 Suno v5 及以前、Udio 1.5 及以前。我们自己测的 11 首里,Suno 做的全部在 99.9% 以上、真人录音全部低于 0.3%,但一首 2026 年腾讯模型生成的歌完全没认出来。Suno v6 在 2026 年 9 月 9 日发布,晚于这个模型;我们还没找到公开授权的 v6 歌曲来测,对最新发布的作品请把分数打个折扣。

    为什么转码、低码率会影响结果?

    指纹是 1–8 kHz 之间比频谱底噪只高几个分贝的小尖峰,而有损编码最先丢掉的正是这类细节。实测 128 kbps 的 MP3 或 AAC 基本不影响;压到 64 kbps 时,那段 33 秒的 Suno 歌曲从 99.9% 以上掉到了 54%。尽量用你手上质量最好的版本;每声道低于 64 kbps 时页面会提醒你。

    我自己写的歌被判成 AI 了,这个结果能当证据吗?

    不能。它只是一个找单一伪影的统计模型,即便在熟悉的数据上公布的误报率也约有三百分之一,而且它从没见过你的录音链路。真要证明作者身份(比如和厂牌、比赛主办方有争议),工程文件、分轨和制作过程记录才是证据。CSV 导出只记录了这个工具在某个时间对某个文件给出的分数。

    为什么第一次只需要下载十几 KB?

    检测器本身非常小:3585 个权重加 1 个偏置,ONNX 文件一共 14795 字节。真正花时间的是用 JavaScript 做的信号处理:重采样、三分钟的歌要做约 700 次 8192 点 FFT、再求包络。我们 2023 年的测试笔记本(Apple M2 Max)上,一首三分钟的 MP3 从读文件到出分数约 0.45 秒(含解码)。手机会慢一些,慢主要慢在解码,但计算量本身很小,页面在手机上同样能跑。

    能一次检测整个曲库吗?

    免费版一次测一首,但不限次数:一首接一首测,每首都能存一行 CSV。一次批量测 100 首、合并成一份报告的功能计划放在 Pro 版里。

    为什么只分析前 5 分钟?为什么最好有 30 秒以上?

    模型作者的参考代码只取前 300 秒,我们和它保持完全一致,这样这里的分数就等于 Python 原版的分数。短于 30 秒左右时,平均频谱里的随机起伏还很明显,我们实测中唯一「摇摆」的结果就出在最短的那段。

    模型、许可证与示例音频

    检测模型:lofcz/ai-music-detector,作者 Matěj Štágl,MIT 许可证(全文见 LICENSE-model.txt)。两首示例都来自维基共享资源:比才《卡门》中的《斗牛士之歌》,Musopen 录音,CC0(截取 3 分钟,转为 MP3);《COW BOP》,由 Two Scuffed 用 Suno 生成,公有领域(转为 MP3)。