成人视屏在线观看-国产99精品-国产精品1区2区-欧美一级在线观看-国产一区二区日韩-色九九九

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

python錄音并調(diào)用百度語(yǔ)音識(shí)別接口的示例

瀏覽:2日期:2022-07-03 14:41:13

#!/usr/bin/env pythonimport requestsimport jsonimport base64import pyaudioimport waveimport osimport psutil#首先配置必要的信息def bat(voice_path): baidu_server = ’https://aip.baidubce.com/oauth/2.0/token?’ grant_type = ’client_credentials’ client_id = ’uj70rS1LiwZ9sQDvMSUqKsie’ #API KEY client_secret = ’Q88eav41PzeNLczZ3hlRjhR8e4WShXwD’ #Secret KEY 這里可以自己去百度注冊(cè),這里是我的API KEY 和 Secret KEY #合成請(qǐng)求token的url url = baidu_server+’grant_type=’+grant_type+’&client_id=’+client_id+’&client_secret=’+client_secret #獲取token res = requests.get(url).text data = json.loads(res) token = data[’access_token’] #設(shè)置音頻的屬性,采樣率,格式等 VOICE_RATE = 8000 FILE_NAME = voice_path # USER_ID = ’16241950’ #這里的id隨便填填就好啦,我填的自己昵稱(chēng) FILE_TYPE = ’wav’ CUID='wate_play' #讀取文件二進(jìn)制內(nèi)容 f_obj = open(FILE_NAME, ’rb’) content = base64.b64encode(f_obj.read()) # 百度語(yǔ)音識(shí)別需要base64編碼格式 speech = content.decode('utf-8') size = os.path.getsize(FILE_NAME) #json封裝 datas = json.dumps({ ’format’: FILE_TYPE, ’rate’: VOICE_RATE, ’channel’: 1, ’cuid’: CUID, ’token’: token, ’speech’: speech, ’len’: size, 'dev_pid':'1536' }) return datas#設(shè)置headers和請(qǐng)求地址urldef post(datas): headers = {’Content-Type’:’application/json’} url = ’https://vop.baidu.com/server_api’ # url = 'http://vop.baidu.com/server_api' #用post方法傳數(shù)據(jù) request = requests.post(url, datas, headers) result = json.loads(request.text) text = result.get('result') if result[’err_no’] == 0: return text else: return 'Error'def get_audio(filepath): input('回車(chē)開(kāi)始錄音 >>>') #輸出提示文本,input接收一個(gè)值,轉(zhuǎn)為str,賦值給aa CHUNK = 256 #定義數(shù)據(jù)流塊 FORMAT = pyaudio.paInt16 #量化位數(shù)(音量級(jí)劃分) CHANNELS = 1# 聲道數(shù);聲道數(shù):可以是單聲道或者是雙聲道 RATE = 8000# 采樣率;采樣率:一秒內(nèi)對(duì)聲音信號(hào)的采集次數(shù),常用的有8kHz, 16kHz, 32kHz, 48kHz, 11.025kHz, 22.05kHz, 44.1kHz RECORD_SECONDS = 5 #錄音秒數(shù) WAVE_OUTPUT_FILENAME = filepath #wav文件路徑 p = pyaudio.PyAudio()#實(shí)例化 stream = p.open(format=FORMAT, channels=CHANNELS, rate=RATE, input=True, frames_per_buffer=CHUNK) print('*'*10, '開(kāi)始錄音:請(qǐng)?jiān)?秒內(nèi)輸入語(yǔ)音') frames = [] #定義一個(gè)列表 for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)): #循環(huán),采樣率11025 / 256 * 5 data = stream.read(CHUNK)#讀取chunk個(gè)字節(jié) 保存到data中 frames.append(data) #向列表frames中添加數(shù)據(jù)data # print(frames) print('*' * 10, '錄音結(jié)束n') stream.stop_stream() stream.close() #關(guān)閉 p.terminate() #終結(jié) wf = wave.open(WAVE_OUTPUT_FILENAME, ’wb’) #打開(kāi)wav文件創(chuàng)建一個(gè)音頻對(duì)象wf,開(kāi)始寫(xiě)WAV文件 wf.setnchannels(CHANNELS) #配置聲道數(shù) wf.setsampwidth(p.get_sample_size(FORMAT)) #配置量化位數(shù) wf.setframerate(RATE) #配置采樣率 wf.writeframes(b’’.join(frames)) #轉(zhuǎn)換為二進(jìn)制數(shù)據(jù)寫(xiě)入文件 wf.close() #關(guān)閉 returndef check_disk(): list_drive = psutil.disk_partitions() # 找出本地磁盤(pán)列表,保存的是結(jié)構(gòu)體對(duì)象 list_disk = [] for drive in list_drive: list_disk.append(drive.device) return list_diskif __name__ == ’__main__’: list_disk = check_disk() # 檢索本地磁盤(pán) dirname_path = os.path.join(list_disk[0], 'voice') # 設(shè)置語(yǔ)音文件存放路徑, (mac os下需要自己定存儲(chǔ)路徑) if not os.path.exists(dirname_path): os.makedirs(dirname_path) filename = 'voice.wav' # 定義語(yǔ)音文件名 in_path = os.path.join(dirname_path, filename) get_audio(in_path) # 錄音 datas = bat(in_path) # 封裝百度語(yǔ)音識(shí)別需要的配置信息,返回請(qǐng)求頭 res = post(datas) # 連接百度語(yǔ)音識(shí)別接口,得到識(shí)別結(jié)果 print('識(shí)別結(jié)果:',res[0])

