這篇文章將為大家詳細(xì)講解有關(guān)如何使用python實現(xiàn)錄音小程序,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
成都創(chuàng)新互聯(lián)擁有網(wǎng)站維護(hù)技術(shù)和項目管理團(tuán)隊,建立的售前、實施和售后服務(wù)體系,為客戶提供定制化的成都做網(wǎng)站、網(wǎng)站設(shè)計、外貿(mào)營銷網(wǎng)站建設(shè)、網(wǎng)站維護(hù)、達(dá)州電信機(jī)房解決方案。為客戶網(wǎng)站安全和日常運(yùn)維提供整體管家式外包優(yōu)質(zhì)服務(wù)。我們的網(wǎng)站維護(hù)服務(wù)覆蓋集團(tuán)企業(yè)、上市公司、外企網(wǎng)站、成都做商城網(wǎng)站、政府網(wǎng)站等各類型客戶群體,為全球近1000家企業(yè)提供全方位網(wǎng)站維護(hù)、服務(wù)器維護(hù)解決方案。學(xué)習(xí)目標(biāo):掌握python的pyaudio擴(kuò)展包和Wave模塊錄制語音的方法
Wav音頻:聲道數(shù),采樣頻率,量化位數(shù)
python Wav包是自帶的,pyaudio需要下載
pip3 install pyaudio
python讀Wav文件:
fp=wave.open('','rb') nf=fp.getnframes()#獲取文件的采樣點數(shù)量 print('sampwidth:',fp.getsampwidth()) print('framerate:',fp.getframerate()) print('channels:',fp.getnchannels()) f_len=nf*2#文件長度計算,每個采樣2個字節(jié) audio_data=fp.readframes(nf)
python寫Wav文件:
def save_wave_file(filename,data): '''save the date to the wavfile''' wf=wave.open(filename,'wb') wf.setnchannels(channels)#聲道 wf.setsampwidth(sampwidth)#采樣字節(jié) 1 or 2 wf.setframerate(framerate)#采樣頻率 8000 or 16000 wf.writeframes(b"".join(data))#https://stackoverflow.com/questions/32071536/typeerror-sequence-item-0-expected-str-instance-bytes-found wf.close()
利用PyAudio錄音:
def my_record(): pa=PyAudio() stream=pa.open(format = paInt16,channels=1, rate=framerate,input=True, frames_per_buffer=NUM_SAMPLES) my_buf=[] count=0 while count