,今天记录下FreeSWITCH对接vosk实现实时语音识别。 vosk离线语音识别可参考我之前写的文章:python使用vosk进行中文语音识别二、具体实现1、编译及安装vosk模块可直接使用github上的代码进行编译:https://github.com/alphacep 模块1)启用 vosk 模块;编辑 autoload_configs/modules.conf.xml 文件,启用 vosk 模块:<load module="mod_<em>vosk</em>"/>2)配置 conf 文件;将 mod_vosk/conf/vosk.conf.xml 配置文件复制到 如下路径:/usr/local/freeswitch/conf/autoload_configs/修改 vosk 服务器地址 :图片三、运行效果1、启动 vosk 服务器目录:vosk-server\websocket启动命令如下:workon py39envpython asr_server.py vosk-model-cn
github 数据指标 等 如何快速的启动 axum 服务 性能测试对比 原文链接:https://tech.marksblogg.com/axum-rust-web-framework.html vosk-rs : Vosk 的 Rust binding Vosk 是一个语言识工具包, 支持 20 多种语言, 可以在 raspberry Pi, Android, iOS 上等脱机使用. vosk-rs 是他的一个 Vosk介绍地址:https://alphacephei.com/vosk/index.zh github地址:https://github.com/Bear-03/vosk-rs -- From 日报小组
✅ 解决方案✅ 方法 1:下载官方支持的 Vosk Android 模型(推荐)去 Vosk 官网模型页面 下载适用于移动端的中文模型,比如: vosk-model-small-cn-0.22.zip( 步骤: 下载 vosk-model-small-cn-0.22.zip。 解压后放到 assets/vosk-model-cn/ 目录下。 解压后结构类似: assets/└── vosk-model-cn/ ├── README ├── conf/ ├── final.mdl ├── words.txt ├─ 保持你的代码逻辑不变即可: StorageService.unpack(this, "vosk-model-cn", "model", (model) -> { this.model
使用开源的Vosk引擎。Vosk引擎比较小,但是模型文件比较大,因而需要单独下载。 首先,进入宿主机上的storage目录,创建vosk目录,如下: cd storagemkdir vosk 到以下地址下载模型文件,解压后放到刚刚创建的vosk目录。 https://alphacephei.com/vosk/models 目前测试了以下几个模型: vosk-model-cn-0.1 8k vosk-model-small-cn-0.3 16k vosk-model-small-en-us 上述命令中,也可以通过asr:ai:vosk-model-cn-0.1指定使用的模型。 使用AI模块,8k语音模型asr:ai:vosk-model-cn-0.1 # 使用AI模块,FreeSWITCH兼容模式,8k语音模型 XCC中,不需要asr:前缀,用起来更高效。
二、核心代码(可运行示例) # 运行前:确保已安装 requirements.txt 中的 vosk、sounddevice、numpy、pyttsx3 # 并将中文模型下载到 . /models/vosk-cn-small 目录(README 有说明) import sounddevice as sd import numpy as np import json from vosk API集成:FastAPI 提供本地 TTS 服务,其他脚本(如 Azure/Vosk 助手)通过 HTTP 调用。 ', 'models', 'vosk-cn-small') assert os.path.exists(MODEL_DIR), f"Vosk模型未找到:{MODEL_DIR}" model = Model Vosk模型路径错误:确认 models/vosk-cn-small 目录存在且含 conf、am 等子目录。
freeswitch/log - /data/storage/upload:/usr/local/freeswitch/storage/upload - /data/storage/vosk :/usr/local/freeswitch/storage/vosk - /data/storage:/usr/local/freeswitch/storage - /data
表1:Demo技术栈选型与说明模块推荐技术/库作用备注语音识别(STT)SpeechRecognition+PyAudio录制麦克风音频并转换为文本基础易用,可使用离线的Vosk引擎替换以获得更好隐私性 提升语音交互体验(改进“口”):使用离线STT/TTS引擎(如Vosk和Piper)以获得更快的响应和绝对的隐私。实现“HeyAssistant”这样的免唤醒词热词检测,让交互更自然。
:LibriSpeech(clean)、Tedlium、SPGISpeech;ASR模型:DeepSpeech(Mozilla)、Wav2Vec2(Facebook)、Whisper(OpenAI)、Vosk WEREchoGuard WERΔWERMOSDeepSpeech8.2%42.7%+34.5%4.3Wav2Vec25.1%38.9%+33.8%4.4Whisper (base)4.3%18.6%+14.3%4.5Vosk9.7%
语音识别(ASR):Whisper+Vosk+sherpa-onnx组合拳SmartJavaAI的语音识别模块集成了多款成熟开源项目:Whisper:OpenAI的通用语音识别模型,支持多语言转写与翻译 Vosk:轻量级离线ASR,适合低资源设备和实时场景。sherpa-onnx:基于ONNXRuntime的ASR/TTS推理框架。 语音与会议场景通过ASR(Whisper/Vosk/sherpa-onnx)+TTS,可以支持会议转写、语音助手、语音导航等功能;实时语音识别能力也适合在客服热线、语音机器人等场景中使用。
发音评估模块:通过声学模型(如Kaldi、Vosk)分析用户发音的音素准确度(如/θ/与/s/区分)、语调自然度(重音/连读),对比标准发音生成评分(如90/100)。
项目整合 对于这个项目,我使用 Vosk API 集成了唤醒词检测和自动语音识别。然后,使用了 Piper 文本转语音组件。
libdeflate libdeflate C 18 https://github.com/felipensp/libvm libvm C 19 https://github.com/alphacep/vosk-api vosk-api C++ 20 https://github.com/stac47/libuseless libuseless C++ 21 https://github.com/ropensci
个依赖关系的需求,最后得到了如下结果: 有一个名为“microphone-stream”的 NPM 包,我在 Web 应用中使用它来发送从麦克风捕获的样本缓冲区到语音识别包(Cieran O'Reilly 的 vosk-browser
BXDCSiCTVDpNCDM6vUHAEMMERAhijLaFEwX2QF7eTEFibwRash5NDCqxMPcRTGhWp865Xs7iry1VfD6yik6aQ8IIEty7GEF6EwUkQRJoxhwDLS5LxFBMsskyNfff01NDBDj6VDC448/9DqAw8wzbBBShSuRE9QSym1lVRraZ/IGkQeOdYi7+orfz9hkYFBBRvYsibPWLGE2Vosk8UyBqRuQM2pEzGdGWbQDZfdgOFdXsUK8 BXDCSiCTVDpNCDM6vUHAEMMERAhijLaFEwX2QF7eTEFibwRash5NDCqxMPcRTGhWp865Xs7iry1VfD6yik6aQ8IIEty7GEF6EwUkQRJoxhwDLS5LxFBMsskyNfff01NDBDj6VDC448/9DqAw8wzbBBShSuRE9QSym1lVRraZ/IGkQeOdYi7+orfz9hkYFBBRvYsibPWLGE2Vosk8UyBqRuQM2pEzGdGWbQDZfdgOFdXsUK8