freeswitch集成离线语音识别funasr

前言

教程只记录流程和重点环节,不记录详细代码

前面记录过freeswitch对接阿里的NlsSdkCpp3.X实现语音质检功能,NlsSdkCpp3.X服务是在线服务,费用可能对用户造成一定压力。所以本次记录下freeswitch对接阿里的离线语音识别funasr,通过对接funasr可以实现语音质检、智能客服实时语音交互等功能(打断、静音检测、识别修改等)。以下纪录本次集成过程,如有商务合作可主页联系,提供freeswitch的开发和各类asr、tts产品开发以及完整呼叫中心产品(可二次开发扩展)

流程图

流程中至画了本次涉及内容,其实在识别结果服务后还可以加nlp模型用来检索应答。这样lua中就可以直接做应答操作。

黄色、绿色部分是不同流程,二选一即可,需要自行修改。本次按照黄色部分开发,因为后续要检索应答,绿色流程是模块将识别结果放到通道参数中,lua从通道参数中获取,后续lua将识别结果发送给应答服务获取应答。另外模块中也可以将识别结果放到event中,通过esl获取识别结果,不过多赘述

安装

一、freeswitch-1.10.5.-release

freeswitch选择的版本是1.10.5.-release。因为后续用的的mod_fun_asr有版本限制,我是根据mod源码中调用freeswitch方法去freeswitch中找对应符合版本的。向上版本应该都可以,但是之前的1.6版本是不行的。安装方法参照以下链接

centos7.9下安装freeswitch-1.10.5.-release详细教程(极其简单)

二、mod_fun_asr

对接funasr服务的模块,github或geegit上不少,随便找个就行。找不到的用我编译好的

mod_fun_asr

xml文件放到/usr/local/freeswitch/conf/autoload_configs目录下,so文件放到/usr/local/freeswitch/mod下

/usr/local/freeswitch/conf/autoload_configs/modules.conf.xml下增加<load module="mod_fun_asr"/>

freeswitch启动后控制台执行load mod_fun_asr

注意xml中修改ws地址和识别传送地址。识别接收服务自己搭建,ws地址是下面阿里服务启动的地址。

三、阿里funasr语音识别服务

https://github.com/modelscope/FunASR/blob/main/runtime/docs/SDK_advanced_guide_online_zh.md

参照里面教程安装即可

四、lua逻辑

逻辑控制需要lua来实现,语音交互流程就是在脚本中放音同时检测识别信号(模块中以实现,有信号输入后通道变量speak_result=1),当检测到输入信号后打断放音,同时获取识别或应答结果,之后就是循环上述流程。lua中放音可以用uuid_displace不阻塞进程,playback阻塞进程

相关推荐
嵌入式小企鹅13 小时前
CPU供需趋紧、DeepSeek V4全链适配、小米开源万亿模型
人工智能·学习·开源·嵌入式·小米·算力·昇腾
草莓熊Lotso13 小时前
Vibe Coding 时代:LangChain 与 LangGraph 全链路解析
linux·运维·服务器·数据库·人工智能·mysql·langchain
快乐非自愿14 小时前
RAG夺命10连问,你能抗住第几问?
人工智能·面试·程序员
千匠网络17 小时前
破局出海壁垒,千匠网络新能源汽车跨境出海解决方案
人工智能
马丁聊GEO19 小时前
解码AI用户心智,筑牢可信GEO根基——悠易科技深度参与《中国AI用户态度与行为研究报告(2026)》发布会
人工智能·科技
nap-joker19 小时前
Fusion - Mamba用于跨模态目标检测
人工智能·目标检测·计算机视觉·fusion-mamba·可见光-红外成像融合·远距离/伪目标问题
一只幸运猫.19 小时前
2026Java 后端面试完整版|八股简答 + AI 大模型集成技术(最新趋势)
人工智能·面试·职场和发展
Promise微笑19 小时前
2026年国产替代油介损测试仪:油介损全场景解决方案与技术演进
大数据·网络·人工智能
深海鱼在掘金19 小时前
深入浅出 LangChain —— 第三章:模型抽象层
人工智能·langchain·agent
生信碱移19 小时前
PACells:这个方法可以鉴定疾病/预后相关的重要细胞亚群,作者提供的代码流程可以学习起来了,甚至兼容转录组与 ATAC 两种数据类型!
人工智能·学习·算法·机器学习·数据挖掘·数据分析·r语言