Vosk-Asterisk 开源项目教程
项目介绍
Vosk-Asterisk 是一个为 Asterisk 提供语音识别功能的模块。该项目利用 Vosk API 服务器实现语音识别,支持最新的 Asterisk 版本。Vosk 是一个开源的语音识别工具,适用于多种平台和应用场景。
项目快速启动
安装步骤
-
克隆 Asterisk 源码
git clone https://github.com/asterisk/asterisk
-
构建模块
./bootstrap ./configure --with-asterisk=<path_to_asterisk_source> --prefix=<path_to_install> make make install
-
编辑模块配置 在
modules.conf
中添加以下内容:load = res_speech_vosk
-
编辑拨号计划 在
extensions.conf
中添加以下内容:[internal] exten = 1,1,Answer same = n,Wait(1) same = n,SpeechCreate same = n,SpeechBackground(hello) same = n,Verbose(0, Result was $[SPEECH_TEXT(0)])
-
运行 Vosk 服务器
docker run -d -p 2700:2700 alphacep/kaldi-en:latest
验证安装
拨打配置的扩展号码并检查语音识别结果。
应用案例和最佳实践
教育领域
在教育领域,Vosk-Asterisk 可以用于实现语音命令控制,例如学生可以通过语音命令切换课程或获取信息。以下是一个示例配置:
[VoiceCommands-V1]
exten => s,1,Set(NUMTIMEOUTS=0)
exten => s,n,SpeechCreate
exten => s,n,SpeechBackground(beep,4)
exten => s,n,Verbose(0, Result was $[SPEECH_TEXT(0)])
exten => s,n,Set(HindiVoice=$[SPEECH_TEXT(0)])
exten => s,n,SpeechDestroy()
exten => s,n,ExecIf($["$[HindiVoice]" = "वन"]?Goto(ClassS1))
客服系统
在客服系统中,Vosk-Asterisk 可以用于实时语音识别,提高客服效率。通过配置适当的拨号计划和语音识别背景,可以实现自动化的客服响应。
典型生态项目
Jigasi
Jigasi 是一个与 Jitsi 集成的项目,支持通过 Vosk 进行语音识别。项目地址:Jigasi GitHub
Freeswitch
Freeswitch 是一个开源的电话软交换系统,支持通过 Vosk 进行语音识别。项目地址:Freeswitch GitHub
Unimrcp
Unimrcp 是一个支持多种语音识别和文本到语音转换的服务器,通过 Vosk 插件可以实现更高效的语音识别。项目地址:Unimrcp Vosk Plugin GitHub
通过这些生态项目,Vosk-Asterisk 可以与其他系统无缝集成,提供更全面的语音识别解决方案。