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 處理音頻數據。實際應用中,您可能需要根據需求對音頻數據執行更復雜的處理和分析。