总第555篇
2023年 第007篇
一、背景
1.1 MRCP 是什么
1.2 MRCP 使用场景
1.3 美团自研的 ASR/TTS 能力
1.4 我们为什么需要 MRCP
二、设计与实现
2.1 设计目标
2.2 总体系统架构
2.3 关键技术组件
2.4 MRCP-Server 模块结构
2.5 部署方案
三、实践与应用效果
3.1 应用范围
3.2 应用效果
四、结语
五、名词解释
SPEAK
指令表示发送语音合成请求,IN-POGRESS
指令表示正在处理中,SPEAK—COMPLETE
指令表示处理完成[3]。MRCP/2.0 380 SPEAK 14321
Channel-Identifier: 43b9ae17@speechsynth
Content-Type: application/ssml+xml
Content-Length: 253
您好,有什么能帮助您?
MRCP/2.0 119 14321 200 IN-PROGRESS
#消息长度是119 bytes,ID是14321,200 表示成功,正在处理中
Channel-Identifier: 43b9ae17@speechsynth
Speech-Marker: timestamp=857206027059
MRCP/2.0 157 SPEAK-COMPLETE 14321 COMPLETE
Channel-Identifier: 43b9ae17@speechsynth
Speech-Marker: timestamp=861500994355
#表示SPEAK请求的正常处理结束
Completion-Cause: 000 normal
图2 简单呼叫中心系统示意
图5 MRCP服务调用关系
图6 MRCP服务模块结构
MRCP-TTS Plugin 和 MRCP-ASR Plugin 两个为核心的模块,以插件的形式加载到 MRCP-Server。
MRCP-TTS Plugin 和 MRCP-ASR Plugin 抽象出公共的模块:
应用日志模块,将插件这一层的日志与美团的日志框架打通,将应用日志接入美团日志中心。
监控打点模块,将合成首包延时、状态事件等支持,接入美团 Raptor 监控平台。
鉴权模块,使用美团语音开放平台的统一认证服务,完成调用 TTS 和 ASR 引擎前的鉴权过程。
<Via address>
和 <Contact address>
等字段,层层路由能够始终保持与同一台机器进行交互。比如,客户端通过 SIP-INVITE 经由 Kamalio 与 MRCP服务完成握手后,结束服务、客户端发送 SIP-BYE 消息时,Kamailio 可以准确路由到当时接受 INVITE 消息的同一个 MRCP 服务。因此,最终使用 Kamailio 完成对 MRCP-TTS 和 MRCP-ASR 的负载均衡。美团外呼业务语音合成:结合小美智能外呼与木星自动外呼,在美团内部的太平洋客服坐席辅助外呼、营销类外呼、通知触达类外呼等场景,逐步接入 MRCP 协议下的流式语音合成。目前已接入 MRCP 的外呼机器人日均百万次合成调用,峰值约千路并发。
美团内呼业务语音合成:内呼主要是支持美团呼入热线的语音合成,包括:10107888-美团客服热线、10109777-外卖客服热线、10105777-美团商服热线、10101777-美团骑手热线以及其他长尾业务热线。目前已接入 MRCP 的热线呼入机器人日均近千万次合成调用量,峰值千余路并发。
---------- END ----------