基于Vosk-Kaldi的开源语音识别平台集成Asterisk/FreeSWITCH等第三方媒体服务器实现讨论

基于Vosk-Kaldi的开源语音识别平台集成Asterisk/FreeSWITCH等第三方媒体服务器实现讨论

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
如果支持包成功安装以后,绝大部分的安装应该不会出现问题,这里不再讨论。笔者是下载的Asterisk-20 tar文件,然后解压安装就可以实现。这里不再介绍关于Asterisk安装。
具体细节,参考微信公众号
https://mp.weixin.qq.com/s?__biz=MzA4NjU0NTIwNQ==&mid=2656460519&idx=1&sn=444b9ab5ed2e2a7e10c590f68cf4ba8d&chksm=8465f8bdb31271ab50d19eda8e5cab6a2d4167c20f685cbc630fe2da41b4bbec15e2383a9815&token=388519417&lang=zh_CN#rd
评论已关闭。