1. 程式人生 > 程式設計 >Python結合百度語音識別實現實時翻譯軟體的實現

Python結合百度語音識別實現實時翻譯軟體的實現

一、所需庫安裝

在這裡插入圖片描述

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 實時翻譯軟體內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!