實(shí)現(xiàn)效果:

python錄音并調(diào)用百度語(yǔ)音識(shí)別接口的示例

在上述代碼中,需要裝到requests、psutil、pyaudio等庫(kù),其中pyaudio這個(gè)庫(kù)在python3環(huán)境下裝比較特殊,

windows環(huán)境下具體步驟如下:

第一步:下載whl文件支持

url:https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyaudio

python錄音并調(diào)用百度語(yǔ)音識(shí)別接口的示例

注意:

下載自己python解釋器對(duì)應(yīng)版本的

不要下載錯(cuò)了,資源很多

第二步:打開(kāi)cmd,cd 進(jìn)入下載的whl所在目錄

執(zhí)行命令:pip install Twisted-18.7.0-cp36-cp36m-win_amd64.whl # 下載的什么版本,后面就跟什么版本

第三步:執(zhí)行命令:pip install pyaudio 安裝

如果本地同時(shí)裝有python2和python3,想裝到python3里可以在cmd命令里把 pip 改成 pip3 即可

mac os 下安裝pyaudio步驟如下:

python錄音并調(diào)用百度語(yǔ)音識(shí)別接口的示例

到這里就結(jié)束啦!

以上就是python錄音并調(diào)用百度語(yǔ)音識(shí)別接口的示例的詳細(xì)內(nèi)容,更多關(guān)于python 錄音并調(diào)用語(yǔ)音識(shí)別接口的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: 百度 Python
相關(guān)文章:
主站蜘蛛池模板: 欧美高清性色生活片免费观看 | 日韩精品中文字幕视频一区 | 国产成人精品午夜 | a级片免费在线播放 | 亚洲国产激情一区二区三区 | 日韩在线第一区 | 国产精品亚洲国产三区 | 国产精品久久成人影院 | 亚洲在线国产 | 欧美成人艳星在线播放 | 日韩一区二区久久久久久 | 手机在线观看一级午夜片 | 日韩午夜 | 免费视频男女 | 一级色网站 | 亚洲国产成a人v在线 | 欧美夜夜骑| 久久一日本道色综合久 | 免费人成黄页网站在线观看国产 | 久在线观看 | 日本免费的一级绿象 | 久久久久久91精品色婷婷 | 九九精品视频在线播放 | 亚洲精品美女 | 九九热视频在线免费观看 | 未满14周岁啪啪网站 | 久久精品国产精品青草不卡 | 免费一级毛片在线播放视频 | 荡女妇边被c边呻吟久久 | 成人免费在线观看视频 | 国产成人毛片精品不卡在线 | 国产在线观看午夜不卡 | 亚洲人成亚洲人成在线观看 | 草久视频在线 | 男人透女人超爽视频免费 | 精品久久久久中文字幕日本 | 亚洲欧美激情精品一区二区 | 黄网站色成年小说系列 | 一区二区三区在线观看免费 | 黄色激情网站 | 日本亚洲成高清一区二区三区 |