gpt4 book ai didi

python - 如何从 pydub AudioSegment 创建一个 numpy 数组?

转载 作者:太空狗 更新时间:2023-10-29 17:18:30 50 4
gpt4 key购买 nike

我知道以下问题: How to create a pydub AudioSegment using an numpy array?

我的问题正好相反。如果我有一个 pydub AudioSegment,我该如何将它转换为一个 numpy 数组?

我想使用 scipy 过滤器等等。我不太清楚AudioSegment原始数据的内部结构是什么。

最佳答案

Pydub 有一个工具可以获取 audio data as an array of samples ,它是一个 array.array 实例(不是 numpy 数组),但您应该能够相对轻松地将它转换为 numpy 数组:

from pydub import AudioSegment
sound = AudioSegment.from_file("sound1.wav")

# this is an array
samples = sound.get_array_of_samples()

尽管如此,您也许能够创建实现的 numpy 变体。该方法的实现非常简单:

def get_array_of_samples(self):
"""
returns the raw_data as an array of samples
"""
return array.array(self.array_type, self._data)

也可以从(修改过的?)样本数组创建新的音频片段:

new_sound = sound._spawn(samples)

上面有点hacky,它是为AudioSegment类内部使用而编写的,但它主要只是弄清楚你正在使用什么类型的音频数据(样本数组、样本列表、字节、字节串等) ).尽管有下划线前缀,但仍可安全使用。

关于python - 如何从 pydub AudioSegment 创建一个 numpy 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38015319/

50 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com