python调用百度语音识别api

  

最近在处理语音检索相关的事。
  其中用到语音识别调,用的是讯飞与百度的api,前者使用js是实现,后者用python3实现(因为自己使用python)

  

<强>环境:

  

python3.5
  centos 7

  

<>强流程

  

整个百度语音识别rest api使用分为三部分:
  

  

1(申请操作)创建应用,获取应用的API密匙以及密钥。
  

  

2(程序实现)通过已知的应用的API密匙以及密钥,发送帖子请求到https://openapi.baidu.com/oauth/2.0/token获取令牌

  

3(程序实现)通过上步骤获取的令牌,通过帖子,发送相关的语音信息到http://vop.baidu.com/server_api,获取识别结果。

  

以上过程参考百度语音开发文档,或者网上的资料。
  

  

<强> python实现

  

程序整体如下:

        进口的要求   进口json   进口uuid   进口base64      def get_token ():   url=" https://openapi.baidu.com/oauth/2.0/token "   grant_type=" client_credentials "   api_key=" NzGBYD0jPFDqVT8VHRYa * * * * " #自己申请的应用   secret_key=" 8439155 b9db2040b4acd13b0c * * * * *”#自己申请的应用   data=https://www.yisu.com/zixun/{“grant_type”:“client_credentials”,“client_id”: api_key,“client_secret”: secret_key}   r=请求。帖子(url, data=https://www.yisu.com/zixun/data)   令牌=json.loads (r.text) . get (“access_token”)   返回令牌         def识别(sig,速度,令牌):   url=" http://vop.baidu.com/server_api "   speech_length=len(团体)   演讲=base64.b64encode (sig) .decode (“utf - 8”)   mac_address=uuid.UUID (int=uuid.getnode ()) .hex [-12]   率=data=https://www.yisu.com/zixun/{“格式”:“wav”,   “局域网”:“zh型”,   “令牌”:令牌,   “兰”:speech_length,   “速度”:速度,   “演讲”:演讲,   “cuid”: mac_address,   “通道”:1、   }   data_length=len (json.dumps(数据).encode (“utf - 8”))   头={“内容类型”:“application/json”,   “内容长度”:data_length}   r=请求。帖子(url, data=https://www.yisu.com/zixun/json.dumps(数据),标题=标题)   打印(r.text)         文件名=" two.wav "      信号=open (filename, rb) .read ()   率=8000      令牌=get_token ()   识别(信号,利率,令牌)      之前      

同时,获取语音信息可以通过:

        进口scipy.io.wavfile   文件名=" two.wav "   率、信号=scipy.io.wavfile.read(文件名=文件名)   之前      

 python调用百度语音识别api”> </p>
  <p>以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。</p><h2 class=python调用百度语音识别api