wave和pyaudio讀取wav語音檔案並播放
阿新 • • 發佈:2018-11-01
需要模組:wave , pyAudio
程式如下:
import pyaudio
import wave
CHUNK = 1024
# 從目錄中讀取語音
wf = wave.open('./2.wav', 'rb')
# read data
data = wf.readframes(CHUNK)
# 建立播放器
p = pyaudio.PyAudio()
# 獲得語音檔案的各個引數
FORMAT = p.get_format_from_width(wf.getsampwidth())
CHANNELS = wf.getnchannels()
RATE = wf.getframerate( )
print('FORMAT: {} \nCHANNELS: {} \nRATE: {}'.format(FORMAT, CHANNELS, RATE))
# 開啟音訊流, output=True表示音訊輸出
stream = p.open(format=FORMAT,
channels=CHANNELS,
rate=RATE,
frames_per_buffer=CHUNK,
output=True)
# play stream (3) 按照1024的塊讀取音訊資料到音訊流,並播放
while len(data) > 0:
stream.write(data)
data = wf.readframes(CHUNK)