def baidu_api(audio_path,devpid=1536)
return Result
devpid
‘1536:普通话(简单英文),1537:普通话(有标点),1737:英语,1637:粤语,1837:四川话\n’
# 导入区域
import requests
import base64 # 百度语音要求对本地语音二进制数据进行base64编码
def baidu_api(audio_path,devpid=1536):
# 组装url
base_url = "https://openapi.baidu.com/oauth/2.0/token?grant_type=client_credentials&client_id=%s&client_secret=%s"
APIKey = "0QKwKuAxo0u2fQZsAftmX0jc"
SecretKey = "x"
# 获取token
HOST = base_url % (APIKey, SecretKey)
res = requests.post(HOST)
TOKEN = res.json()['access_token']
# 读入wav
with open(audio_path, 'rb') as f:
speech_data = f.read()
try:
FORMAT = 'wav'
RATE = '16000'
CHANNEL = 1
CUID = '*******'
SPEECH = base64.b64encode(speech_data).decode('utf-8')
data = {
'format': FORMAT,
'rate': RATE,
'channel': CHANNEL,
'cuid': CUID,
'len': len(speech_data),
'speech': SPEECH,
'token': TOKEN,
'dev_pid': devpid
}
url = 'https://vop.baidu.com/server_api'
headers = {'Content-Type': 'application/json'}
# r=requests.post(url,data=json.dumps(data),headers=headers)
r = requests.post(url, json=data, headers=headers)
Result = r.json()
if 'result' in Result:
return Result['result'][0]
else:
return Result
except:
return '未能正确识别,请重试'