Python結合百度語音識別實現實時翻譯軟體的實現
阿新 • • 發佈:2021-01-21
一、所需庫安裝
pip install PyAudio pip install SpeechRecognition pip install baidu-aip pip install Wave pip install Wheel pip install Pyinstaller
二、百度官網申請服務
三、原始碼分享
import pyaudio import wave from aip import AipSpeech import time # 用Pyaudio庫錄製音訊 # out_file:輸出音訊檔名 # rec_time:音訊錄製時間(秒) def audio_record(out_file,rec_time): CHUNK = 1024 FORMAT = pyaudio.paInt16 # 16bit編碼格式 CHANNELS = 1 # 單聲道 RATE = 16000 # 16000取樣頻率 p = pyaudio.PyAudio() # 建立音訊流 stream = p.open(format=FORMAT,# 音訊流wav格式 channels=CHANNELS,# 單聲道 rate=RATE,# 取樣率16000 input=True,frames_per_buffer=CHUNK) print("開始記錄語音{0}秒後開始識別...".format(rec_time)) frames = [] # 錄製的音訊流 # 錄製音訊資料 for i in range(0,int(RATE / CHUNK * rec_time)): data = stream.read(CHUNK) frames.append(data) # 錄製完成 stream.stop_stream() stream.close() p.terminate() print("結束識別") # 儲存音訊檔案 wf = wave.open(out_file,'wb') wf.setnchannels(CHANNELS) wf.setsampwidth(p.get_sample_size(FORMAT)) wf.setframerate(RATE) wf.writeframes(b''.join(frames)) wf.close() def audio_recog(recogFile): # 讀取檔案 def get_file_content(filePath): with open(filePath,'rb') as fp: return fp.read() # 識別本地檔案 result = client.asr(get_file_content(recogFile),'wav',16000,{'dev_pid': 1537,}) return result def write_file(file,text): import time time = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()) f = open(file,'a') f.write(time+':'+text+'\n') f.close() audioFile="audio.wav" textFile="識別結果.txt" """ 你的 APPID AK SK """ APP_ID = '你的APP_ID' API_KEY = '你的API_KEY' SECRET_KEY = '你的SECRET_KEY' client = AipSpeech(APP_ID,API_KEY,SECRET_KEY) if __name__ == '__main__': while True: audio_record(audioFile,5) textResult = audio_recog("audio.wav") if textResult['err_msg'] =="success.": print(textResult['result']) write_file(textFile,str(textResult['result']))
四、打包成軟體
進入到目錄執行下面命令:
pyinstaller -F main.py
到此這篇關於Python結合百度語音識別實現實時翻譯軟體的實現的文章就介紹到這了,更多相關Python 實時翻譯軟體內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!