论文信息
VeriSpoof: Beyond Real or Fake with One Audio LLMYang Xiao, Ting Dang · The University of Melbourne
📄 论文:arXiv 2611.04634
💻 代码:github.com/swagshaw/verispoof
🤗 模型:AustinXiao/VeriSpoof-Plus、VeriSpoof-Base
📊 基准:AustinXiao/VeriSpoof-Bench
▶️ Demo:AustinXiao/VeriSpoof-demo
语音深度伪造检测(anti-spoofing)这些年的主流范式,是训练一个二分类器,在 ASVspoof、In-the-Wild 等测试集上比 EER。但在真实的取证场景里,“真或假”只是第一个问题。分析人员还需要知道:是哪个生成系统做的?和另一段可疑录音是否同源?录音经过了什么信道?以及,模型的结论依据是什么、能不能核实?
这篇工作提出VeriSpoof:把这些问题统一成对一个音频大模型的取证问答,用同一套权重完成真伪检测、生成系统识别、来源验证、录音条件识别和有依据的推理,所有读出都来自模型自己的回答,不加任何任务专用分类头。
宣传片中的声音均为 AI 合成(Fish Audio),包括片尾“劫持”视频的作者克隆音;片中人物为 AI 生成形象;展示的每个模型输出均为 VeriSpoof 在该段音频上的真实结果。
主要结果先放在这里:
- 真伪检测:Speech-DF-Arena 14 个测试集合并 EER 2.14%(平均 EER 1.79%),对照 2026-10-31 的公开榜单快照,28 个系统中排名第三、开源权重第一;SpoofRadar v1.0 合并 EER 4.04%,同样开源第一。
- 来源验证:MLAAD 上训练中未见过的生成模型,同源判断 EER 6.17%,比在 DF-Arena-1B 冻结特征上专门训练的配对探针低 77%。
- 有依据的推理:推理中的每一行都能对照波形测量或数据集标注核实;把定位改成相反,结论 100% 随之翻转;在中文局部伪造集 HAD 上,先推理再判断的检出率从 48.4% 提升到 97.6%。
- 代价:总参数 2.9B,只训练 29.7M;Base 在单张 48 GB GPU 上约 14 GPU 小时训完。
01 问题:语音取证不止二分类
我们把取证分析拆成五类问题:
- ① 真伪检测:真人语音(bona fide)还是合成 / 转换语音(spoof)?
- ② 生成系统识别:在候选 TTS / VC 系统中是哪一个?
- ③ 来源验证:两段伪造语音是否出自同一生成器、同一声学模型、同一声码器?
- ④ 录音条件:噪声、混响、编解码属于哪一类?
- ⑤ 有依据的推理:在固定字段中写出观测、信道、定位、来源画像和结论。

上图是 MLAAD 中一段训练时从未见过的合成语音,VeriSpoof-Plus 用同一套权重回答五个问题的真实输出。
02 方法:把取证变成对音频大模型的提问

两种时间分辨率的感知。编码器是 Qwen3-ASR-1.7B 的 AuT 编码器,全部 25 层隐状态经可学习权重加权融合后送入我们从头训练的音频分词器。分词器有两路输出:16 个整句 token 承载整段不变的信息,主要服务于溯源和同源验证;52 个帧 token 每个对应 0.16 s,保留时间信息。帧 token 之间每 0.8 s 插入一个文本时间标记,语言模型因此能直接用“秒”说出合成片段的位置。
用回答本身打分。语言模型是 MiniCPM5-2B,在注意力投影上加 LoRA(r=16)。所有答案都以下一 token 预测训练;读出时,检测分数是“这段录音是伪造的”与“这段录音是真人语音”两个答案句的对数似然之差,同源分数是 yes 与 no 的对数似然之差,多选题则对每个候选答案句打分取最大。这意味着榜单上评测的分数,就是用户读到的那个答案,没有一个与回答脱节的分类头。
两个辅助损失。在池化后的音频 token 上加 OC-softmax 一类损失,把真人语音拉向可学习的中心;再从语言模型隐状态对每个帧 token 做“是否合成”的逐 token 分类,额外得到一条随时间的合成概率曲线。
03 训练:三阶段配方,推理目标由信号计算

