博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
腾讯AI语音识别API踩坑记录
阅读量:2152 次
发布时间:2019-04-30

本文共 979 字,大约阅读时间需要 3 分钟。

腾讯AI语音识别API踩坑记录

介绍

以前不习惯“踩坑”这个词,现在也不习惯。不过看大家都在用,我也用一下试试。

分为三个版本,分别是ECHO流式微信专用流式。前两个比较好理解,为什么还有一个微信专用流式呢?这是因为微信小程序中录音API录制的音频格式只能是压缩过的mp3/ogg格式,而一般语音识别API都只识别一些非压缩格式,比如WAV,PCM等等。所以腾讯另外添加了微信专用流式

一般来讲,像这种第三方API调用都比较简单,把需要传递的参数加上APP_KEY和APP_ID一并给服务器传递过去,就可以得到相应的返回数据。而腾讯AI语音识别API需要额外的接口鉴权,鉴权正确了才会返回正确结果。

接口鉴权

接口鉴权通俗讲就是把所有的参数按照一定顺序排列然后做一个MD5计算,把计算结果当成一个参数传递给服务器,服务器在接收到请求时也会计算一下MD5值,与客户端传递过来的MD5值进行匹配,如果值一致就进一步处理,如果不一致则报鉴权失败的错误{ret: 16388, msg: "sign invalid", data: {…}}

接口鉴权的里提供了PHP语言的DEMO,如果需要用JS版本的,可以看我封装的一个DEMO,该DEMO确认可行的。

对于接口鉴权需要额外补充的是如果调用API时传递了一个参数,且该参数参与了接口鉴权的MD5计算,那么服务器也会报一个sign invalid的错误,原因是服务器在接口鉴权时只会使用会用到的参数,你多传递的参数只有在客户端参与了MD5计算,而服务器上没有使用这个参数进行计算,从而导致计算出的MD5值不一样。多传参数时并不会报错,这是一个小坑。

这里把参数整理方便对比:

echo 流式版 流式版(WeChat AI)
app_id app_id app_id
format format format
rate rate rate
- - bits
- seq seq
- len len
- end end
- speech_id speech_id
speech speech_chunk speech_chunk
- - cont_res
time_stamp time_stamp time_stamp
nonce_str nonce_str nonce_str
sign sign sign

转载地址:http://kciwb.baihongyu.com/

你可能感兴趣的文章
对比学习用 Keras 搭建 CNN RNN 等常用神经网络
查看>>
深度学习的主要应用举例
查看>>
word2vec 模型思想和代码实现
查看>>
怎样做情感分析
查看>>
用深度神经网络处理NER命名实体识别问题
查看>>
用 RNN 训练语言模型生成文本
查看>>
RNN与机器翻译
查看>>
用 Recursive Neural Networks 得到分析树
查看>>
RNN的高级应用
查看>>
TensorFlow-7-TensorBoard Embedding可视化
查看>>
一个隐马尔科夫模型的应用实例:中文分词
查看>>
轻松看懂机器学习十大常用算法
查看>>
一个框架解决几乎所有机器学习问题
查看>>
特征工程怎么做
查看>>
机器学习算法应用中常用技巧-1
查看>>
机器学习算法应用中常用技巧-2
查看>>
通过一个kaggle实例学习解决机器学习问题
查看>>
决策树的python实现
查看>>
Sklearn 快速入门
查看>>
了解 Sklearn 的数据集
查看>>