freeswitch智能外呼系统搭建流程

1.获取实时音频数据 media_bug (好多mrcp方式也崩溃所以用以下方式)

可以参考 方式可以通过socket或者webscoket 

freeswitch[1.05]用websocket发送mediabug语音流到ASRProxy实现实时质检和坐席辅助 - 知乎

2.webscoket 好多c的库放模块容易崩溃 可以选择socket  系统自带无需引用

可以参考C/C++ 创建Socket实现双工通信_c++ 客户端和服务端双工通信-CSDN博客

3.如果用socket java 接收需要开启一个udp的接收端口 端口可以动态创建或者创建一批用

netty样例

EventLoopGroup group = new NioEventLoopGroup();

Bootstrap b = new Bootstrap();
groupmap.put(uuid,group );
//由于我们用的是UDP协议,所以要用NioDatagramChannel来创建
b.group(group).channel(NioDatagramChannel.class).option(ChannelOption.SO_BROADCAST, true).option(ChannelOption.RCVBUF_ALLOCATOR, new FixedRecvByteBufAllocator(1024))
       .handler(new ChannelInitializer<Channel>() {
          @Override
          protected void initChannel(Channel ch) throws Exception {
             ChannelPipeline pipeline = ch.pipeline();
             //设置处理handler.执行具体处理方法
             pipeline.addLast(new SimpleChannelInboundHandler<DatagramPacket>() {
                @Override
                protected void channelRead0(ChannelHandlerContext ctx, DatagramPacket packet) throws Exception {
                   //pcm data
                   ByteBuf buf = packet.copy().content();
                   int len = buf.readableBytes();
                   byte[] req = new byte[len];
                   buf.readBytes(req);
                   .....

接收到数据可以用阿里\腾讯的实时音频处理传过去就行 注意是8k  如果需要16k fs有方法能转  在回调中

调用uuid_fileman或者uuid_break 去暂停或打断,根据翻译的结果

阿里免费的2并发 可以呼叫测试

 最后找个能配置流程的框架 封装下对接这个文本对话就行了

拿到的是pcm数据当然可以用silero_vad、 webrtc vad等做静音拆分

也可以用rnnoise 、webrtc的降噪来处理音频。

如果模块或流程觉得麻烦可以到 

https://item.taobao.com/item.htm?id=653611115230

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/346953.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

适合孩子读书用什么的落地灯?落地护眼灯测评推荐

现代人用眼负荷极大&#xff0c;不仅白天要办公&#xff0c;晚上更是玩手机、刷短视频或是晚间看书阅读&#xff0c;所以营造一个健康的照明环境很重要&#xff01; 如何营造一个健康的照明环境呢&#xff1f;那就不得不提起最近就很火的落地护眼灯。不同于其他台灯灯具&#…

flutter极光推送配置厂商通道(华为)笔记--进行中

一、基础集成按照下面官方文档进行 厂商通道相关参数申请教程 集成厂商 集成指南 官方文档&#xff1a;厂商通道回执配置指南 注意&#xff1a;不同厂商对app上架的要求不同&#xff0c;华为、荣耀 对app上架没有硬性要求 遇到问题 1、引入apply plugin: com.huawei.agconn…

Java玩转《啊哈算法》排序之桶排序

过去心不可得&#xff0c;现在心不可得&#xff0c;未来心不可得 目录在这里 楔子代码地址桶排序代码核心部分优缺点 完整代码演示 升级版核心代码完整代码演示 楔子 大家好&#xff01;本人最近看了下《啊哈算法》&#xff0c;写的确实不错&#xff0c;生动形象又有趣&#x…

k8s的安全机制

k8s是分布式集群管理工具&#xff0c;k8s作用是容器编排 1、安全机制核心&#xff1a;API server。API server作为整个集群内部通信的中介&#xff0c;也是外部控制的入口&#xff0c;所有的安全机制都是围绕api sserver来进行设计的。请求api server资源要满足3个条件&#x…

Garbage First收集器(简称G1)

概述&#xff1a;Garbage First&#xff08;简称G1&#xff09;收集器是垃圾收集器技术发展历史上的里程碑式的成果&#xff0c;它开创了收集器面向局部收集的设计思路和基于Region的内存布局形式。 G1开创的基于Region的堆内存布局是它能够实现这个目标的关键。虽然G1也仍是遵…

开始学习Vue(路由)

一、什么是路由 SPA 指的是一个 web 网站只有唯一的一个 HTML 页面&#xff0c;所有组 件的展示与切换都在这唯一的一个页面内完成。 此时&#xff0c;不同组件之间的切换需要通过前端路由来实现。 结论&#xff1a;在 SPA 项目中&#xff0c;不同功能之间的切换&#xff0…

无人机航迹规划(六):七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划(提供MATLAB代码)

一、七种算法&#xff08;DBO、LO、SWO、COA、LSO、KOA、GRO&#xff09;简介 1、蜣螂优化算法DBO 蜣螂优化算法&#xff08;Dung beetle optimizer&#xff0c;DBO&#xff09;由Jiankai Xue和Bo Shen于2022年提出&#xff0c;该算法主要受蜣螂的滚球、跳舞、觅食、偷窃和繁…

LP-AM243x EtherNet/IP 连接施耐德 M241 EIP主站测试

硬件环境&#xff1a;LP-AM243x 开发板 施耐德 Modicon M241 软件环境&#xff1a; INDUSTRIAL-COMMUNICATIONS-SDK-AM243X MCU-PLUS-SDK-AM243X — MCU SDK for AM243x 调试过程&#xff1a; 首先&#xff0c;让AM243x能够运行 Null Boot&#xff0c; Starting NULL Boo…

力扣hot100 除自身以外数组的乘积 前后缀积

Problem: 238. 除自身以外数组的乘积 文章目录 思路前后缀积 思路 前后缀积 ⏰ 时间复杂度: O ( n ) O(n) O(n) &#x1f30e; 空间复杂度: O ( n ) O(n) O(n) class Solution {public int[] productExceptSelf(int[] nums){int n nums.length;int[] p new int[n];//除…

Obsidian - 使用小记(Typora切换过来)

文章目录 关于 Obsidian打开已有的 文件夹将图片改为 Typora 的保存文件夹 关于 Obsidian 官网 https://obsidian.md/github : https://github.com/obsidianmd 个人版免费 一直习惯用 Typora 编写markdown git 记录笔记&#xff0c;多次被安利 Obsidian 后&#xff0c;今天尝…

解决TortoiseGit软件Git Show log时显示Too many files to display的问题

1 问题描述 有时代码提交修改的文件比较多&#xff0c;当查看log时无法显示出来修改的文件列表&#xff0c;如下所示&#xff1a; 2 解决方法 将LogTooManyItemsThreshold尽可能配置得大一些。 三 参考资料 https://gitlab.com/tortoisegit/tortoisegit/-/issues/3878

session反序列化

据陈腾师傅所说&#xff1a; 1.漏洞产生原因&#xff1a;写入格式和读取格式不一样。 下面是三种常见的存储格式&#xff1a; 处理器 对应的存储格式 php键名竖线经过serialize()函数序列化处理的值php_serialize(php>5.54)经…

vue3+Element plus实现登录功能

一、想要实现的效果 二、搭建登录静态 1、实现左边背景和右边登录栏的总体布局布局&#xff1a; <el-row class"content"><!--el-col 列&#xff1a; --><el-col :span"16" :xs"0" class"content-left"></el-c…

司铭宇老师:电话销售心态培训:电话销售被拒绝怎么调整心态

电话销售心态培训&#xff1a;电话销售被拒绝怎么调整心态 在电话销售这个行业中&#xff0c;遭遇拒绝是家常便饭。无论你如何努力&#xff0c;总有那么些时候&#xff0c;客户会对你的产品或服务说“不”。然而&#xff0c;这并不意味着你的努力白费。关键在于如何调整心态&am…

洗内裤的小洗衣机买啥牌子的?四款家用小洗衣机推荐

随着内衣洗衣机的流行&#xff0c;很多小伙伴在纠结该不该入手一款内衣洗衣机&#xff0c;专门来洗一些贴身衣物&#xff0c;答案是非常有必要的&#xff0c;因为我们现在市面上的大型洗衣机只能做清洁&#xff0c;无法对我们的贴身衣物进行一个高强度的清洁&#xff0c;而小小…

Java|IDEA 运行和打包报错解决

IDEA 运行和打包报错解决 java.lang.NoSuchFieldError&#xff1a;com.sun.tools.javac.tree.JCTree$JCImport 报错信息 环境&#xff1a;JDK 21 java: java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not have member field com.sun.t…

Messari发布重磅研报,波场TRON 2023 Q4期间实现多项突破

近日,顶级加密数据研究机构Messari发布了波场TRON 2023 Q4调研报告,报告从网络数据、生态、稳定币和RWA等多个方面对波场TRON进行了细致研究,并给与了波场TRON极大的肯定。这份调研报告帮助投资者和社区更好地了解波场TRON的发展前景和竞争优势。同时,这些数据和见解可以提高投…

嵌入式学习五

使用circuit JS模拟器讲解 一&#xff1a;欧姆定律 演示电压电阻的关系 欧姆定律 二&#xff1a;电阻 计算电阻串并联的阻值 电阻 电阻越串越大&#xff0c;越并越小 并联电路增加通路 三&#xff1a;电容器 观察电容的充放电 电容器 电容就是一个临时存储电量的容器 当电…

Unity_使用Image和脚本生成虚线段

生成如图样式的虚线段 原理&#xff1a;使用Image做一条线段&#xff0c;这个方法的原理就是给固定的片元长度&#xff0c;对Image进行分割&#xff0c;把片元添加到一个列表中&#xff0c;然后循环对列表中的偶数位进行隐藏&#xff0c;也可以调整线段的宽度 缺陷&#xff1…

力扣hot100 LRU 缓存 有序Map

Problem: 146. LRU 缓存 文章目录 思路&#x1f496; Code 思路 &#x1f468;‍&#x1f3eb; 参考题解 &#x1f469;‍&#x1f3eb; 参考图解 &#x1f496; Code ⏰ 两操作 时间复杂度: O ( 1 ) O(1) O(1) class LRUCache {int cap;LinkedHashMap<Integer, In…