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

您需要安装ffmpegyoutube-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替换,而是从路径中删除。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java出现编译错误,我不理解   java在gnu-trove库中是否有任何有序映射?   java Servlet应该有映射,但找不到Servlet   java时间和第二期显示1:10,而不是13:10   java Play Framework 1.2.7 Heroku更新崩溃   线程“main”java中的opencsv异常。lang.NoClassDefFoundError:org/apache/commons/lang3/ObjectUtils   selenium在java中隐藏警告消息   java使用ID引用将JSON实体反序列化为POJO   java无法在JRE 8中加载字体   一个线程中的异常/错误会使整个应用程序停止吗?   java访问重复子规则的元素标签;e、 g.用ANTLR解析(1,2,3)中的a   java如何从平移旋转中找到新坐标   使用HTML Java小程序托管jar文件存在安全问题   java如何按频率而不是字母顺序排列字符串数组   java清除bufferedReader和块以获得更多输入   java解密SAML2断言