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