我正在处理大约50万个音频文件,每个文件大约有10秒长。瓶颈是读取音频文件。我目前正在使用pydub,并且尝试阅读mp3 (原始源代码)和wav (在ffmpeg转换之后)。两者都是太慢,并将需要超过3天!
有谁知道我是否有更快的方法来读取这些音频文件?谢谢!
发布于 2021-04-12 18:49:26
audiofile关注的是读取速度是Python最快的库之一,据这个基准说。基准可能不是独立的,但也没有太大的偏颇。这是个很好的选择。
假设您有快速驱动器,您应该同时使用audiofile和joblib并行读取(而不是multiprocessing)。您可以触发的作业数量应该取决于系统何时成为I/O(更可能)或CPU绑定。
如果您想坚持使用ffmpeg,可以考虑使用GNU Parallel进行并行转换
OUTPUT_DIR="YOUR_DIRECTORY"
find . -name '*.mp3' -type f -print0 | parallel -0 ffmpeg -f s16le -ar 48000 -ac 1 -i {} -filter:a loudnorm ${OUTPUT_DIR}/{.}.wav参数:
-f s16le -签名16位的小端点样本-ar 48000 -采样率48 rate-ac 1 -1通道(单通道)-i file.raw -输入文件-filter:a loudnorm R128响度归一化https://stackoverflow.com/questions/67061415
复制相似问题