EasyMrcp 2.4.0 发布:语音链路更稳定,服务接入更高效
EasyMrcp 2.4.0 正式发布。本次版本围绕实际语音通话场景,对 ASR、VAD、RTP、TTS 和 SIP 等核心链路进行了系统优化,同时补充了更完整的 Java 接入示例。
从识别服务的选择,到音频传输的稳定性,再到高并发下的资源调度,2.4.0 进一步提升了 EasyMrcp 在实际业务环境中的可用性。
新增阿里云 FunASR 实时识别
2.4.0 新增 aliyun-funasr 识别服务,可通过配置切换使用,并支持两种识别模式:
- dictation:适合一句话识别、语音助手等短语音场景。
- transliterate:适合电话转写、实时字幕等长时间识别场景。
新的接入方式支持实时中间结果和最终结果回调。一句话识别模式也延续了现有的语音打断逻辑,可以自然地融入“播放 TTS、检测用户说话、打断播报”的交互流程。
在采样率方面,既可以直接使用 8kHz 模型,也可以将电话链路中的 8kHz 音频升采样至 16kHz,为不同模型和业务场景提供更灵活的选择。
VAD 判断更加适应真实通话
电话中的说话音量往往并不稳定。有些用户开头声音较大,后续逐渐变轻,原有基于历史平均能量的判断方式容易抬高语音触发门槛,造成后半段语音漏检。
2.4.0 调整了 VAD 的动态能量阈值计算方式,使用指数滑动平均估算背景噪声,并主要在尚未进入说话状态时更新噪声基线。前面的高音量语音不再长期影响后续判断,轻声语音更容易进入识别流程。
VAD 现在也同时支持 8kHz 和 16kHz 音频,可以更好地配合新增的升采样链路和不同 ASR 模型。
RTP 接收链路更加稳定
针对 UDP 传输中偶发的 RTP 乱序、重复和轻微丢包问题,2.4.0 新增了轻量级入站 RTP 重排机制。
系统会在一个较小的等待窗口内恢复乱序数据,丢弃重复包和已经迟到的包。当确认出现丢包时,则通过补充静音数据保持音频时间轴连续。对于连续丢包,系统也设置了补偿上限,避免长时间等待影响实时性。
这项优化主要面向内网、同机房和专线环境中的轻微网络波动,在保持较低延迟的同时,减少错序音频和时间轴跳变对 VAD、ASR 的影响。
TTS 调度进一步降低线程开销
TTS 处理与 RTP 发送链路在本次版本中完成了较大调整。原来每路通话分别创建处理线程和发送线程的方式,已经收敛为共享调度模型。
新的处理调度器和 RTP 发送调度器会根据任务数量动态创建和回收工作线程,同时保留原有的音频裁剪、重采样、编码、静音发送、播放完成和打断处理能力。
对于并发通话较多的部署环境,这种方式有助于减少线程数量和上下文切换,让资源使用更加可控。业务事件处理线程池也开放了核心线程数、最大线程数和队列容量等配置,便于根据部署规模进行调整。
完善 SIP 会话生命周期
2.4.0 补充了通话建立后 re-INVITE 和 CANCEL 的处理。
对于已经建立的通话,系统可以正确响应用于刷新会话时间的 re-INVITE,并复用首次协商得到的 RTP 端口和编码信息,不会重复初始化 ASR、TTS 和 RTP 资源。
当尚未完成的 INVITE 或 re-INVITE 被取消时,系统也会按照 SIP 事务要求完成 200 OK 和 487 Request Terminated 响应,使通话状态收尾更加完整。
需要注意的是,当前版本的 re-INVITE 主要用于会话刷新,暂不涉及媒体地址、编码格式或保持状态等媒体重协商。
新增 L16 PCM 音频支持
除了原有的 G.711 编码,2.4.0 新增了对 L16/8000 PCM 音频的协商和处理能力。
系统能够从 SDP 中识别动态 Payload Type,并根据 ptime 计算每个 RTP 包的音频大小,同时完成 L16 音频所需的字节序转换。这使 EasyMrcp可以适配更多使用线性 PCM 传输的 SIP 和媒体设备。
Java 示例更加完整
为了降低接入成本,仓库中的示例资源已统一整理到 examples 目录,并新增两个独立 Java 工程。
java-enhanced-client 展示了如何使用回调式 Netty TCP 客户端连接 EasyMrcp,包括事件模型、DetectSpeech、Speak 和 eventId 的使用方式。
java-esl-demo 则给出了一条更完整的 FreeSWITCH ESL 接入链路,涵盖事件监听、接听来电、创建 EasyMrcp B-leg、桥接通话、发送识别与合成命令,以及通话结束后的资源释放。
此外,本次版本还围绕阿里云 FunASR、RTP 重排、SIP 事务、TTS 调度、VAD 和示例工程补充了针对性测试,为后续迭代提供了更可靠的基础。
写在最后
EasyMrcp 2.4.0 的关键词可以概括为:更多选择、更稳传输、更轻调度和更易接入。
它既增加了阿里云 FunASR、L16 PCM 等新能力,也针对 VAD、RTP、SIP 和 TTS 中容易影响实际使用体验的环节进行了深入优化。对于正在使用EasyMrcp 构建智能客服、语音机器人、实时转写或坐席辅助系统的项目,2.4.0 是一次值得升级的版本。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)