基于百度语音识别API的Python语音识别小程序
生活随笔
收集整理的這篇文章主要介紹了
基于百度语音识别API的Python语音识别小程序
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一、功能概述
實(shí)現(xiàn)語(yǔ)音為文字,可以擴(kuò)展到多種場(chǎng)景進(jìn)行工作,這里只實(shí)現(xiàn)其基本的語(yǔ)言接收及轉(zhuǎn)換功能。
在語(yǔ)言錄入時(shí),根據(jù)語(yǔ)言內(nèi)容的多少與停頓時(shí)間,自動(dòng)截取音頻進(jìn)行轉(zhuǎn)換。
工作示例:
二、軟件環(huán)境
- 操作系統(tǒng):win10
- 語(yǔ)言:Python 版本:3.6.0
Python庫(kù):AipSpeech(百度語(yǔ)音識(shí)別SDK客戶端),wave,PyAudio,paInt16
###Python庫(kù)安裝:除百度為:pip install baidu-aip,其他直接 pip install *(庫(kù)名) 即可。
三、原理概述
利用wave,PyAudio搭建一個(gè)wav格式的簡(jiǎn)易錄音機(jī),基于百度API進(jìn)行wav格式的音頻轉(zhuǎn)文本。
- 簡(jiǎn)易錄音機(jī)類(WWAV)有__save_wave_file音頻文件保存方法與my_record音頻錄制方法。在錄制音頻的方法中,加入了有效音頻測(cè)試的代碼,可以測(cè)試一小段時(shí)間內(nèi)是否有有效音頻輸入,否則退出音頻錄制。
- 轉(zhuǎn)換類(Translation)則為__get_file_content方法與get_word音頻轉(zhuǎn)換主方法。
四、核心代碼
my_record音頻錄制方法(WWAV類)
def my_record(self,TIME = 60,INTERVAL = 5):'''錄制并保存音頻文件,TIME錄制時(shí)間,INTERVAL測(cè)試間隔'''pa=PyAudio()tr = Translation()stream=pa.open(format = paInt16,channels=self.__channels,rate=self.__framerate,input=True,frames_per_buffer=self.__NUM_SAMPLES)my_buf=[] # 主音頻源buf=[] # 測(cè)試音頻源i=0while i < TIME*2: #控制錄音時(shí)間string_audio_data = stream.read(self.__NUM_SAMPLES) # 獲取音頻片段my_buf.append(string_audio_data)if i < INTERVAL*2:buf.append(string_audio_data)i += 1elif i == INTERVAL*2:self.__save_wave_file('00.wav',buf) # 保存測(cè)試音頻err,a = tr.get_word('00.wav') # 得到測(cè)試音頻是否有效if err == 0:breaki = 0 # 初始化buf = [] # 同上print('.',end = ' ')self.__save_wave_file('01.wav',my_buf)stream.close()get_word音頻轉(zhuǎn)換方法(Translation類)
def get_word(self,filePath):'''音頻轉(zhuǎn)文字,參數(shù)filePath為wav音頻地址,返回雙值:狀態(tài)(1為轉(zhuǎn)換成功)及轉(zhuǎn)換后文本或錯(cuò)誤信息'''word = self.__client.asr(self.__get_file_content(filePath),'wav',8000,{'lan': 'zh'}) # 參數(shù):語(yǔ)音對(duì)象,文件格式,采樣率,語(yǔ)種類型if word['err_no'] == 0: # 錯(cuò)誤值為0(即正確)return 1,word['result'][0] # 返回 1 與 文本信息else:return 0,word['err_no'] # 否則返回 0 與 錯(cuò)誤內(nèi)容源碼
GitHub地址
附:我又回來了,這個(gè)是不是大項(xiàng)目,正在寫,敬請(qǐng)期待!寒假會(huì)更一些學(xué)習(xí)筆記,一起加油
以上
轉(zhuǎn)載于:https://www.cnblogs.com/mxwbq/p/8323193.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的基于百度语音识别API的Python语音识别小程序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VR 影院,约吗?
- 下一篇: Linux命令之find命令中的-mti