web科大讯飞语音识别webapi

场景是这样的,一开始是希望前端可以实现边说边转,但是讯飞现在官方并没有给出明确的demo,我尝试了一下是403forbidden,应该是跨域的问题。

还是要后端处理,后端处理,后端处理

解决思路

1 使用record.js这个会录下一个blob的文件

2 把blob转为base64传给后端

3 后端把base64转为文件格式(转成的是mp3的格式,或者别的格式)然后去调取科大讯飞的接口

从发送给后端然后后端把转义文字返回给前端的时间大概是3s这样,速度还是可以,而且科大讯飞的语音识别做的应该是最好的。

一般接口语音转义调取接口需要配置一些签名算法等等,这些尽量还是在后端处理比较好,前端我觉得不管用什么加密方法在浏览器端还是会暴露出来,当然如果不考虑安全性那无所谓了,前端应该也是可以调但是我没弄通下次尝试一下,还有科大讯飞社区里面有一个demo,我尝试了一下不知道什么原因就是调取会出现403错误,如果这个是后端大佬还是想把这个工作都推给你,准备休假吧,真心的搞不好(开个玩笑)。

下面放相关代码

recorder.js网上可以找到或者github找一波

web科大讯飞语音识别webapi_第1张图片

录音的几个方法

web科大讯飞语音识别webapi_第2张图片

blob转base64

web科大讯飞语音识别webapi_第3张图片

这里转换一下然后上传给后端base64

web科大讯飞语音识别webapi_第4张图片

菜鸟继续赶路

 

感觉看的人很多,更新一下,先说重要的

1 科大讯飞  百度翻译的语音识别没有腾讯语音识别的好(别问为什么,因为当时这几种情况后端都试了), 只有腾讯语音识别的断句翻译几乎完美翻译

2 本地开发http是可以录音的,但是如果上生产你需要https证书才可以否则没办法录音,毕竟涉及到隐私

3 在引入的record.js里面有一个阈值,就是可以监听周围的环境音量,这个有个好处就是你可以监听说话的人是不是停止说话了,然后根据那个阈值写个方法如果低于某个值就停止录音,相当于智能停止录音然后交互翻译

4 录音结束会有一个blob文件  至于怎么处理就看各人了

上传了需要用的record.js  不需要积分免费下载

https://download.csdn.net/download/sunnyboysix/12707183

https://download.csdn.net/download/sunnyboysix/12707182

 

后续有空写个demo出来

加油加油

 

你可能感兴趣的:(前端开发)