讲一下写这篇文章的背景。
因为需求需要,我们APP需要做一个语音转化成文字的功能。因为我们做的是海外产品,需要支持多语言,当前对多语言语音识别支持的最好的解决方案当属谷歌家的了。通过对谷歌的speech-to-text调研和一些其他原因,我们决定通过服务端去接入谷歌的功能,做一个封装,然后把语音识别能力提供给客户端。
谷歌的speech-to-text提供restapi和grpc两种接入方式。我们的应用场景选用的是grpc双向流式的接入方式,我们服务端使用的是go技术栈,所以使用的go接入的grpc。
在接入的过程中也遇到了很多问题,在网上查找资料的时候,发现好像没有相关的文章来解答我们的问题,包括外文社区。我们做了很多尝试和优化,最后才做到了可上线的状态,所以记录一下,顺便分享给大家。
踩了很多坑,总结下来,主要是有以下几方面需要注意:
对音频参数一定要配置正确,这需要客户端配合,比如客户端传过来的音频是什么格式、采样率多少、几个声道,这都很关键。
识别模型的选择,选择适合自己