{"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/visualvoice-audio-visual-speech-separation","title":"VisualVoice: Audio-Visual Speech Separation with Cross-Modal Consistency","arxiv_id":"2101.03149","date":"2021-01-08","proceeding":"CVPR 2021 1","authors":["Ruohan Gao","Kristen Grauman"],"abstract":"We introduce a new approach for audio-visual speech separation. Given a video, the goal is to extract the speech associated with a face in spite of simultaneous background sounds and/or other human speakers. Whereas existing methods focus on learning the alignment between the speaker's lip movements and the sounds they generate, we propose to leverage the speaker's face appearance as an additional prior to isolate the corresponding vocal qualities they are likely to produce. Our approach jointly learns audio-visual speech separation and cross-modal speaker embeddings from unlabeled video. It yields state-of-the-art results on five benchmark datasets for audio-visual speech separation and enhancement, and generalizes well to challenging real-world videos of diverse scenarios. Our video results and code: http://vision.cs.utexas.edu/projects/VisualVoice/.","url_abs":"https://arxiv.org/abs/2101.03149v2","url_pdf":"https://arxiv.org/pdf/2101.03149v2.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":"visualvoice-audio-visual-speech-separation","repo_url":"https://github.com/facebookresearch/visualvoice","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"speech-separation","task_name":"Speech Separation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2101.03149","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2101.03149"}},"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/facebookresearch/visualvoice","reach":null}],"summary":{"ran":4,"unverified":1},"by_repo_kind":{"listed":{"samples":5,"ran":4,"repositories":1}},"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":5,"samples":[{"code_sha256_prefix":"123ba7dfc88acf63","entry":"conv_block","repo":"facebookresearch/visualvoice","repo_kind":"listed","path":"models/networks.py","file_url":"https://github.com/facebookresearch/visualvoice/blob/HEAD/models/networks.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"123ba7dfc88acf63"}},{"code_sha256_prefix":"c26dd101957c5772","entry":"unet_conv","repo":"facebookresearch/visualvoice","repo_kind":"listed","path":"models/networks.py","file_url":"https://github.com/facebookresearch/visualvoice/blob/HEAD/models/networks.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"c26dd101957c5772"}},{"code_sha256_prefix":"d18d05278cbd104f","entry":"unet_upconv","repo":"facebookresearch/visualvoice","repo_kind":"listed","path":"models/networks.py","file_url":"https://github.com/facebookresearch/visualvoice/blob/HEAD/models/networks.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"d18d05278cbd104f"}},{"code_sha256_prefix":"a4836b869a8853ae","entry":"up_conv","repo":"facebookresearch/visualvoice","repo_kind":"listed","path":"models/networks.py","file_url":"https://github.com/facebookresearch/visualvoice/blob/HEAD/models/networks.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"a4836b869a8853ae"}},{"code_sha256_prefix":"cbf56dd08446163d","entry":"VisualVoiceUNet","repo":"facebookresearch/visualvoice","repo_kind":"listed","path":"models/networks.py","file_url":"https://github.com/facebookresearch/visualvoice/blob/HEAD/models/networks.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"cbf56dd08446163d"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}