This repository is the official code release for the paper "HoliAntiSpoof: Audio LLM for Holistic Speech Anti-Spoofing".
DailyTalkEdit and the semantic influence annotation of PartialEdit are provided here.
The pretrained HoliAntiSpoof (DoRA rank = 64) checkpoint is available here.
Prepare the anti-spoofing data based on formats in example_data/partial_edit.json, where "audio" is the absolute audio path.
export PYTHONPATH=.
torchrun <args> \
qwenvl/train/train_qwen.py \
-c example_configs/train_sft.yaml \
-o \
training_args.output_dir=experiments/holi_anti_spoofArguments after -o/--overrides follow hydra override rules, i.e., arg1=val1 arg2=val2 ++arg3=val3.
torchrun <args> \
qwenvl/train/inference.py \
-c example_configs/infer.yaml \
-ckpt <ckpt_path> \
-o \
data_dict.test.dataset_list.0=/path/to/infer/data.json \
++output_fname=path/to/output.json \
++test_dataloader.batch_size=1Inference results will be saved to <ckpt_path>/../path/to/output.json.
python evaluation/eval_real_fake.py \
-c example_configs/eval/asvspoof2019.yaml \
infer_dir=<infer_dir>Corresponding settings are specified in example_configs/eval/asvspoof2019.yaml.
@article{xu2026holiantispoof,
title={HoliAntiSpoof: Audio LLM for Holistic Speech Anti-Spoofing},
author={Xu, Xuenan and Ren, Yiming and Liu, Liwei and Wu, Wen and Li, Baoxiang and Lu, Chaochao and Wang, Shuai and Zhang, Chao},
journal={arXiv preprint arXiv:2602.04535},
year={2026}
}