本篇文章為大家展示了怎么在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中利用百度語音識別制作一個翻譯軟件,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。