Luigi Pipeline从YouTube下载Voxceleb音频并提取扬声器片段
voxceleb_luigi的Python项目详细描述
#路易吉之音 [![pypi版本](http://img.shields.io/pypi/v/voxceleb_luigi.svg?style=flat)](https://pypi.python.org/pypi/voxceleb_luigi)
Luigi Pipeline从YouTube下载Voxceleb音频并提取扬声器片段。
此管道可以同时下载[voxceleb](http://www.robots.ox.ac.uk/~vgg/data/voxceleb/vox1.html)和[voxceleb2](http://www.robots.ox.ac.uk/~vgg/data/voxceleb/vox2.html)。
##安装
pip install voxceleb_luigi
您需要安装ffmpeg
和youtube-dl
。在具有apt
的系统上,您只需运行:
sudo apt install ffmpeg youtube-dl
##用法
下载并解压缩至少一个包含youtube url和时间戳的元数据目录(vc1[dev](http://www.robots.ox.ac.uk/~vgg/data/voxceleb/data/vox1_dev_txt.zip)/[test](http://www.robots.ox.ac.uk/~vgg/data/voxceleb/data/vox1_test_txt.zip)、vc2[dev](http://www.robots.ox.ac.uk/~vgg/data/voxceleb/data/vox2_dev_txt.zip)/[test](http://www.robots.ox.ac.uk/~vgg/data/voxceleb/data/vox2_test_txt.zip))。
启动luigid,中央调度器:
luigid –background
然后启动工作进程:
- luigi –module voxceleb_luigi
- –workers 4 voxceleb.ProcessDirectory –path /path/to/metadata
管道将递归搜索分段文件(通过查找类似于00001.txt
等的文件),下载其源视频的音频,并提取扬声器分段。
默认情况下,段音频文件与名为wav
的目录中的元数据并行存储,该目录是在txt
目录旁边创建的。假设您在~/vc1
中拥有voxceleb1的开发和测试集的元数据,路径看起来像~/vc1/dev/txt/idX/videoX/XXXXX.txt
。如果将--path ~/vc1
传递给管道,段将以~/vc1/dev/wav/idX/videoX/XXXXX.wav
结尾。默认情况下,管道的其他输出(视频的完整音频、软故障、已完成目录的虚拟输出)存储在./voxceleb-luigi-files
中。
##配置
数据集的创建位置和管道的存储目录都可以通过luigi.cfg
中的参数进行更改(默认位置是当前工作目录;您可以通过LUIGI_CONFIG_PATH
环境变量覆盖此位置):
[voxceleb.Config] # Required output_dir=/where/to/store/wav/segments pipeline_dir=/where/to/put/pipeline/stuff
## Only necessary if youtube-dl, ffmpeg, and ffprobe are not in your PATH: #ffmpeg_bin=/ffmpeg-dir/ffmpeg #ffmpeg_directory=/ffmpeg-dir # passed on to youtube-dl via –ffmpeg-location #youtube_dl_bin=/path/to/youtube-dl
[voxceleb.ProcessDirectory] ## alternative to the –path command line option #path=/path/to/metadata
设置output_dir
时,元数据的目录结构将镜像到此目录中。在这种情况下,txt
目录不会被wav
替换,而是从路径中删除。