在本标签页里运行 · 不限次数
AI 音乐检测:这首歌是不是 AI 做的?
把歌拖进来就行。频谱指纹在你自己的设备上算,音频一个字节都不出本机。
检测一首歌
手边没歌?先听听这两首:
还没有放入歌曲
用你的 CPU 计算 · 音频不离开本机
- 模型
- 解码
- 算指纹
- 打分
%
这首歌带有 AI 生成器伪影的可能性
这里给出的只是一个小型统计模型的概率,它只找一种特定的频谱伪影。两个方向都可能判错,不能用来证明一首歌是怎么做出来的。
要把整个曲库过一遍? Pro 版一次可批量检测 100 首
模型实际看到的东西
它是怎么判断的
-
把频谱平均起来
先把歌混成单声道、重采样到 16 kHz,再按 8192 个采样点一段切开,逐段求功率谱,按分贝取平均。旋律和歌词在平均里被抹平,剩下的是整条制作链路固定留下的频谱「底色」。
-
减掉底噪包络
在相邻 10 个频点里取最小值,描出频谱的下包络;高出包络的部分(最多算 5 dB)就是 1–8 kHz 范围内由 3585 个数组成的指纹。
-
给尖峰加权打分
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 128k | MP3 64k | AAC 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 · PD | Suno | >99.9% | >99.9% | 54.1% | 99.9% |
| Inevitability V. Argonov · CC BY-SA 4.0 | Suno | >99.9% | >99.9% | >99.9% | >99.9% |
| Rise! Seba Tysair · CC BY 3.0 | Suno | >99.9% | >99.9% | >99.9% | >99.9% |
| My God Is Science Syntharia · CC BY 3.0 | Suno | >99.9% | >99.9% | >99.9% | >99.9% |
| The Rise of the ClueBots PD | aimusic.so(未注明底层模型) | >99.9% | >99.9% | >99.9% | >99.9% |
| WikiWarriors PD | aimusic.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)。