
यह रिपॉज़िटरी हमारे पेपर: ऑडियो एंटी-स्पूफिंग काउंटरमेजर्स पर ऑडियो वॉटरमार्किंग का प्रभाव का आधिकारिक कार्यान्वयन प्रदान करती है। इंटरैक्टिव डेमो और विज़ुअलाइज़ेशन यहाँ देखें।
हम WSD को सार्वजनिक कॉर्पोरा से व्युत्पन्न करते हैं और इसे मूल डेटासेट के विरुद्ध बेंचमार्क करते हैं:
ASVspoof 2019 (LA) — मॉडल प्रशिक्षण के लिए उपयोग किया जाने वाला प्रशिक्षण विभाजन। डाउनलोड करें: https://datashare.is.ed.ac.uk/handle/10283/3336
ASVspoof 2021 (LA & DF) — मूल्यांकन के लिए उपयोग किया जाता है।
-LA: https://zenodo.org/record/4837263 -DF: https://zenodo.org/record/4835108
In-the-Wild — मूल्यांकन के लिए उपयोग किया जाता है। डाउनलोड करें: https://deepfake-total.com/in_the_wild
सामान्य सेटअप: ASVspoof 2019 LA (train) पर प्रशिक्षित करें; ASVspoof 2021 LA/DF (eval) और In-the-Wild पर मूल्यांकन करें।
डेटा जनरेशन यूटिलिटीज़ data_generation/ में स्थित हैं। WSD और इसके वेरिएंट्स (seen/unseen वॉटरमार्क विभाजन) को दोहराने के लिए उस फ़ोल्डर का README देखें।
# 1) Clone
git clone https://github.com/Alphawarheads/Watermark_Spoofing.git
cd Watermark_Spoofing
# 2) (Optional) Use the bundled Fairseq snapshot
unzip fairseq-a54021305d6b3c4c5959ac9395135f63202db8f1.zip
# 3) Conda env
conda create -n kpwl python=3.7 -y
conda activate kpwl
# 4) PyTorch (adjust CUDA/ROCm wheels as needed)
pip install torch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1
# 5) Fairseq (editable)
cd fairseq-a54021305d6b3c4c5959ac9395135f63202db8f1
pip install --editable ./
cd ..
# 6) Project requirements
pip install -r requirements.txt
नोट्स: हमारे मुख्य प्रयोग 4 GPUs/DCUs पर प्रशिक्षित किए गए थे।
XLS-R वेट्स यहाँ से डाउनलोड करें: https://github.com/pytorch/fairseq/tree/main/examples/wav2vec/xlsr
नीचे दिए गए कमांड तीन score.txt फ़ाइलें उत्पन्न करते हैं (प्रत्येक मूल्यांकन सेट के लिए एक)। इन स्कोरों का उपयोग बाद में EER (%) की गणना के लिए किया जाता है।
टिप: हमेशा पूर्ण फ़्लैग
--eval_trackऔर--eval_outputका उपयोग करें (इन्हें--evalतक संक्षिप्त न करें)।
मूल (गैर-वॉटरमार्क):
TRACK=LA
PROTOCOLS=/public/home/qinxy/.../ASVspoof2021.LA.cm.eval.trl.txt
DATABASE_PATH=/public/home/qinxy/AudioData/Antispoofing/ASVspoof2021/ASVspoof2021_LA_eval/flac/
EVAL_OUTPUT=/public/home/qinxy/.../test2/${COMMENT}_eval_ori_LA21.txt
CUDA_VISIBLE_DEVICES=0,1,2,3 \
torchrun --standalone --nproc_per_node=4 \
main_multinodes.py --track="$TRACK" --is_eval --eval \
--model_path models/model_4dcu_kpwl.pth \
--protocols_path="$PROTOCOLS" \
--database_path="$DATABASE_PATH" \
--eval_output="$EVAL_OUTPUT"
वॉटरमार्क-स्पूफ (Seen):
TRACK=LA
PROTOCOLS=/public/home/qinxy/zhangzs/watermarking/The-A-Files-master/protocols/tagged/LA21/protocol_wm_75_only.txt
DATABASE_PATH=/public/home/qinxy/AudioData/Antispoofing/LA21_phase1/
EVAL_OUTPUT=/public/home/qinxy/.../test2/${COMMENT}_eval_wm_seen_LA21.txt
वॉटरमार्क-स्पूफ (Unseen):
TRACK=LA
PROTOCOLS=/public/home/qinxy/zhangzs/watermarking/The-A-Files-master/protocols/tagged_phase2/LA21/split/protocol_wm_75_only.txt
DATABASE_PATH=/public/home/qinxy/AudioData/Antispoofing/LA21_phase2/
EVAL_OUTPUT=/public/home/qinxy/.../test2/${COMMENT}_eval_wm_unseen_LA21.txt
संपूर्ण मूल्यांकन स्क्रिप्ट के लिए
eval.shदेखें।
हमारे प्री-ट्रेंड मॉडल के साथ परीक्षण करें:
_wm_ = वॉटरमार्क किए गए ऑडियो पर उत्पन्न स्कोर।_ori_ = मूल (गैर-वॉटरमार्क) ऑडियो पर उत्पन्न स्कोर।# If auto_merge_scores is not in the same file, import it:
# from your_module import auto_merge_scores
TRACK = "ITW" # one of {"LA21", "DF21", "ITW"}
comment = "ori" # label used in your score filenames
outs = auto_merge_scores(
track=TRACK,
score_wm_path=f"/public/.../test2/{comment}_train_eval_wm_SLS_{TRACK}.txt",
score_ori_path=f"/public/.../test2/{comment}_train_eval_ori_SLS_{TRACK}.txt",
)
print("Output Results:")
for p in outs:
print(" -", p)
प्रोटोकॉल कैसे निर्मित किए जाते हैं, इसके विवरण के लिए generate_data/ में README देखें।
CUDA_VISIBLE_DEVICES=0,1,2,3 \
torchrun --standalone --nproc_per_node=4 \
main_multinodes.py \
--track=DF --lr=0.000001 --batch_size=5 --loss=WCE \
--num_epochs=50 --comment 4dcu_baseline
CUDA_VISIBLE_DEVICES=0,1,2,3 \
torchrun --standalone --nproc_per_node=4 \
main_kpwl.py \
--eval_track=DF --lr=5e-7 --batch_size=5 --num_epochs=2 \
--model_path best_model.pth \
--comment model_4dcu_kpwl
आभार एवं थर्ड-पार्टी कोड
यह रिपॉज़िटरी निम्नलिखित ओपन-सोर्स प्रोजेक्ट्स के संशोधित घटकों पर आधारित है और उन्हें शामिल करती है:
SLSforASVspoof-2021-DF — https://github.com/QiShanZhang/SLSforASVspoof-2021-DF.git
The-A-Files — https://github.com/pawel-kaczmarek/The-A-Files.git
कोड के कुछ हिस्से इन रिपॉज़िटरीज़ से अनुकूलित किए गए हैं। सभी थर्ड-पार्टी कोड अपने मूल लाइसेंस के अंतर्गत रहता है; कृपया अपस्ट्रीम LICENSE फ़ाइलों को देखें और सभी लागू कॉपीराइट नोटिस बनाए रखें। यदि कोई एट्रिब्यूशन या लाइसेंसिंग विवरण अधूरा है, तो हमें बताएं और हम इसे तुरंत सुधार देंगे।
संपर्क / उद्धरण यदि आप अपने शोध में इस रिपॉज़िटरी या WSD/KPWL का उपयोग करते हैं, तो कृपया पेपर को उद्धृत करें और इस रिपॉज़िटरी से लिंक करें।