我有一个mp3文件,我想基本上绘制出音频样本中的振幅谱。 我知道如果我们有一个wav文件,我们可以很容易地做到这一点。有很多python包可用于处理wav文件格式。但是,我不想将文件转换为wav格式,然后存储并使用它。 我试图实现的是直接获取mp3文件的振幅,即使我必须将其转换为wav格式,脚本也应该在运行时进行广播,而不必实际将文件存储在数据库中。 我知道我们可以如下转换文件:
from pydub import AudioSegment
sound = AudioSegment.from_mp3("test.mp3")
sound.export("temp.wav", format="wav")
它创建了应该创建的temp.wav文件,但是我们可以只使用内容而不存储实际的文件吗?
MP3是编码波(+标签和其他东西)。你只要用MP3解码器解码就行了。解码器将给你整个音频数据,你需要进一步处理。
如何解码mp3?我感到震惊的是,可用于Python的工具如此之少。尽管我在问题中找到了一个好的答案。它被称为pydub,我希望我可以使用来自author的示例片段(我用wiki的更多信息更新了它):
请注意,
raw_data
此时处于“广播”状态;)。现在取决于您想如何使用收集的数据,但是这个模块似乎为您提供了所需的一切。相关问题 更多 >
编程相关推荐