MRCP 媒体资源控制协议

2023-05-16


媒体资源控制协议(Media Resource Control Protocol, MRCP)是一种通讯协议,用于语音服务器向客户端提供各种语音服务(如语音识别和语音合成)。
    MRCP并不定义会话连接,不关心服务器与客户端是如何连接的,MRCP的消息通常是承载于其它协议之上,如RTSP,SIP等。
  MRCP消息使用类似于HTTP等许多Internet协议一样的文本格式,每个消息包括三部分:首行,消息头,消息体。首行表明消息类型及返回码等信息。消息头包括了若干行内容,每一行都形如 "字段名:数值"。消息体包括了消息的详细内容,长度在消息头中指定。
  类似于HTTP,MRCP使用请求(通常由客户端发起)、响应模式。响应可以简单的确认请求,或者给出关于处理的其它信息。例如,MRCP客户端向服务端请求想要发送一些音频数据以进行处理(比如说语音识别),为此,服务端可以发送一个包含端口号的响应,因为MRCP并未定义音频数据的传输,所以,必须依靠其它的协议,比如说RTP来进行。
  有两个版本的MRCP协议,版本2使用SIP作为控制协议,版本1使用RTSP。
  [1]RFC4463: A Media Resource Control Protocol (MRCP)
1、  MRCP协议概述
     媒体资源控制协议(Media Resource Control Protocol,MRCP)是由Cisco、Nuance等公司联合开发的网络协议,该协议由IETF作为Internet草案发布(draft-shanmugham-mrcp-07)。该协议为那些需要进行语音处理的客户端提供了一种通过网络来控制媒体处理资源(如ASR、TTS引擎等)的机制。该协议在设计之初就考虑了可以在将来得到扩展以支持声纹鉴别和身份识别(Speaker Identification/Speaker Verification)等功能。 
     MRCP协议定义了控制媒体处理资源所必需的请求(Request)、应答(Response)和事件(Event)等消息。MRCP协议也为每一种资源定义了状态机,为每一个请求和服务器事件定义了所需的状态转换。MRCP关注的焦点在于控制那些进行媒体流处理的资源(如ASR、TTS),以及如何与这些资源之间进行通讯。 
     MRCP协议不能独立工作,它依赖于RTSP(Real Time Streaming Protocol)作为载体在客户端与服务器端之间建立会话连接。而语音媒体数据则通过RTP(Real Time Transport Protocol)协议连接传送给语音应用服务器。
    典型的基于MRCP的分布式语音应用系统采用C/S架构,由客户端发出媒体流处理请求,服务器端则利用媒体处理资源(ASR/TTS)来处理或生成媒体流,并将相应的处理结果返回给客户端。这样客户端就可以通过MRCP协议来通过网络分布式地控制服务器端的媒体处理资源。
    随着MRCP协议的不断推广与应用,各语音技术厂商在实践与部署过程中碰到了各种各样的问题。为此,IESG(The Internet Engineering Steering Group)于2002年特许成立了Speechsc工作组,专门负责起草更加完善高效的支持分布式语音资源处理的开放协议。在Speechsc工作组的努力下,改进后的MRCPv2(draft-ietf-speechsc-mrcpv2-09)很快应运而生了。MRCPv2的消息格式和资源状态机等都建立在MRCP协议版本1的基础之上,它完全兼容W3C的SSML、SRGS、NLSML标准。与MRCPv1不同的是MRCPv2消息不再依赖RTSP作为载体,而是作为独立的消息进行传输,但是它仍依赖于会话管理协议,如SIP(Session Initiation Protocol)协议,来在客户端与服务器端之间建立控制会话。 
 
2、  MRCP发展概况
     在传统的语音应用中,各集成商必须针对不同的ASR/TTS厂商提供的API接口进行专门的集成开发,不同ASR/TTS引擎的接口各不相同,从而导致了集成过程的复杂性和局限性。而利用MRCP协议提供的标准接口,语音集成开发商们不必再针对特定的ASR/TTS进行开发,而只需要提供统一的MRCP接口。利用这个特性,他们甚至可以在同一个应用系统中集成不同厂商的ASR/TTS引擎,譬如为了提供多语种语音合成服务,他们可以采用多个不同厂商的TTS。这样就为各种语音应用开发提供了更加灵活的选择,并有效地降低业务开发周期和成本。
    正是由于具有以上优势,MRCP协议在推出以后得到了国外各主流语音技术提供商的广泛支持。作为MRCP协议的合作起草者,Nuance和Cisco公司已经在多个语音应用解决方案中证明了该协议的效力。目前国外几乎所有的主流语音技术供应商都已经宣布推出基于MRCPv1的产品:
