新闻详情

新闻详情

首页 / 资讯中心 / 详情

FreeSWITCH FunASR语音识别模块

发布时间:2026/9/30 1:49:19来源:尧图网络
FreeSWITCH FunASR语音识别模块
mod_funasr基于 FunASR 的 FreeSWITCH 语音识别模块概述mod_funasr是一个为 FreeSWITCH 开发的语音识别模块集成了阿里巴巴的 FunASRFun Automatic Speech Recognition语音识别服务。该模块通过 WebSocket 连接实现实时语音识别功能支持语音转文本以及相关的语音事件处理。模块信息版本: 1.0作者: pzh创建时间: 2025/05/14接口名称:funasr目录结构mod_funasr/ ├── mod_funasr.cpp # 核心实现文件 ├── funasr.conf.xml # 配置文件 ├── Makefile.am # 构建配置 └── README.md # 说明文档主要功能 语音识别接口完整实现 FreeSWITCH ASR 接口标准支持实时语音流识别支持暂停/恢复识别功能支持语法加载/卸载操作 WebSocket 连接通过 WebSocket 连接 FunASR 服务端支持音频数据实时传输支持双向消息通信自动连接管理和错误处理 音频处理支持 PCM 格式音频流音频块大小1920 字节 (960*2)支持 8kHz 和 16kHz 采样率内置音频缓存机制 事件系统支持以下 ASR 事件类型asr::say_stop- 语音停止事件asr::break_say- 语音中断事件asr::silence_say- 静音事件asr::detected- 语音检测事件asr::detected_timeout- 检测超时事件asr::stop- 停止事件asr::digits- 数字检测事件配置说明配置文件funasr.conf.xmlconfigurationnamefunasr.confdescriptionfunasr Configurationsettingsparamnameurlvaluewss://www.funasr.com:10096//paramnamemodevalue2pass//settings/configuration配置参数参数类型默认值说明urlstringwss://www.funasr.com:10096/FunASR WebSocket 服务地址modestring2pass识别模式支持2pass等模式依赖要求系统依赖FreeSWITCH 开发环境C11 兼容编译器pthread 线程库第三方库libks2: WebSocket 和 JSON 处理库licensecc: 许可证管理库静态链接编译条件必须满足HAVE_KS编译条件需要 libks 库支持编译安装1. 准备环境确保已安装所需依赖库# 安装 libks 开发库# 安装 licensecc 库2. 编译选项# 编译标志 CPPFLAGS: -O2 -fdata-sections -ffunction-sections LDFLAGS: -Wl,--gc-sections -Wl,--strip-all -lpthread -lks2 # 包含路径 /usr/src/libks/src/include /usr/src/licensecc/install/include3. 编译安装# 在 FreeSWITCH 源码目录中makemod_funasrmakeinstall使用方法1. 模块加载在 FreeSWITCH 配置中添加loadmodulemod_funasr/2. 接口调用在拨号计划中使用actionapplicationdetect_speechdatafunasr default default/actionapplicationplaybackdataprompt.wav/在脚本中使用// JavaScript 示例session.execute(detect_speech,funasr);session.streamFile(prompt.wav);3. ASR 接口方法方法名功能描述asr_open打开 ASR 会话asr_close关闭 ASR 会话asr_feed输入音频数据asr_pause暂停识别asr_resume恢复识别asr_start_input_timers启动输入定时器WebSocket 请求格式启动请求{mode:2pass,chunk_size:[5,10,5],chunk_interval:10,wav_name:asr,wav_format:pcm,itn:true,is_speaking:true}停止请求{is_speaking:false}技术特性多线程架构主线程处理 FreeSWITCH 接口调用独立线程处理 WebSocket 消息接收线程安全的状态管理状态管理使用位标志管理模块状态FLAG_PAUSE: 暂停标志FLAG_CONTINUE_SAY: 继续播放标志FLAG_CONTINUE_BREAK_SAY: 继续中断播放标志FLAG_FIRE_BREAK_SAY: 触发中断播放标志FLAG_CONTINUE_SILENCE_SAY: 继续静音播放标志许可证管理集成 licensecc 许可证管理系统确保模块合法使用。日志调试模块提供详细的日志输出包括连接状态信息音频数据传输状态识别结果信息错误和异常信息使用 FreeSWITCH 日志系统可通过修改日志级别控制输出详细程度。注意事项网络连接: 确保服务器能访问 FunASR 服务地址音频格式: 仅支持 PCM 格式采样率 8kHz/16kHz许可证: 模块启动时会验证许可证确保许可证文件正确配置资源管理: 模块会自动管理 WebSocket 连接和音频缓存线程安全: 多线程环境下注意状态同步故障排除常见问题连接失败检查网络连接验证服务器地址配置确认防火墙设置编译错误检查依赖库是否正确安装确认编译环境配置验证头文件路径运行时错误检查许可证配置查看 FreeSWITCH 日志验证模块加载状态许可证本模块受许可证保护使用前请确保获得合法许可。支持与反馈如有问题或建议请联系开发团队。这篇文章把 AI 外呼的链路和落地要点讲清楚了。这个开源模块的完整源码我已开源可以在下面的仓库获取GitHubhttps://github.com/pzhu1015/salesGitee国内访问更快https://gitee.com/pzhu1015/sales如果你正在做或打算做智能外呼 / 呼叫中心除了这个模块还有 FreeSWITCH 部署、ASR/TTS 对接、Kamailio 负载、录音上云等相关方案欢迎到仓库交流和看更多实现。欢迎技术交流一起把 AI 外呼做好。本文为技术经验分享欢迎收藏转发。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

