【问题标题】:Python: How to load large audio data set quicklyPython:如何快速加载大型音频数据集
【发布时间】:2019-07-01 01:41:38
【问题描述】:

我不熟悉处理大量数据。我有一个相当大的数据集(大约 100 万个音频文件,每个几秒钟长),我试图以有效的方式加载数据以实现可视化(并最终用作神经网络中的训练数据)。

到目前为止,我尝试使用 librosa(使用 librosa.load(filename)),但这需要几个小时才能加载 10,000 个文件。我试图找出是否可以使用 GPU 来加速它(用 Numba 摸索),但我不清楚这是否是 GPU 可以解决的有效问题。

我觉得我错过了一些非常明显的东西。有经验的能告诉我怎么做吗?我很难在 Internet 上找到解决方案。感谢您的帮助!

【问题讨论】:

  • 什么是音频格式?
  • .m4a 但我在加载 .wav 文件时也遇到了类似的问题
  • 如果文件长度相等,您可以尝试使用外部软件将它们合并成更大的批次(例如在命令行中使用sox),然后将批次加载到 python,然后再次拆分它们以进行处理。这可能比 python IO 循环更快。
  • 不幸的是它们的长度不一样
  • 您能分享演示如何加载文件的代码吗?采样率是多少?

标签: python audio wav m4a


【解决方案1】:

你可以使用 pygame. 在我制作的这个小程序中,我测试了加载一个大约 10 秒长的声音文件需要多长时间:

import pygame
import time

pygame.init()
time_now = time.time()
sound = pygame.mixer.music.load('music.wav')
print(time.time() - time_now)

结果是这样的:

0.0

如果你想播放那个文件,你可以这样做:

pygame.mixer.music.play(loops=int, start=float)

仍然需要大约 1-4 小时才能加载所有文件。 欲了解更多信息,请转至https://www.pygame.org/docs/ref/music.html

【讨论】:

    猜你喜欢
    • 2012-12-31
    • 1970-01-01
    • 2016-10-16
    • 2021-06-29
    • 1970-01-01
    • 2014-03-24
    • 1970-01-01
    • 1970-01-01
    • 2011-01-10
    相关资源
    最近更新 更多