● 语音资源供应商:Acapela、BBN、IBM、Loquendo、Nuance(ScanSoft)、Rhetorical、Telisma等;
● 板卡技术供应商:Intel、NMS、Aculab等;
● 语音技术应用集成商:Cisco、Nortel、Lucent、HP、Edify、Genesys、Intervoice、SER、Unisys、Convedia等。 
    随着通信技术的进一步发展,下一代电信网络(NGN)将是以宽带IP、宽带无线网络、光网络、软交换为技术支撑,广泛结合CTI应用的融合网络,原有的电信网络将更加开放化,接口协议趋于标准化。SIP协议和RTP协议将逐步成为VoIP和软交换技术中承载会话控制和媒体传输的核心协议。而基于SIP和RTP协议设计的MRCPv2将会在分布式语音资源解决方案中逐步得到更大规模的应用。 
__________________________________________________________________________________________
 
科大讯飞推出MRCP语音服务器
 
 
  顺应语音应用的趋势,近日,科大讯飞公司推出了国内语音界首款MRCP服务器产品:iFLY MRCP Server 2.0(简称IMS2.0)。该产品基于最新的开放国际标准MRCPv2开发,为科大讯飞公司业界领先的InterPhonic语音合成产品家族提供了新的遵循开放标准的服务接口。这款产品的推出,对科大讯飞公司的新老客户,特别是应用开发商、集成商的意义重大,可以为用户带来很大的灵活性和可选择性,加快开发周期,降低开发成本。
 
什么是MRCP协议
  媒体资源控制协议(Media Resource Control Protocol, MRCP)是一项新兴的标准,用于管理和访问分布式系统架构上的语音资源服务器。该协议已经被语音通信领域的主流供应商所采用,如IBM、CISCO、Nuance、Loquendo、Telisma等,语音行业几乎所有的重要厂商都支持或承诺支持MRCP。
  采用MRCP协议后,独立软件商和应用开发商仅需面向MRCP接口撰写程序,而无需考虑不同语音厂商的语音引擎产品之间的差异,可以真正做到一次开发,多种环境下应用;任何支持MRCP标准的语音引擎都可以被无缝集成和调用。另外,MRCP也与其它新兴的技术兼容,如VoIP,VoiceXML和会话发起协议(Session Initiation Protocol,SIP)等,在电话交互系统等环境下的应用将更加直接方便。
IMS2.0产品
  科大讯飞公司长期以来一直着力于推动和研究语音技术和交互的公共开放标准,在MRCP标准日趋成熟的情况下,即根据最新的MRCPv2草案实现了新一代的语音服务平台。内部集成了科大讯飞的InterPhonic语音合成引擎,对外则按标准规范提供了访问接口,从之前的特定服务方式跨入到业界统一的服务方式,继续保持着语音行业发展的领先潮流。
  IMS2.0产品的网络结构图如下: 
 

图1. IMS2.0网络结构图 
  IMS2.0在功能上完全遵循MRCPv2 draft11的标准,目前支持对合成资源的访问,不远的将来即会全面支持包括识别,声纹认证等各个语音服务,同时它还提供了多种客户端接口以方便集成开发,开发商甚至无需针对MRCPv2协议去开发,只要调用方便的封装接口即可实现语音服务功能,目前提供的客户端接口包括MRCPv1客户端接口、MRCPv2客户端接口和传统科大讯飞接口的客户端,这样无论是重新开发基于MRCP标准的应用还是直接将原有的应用移植到MRCP平台中都将是很轻松的事情。
  同时IMS2.0还具有它独特的特色,包括在不与MRCP标准有冲突和额外需求的情况下透明支持大规模的负载均衡,可以方便的扩展升级语音服务能力;支持基于浏览器的网络管理功能,随时可以轻松管理所有的服务节点;而且还继续保持着科大讯飞合成系统的高效性能和稳定的运行状态。
 
