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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章