Kaldi是语音识别平台中一个开源的语音识别引擎,很多厂家通过Kaldi对自己的业务系统进行训练,实现其灵活性支持和需求的二次开发。Daniel Povey也是Kaldi之父前几年加入了小米,采访新闻也是轰动一时。小米给了他产学研结合的环境平台,它希望通过小米验证其技术的可行性,小米可能是Daniel Povey梦想起飞的地方。笔者以前介绍过Vosk开源项目和MRCP协议,读者有兴趣的话,可以查看历史文档也可以学习MRCP协议。
因为最近一个客户的项目中使用了Vosk和Kaldi,而且当前的集成成熟度也得到了提升,在商业应用场景中应该有所突破,所以重新再归纳整理和大家分享。因为Vosk是基于Kaldi集成的一个轻量级平台服务器,它可以实现和多种服务器端协议集成,包括MQTT, GRPC, WebRTC和Websocket。Vosk支持支持离线语音识别引擎,支持20多种语言,其中也包括了对中文的支持。一些主要的基础语料系统会默认安装。
我们这里仅介绍通过Websocket API(ws接口配置文件)方式实现的Asterisk媒体服务器集成。如果用户使用FreeSWITCH的话,安装方式和Asterisk基本上是一致的,可以参考官方文档来实现。这里,我们主要介绍Vosk/Kaldi和Asterisk的集成。集成部署包括Asterisk安装,Vosk-asterisk模块安装配置Vosk服务器端容器安装等主要步骤。
1)安装Asterisk或者FreeSWITCH媒体引擎
安装asterisk前需要用户安装各种环境支持包,这是非常关键的一步,或者执行以下命令
// 在Asterisk 源代码下找到以下路径,执行安装前检查,系统会自动安装必要的支持包。
contrib/scripts/install_prereq install