主流的语音发展方向
  采用开放的标准对于企业和网络通信的成长是非常必要的。采纳MRCP,为广大的开发商群体增强了信心,不仅仅是简单地生产高质量的产品,更重要的是,为应用开发、集成商的创新提供了更大的灵活性和更多的机会。
  语音处理行业对标准化的需求促生了MRCP。MRCP是标准化组织IETF开发的协议标准。MRCP设计的特定目标很明确,就是为那些采用不同厂商的ASR和TTS产品来构建IVR或消息类应用的开发商提供便利。
  语音行业几乎所有的重要厂商都承诺支持MRCP。这样,开发商在选择每个语音处理构件时,都有很大的灵活性。这种灵活性甚至可扩展到在一个应用内,比如:为了包含多种语言的支持而采用多个ASR或TTS供应商。IMS2.0已经和一系列的语音产品集成测试过,包括: Nuance和Aculab。
  标准化的MRCP带来的益处在于:无需再为不同的或专用的语音产品提供不同的接口。这意味着集成不同语音厂商的语音技术时,可以显著地降低费用,并且确保新语音应用解决方案能快速进入市场。进一步而言,MRCP降低开发商的总拥有成本(TCO),也可以惠及最终用户,从而能在充满竞争的商业环境内确保利润。采用MRCP,在更新一个应用方案时,传统上所产生的额外费用和时间成本消失了。应用系统据此在选用不同的ASR/TTS时可以更加模块化,不必担心互操作的问题。  

转载:http://blog.sina.com.cn/s/blog_4e8b57db0100pajh.html  

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MRCP 媒体资源控制协议 的相关文章

  • vim语法高亮——使自定义类型也能高亮的简单办法

    说明 xff1a 判断是否类型的简单办法 xff0c 就是简单的观察 xff1a 如果该标志符后面有空格 xff0c 空格后又是一个标志符的话 xff0c 在 xff23 xff0f xff23 xff0b xff0b 语言中 xff0c
  • 原创:纠正国人对Linux的误解和错误认识

    错误印象和认识罗列如下 xff0c 一一解释 xff1a 1 linux下的软件太少 回答 xff1a linux 下的软件一点也不少 windows还在娘肚子里的时候 xff0c Unix已经如日中天了 要知道微软公司开发的第一个操作系统
  • 原创:自己写的端口数据转发工具pf (port forwarding)

    看了 子清行 朋友博客里的一篇文章 xff0c 讲述了一个叫 DuplexPipe 的小工具的实现 最开始没怎么懂意思 xff0c 看了他公开的源代码 xff0c 是用java写的 xff0c 一个jar包 可惜我不太会java 因此没法看
  • 又一次被linux的工具震惊了

    前一篇博客还写了自己写的端口转发工具 xff0c 今天偶然在网上看到讲命名管道和netcat配合的用法 xff0c 被彻底雷倒了 原来以为netcat做不到 xff0c 原来是自己想不到 xff0c 而不是netcat做不到 方法如下 xf
  • Ubuntu桌面旋转xrandr

    项目实行过程中 xff0c 设备安装为竖屏模式 xff0c 分辨率由19201080变为10801920 xff1b 最简单实现 xff0c 将桌面系统显示旋转 xff1a xff08 终端命令 xff09 xrandr o left 向左
  • VR应用在直播领域上的实践与探索

    声明 xff1a 本文来自 七牛云主办的架构师实践日 泛娱乐 43 直播技术最佳实践 的演讲内容整理 PPT 速记和现场演讲视频等参见 七牛架构师实践日 官网 嘉宾 xff1a 孙其瑞 xff0c 得图网络CTO 责编 xff1a 钱曙光
  • ubuntu(14):ubuntu16编译move_base报错与解决

    目录 1 Could NOT find OpenVDB missing OPENVDB LOCATION 2 Could not find a package configuration file provided by 34 costma
  • 在CSDN发布博客怎么改变代码块颜色

    第一步 CSDN首页 xff0c 最右侧点击创作中心 第二步 左侧导航栏滑到最下面 xff0c 点击博客设置 第三步 找到代码片样式 xff0c 简单吧 xff08 又水了一篇 xff09
  • 裸机驱动与Linux设备驱动的区别

    裸机驱动一般针对没有操作系统支持的层面 不用考虑操作系统对它的调用 Linux驱动是在裸机驱动基础上 按照一定的规范来实现 虽然实现的都是同一个东西 不过你发现在 Linux驱动 搀杂 了许多维护信息 总之 xff0c Linux设备驱动就
  • 使用2020版IDEA创建Servlet

    使用2020版IDEA创建一个完整的Web项目的整个过程分为四步 第一步 创建一个普通的Java项目 1 打开IDEA xff0c 选择菜单File gt New gt Project 2 选择Java xff0c 以及自己的JDK xff
  • Apache IoTDB 系列教程-5:常见问题汇总(1)

    在过去的一段时间 xff0c 收集了不少大家在使用过程中反馈的问题 xff0c 今天把一些常见问题列出来 xff0c 给更多人提供参考 开了个交流群二维码 xff0c 可以扫码进群 正文 1974 字 xff0c 预计阅读时间 5 分钟 常
  • Apache IoTDB 系列教程-6:性能优化(0.8-0.10)

    今天的内容包括建模优化 读写性能优化 xff0c 会涉及一些简单的原理介绍 主要面向 0 8 0 10 版本 正文 3754 字 xff0c 预计阅读时间 10 分钟 建模指南 关于存储组 现在每个存储组是一个相对独立的引擎 xff0c 而
  • Apache IoTDB 系列教程-8:文件同步工具

    在官网用户手册的系统工具 xff08 System Tools xff09 一栏 xff0c 有一个同步工具 xff08 Sync Tool xff09 xff0c 有很多人问这个东西怎么用 xff0c 延迟是多少 xff0c 今天就介绍一
  • Apache IoTDB failed to start RPC ServerService, because Could not create ServerSocket on address

    原因 一般是端口占用 xff0c 可以 jps 检查是不是已经启动了一个 IoTDB
  • Apache IoTDB Query is time out (-1ms)

    现象 查询超时 xff0c 服务器出现一下日志 2022 01 05 15 57 05 724 pool 12 IoTDB query time manager 1 WARN o a i d q c QueryTimeManager 71
  • 解读事务的ACID!

    事务的ACID特性大学数据库课程基本都学过 xff0c 但是学完也就大概知道是干嘛的 xff0c 后来也没仔细想这个东西了 xff0c 后来接触了NoSQL系统的一致性 xff0c 于是重新学习 ACID xff0c 发现还有很多误区 今天
  • 欢迎加入 Apache IoTDB !

    官方网站 xff1a http iotdb apache org zh IoTDB 是清华自研时间序列数据库 xff0c 2014年项目启动 xff0c 2018年11月18号 IoTDB 正式进入 Apache 孵化器 xff0c 成为中
  • Xavier(2):Xavier NX刷机步骤及报错解决

    1 下载和安装NVIDIA SDK Manager 官方网站 xff1a https developer nvidia com embedded jetpac 选择sdk manager xff0c sdk manager版本没有要求 安装
  • 模型评估与优化1--基本概念与最优化问题

    模型评估与优化1 基本概念与最优化问题 首先先看一下基本术语和概念 1 数据集的划分 xff08 1 xff09 数据集 dataset xff1a 在机器学习任务中使用的一组数据 数据集中每一个数据称为一个样本 反映样本在某方面的表现或性
  • windows中vscode编译运行c++程序

    1 vscode 安装 c 43 43 扩展 在vscode中创建一个后缀为 01 cpp 的程序 xff0c 程序文件如下 xff0c vscode会自动提示安装 c 43 43 扩展 xff0c 点击进行安装 01 cpp includ

