我想使用PortAudio(PyAudio)录制声音(语音)并在屏幕上输出相应的声波。像我一样绝望,我无法从音频流中提取频率信息,以便我可以以赫兹/时间的形式绘制它。
这是一个示例代码片段,它记录和播放录制的音频五秒钟,以防它有帮助:
p = pyaudio.PyAudio()
chunk = 1024
seconds = 5
stream = p.open(format=pyaudio.paInt16,
channels=1,
rate=44100,
input=True,
output=True)
for i in range(0, 44100 / chunk * seconds):
data = stream.read(chunk)
stream.write(data, chunk)
我希望从上述变量“数据”中提取所需的信息。(或者使用 PortAudio 或其他带有 Python 绑定的库的其他高级方法。)
我将非常感谢任何帮助!即使是模糊相关的音频分析智慧的花絮也受到赞赏。:)