web科大讯飞语音识别webapi
场景是这样的,一开始是希望前端可以实现边说边转,但是讯飞现在官方并没有给出明确的demo,我尝试了一下是403forbidden,应该是跨域的问题。
还是要后端处理,后端处理,后端处理
解决思路
1 使用record.js这个会录下一个blob的文件
2 把blob转为base64传给后端
3 后端把base64转为文件格式(转成的是mp3的格式,或者别的格式)然后去调取科大讯飞的接口
从发送给后端然后后端把转义文字返回给前端的时间大概是3s这样,速度还是可以。
一般接口语音转义调取接口需要配置一些签名算法等等,这些尽量还是在后端处理比较好,前端我觉得不管用什么加密方法在浏览器端还是会暴露出来,当然如果不考虑安全性那无所谓了,前端应该也是可以调但是我没弄通下次尝试一下,还有科大讯飞社区里面有一个demo,我尝试了一下不知道什么原因就是调取会出现403错误,如果这个是后端大佬还是想把这个工作都推给你,准备休假吧,真心的搞不好(开个玩笑)。
下面放相关代码
recorder.js网上可以找到或者github找一波
录音的几个方法
blob转base64
这里转换一下然后上传给后端base64
菜鸟继续赶路
感觉看的人很多,更新一下,先说重要的
1 科大讯飞 百度翻译的语音识别没有腾讯语音识别的好(别问为什么,因为当时这几种情况后端都试了), 只有腾讯语音识别的断句翻译几乎完美翻译
2 本地开发http是可以录音的,但是如果上生产你需要https证书才可以否则没办法录音,毕竟涉及到隐私
3 在引入的record.js里面有一个阈值,就是可以监听周围的环境音量,这个有个好处就是你可以监听说话的人是不是停止说话了,然后根据那个阈值写个方法如果低于某个值就停止录音,相当于智能停止录音然后交互翻译
4 录音结束会有一个blob文件 至于怎么处理就看各人了
上传了需要用的record.js
后续有空写个demo出来
加油加油