Introduction
Most of the download scripts on the website are not able to access the VoxCeleb datasets, so I decide to share how I did it in this article.
Request Access
Fill the form below to request access to the VoxCeleb datasets.
Download Script
VoxCeleb 1
Replace <USER>
and PASSWORD
with your own.
USER=<USER>
PASSWORD=<PASSWORD>
wget http://cnode01.mm.kaist.ac.kr/voxceleb/vox1a/vox1_dev_wav_partaa --user $USER --password $PASSWORD
wget http://cnode01.mm.kaist.ac.kr/voxceleb/vox1a/vox1_dev_wav_partab --user $USER --password $PASSWORD
wget http://cnode01.mm.kaist.ac.kr/voxceleb/vox1a/vox1_dev_wav_partac --user $USER --password $PASSWORD
wget http://cnode01.mm.kaist.ac.kr/voxceleb/vox1a/vox1_dev_wav_partad --user $USER --password $PASSWORD
wget http://cnode01.mm.kaist.ac.kr/voxceleb/vox1a/vox1_test_wav.zip --user $USER --password $PASSWORD
cat vox1_dev_wav* > vox1_dev_wav.zip
unzip vox1_dev_wav.zip
VoxCeleb 2
Replace <USER>
and PASSWORD
with your own.
USER=<USER>
PASSWORD=<PASSWORD>
wget http://143.248.230.30/voxceleb/vox1a/vox2_dev_aac_partaa --user $USER --password $PASSWORD
wget http://143.248.230.30/voxceleb/vox1a/vox2_dev_aac_partab --user $USER --password $PASSWORD
wget http://143.248.230.30/voxceleb/vox1a/vox2_dev_aac_partac --user $USER --password $PASSWORD
wget http://143.248.230.30/voxceleb/vox1a/vox2_dev_aac_partad --user $USER --password $PASSWORD
wget http://143.248.230.30/voxceleb/vox1a/vox2_dev_aac_partae --user $USER --password $PASSWORD
wget http://143.248.230.30/voxceleb/vox1a/vox2_dev_aac_partaf --user $USER --password $PASSWORD
wget http://143.248.230.30/voxceleb/vox1a/vox2_dev_aac_partag --user $USER --password $PASSWORD
wget http://143.248.230.30/voxceleb/vox1a/vox2_dev_aac_partah --user $USER --password $PASSWORD
wget http://143.248.230.30/voxceleb/vox1a/vox2_test_aac.zip --user $USER --password $PASSWORD
cat vox2_dev_aac* > vox2_dev_aac.zip
unzip vox2_dev_aac.zip
For VoxCeleb 2 dataset, we need to convert flac
to wav
format. I dug into this rabbit hole and provided the Python script to do so. Just simply replace <VOX2_DEV_ROOT>
and <VOX2_TEST_ROOT>
with your own path.
import os
from glob import glob
from tqdm.auto import tqdm
def main():
dev_root = '<VOX2_DEV_ROOT>'
for f in tqdm(glob(os.path.join(dev_root, '**/*/*.m4a')), leave=False):
f_in = f
f_out = f.replace('.m4a', '.wav')
os.system(f'ffmpeg -i {f_in} {f_out}')
os.system(f'rm {f_in}')
test_root = '<VOX2_TEST_ROOT>'
for f in tqdm(glob(os.path.join(test_root, '**/*/*.m4a')), leave=False):
f_in = f
f_out = f.replace('.m4a', '.wav')
os.system(f'ffmpeg -i {f_in} {f_out}')
os.system(f'rm {f_in}')
if __name__ == '__main__':
main()
It can also be adapted to a faster way using multi-thread with tqdm
library.
import os
from glob import glob
from tqdm.auto import tqdm
def convert(filepath):
f_in = filepath
f_out = filepath.replace('.m4a', '.wav')
os.system(f'ffmpeg -i {f_in} {f_out}')
os.system(f'rm {f_in}')
def main():
dev_root = '<VOX2_DEV_ROOT>'
process_map(
convert,
glob(os.path.join(dev_root, '**/*/*.m4a')),
max_workers=8,
chunksize=1024
)
test_root = '<VOX2_TEST_ROOT>'
process_map(
convert,
glob(os.path.join(dev_root, '**/*/*.m4a')),
max_workers=8,
chunksize=1024
)
if __name__ == '__main__':
main()