Please visit the challenge website for more information about the Challenge.
git clone https://github.com/Voice-Privacy-Challenge/Voice-Privacy-Challenge-2026.git./00_install.shsource env.sh
Track 1
-
Download data and models:
bash 01_download_data_model_track1.sh -
Run Track 1 (semi-informed EER, WER, UAR):
02_run_track1.sh
[!IMPORTANT]
The IEMOCAP corpus must be downloaded on your own by submitting a request at https://sail.usc.edu/iemocap/iemocap_release.htm. The waiting time may take up to 7-9 days.
- Run anonymization and evaluation:
./02_run_track1.sh configs/track1/anon_mcadams.yaml.
For each anonymization baseline, there is a corresponding config file:-
configs/track1/anon_mcadams.yamlA fast CPU-only signal-processing-based system (default). -
configs/track1/anon_sttts.yamlA system based on an unmodified phone sequence, modified prosody, modified speaker embedding representations and speech synthesis. -
configs/track1/anon_asrbn.yamlA fast system based on vector-quantized acoustic bottleneck, pitch, and one-hot speaker representations, and a HiFi-GAN speech synthesis model
-
To run anonymization and evaluation separately, please refer to the anonymization and evaluation sections in the VPC2024 GitHub README..
The result file with all the metrics and all datasets for submission will be generated in:
- Summary results:
./exp/results_summary/track1/result_for_rank$anon_data_suffix - Additional information for submission:
./exp/results_summary/track1/result_for_submission${anon_data_suffix}.zip
Please see the RESULTS folder for the provided anonymization baselines:
Track 2
-
Download data and models:
bash 01_download_data_model_track2.sh -
Run Track 2 (semi-informed EER, WER, UAR):
bash 02_run_track2.sh
There are two options:
-
Run anonymization and evaluation:
./02_run_track2.sh configs/track2/anon_BM1.yaml.
For each anonymization baseline, there is a corresponding config file:-
configs/track2/anon_BM1.yamlA system based on content, prosody, modified speaker embedding representations and speech synthesis (default). -
Anonymization using phonetic transcriptions and GAN: BM2 and BM3
configs/track2/anon_BM2.yamlA system based on an unmodified phone sequence, modified prosody, GAN-generated artificial speaker embeddings, and speech synthesis with IMS Toucan + HiFi-GAN.configs/track2/anon_BM3.yamlCompared to BM2, removes the prosody extractor and does not feed F0 into the synthesis model, thus keeping the original prosody.
-
-
Run anonymization and evaluation separately in two steps:
python run_anonymization.py --config configs/track2/anon_BM1.yaml
The anonymized audios will be saved in $data_dir=data into 30 folders corresponding to datasets.
The names of the created dataset folders for anonymized audio files are appended with the suffix, i.e. $anon_data_suffix=_BM1
data/en_dev_enrolls${anon_data_suffix}/wav/*wav
data/en_dev_trials_mixed${anon_data_suffix}/wav/*wav
data/en_test_enrolls${anon_data_suffix}/wav/*wav
data/en_test_trials_mixed${anon_data_suffix}/wav/*wav
data/es_dev_enrolls${anon_data_suffix}/wav/*wav
data/es_dev_trials_mixed${anon_data_suffix}/wav/*wav
data/es_test_enrolls${anon_data_suffix}/wav/*wav
data/es_test_trials_mixed${anon_data_suffix}/wav/*wav
data/fr_dev_enrolls${anon_data_suffix}/wav/*wav
data/fr_dev_trials_mixed${anon_data_suffix}/wav/*wav
data/fr_test_enrolls${anon_data_suffix}/wav/*wav
data/fr_test_trials_mixed${anon_data_suffix}/wav/*wav
data/de_dev_enrolls${anon_data_suffix}/wav/*wav
data/de_dev_trials_mixed${anon_data_suffix}/wav/*wav
data/de_test_enrolls${anon_data_suffix}/wav/*wav
data/de_test_trials_mixed${anon_data_suffix}/wav/*wav
data/emodata_track2_dev${anon_data_suffix}/wav/*wav
data/emodata_track2_test${anon_data_suffix}/wav/*wav
data/train_english${anon_data_suffix}/wav/*wav
data/train_spanish${anon_data_suffix}/wav/*wav
data/train_french${anon_data_suffix}/wav/*wav
data/train_german${anon_data_suffix}/wav/*wav
data/cn_dev_enrolls${anon_data_suffix}/wav/*wav
data/cn_dev_trials_mixed${anon_data_suffix}/wav/*wav
data/cn_test_enrolls${anon_data_suffix}/wav/*wav
data/cn_test_trials_mixed${anon_data_suffix}/wav/*wav
data/ja_dev_enrolls${anon_data_suffix}/wav/*wav
data/ja_dev_trials_mixed${anon_data_suffix}/wav/*wav
data/ja_test_enrolls${anon_data_suffix}/wav/*wav
data/ja_test_trials_mixed${anon_data_suffix}/wav/*wav
For the next evaluation step, you should replicate the corresponding directory structure when developing your anonymization system.
- perform evaluations
python run_evaluation.py --config configs/track2/eval_pre.yaml --overwrite "{\"anon_data_suffix\": \"$anon_data_suffix\"}" --force_compute True
python run_evaluation.py --config configs/track2/eval_post_en.yaml --overwrite "{\"anon_data_suffix\": \"$anon_data_suffix\"}" --force_compute True
python run_evaluation.py --config configs/track2/eval_post_de.yaml --overwrite "{\"anon_data_suffix\": \"$anon_data_suffix\"}" --force_compute True
python run_evaluation.py --config configs/track2/eval_post_es.yaml --overwrite "{\"anon_data_suffix\": \"$anon_data_suffix\"}" --force_compute True
python run_evaluation.py --config configs/track2/eval_post_fr.yaml --overwrite "{\"anon_data_suffix\": \"$anon_data_suffix\"}" --force_compute TrueAll of the above steps are automated in 02_run_track2.sh.
The result file with all the metrics and all datasets for submission will be generated in:
- Summary results:
./exp/results_summary/track2/result_for_rank$anon_data_suffix
Please see the RESULTS folder for the provided anonymization baselines:
Runtime Summary
| Script | Description | B2 | B3 | B4 | B5 |
|---|---|---|---|---|---|
run_anonymization.py |
Generate anonymized audio (LibriSpeech dev+test, IEMOCAP dev+test, LibriSpeech-train-clean-360) | ~2h | ~13h | ~72h | ~1h |
run_evaluation.py (eval_pre.yaml) |
ASR/ASV/SER on LibriSpeech dev+test & IEMOCAP dev+test using pretrained models | ||||
run_evaluation.py (eval_post.yaml) |
Train semi-informed ASV using anonymized LibriSpeech-train-clean-360h, then evaluate on LibriSpeech dev+test | ~10h |
| Script | Description | BM1 | BM2 | BM3 |
|---|---|---|---|---|
run_anonymization.py |
Generate anonymized audio (multilingual dev+test, emodata_track2, multilingual training set) | ~20h | >2 days | >2 days |
run_evaluation.py (eval_pre.yaml) |
ASR (Whisper large-v3), ASV (asv_ssl), SER (emotion2vec) on multilingual dev+test & emodata_track2 | ori-asr-3.5h, anon-asr-3.5h | asv-0.5h | |
run_evaluation.py (eval_post_en.yaml) |
Train semi-informed ASV using anonymized MLS-en data, then evaluate on MLS-en-dev+test | 50min/epoch * 4 epochs | ||
run_evaluation.py (eval_post_de.yaml) |
Train semi-informed ASV using anonymized MLS-de data, then evaluate on MLS-de-dev+test | 33min/epoch * 10epochs | ||
run_evaluation.py (eval_post_fr.yaml) |
Train semi-informed ASV using anonymized MLS-fr data, then evaluate on MLS-fr-dev+test | 15min/epoch * 10epochs | ||
run_evaluation.py (eval_post_es.yaml) |
Train semi-informed ASV using anonymized MLS-es data, then evaluate on MLS-es-dev+test | 12min/epoch * 10epochs |
The anonymization and evaluation scripts should have generated the files and the directories with the explained format of $anon_data_suffix suffix.
For data submission, the following command submit everything given a $anon_data_suffix argument:
OSS_ACCESS_KEY_ID=<XXX> OSS_ACCESS_KEY_SECRET=<XXX> OSS_TEAM=<TEAM_NAME> bash 03_upload_submission_oss_track1.sh $anon_data_suffix
OSS_ACCESS_KEY_ID=<XXX> OSS_ACCESS_KEY_SECRET=<XXX> OSS_TEAM=<TEAM_NAME> bash 03_upload_submission_oss_track2.sh $anon_data_suffix
OSS_ACCESS_KEY_ID, OSS_ACCESS_KEY_SECRET, and OSS_TEAM will be sent individually to each team upon receiving their system description.
For more details about the baseline and data, please see The VoicePrivacy 2026 Challenge Evaluation Plan v1.2
Final list of models and data for training anonymization systems.
Participants are requested to register for the evaluation. Registration should be performed once only for each participating entity using the following form: Registration.
- Xiaoxiao Miao - Duke Kunshan University, China
- Natalia Tomashenko - Université de Lorraine, CNRS, Inria, LORIA, F-54000 Nancy, France
- Ridwan Arefeen - Singapore Institute of Technology, Singapore
- Sarina Meyer - University of Stuttgart, Germany
- Michele Panariello - EURECOM, France
- Xin Wang - National Institute of Informatics, Japan
- Emmanuel Vincent - Université de Lorraine, CNRS, Inria, LORIA, F-54000 Nancy, France
- Junichi Yamagishi - National Institute of Informatics, Japan
- Nicholas Evans - EURECOM, France
- Massimiliano Todisco - EURECOM, France
Contact: organisers@lists.voiceprivacychallenge.org
Copyright (C) 2026
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.