三个阶段,各自训练不同部件:
- 感知对齐(PA):冻结语言模型,只训练音频分词器和编码器的 DoRA(r=16),任务是真伪与来源问题。先让音频侧学会携带伪造痕迹,避免语言模型替弱的音频特征“补偿”。
- 取证问答微调(QT):加上语言模型的 LoRA,训练全部感知问题:声学模型、声码器、来源画像、录音条件,以及生成器 / 声学模型 / 声码器三个层级的配对问题。
- 有依据的推理微调(RT):以更低学习率加入检测与来源验证的推理,以及反事实样本;同时回放 QT 的问题,保证一步回答依然可用。
推理目标不是让模型“编”出来的。推理按固定字段书写,每类陈述都有一个不依赖模型的检查器:观测行(带宽类别、SNR、电平、削波、数字静音)对照波形上的测量;信道行(噪声、混响、编解码)对照数据增强时记录的条件;定位行(以秒为单位的合成片段,或“无”)对照数据集标注;来源画像对照生成器元数据。反事实样本则把定位改为相反、插入新片段或改写措辞,要求结论随之改变;只改信道或观测行时,结论必须保持不变。
数据。VeriSpoof-Base 只用 8 个检测语料和 3 个局部伪造语料的官方训练集,约 38 万条;训练步数 8k / 20k / 10k,全局 batch 32,单张 48 GB GPU 约 14 GPU 小时。VeriSpoof-Plus 沿用同一配方,再加 12 个语料(7 个伪造、5 个真人),共约 440 万条;伪造部分按 211 个来源(MLAAD 生成器归并为 82 个架构族)均衡,真人部分按 18 个数据集均衡,避免大语料主导。MLAAD 未见模型 / 未见架构两个协议中的生成器从所有训练数据中剔除。数据增强包括 MUSAN 噪声、混响、20 多种编解码(含窄带),以及静音裁剪与补齐、带削波的增益、高通 / 带通等后处理,对真假两类同等施加,防止模型学到“是否经过处理”这条捷径。
04 实验一:真伪检测
在 Speech-DF-Arena 上,我们按官方协议(speech_df_arena,commit 97a4445)跑完全部 234 万条试验。合并 EER 用一个阈值统计全部试验,平均 EER 为 14 个集合 EER 的均值。

逐集来看,VeriSpoof-Plus 在 14 个集合中有 11 个 EER 低于 2.5%,其中 DFADD、LibriSeVoc、Fake-or-Real、Codecfake 接近零:

在 SpoofRadar v1.0 的 16 个测试集(Arena 的 14 个集合,LibriSeVoc 限定测试部分,外加 XMAD-Bench 和 SpoofCeleb)上,按其定义计算合并 EER、准确率和 macro-F1:

VeriSpoof-Plus 合并 EER 4.04%,准确率 95.96%,macro-F1 94.54%,在开源权重系统中第一。
05 实验二:溯源、同源与录音条件
来源验证在三个层级上进行(生成器、声学模型、声码器)。测试集均衡三类配对:同源、完全不同,以及REVERSAL(不同系统,但所有属性类别都相同),使得“只比较属性是否一致”无法猜出答案。

对照基线是在开源检测器 DF-Arena-1B 冻结特征上、用同样训练列表专门训练的配对探针(可学习层融合 + 逻辑回归)。在 MLAAD 的三种设置上,VeriSpoof-Plus 均大幅领先,未见生成模型上 EER 从 26.5% 降到6.17%。同一套权重在 MLAAD 上的生成系统识别准确率为96.8%,录音条件识别准确率为81.3%。
一个自然的问题是:通用音频大模型能不能直接回答这些问题?我们用同样的封闭选项、同样的音频,零样本测试了 6 个开源音频大模型(贪心解码,取第一个提到的选项,解析率 ≥99.7%;配对以“录音 A + 1 s 静音 + 录音 B”拼接输入):

