Python可以通過調用系統底層的錄音API,在計算機上監聽話筒的聲音。下面我們來介紹如何實現。
import pyaudio import wave # 打開錄音機獲取流 chunk = 1024 # 每次讀取的音頻長度 format = pyaudio.paInt16 # 采樣位數 channels = 1 # 單聲道 rate = 16000 # 采樣率 p = pyaudio.PyAudio() stream = p.open(format=format, channels=channels, rate=rate, input=True, frames_per_buffer=chunk) # 開始監聽 while True: data = stream.read(chunk) # 在這里可以對data進行處理,如語音識別等
我們首先需要導入pyaudio和wave兩個庫,這兩個庫可以用來錄制和播放音頻。接著我們定義chunk、format、channels和rate四個參數,分別為每次讀取音頻的長度、采樣位數、聲道和采樣率。我們使用pyaudio打開錄音機獲取流,參數中的input參數指定為True表示我們要從麥克風讀取音頻,否則我們從揚聲器讀取音頻。接著我們通過while循環不斷讀取麥克風的音頻數據,讀取的數據保存在變量data中,我們可以在循環內進行處理,如進行語音轉文本。