NumPy数组保存声音设备的.wav音频数据

时间:2017-07-16 04:18:25

标签: python numpy audio

我想使用sounddevice的playrec功能。首先,我想让sd.play()工作,我是Python新手并且从未使用过NumPy,我已经使用pyaudio播放了音频,但我需要在sounddevice中同时播放录音功能。当我尝试播放音频.wav文件时,我得到:TypeError:不支持的数据类型:' string288'。我认为这与必须将.wav文件存储在一个numpy数组中有关,但我不知道该怎么做。这就是我所拥有的:

uname(2)

1 个答案:

答案 0 :(得分:2)

sounddevice.play()的文档说:

sounddevice.play(data, samplerate=None, mapping=None, blocking=False, loop=False, **kwargs)

其中数据是"类似数组"。

正如您所尝试的那样,它无法使用音频文件名。首先要读取音频文件,并将其解释为numpy数组。 这段代码应该有效:

data, fs = sf.read(filename, dtype='float32')
sd.play(data, fs)

您将找到更多示例here