PyAudio 是一个用于处理音频流的 Python 库
首先,确保已经安装了 PyAudio 库。如果没有安装,可以使用以下命令安装:
pip install pyaudio
接下来,我们将创建一个简单的程序来处理音频数据:
import pyaudio
import numpy as np
# 初始化 PyAudio
p = pyaudio.PyAudio()
# 打开音频流
stream = p.open(format=pyaudio.paInt16,
channels=1,
rate=44100,
input=True,
frames_per_buffer=1024)
print("开始录音...")
# 用于存储音频数据的缓冲区
audio_data = np.zeros(1024)
while True:
# 读取音频数据
data = stream.read(1024)
# 将音频数据转换为 NumPy 数组
audio_data = np.frombuffer(data, dtype=np.int16)
# 在这里处理音频数据,例如计算音量、频谱等
# 示例:计算音频数据的平均值
average_volume = np.mean(audio_data)
print(f"平均音量: {average_volume}")
# 关闭音频流
stream.stop_stream()
stream.close()
p.terminate()
在这个示例中,我们首先初始化 PyAudio,然后打开一个音频流。音频流的格式设置为 16 位单通道,采样率为 44100 Hz。我们将音频流设置为输入模式,以便从麦克风读取音频数据。
在循环中,我们使用 stream.read()
方法读取音频数据,并将其转换为 NumPy 数组。然后,我们可以对音频数据进行处理,例如计算音量、频谱等。在这个示例中,我们简单地计算了音频数据的平均值作为音量指标。
最后,我们关闭音频流并终止 PyAudio。
请注意,这个示例仅用于演示如何使用 PyAudio 处理音频数据。实际应用中,您可能需要根据需求对音频数据执行更复杂的处理和分析。