{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/an-empirical-study-on-channel-effects-for","title":"An Empirical Study on Channel Effects for Synthetic Voice Spoofing Countermeasure Systems","arxiv_id":"2104.01320","date":"2021-04-03","proceeding":null,"authors":["You Zhang","Ge Zhu","Fei Jiang","Zhiyao Duan"],"abstract":"Spoofing countermeasure (CM) systems are critical in speaker verification; they aim to discern spoofing attacks from bona fide speech trials. In practice, however, acoustic condition variability in speech utterances may significantly degrade the performance of CM systems. In this paper, we conduct a cross-dataset study on several state-of-the-art CM systems and observe significant performance degradation compared with their single-dataset performance. Observing differences of average magnitude spectra of bona fide utterances across the datasets, we hypothesize that channel mismatch among these datasets is one important reason. We then verify it by demonstrating a similar degradation of CM systems trained on original but evaluated on channel-shifted data. Finally, we propose several channel robust strategies (data augmentation, multi-task learning, adversarial learning) for CM systems, and observe a significant performance improvement on cross-dataset experiments.","url_abs":"https://arxiv.org/abs/2104.01320v3","url_pdf":"https://arxiv.org/pdf/2104.01320v3.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"an-empirical-study-on-channel-effects-for","repo_url":"https://github.com/yzyouzhang/Empirical-Channel-CM","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"an-empirical-study-on-channel-effects-for","repo_url":"https://github.com/yzyouzhang/AIR-ASVspoof","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"an-empirical-study-on-channel-effects-for","repo_url":"https://github.com/yzyouzhang/asvspoof2021_air","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"data-augmentation","task_name":"Data Augmentation"},{"task_slug":"multi-task-learning","task_name":"Multi-Task Learning"},{"task_slug":"speaker-verification","task_name":"Speaker Verification"},{"task_slug":"voice-anti-spoofing","task_name":"Voice Anti-spoofing"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2104.01320","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2104.01320"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/yzyouzhang/AIR-ASVspoof","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/yzyouzhang/asvspoof2021_air","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/yzyouzhang/Empirical-Channel-CM","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_fixture":2,"ran_draft_wrong":3,"ran":2,"unverified":11},"by_repo_kind":{"official":{"samples":6,"ran":1,"repositories":1},"listed":{"samples":12,"ran":6,"repositories":2}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"3a889d3debbcead8","entry":"compute_det_curve","repo":"yzyouzhang/asvspoof2021_air","repo_kind":"listed","path":"eval_metrics.py","file_url":"https://github.com/yzyouzhang/asvspoof2021_air/blob/HEAD/eval_metrics.py","link_basis":"plan_row","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3a889d3debbcead8"}},{"code_sha256_prefix":"047cd2d292cdc66d","entry":"compute_eer","repo":"yzyouzhang/asvspoof2021_air","repo_kind":"listed","path":"eval_metrics.py","file_url":"https://github.com/yzyouzhang/asvspoof2021_air/blob/HEAD/eval_metrics.py","link_basis":"plan_row","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"047cd2d292cdc66d"}},{"code_sha256_prefix":"6ef392f365cc5703","entry":"conv1x1","repo":"yzyouzhang/AIR-ASVspoof","repo_kind":"listed","path":"resnet.py","file_url":"https://github.com/yzyouzhang/AIR-ASVspoof/blob/HEAD/resnet.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6ef392f365cc5703"}},{"code_sha256_prefix":"583f9780bdd00a45","entry":"conv3x3","repo":"yzyouzhang/AIR-ASVspoof","repo_kind":"listed","path":"resnet.py","file_url":"https://github.com/yzyouzhang/AIR-ASVspoof/blob/HEAD/resnet.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"583f9780bdd00a45"}},{"code_sha256_prefix":"7453b30a6a37676b","entry":"label_2_float","repo":"yzyouzhang/Empirical-Channel-CM","repo_kind":"official","path":"utils_dsp.py","file_url":"https://github.com/yzyouzhang/Empirical-Channel-CM/blob/HEAD/utils_dsp.py","link_basis":"plan_row","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7453b30a6a37676b"}},{"code_sha256_prefix":"4a9fc5f1de58c879","entry":"obtain_asv_error_rates","repo":"yzyouzhang/asvspoof2021_air","repo_kind":"listed","path":"eval_metrics.py","file_url":"https://github.com/yzyouzhang/asvspoof2021_air/blob/HEAD/eval_metrics.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4a9fc5f1de58c879"}},{"code_sha256_prefix":"14738aac076461dd","entry":"repeat_padding_Tensor","repo":"yzyouzhang/asvspoof2021_air","repo_kind":"listed","path":"dataset.py","file_url":"https://github.com/yzyouzhang/asvspoof2021_air/blob/HEAD/dataset.py","link_basis":"plan_row","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"14738aac076461dd"}},{"code_sha256_prefix":"23f88914dbfe49d4","entry":"avg_fuse","repo":"yzyouzhang/asvspoof2021_air","repo_kind":"listed","path":"score_fusion.py","file_url":"https://github.com/yzyouzhang/asvspoof2021_air/blob/HEAD/score_fusion.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"23f88914dbfe49d4"}},{"code_sha256_prefix":"cf8271127e8f0134","entry":"delta","repo":"yzyouzhang/Empirical-Channel-CM","repo_kind":"official","path":"feature_extraction.py","file_url":"https://github.com/yzyouzhang/Empirical-Channel-CM/blob/HEAD/feature_extraction.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"cf8271127e8f0134"}},{"code_sha256_prefix":"15dd14c88916880d","entry":"float_2_label","repo":"yzyouzhang/Empirical-Channel-CM","repo_kind":"official","path":"utils_dsp.py","file_url":"https://github.com/yzyouzhang/Empirical-Channel-CM/blob/HEAD/utils_dsp.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"15dd14c88916880d"}},{"code_sha256_prefix":"8dd719296048d271","entry":"mulaw_encode","repo":"yzyouzhang/Empirical-Channel-CM","repo_kind":"official","path":"utils_dsp.py","file_url":"https://github.com/yzyouzhang/Empirical-Channel-CM/blob/HEAD/utils_dsp.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8dd719296048d271"}},{"code_sha256_prefix":"52f297b90a82ab25","entry":"padding","repo":"yzyouzhang/AIR-ASVspoof","repo_kind":"listed","path":"dataset.py","file_url":"https://github.com/yzyouzhang/AIR-ASVspoof/blob/HEAD/dataset.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"52f297b90a82ab25"}},{"code_sha256_prefix":"f0a1f94179d20efb","entry":"padding_Tensor","repo":"yzyouzhang/Empirical-Channel-CM","repo_kind":"official","path":"dataset.py","file_url":"https://github.com/yzyouzhang/Empirical-Channel-CM/blob/HEAD/dataset.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f0a1f94179d20efb"}},{"code_sha256_prefix":"c331f51bee478856","entry":"read_file","repo":"yzyouzhang/asvspoof2021_air","repo_kind":"listed","path":"score_fusion.py","file_url":"https://github.com/yzyouzhang/asvspoof2021_air/blob/HEAD/score_fusion.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c331f51bee478856"}},{"code_sha256_prefix":"e976b5d8227e655a","entry":"repeat_padding","repo":"yzyouzhang/AIR-ASVspoof","repo_kind":"listed","path":"dataset.py","file_url":"https://github.com/yzyouzhang/AIR-ASVspoof/blob/HEAD/dataset.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e976b5d8227e655a"}},{"code_sha256_prefix":"6e88ac6fb45d54ef","entry":"shuffle","repo":"yzyouzhang/asvspoof2021_air","repo_kind":"listed","path":"main_train.py","file_url":"https://github.com/yzyouzhang/asvspoof2021_air/blob/HEAD/main_train.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6e88ac6fb45d54ef"}},{"code_sha256_prefix":"a2e29dbb85083b43","entry":"trimf","repo":"yzyouzhang/Empirical-Channel-CM","repo_kind":"official","path":"feature_extraction.py","file_url":"https://github.com/yzyouzhang/Empirical-Channel-CM/blob/HEAD/feature_extraction.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a2e29dbb85083b43"}},{"code_sha256_prefix":"d743cf58be5e7fa6","entry":"weighted_fuse","repo":"yzyouzhang/asvspoof2021_air","repo_kind":"listed","path":"score_fusion.py","file_url":"https://github.com/yzyouzhang/asvspoof2021_air/blob/HEAD/score_fusion.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d743cf58be5e7fa6"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}