失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 调用百度云API实现语音识别

调用百度云API实现语音识别

时间:2020-02-11 11:46:08

相关推荐

调用百度云API实现语音识别

一、在云平台创建语音技术应用

(1) 点击百度AI平台短语音识别/tech/speech/asr,登录百度云账号。

(2) 新用户注册完百度智能云平台后,需要在“语音技术—概览”页面领取语音识别的免费额度,否则后续功能将无法正常使用。在“概述”里面点击“去领取

(3) 单击“语音识别”——“领取免费资源”,进入领取免费资源页面;填写相应的信息,接口名称勾选“全部”。弹出领取资源窗口上显示“恭喜您,领取成功”表示领取成功。

(4) 返回上一页,点击“应用列表”,然后“创建列表”,填写相关的信息,完成语音技术应用的创建。创建完毕后“查看创建列表”(或者重新回到“应用列表”),可以看到云平台为用户生成一个用户信息,包括AppID、API Key和Secret Key

参考技术文档:短语音识别/ai-doc/SPEECH/Vk38lxily

二、完成的语音识别参考程序

注意:下面程序中的智能密钥我已经隐藏掉了,需要自行去百度云平台申领

import wavefrom pyaudio import PyAudio,paInt16 #导入音频处理库Pyaudio,没有的话要pip 安装from aip import AipSpeech# 设置采样参数NUM_SAMPLES = 2000# 默认录音4sTIME = 4# 百度智能云平台语音技能密钥# 请输入您的BaiduAPP_ID,下面自行调用应用哦~BaiduAPP_ID = 'xxxxxxx' # 请输入您的BaiduAPI_KEYBaiduAPI_KEY = 'xxxxxxxxxxxxxxxxxxx'# 请输入您的SECRET_KEYSECRET_KEY = 'xxxxxxxxxxxxxxxxxxxxxxxxxx'client = AipSpeech(BaiduAPP_ID, BaiduAPI_KEY, SECRET_KEY)# 保存录音文件def save_wave_file(filename,data): wf = wave.open(filename,'wb') # 打开WAV文档wf.setnchannels(1) #配置声道数 wf.setsampwidth(2) #配置量化位数 wf.setframerate(16000) #采样频率 wf.writeframes(b"".join(data)) # 将wav_data转换为二进制数据写入文件wf.close()# 定义录音函数def record():print('Start recording.')# 实例化PyAudio对象,开启声音输入pa = PyAudio() # 打开输入流并设置音频采样参数 1 channel 16K framerate stream = pa.open(format = paInt16,channels = 1,rate = 16000,input = True,frames_per_buffer = NUM_SAMPLES)# 录音缓存数组audioBuffer = [] # 循环采集音频 默认录制4scount = 0while count<TIME*10:# 一次性录音采样字节的大小string_audio_data = stream.read(NUM_SAMPLES) audioBuffer.append(string_audio_data)count +=1# 加逗号不换行输出print('.', end='') print('')print('End recording.')# 保存录制的语音文件到audio.wav中并关闭输入流save_wave_file('./audio.wav',audioBuffer)stream.close()# 语音识别函数def asr_updata():with open('./audio.wav', 'rb') as f:audio_data = f.read()result = client.asr(audio_data, 'wav', 16000, {# 采样频率16K'dev_pid': 1537, # 1536 普通话# 1537 普通话(纯中文识别)# 1737 英语# 1637 粤语# 1837 四川话})print(result) #打印出来,报错的时候可以查看代码val = 'result' in result.keys()print("val:",val)if val == True: result_text = result["result"][0]else:result_text = '语音未识别'return result_textif __name__ == '__main__':record() #调用录音函数result_text = asr_updata()print(result_text)

如果觉得《调用百度云API实现语音识别》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。