语音识别之进行实时语音互动
今天心血来潮,利用百度API语音识别,用python尝试做了一下语音识别的小互动,感觉还不错,记录一下过程,分享一下。已经完成了互动的过程,你说一句它说一句,无奈不能上传视频,效果不明显。
用到的东西呢
主要的是利用百度API
首先呢,需要拥有一个百度账号,登录百度智能云:https://ai.baidu.com/tech/speech,然后建立一个语音识别的应用。会得到ID\APIKEY\SecretKey
其中可以用两种方式调用:
可以下载使用SDK
不下载使用SDK:根据文档组装url获取token,处理本地音频以JSON格式POST到百度语音识别服务器,获得返回结果
#百度语音
APP_ID = 'xxxxxxx'
base_url = "https://openapi.baidu.com/oauth/2.0/token?grant_type=client_credentials&client_id=%s&client_secret=%s"
APIKey = "xxxxxxxxx"
SecretKey = "xxxxxxxxxxxx"
client = AipSpeech(APP_ID, APIKey, SecretKey)
HOST = base_url % (APIKey, SecretKey)
#获取token
def getToken(host):
res = requests.post(host)
return res.json()['access_token']
录音及识别相关函数
#保存语音文件
def save_wave_file(filepath, data):
wf = wave.open(filepath, 'wb'