ASR(Automatic Speech Recognition)語音識別:python
百度語音--語音識別--python SDK文檔:windows
https://ai.baidu.com/docs#/ASR-Online-Python-SDK/top函數
第三方模塊:pip install baidu-aip spa
ASR_test.pycode
1 from aip import AipSpeech 2 import os 3 4 """ 你的 APPID AK SK """ 5 APP_ID = '16815394' 6 API_KEY = 'jM4b8GIG9gzrzySTRq3szK2E' 7 SECRET_KEY = 'iE626cEpjT1iAVwh24XV5h1QFuR8FPD2' 8 9 client = AipSpeech(APP_ID, API_KEY, SECRET_KEY) 10 11 12 # 讀取文件 13 def get_file_content(filePath): 14 15 #文件格式轉換成pcm(前提是須要安裝ffmpeg軟件並配置環境變量) 16 pcm_filePath = filePath.split('.')[0] + '.pcm' 17 cmd_str=f'ffmpeg -y -i {filePath} -acodec pcm_s16le -f s16le -ac 1 -ar 16000 {pcm_filePath}' 18 os.system(cmd_str)#調用os.system()在CMD執行命令 19 filePath=pcm_filePath 20 21 with open(filePath, 'rb') as fp: 22 return fp.read() 23 24 25 # 識別本地文件 26 result=client.asr(get_file_content('1.m4a'), 'pcm', 16000, { 27 'dev_pid': 1536, 28 }) 29 text=result.get('result')[0] 30 31 print(result) 32 33 print(text) 34 35 ''' 36 asr函數須要四個參數,第四個參數能夠忽略,自有默認值,參照一下這些參數是作什麼的 37 38 第一個參數: speech 音頻文件流 創建包含語音內容的Buffer對象, 語音文件的格式,pcm 或者 wav 或者 amr。(雖然說支持這麼多格式,可是隻有pcm的支持是最好的) 39 40 第二個參數: format 文件的格式,包括pcm(不壓縮)、wav、amr (雖然說支持這麼多格式,可是隻有pcm的支持是最好的) 41 42 第三個參數: rate 音頻文件採樣率 若是使用剛剛的FFmpeg的命令轉換的,你的pcm文件就是16000 43 44 第四個參數: dev_pid 音頻文件語言id 默認1537(普通話 輸入法模型) 45 '''
原始語音文件經過windows10自帶的<錄音機>進行錄製等,轉換成語音識別推薦格式pcm,最後識別輸出文字orm