它们在同源判断(平均 48.4–53.3%,随机 50%)和录音条件(16.4–22.6%)上接近随机。语音理解能力强,并不等于能分辨合成痕迹和信道特征。
06 实验三:推理、定位与忠实性

推理的价值首先体现在局部伪造上:只替换了一两个词的录音,一步回答往往被大段真实语音“稀释”,而先写出观测和定位再下结论,可以抓住这些伪造:

定位的精度和推理的忠实性:

逐 token 定位头在 HAD、PartialEdit、PartialSpoof 上的 F1 分别为 0.91、0.79、0.77。忠实性方面,把推理中的定位改为相反,结论在训练中见过的改法、训练中没见过的措辞、以及插入新合成片段三种干预下都100%翻转;只把信道或观测行改成矛盾内容时,结论100%保持不变——结论只依赖“哪里是合成的”,而不被无关字段带偏。
来源验证同样可以写出推理:在 REVERSAL 配对上(属性全同、系统不同,最难的一类),VeriSpoof-Plus 推理后的判断正确率为75%。
07 VeriSpoof-Bench:开放的取证评测基准

为了让“二分类之外”的能力可以被复现和比较,我们同时发布VeriSpoof-Bench:54 个子集、17.8 万道题,覆盖检测(含退化条件)、生成系统识别、来源验证、录音条件、有依据的推理(含忠实性干预)和同源推理六组任务。仓库不分发任何音频,只发布列表、标签、派生样本的生成参数、提示与参考答案、打分脚本以及 Base / Plus 的逐条参考输出;从各语料的官方渠道下载后,脚本会精确复现所有派生样本。评测自己的模型只需按子集写出每题的分数或推理文本。
08 部署与使用

检测分数和逐 token 定位头只需一次前向,不用生成文本;需要完整推理时,可以用 vLLM 后端批量生成,A100 上每条录音约 0.05 s。单卡 12 GB 显存即可运行,任意采样率的音频直接输入。
from verispoof import VeriSpoof
model = VeriSpoof.from_pretrained("AustinXiao/VeriSpoof-Plus")
model.detect("sample.wav") # 标签 + 分数
r = model.explain("sample.wav") # 推理文本、结论、片段、逐 token 概率
model.same_source("a.wav", "b.wav", level="generator") # 也可 acoustic_model / vocoder
model.condition("sample.wav", attr="codec") # 也可 noise / reverb
model.generator("sample.wav", ["XTTS-v2", "Bark", "VITS"]) # 自定义候选系统两个版本如何选:VeriSpoof-Plus训练数据更多,检测和来源验证最强,适合直接使用;VeriSpoof-Base只用官方训练集,适合做受控对比实验,技术报告中所有对照研究都基于 Base。
模型权重与代码采用 CC BY-NC 4.0 许可(非商业用途)。
总结
VeriSpoof 的核心想法是:语音取证不应止步于一个分数。把取证问题统一为对一个音频大模型的提问,用回答本身打分、用信号计算推理目标、用反事实样本约束结论,我们得到了一个在两个检测榜单上开源第一、同时能溯源、能做同源验证、能给出可核实推理的模型。欢迎在 Demo 上用自己的录音试一试,也欢迎用 VeriSpoof-Bench 评测你的模型。
宣传片结尾有个彩蛋:作者用 AI 克隆了自己的声音“劫持”视频,被 VeriSpoof 当场识破(P(伪造) = 1.00)。
VeriSpoof 面向音频深度伪造检测、溯源与可解释取证的研究,不应作为对个人作出判断的唯一依据。
