接入谷歌的语音识别(speech-to-text)
讲一下写这篇文章的背景。
因为需求需要,我们APP需要做一个语音转化成文字的功能。因为我们做的是海外产品,需要支持多语言,当前对多语言语音识别支持的最好的解决方案当属谷歌家的了。通过对谷歌的speech-to-text调研和一些其他原因,我们决定通过服务端去接入谷歌的功能,做一个封装,然后把语音识别能力提供给客户端。
谷歌的speech-to-text提供restapi和grpc两种接入方式。我们的应用场景选用的是grpc双向流式的接入方式,我们服务端使用的是go技术栈,所以使用的go接入的grpc。
在接入的过程中也遇到了很多问题,在网上查找资料的时候,发现好像没有相关的文章来解答我们的问题,包括外文社区。我们做了很多尝试和优化,最后才做到了可上线的状态,所以记录一下,顺便分享给大家。
踩了很多坑,总结下来,主要是有以下几方面需要注意:
对音频参数一定要配置正确,这需要客户端配合,比如客户端传过来的音频是什么格式、采样率多少、几个声道,这都很关键。
识别模型的选择,选择适合自己的模型
双向流的控制,控制好流的创建和关闭。1、谷歌的grpc-stream不能连接过长时间,基本不能超过5分钟;2、send接口不能调用的太频繁。
音频数据的缓存方案。我们是接收的客户端的音频实时流数据,需要对数据做临时保存,然后发送给Google,但是谷歌的grpc存在重启的情况,这就需要我们对在重启的时候做到减少数据的丢失。我对数据做了双层保存,第一层是先保存到通道,从通道拿出来,在传给谷歌之前在保存到buffer,buffer到了一定长度才发送给谷歌。这样的好处是即减少了发送的频率,又能减少流重启导致的数据丢失。
以上主要讲了接入过程中遇到的问题和一些解决方案和心得,具体的代码就不分享了。大家如果在接入过程中还遇到其他问题,可以找我沟通。
接入谷歌的语音识别(speech-to-text)相关推荐
- 免费视频转文字-音频转文字软件:网易见外工作台, Speechnotes, autosub, Speech to Text, 百度语音识别
文章目录 网易见外工作台(推荐) Chrome插件 Speechnotes autosub 百度语音识别API IBM的Speech to Text(不推荐) 此文首发于我的Jekyll博客:zhan ...
- IBM Cloud Speech to Text 语音识别
https://speech-to-text-demo.ng.bluemix.net/ 点击首页紫色的那个「Star for free in IBM Cloud」按钮,注册IBM Cloud并登陆 然 ...
- Android 调用谷歌原生语音识别
前提: 1.安装谷歌语音搜索APP 2.需要越狱连接外网 废话不多说,直接上代码 public void onClick(View v) { //开启语音识别功能 ...
- 使用 JavaScript 进行单词发音 Use JavaScript to Speech Your Text
在w3c草案中增加了对Web Speech Api的支持;主要作用在 两个非常重要的方面: 语音识别 (将所说的转换成文本文字 / speech to text); 语音合成 (将文本文字读出来 / ...
- 语音识别系列1:语音识别Speech recognition综述
名词约定: 语声识别----- VOICE RECOGNITION 语音识别-----SPEECH RECOGNITION 1 什么是语声识别VOICE RECOGNITION? 语音或说话者识别是程 ...
- 谷歌云端语音识别软件
谷歌云端语音识别软件是是一款非常厉害专业的语音识别神器,粤语也可以直接专为文字,而且准确度极高,它内置强大的语音识别功能,含有全球常用的八十多种语言,高超的智能识别引擎,几乎零误差,多格式支持,速度惊 ...
- 谷歌云端语音识别服务软件
谷歌云端语音识别工具正式上线,该服务采用与Google Now.Google搜寻及Google Assistant相同的语音辨识技术.够识别全球超过80种语言,并将语音转换为文字,包括普通话.繁体中文 ...
- django+vue+nginx+frp搭建漫画网站之接入谷歌统计和百度统计(三)
地址:http://www.iewoai.com/ 1.背景 书接上文,打算监控网站的流量等访问情况,一开始打算用matomo,但是看了视频后发现直接接入谷歌统计和百度统计是一种更方便省事的手段.(那 ...
- 语音识别(Speech recognition)的核心内容是将语音转换成文字
https://www.bilibili.com/video/av16198207?from=search&seid=16570566229872205850 语音识别,又称为自动语音识别(A ...
最新文章
- Reactjs 的 PropTypes 使用方法
- java 执行cmd 堵塞_java中调用cmd命令被阻塞无法返回和继续执行
- mqtt 获取所有topic_MQTT协议解析
- tensorflow中学习率、过拟合、滑动平均的学习
- vagrant 常用命令
- matlab和python中的svd分解的区别
- NOIP Mayan游戏
- Java多线程 ——线程基础和锁锁锁
- [css] 你有用过table布局吗?说说你的感受
- 【数学建模】通过调整飞行角度使飞机顺利飞行(Matlab)
- java内部类的作用_java 内部类的好处和缺点(上)
- FPGA中数的表示方法
- Linux 下 4 种实时监控日志文件的方法,你都会用吗?
- instantclient php,Oracle 轻量即时客户端Instant Client安装配置
- Visio连接线相关问题
- 大数据技术之_13_Azkaban学习_Azkaban(阿兹卡班)介绍 + Azkaban 安装部署 + Azkaban 实战...
- c语言打印星号金字塔图形
- 双六(挑战程序设计竞赛)
- 深度学习,CPU、GPU、DSP、FPGA运算能力对比
- python教学小说05 宽容之心,是容纳世界的神奇变量。
热门文章
- JDK1.6.0新特性详解与代码示例 - 徐明明的博客 - CSDNBlog
- 武汉计算机985211大学有哪些,武汉985211大学有哪些
- 并网逆变器PQ控制。 逆变器采用两电平逆变器,通过功率闭环控制,实现并网单位功率因数,即并网电流与网侧电压同相位
- windows系统应急响应
- 软件工程毕业设计课题(68)微信小程序毕业设计PHP民宿酒店预订小程序系统设计与实现
- 新开淘宝店怎么增加店铺流量方法步骤
- Ubuntu 16.04.05自定义启动与停止脚本
- sklearn TfidfVectorizer、CountVectorizer词袋、 TfidfTransformer词频模型区别及词表、idf获取、cosine计算、bm25相关性
- 【红包活动汇总】2015年10月4日微信所有红包活动汇总
- 自考 计算机网络实践报告,2021年度自考计算机与网络技术基础实践报告.doc