這篇文章將為大家詳細(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模塊錄制語音的方法
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利用PyAudio播放音頻
chunk=2014
def play():
wf=wave.open(r"01.wav",'rb')
p=PyAudio()
stream=p.open(format=p.get_format_from_width(wf.getsampwidth()),channels=
wf.getnchannels(),rate=wf.getframerate(),output=True)
while True:
data=wf.readframes(chunk)
if data=="":break
stream.write(data)
stream.close()
p.terminate() 完整錄音播放的demo
import wave
from pyaudio import PyAudio,paInt16
framerate=8000
NUM_SAMPLES=2000
channels=1
sampwidth=2
TIME=2
def save_wave_file(filename,data):
'''save the date to the wavfile'''
wf=wave.open(filename,'wb')
wf.setnchannels(channels)
wf.setsampwidth(sampwidth)
wf.setframerate(framerate)
wf.writeframes(b"".join(data))
wf.close()
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關(guān)于“如何使用python實現(xiàn)錄音小程序”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器 、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
當(dāng)前文章:如何使用python實現(xiàn)錄音小程序-創(chuàng)新互聯(lián)
本文地址:http://weahome.cn/article/dpgigp.html