第一篇技术博客:我的编程学习规划与目标 2026/9/30 23:17:12

第一篇技术博客:我的编程学习规划与目标

写在前面 这是一个普通的开始,也是我技术生涯的正式起点。在 CSDN 潜水了很久,看了无数大神的文章,今天终于鼓起勇气,敲下属于自己的第一行文字。希望未来的自己回头看时,能感谢今天这个决定。 关于我:一个…

阅读更多 →
ODrive源码解析:定时器时基与8kHz FOC电流环实现 2026/9/30 23:16:32

ODrive源码解析:定时器时基与8kHz FOC电流环实现

有人问过我一个特别尖锐的问题:ODrive 这种开源伺服驱动器,凭什么能把电流环跑到 8 kHz?按理说 STM32F405 这种主频 168 MHz 的片子,跑 FOC 加一堆外围逻辑已经够累了,还要维持 8 kHz 的中断负载,这可不是软…

阅读更多 →
工业级配电开关设备选型必看:电气参数、公差范围与机械寿命 2026/9/30 23:16:25

工业级配电开关设备选型必看:电气参数、公差范围与机械寿命

上周去一个工厂做配电柜改造回访,电气负责人翻着设备台账问我:工业级配电开关控制设备的参数表到底该看哪几个数?这问题我几乎每年都会遇到几回。低压框架断路器、塑壳断路器、中压真空断路器、交流接触器这些设备,选型时不能只看…

阅读更多 →
高纯纳米碳酸钙在半导体清洗中的功能机制与工艺适配 2026/9/30 23:15:31

高纯纳米碳酸钙在半导体清洗中的功能机制与工艺适配

1. 为什么纳米碳酸钙会出现在半导体产线里?——从“填料”到“功能介质”的认知跃迁高纯纳米碳酸钙,这个名字一出来,大多数人脑子里浮现的可能是牙膏、塑料母粒或者造纸填料——白色粉末、廉价、功能单一。但当你把“高纯纳米碳酸钙”和“半导…

阅读更多 →
让 AI 直接查公司数据库?先给 SQL 加三道闸:基于蓝耘 MaaS 的只读查询助手 2026/9/30 23:15:24

让 AI 直接查公司数据库?先给 SQL 加三道闸:基于蓝耘 MaaS 的只读查询助手

业务上想要一个数据,流程往往是:提需求 → 排期 → 写 SQL → 核对 → 出数。其实难点从来不是 SQL 语法本身,而是需求方不会写、会写的人不在。于是很容易冒出一个想法:让大模型直接连数据库,问一句查一句&#xff0c…

阅读更多 →
Cursor智能体开发:合规与监控——把settings改到TaoToken的审计链路 2026/9/30 23:15:05

Cursor智能体开发:合规与监控——把settings改到TaoToken的审计链路

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