FreeSWITCH ASR 电话机器人 VAD 打断 ASR集成 全功能开源代码

简介: 最近很多人都对FreeSWITCH和ASR对接比较感谢兴趣,我之前已经做了一个商业模块(商业模块请点击这里http://www.ddrj.com/callcenter/asr.html),考虑到大部分人,只是研究一下,并不准确购买商业模块,特意做一个开源项目给大家提供一个参考。

FreeSWITCH 语音识别 电话机器人 VAD 打断 ASR集成 全功能开源代码

gitcode地址: https://gitcode.net/iyaosan/FreeSWITCH-ASR
github地址: https://github.com/cdevelop/FreeSWITCH-ASR

最近很多人都对FreeSWITCH和ASR对接比较感谢兴趣,我之前已经做了一个商业模块(商业模块请点击这里http://www.ddrj.com/callcenter/asr.html),考虑到大部分人,只是研究一下,并不准确购买商业模块,特意做一个开源项目给大家提供一个参考。

mod_asr.cpp 第二个版本,使用了顶顶通VAD(支持噪音人声识别)本程序包的授权文件是10并发1个月的体验授权,仅用于体验和测试使用。

顶顶通VAD介绍

语音活动检测(Voice Activity Detection,VAD),就是检测是否有声音,常规的算法是通过声音音量和频谱特诊来判断是否有声音的,但是无法区分是噪音还是人声,在电话机器人中噪音打断噪音识别错误的关键词始终是一个痛点,机器学习算法可以通过大量噪音和人声数据训练出判别人声还是噪音的神经网络模型,VAD算法结合深度神经网络就可以彻底解决这个痛点了。 顶顶通的最新VAD算法已经集成了人声噪音判别引擎。

噪音识别的用处

  • 防止错误的意向判断

    噪音识别成关键词(是,恩,哦),导致把无意向客户判断成有意向客户,通过噪音识别模块,过滤掉噪音,可以大大提高机器人的意向判断准确度。

  • 防止噪音打断机器人说话
    大部分机器人只要开了打断功能,有一点噪音就给错误打断了,根本没法在生产环境开打断功能,有了噪音识别模块,就可以避免噪音打断了。
  • 机器人反应更灵敏

    噪音环境VAD无法判断用户说话结束,会导致用户说话完成了,机器人还一直傻等,有了噪音识别模块,可以让机器人反应更加灵敏。

  • 节约ASR费用

    在电话机器人业务中,大量的无效声音(各种噪音)调用ASR,浪费ASR调用费用,有了噪音人声判别功能,就可以噪音不再调用ASR接口,节约大量ASR费用。

噪音人声识别算法原理

基于20G的噪音声音文件和100G的正常人声的声音文件,使用tdnn(时延神经网络)和 lstm(长短期记忆网络)训练出噪音人声音判别模型。

噪音人声识别的准确率

准确率取决训练数据的准确性,目前的模型大于1秒声音准确率大于99.9%, 300毫秒以内短时人声和质量很差的人声,有少量识别成噪音的错误率,因为噪音库包含了大量的背景人声。

2023-2-28 第二版本代码提交

请在FreeSWITCH 1.8以上版本测试,低于1.8版本需要修改代码:switch_buffer.c没有switch_buffer_get_head_pointer这个函数。

  • 安装 libsad

    • 目录 copy到 /var目录,最后的路径是

      • 授权文件 /var/libsad/license.jon
      • 模型目录 /var/libsad/model/
      • lib文件 /var/libsad/libsad.so
    • mod_asr.so copy到 fs的mod目录
    • fs_cli 执行 load mod_asr 加载模块。
  • 申请ASR 本例子使用多方asr接口,注册地址 http://ai.hiszy.com/#/user/register?code=RK9RD7W 注册后可以联系ASR服务商微信 aohu6789 获取免费次数

    在fs安装目录/etc/vars.xml 配置asr key

      <X-PRE-PROCESS cmd="set" data="appKey=asr后台的appkey"></X-PRE-PROCESS>
      <X-PRE-PROCESS cmd="set" data="appSecret=asr后台的appSecret"></X-PRE-PROCESS>
      
  • 测试

    执行动作 play_and_asr 参数 playfilename waittime maxspeaktime allowbreak recordfilename
    语音识别结果存入通道变量asr_result,如果没有检测到声音设置为silence

    • playfilename 放音文件
    • waittime 等待说话时间,放音完成开始计算
    • maxspeaktime 最大说话时间
    • allowbreak 是否允许打断,检测到说话就停止放音
    • recordfilename 本次说话录音文件

      例子

       <action application="play_and_asr" data="welcome.wav  5000 10000 true /tmp/speak.wav"/>
       <action application="log" data="open=${asr_result}"/>
  • 编译

如果修改了代码编译方法是
g++ -shared -fPIC -o mod_asr.so mod_asr.cpp -I /usr/local/freeswitch/include/freeswitch -L /usr/local/freeswitch/lib -lfreeswitch -L /var/libsad/ -lsad -Wl,-rpath=/var/libsad

相关文章
|
3月前
|
自然语言处理 Kubernetes 机器人
基于OpenIM 实现聊天机器人功能
基于OpenIM 实现聊天机器人功能
169 0
|
2月前
|
传感器 人工智能 算法
适应多形态多任务,最强开源机器人学习系统八爪鱼诞生
【6月更文挑战第6天】【八爪鱼开源机器人学习系统】由加州大学伯克利分校等机构研发,适用于多形态多任务,已在arXiv上发表。系统基于transformer,预训练于800k机器人轨迹数据集,能快速适应新环境,支持单臂、双机械臂等。特点是多形态适应、多任务处理、快速微调及开源可复现。实验显示其在9个平台有效,但仍需改进传感器处理和语言指令理解。论文链接:https://arxiv.org/pdf/2405.12213
58 1
|
5天前
|
机器学习/深度学习 并行计算 机器人
Humanoid-Gym 开源人形机器人端到端强化学习训练框架!星动纪元联合清华大学、上海期智研究院发布!
Humanoid-Gym 开源人形机器人端到端强化学习训练框架!星动纪元联合清华大学、上海期智研究院发布!
19 4
|
6天前
|
缓存 算法 Ubuntu
TinyMPC - CMU (卡耐基梅隆大学)开源的机器人 MPC 控制器
TinyMPC - CMU (卡耐基梅隆大学)开源的机器人 MPC 控制器
26 5
|
18天前
|
机器学习/深度学习 运维 算法
【阿里天池-医学影像报告异常检测】3 机器学习模型训练及集成学习Baseline开源
本文介绍了一个基于XGBoost、LightGBM和逻辑回归的集成学习模型,用于医学影像报告异常检测任务,并公开了达到0.83+准确率的基线代码。
25 9
|
12天前
|
机器学习/深度学习 算法 机器人
【2023年第十三届APMCM亚太地区大学生数学建模竞赛】A题 水果采摘机器人的图像识别 Python代码解析
本文介绍了2023年第十三届APMCM亚太地区大学生数学建模竞赛A题的Python代码实现,详细阐述了水果采摘机器人图像识别问题的分析与解决策略,包括图像特征提取、数学模型建立、目标检测算法使用,以及苹果数量统计、位置估计、成熟度评估和质量估计等任务的编程实践。
24 0
【2023年第十三届APMCM亚太地区大学生数学建模竞赛】A题 水果采摘机器人的图像识别 Python代码解析
|
1月前
|
机器学习/深度学习 算法 机器人
相隔3000英里,用苹果头显遥控机器人!UCSD、MIT华人团队开源TeleVision
【7月更文挑战第19天】UCSD和MIT华人团队开发的TeleVision技术实现了远程操控机器人。借助AR/VR,操作者通过头显设备获得实时的机器人视角,并通过手势控制执行任务。系统支持多人协作,已在远距离实验中成功导航复杂环境。不过,高带宽需求和交互学习曲线是挑战。[论文链接](https://robot-tv.github.io/resources/television.pdf)**
41 14
|
30天前
|
机器学习/深度学习 监控 安全
相隔3000英里,用苹果头显遥控机器人!UCSD、MIT华人团队开源TeleVision
【7月更文挑战第20天】加州大学圣地亚哥分校(UCSD)与麻省理工学院(MIT)的华人团队开发出TeleVision系统,结合Apple AR/VR头显,实现超远程沉浸式机器人控制。💡该系统克服视频流延迟,精准手势识别难题,让操作者仿佛亲临现场指挥机器人行动。目前处于研究阶段,已展示基本任务执行能力。更多信息查阅[论文](https://robot-tv.github.io/resources/television.pdf)。🌐 --- **🏷️远程控制** **🏷️虚拟现实** **🏷️机器人技术** **🏷️华人科研** **🏷️科技创新**
25 4
|
22天前
|
机器学习/深度学习 分布式计算 大数据
MaxCompute 2.0:开源系统的集成与创新
增强实时处理能力:进一步加强与Flink等实时处理框架的合作。 强化机器学习支持:提供更多内置的机器学习算法和工具。 增强数据治理功能:提供更完善的数据质量和安全治理方案。
|
1月前
|
传感器 人工智能 搜索推荐
苹果首款搭载Apple Intelligence功能的新品类曝光——AI桌面机器人
苹果研发的AI桌面机器人,融合360度机械臂与显示屏,预示智能家居新篇章。具备生物识别、实时交互与HomeKit控制,挑战已有的智能音箱市场。面对竞争,苹果依赖创新与品牌影响力,有望引领潮流,开启更智能、个性化的家庭体验。
33 0

热门文章

最新文章