随机推荐

  • leetcode 刷题指南 & 刷题顺序

    1 刷题方法 amp 顺序 xff1a 按类型刷 xff0c 这样能总结出每种类型题目的规律 优先树 链表 二分查找 DFS BFS 动态规划数目 xff1a 常见类型刷10道 43 顺序 xff1a 先做2 4道简单题 xff0c 然后做
  • 北邮计算机学院2017届复试经验分享

    北邮计算机学院2017届复试经验分享 建议初试完了再来担心复试 xff0c 有看复试经验的时间还不如多做两道数学题 xff01 导师 xff1a 了解导师的情况 xff0c 最差也不要找一个人不好的老师 xff0c 其次尽量选自己喜欢的方向
  • STM32 Cube BMP180 获取温度、气压、海拔

    一 介绍 BMP180中内置有E2PROM xff0c 所以要获取数据 xff0c 就要使用I2C读写E2PROM来实现获取数据 xff01 BMP180的整个流程 xff1a 1 首先要初始化 xff0c 读取几个E2PROM地址上的值共
  • int 类型究竟多少字节?

    今天发现NEON技术中 int类型的字节数是2 xff0c 感觉很奇怪 xff0c 最早写51单片机时也是2 xff0c 后来到了观念转变成了4 xff0c 现在有遇到了2 一 转自 http www tuicool com article
  • python实现K均值聚类算法

    之前做大作业的时候本来想用聚类法给点集分类的 xff0c 但是太复杂了 xff0c 于是最后没有采用这个方案 现在把之前做的一些工作整理出来写个小博客 K means聚类法原理 xff1a 聚类是一个将数据集中在某些方面相似的数据成员进行分
  • 复合型自适应步长的Gauss型求积(附代码)

    复合型自适应步长的Gauss型求积 先前在做数值分析实验时 xff0c 把高斯型求积公式和复合型 自适应步长的求积融合到了一起 xff0c 但是后来发现题目没有这个要求 现在就把这个思路分享一下 上题目 xff1a 实验目的 xff1a 学
  • pid摄像头循迹(opencv和openmv)

    pid摄像头循迹 xff08 opencv和openmv xff09 用摄像头进行循迹的方法参考硬件选型方面软件思路一 图像预处理 xff1a 代码部分二 线性拟合opencv线性拟合 xff1a 实际在树莓派上运行时 xff0c 帧率也比
  • 通过云端自动生成openmv的神经网络模型,进行目标检测

    通过云端自动生成openmv的神经网络模型 xff0c 进行目标检测 OpenMV训练神经网络模型 xff08 目标识别 xff09 一 准备材料 xff1a 二 软件下载三 准备数据集 xff1a 四 数据集的上传与训练 OpenMV训练
  • opencv学习(9):cv::Scalar、cv::Mat::zeros

    1 cv Scalar cv Scalar是opencv的一个结构体 xff0c 其定义如下 xff1a xff08 c 43 43 中的结构体如下 xff0c 可以存放1 4个数值 xff09 various constructors S
  • 德国大陆ARS408系列毫米波雷达数据解析

    本人已完成对该型号系列毫米波雷达的解析工作 xff0c 有需求请私信联系
  • nmap使用详解

    nmap介绍 nmap xff08 Network Mapper xff09 是一款开源免费的针对大型网络的端口扫描工具 xff0c nmap可以检测目标主机是否在线 主机端口开放情况 检测主机运行的服务类型及版本信息 检测操作系统与设备类
  • OLED屏幕花屏的原因(I2C+DMA)

    OLED屏幕在通电后花屏 xff0c 呈雪花状 在网上查询原因 xff0c 开始了尝试 xff1a 1 可能是由于杜邦线的问题 xff0c 可能接触不良导致 xff0c 但更换了杜邦线依然花屏 2 可能是OLED屏幕问题 因为经常在工作 x
  • 竞赛保研(自动化专业)

    一 感谢 从大三的五月份一直到9 28号推免结束 xff0c 最终也是保研到了梦校 xff0c 还好我坚持到了最后一刻 感谢父母 xff0c 感谢远方的她 xff0c 感谢老师 xff0c 感谢实验室的平台 xff0c 也要感谢每一位一起拼
  • 随机森林的简单学习记录

    随机森林小记 这里采用的随机森林的库选择sklearn库 1 首先是导入数据 xff1a path span class token operator 61 span span class token string 34 D Epilept
  • Linux的c++环境配置与cmake的使用

    Ubuntu18 04安装 虚拟机安装 虚拟机软件版本 xff1a VMware Workstation 16 Pro 版本号 xff1a Ubuntu18 04 安装参考 xff1a http t csdn cn P71XR 虚拟机分辨率
  • 用KDevelop来编辑与编译ROS文件

    新建一个ROS工程 xff1a 首先在工作目录下打开终端 xff0c 创建一个src目录 xff0c 放置源代码 xff08 系统要求 xff09 xff0c 并将当前目录切换到src目录中 xff1a mkdir src cd src s
  • 自制三维激光扫描建模

    看图片就是我做的东西 xff0c 很炫酷是不是 好吧 xff0c 开玩笑 xff0c 这是电影普罗米修斯的截图 当初看这个电影的时候就感觉这东西好眩酷 xff0c 我能不能做出来 最近借着帮做毕业设计的机会我也做了一个 就是这个丑丑的东西啦
  • ICE C++ Hello World

    ICE C 43 43 Hello World实例教程 1 概述 本文演示了如何编写一个最简单的C 43 43 ICE Internet Communications Engine 应用程序 xff0c 包括必要环境的安装 该应用程序包含客
  • 华为工作的感悟

    参考 xff1a http www openlab net cn forums thread 1002986 1 p10035795 北邮北 xff0c 清华硕 xff0c 一年两个月的华为生活总结 xff0c 算了 xff0c 贴出来了
  • MRCP 媒体资源控制协议

    媒体资源控制协议 xff08 Media Resource Control Protocol MRCP xff09 是一种通讯协议 xff0c 用于语音服务器向客户端提供各种语音服务 如语音识别和语音合成 MRCP并不定义会话连接 xff0