1. MRCPv2协议简介

媒体资源控制协议(Media Resource Control Protocol, MRCP)是一种基于TCP/IP的通讯协议,用于客户端向媒体资源服务器请求提供各种媒体资源服务。此协议是由Cisco、Nuance等公司联合开发,由IETF作为Internet草案发布,经过不断的更新,目前最新的版本为RFC6787,可以支持的媒体资源业务包括文语转换(Text to Speech, TTS)、自动语音识别 (Automatic Speech Recognition, ASR)、录音(Recording)、声纹识别(Voiceprint Recognition, VPR)。

2. MRCPv2系统结构及协议控制

MRCP 协议本身不是独立的,它不仅仅依赖于TCP/IP协议,还依赖于SIP、SDP、RTP、RTCP、RTSP等协议。

其系统结构如图1所示:

(1) 控制面:它通过sip协议在客户端(MRCP Client)和服务器(MRCP Server)之间建立和管理会话(注:MRCPv1就使用RTSP协议完成控制,MRCPv2改为sip协议)。

(2)它通过SDP交换媒体能力以及通过RTP协议完成媒体的承载交换。

(3)业务面:它通过MRCP协议来控制完成媒体资源服务的相关请求,响应和事件的传递,从而为客户端提供所需要的媒体资源服务。

其协议控制机制如图2所示:

(1)SIP协商过程中,MRCP Client在INVITE消息中携带自身用于传递MRCP协议以及RTP语音流的SDP(IP地址和端口号)。

(2)在协商成功返回200消息中会带上MRCP Server侧的SDP。

(3)MRCP Client发起TCP连接创建,并且通过TCP连接上发送MRCP协议控制MRCP Server分配的资源。

(4)MRCP Client/Server通过在RTP连接上传输语音数据从而实现媒体资源业务。

(5)当业务应用结束时,终止SIP会话的同时,还需要关闭TCP和RTP连接。

MRCPv2的使用规范可以总结如下:

(1)MRCP Client 通过SIP&SDP建立与MRCP Server的MRCP控制通道(使用MRCP 通道ID进行唯一标识,MRCP Server返回200消息时,通过a==channel属性指定)

(2)可以使用SIP的Re-INVITE消息添加或者删除一个会话中的MRCP控制通道,所以一个会话可以拥有多个MRCP控制通道(比如:一个会话可以同时拥有ASR&TTS 通道)

(3)多个MRCP控制通道可以共享同一个TCP链接。

(4)一个MRCP消息只能携带一个MRCP通道ID。

(5)MRCP控制消息不能更改SIP绘话的状态。

(6)由于MRCP不保证传输的可靠性,所以必须使用TCP来保证其传输。

3 语音识别技术及其在电信智能语音识别业务中的应用

自动语音识别技术(Automatic Speech Recogition ASR)是一种将人的语音转换为文本的技术,其广泛应用于语音通讯系统,声控电话交换、数据查询、订票系统、电信银行客服、计算机控制、工业控制等领域。

通常,我们说的语音识别可以分为固定次识别以及自然语音识别,固定词语音识别只能识别已经指明的固定短语或词,而且用户也只能说这些固定的词,否则无法识别,而自然语音识别可以识别用户随意说的短语或者句子,很显然自然语音识别更易用,其技术难度也更大。

近几年来,自然语音识别相关的技术随着移动互联网的发展迎来了迅猛的发展,在Google引领下,互联网、通信公司纷纷自然把自然语音识别作为重要的研究方向。

美国市场调查咨询公司Gartner于2013年发布的新兴技术成熟度曲线显示,语音识别技术已经走向成熟,在未来2-5年之内将会有大幅度的利用,而自然语音问答目前技术期望过热区,预计在5-10年会有大幅度的利用。自然语音问答技术中就使用到了自然语音识别。

在电信领域,语音识别技术应用多年来一直停留在固定词识别上,基本限定在简单的IVR领域,因为限制了用户的语音输入范围、易用性和可靠性受限导致应用实际并不广泛,从目前各大运营商的客服电话就很容易发现,采用按键式的IVR仍然是主流。

随着近几年语音识别技术的发展,自然语音识别技术逐渐完善,在移动互联网等可靠性不是太高的领域得到广泛的应用,iphone 的siri, QQ的语音输入、Googe的语音翻译、科大恶移动合作的灵犀扥智能语音识别业务都广泛应用到此技术。

拥有海量一手语音数据的电信行业也因为自然语音识别技术的成熟,智能语音识别业务将会迎来新的发展机遇。

MRCPv2在电信智能语音识别业务中的应用的更多相关文章

  1. HBase在大搜车金融业务中的应用实践

    摘要: 2017云栖大会HBase专场,大搜车高级数据架构师申玉宝带来HBase在大搜车金融业务中的应用实践.本文主要从数据大屏开始谈起,进而分享了GPS风控实践,包括架构.聚集分析等,最后还分享了流 ...

  2. Nebula Graph 在网易游戏业务中的实践

    本文首发于 Nebula Graph Community 公众号 当游戏上知识图谱,网易游戏是如何应对大规模图数据的管理问题,Nebula Graph 又是如何帮助网易游戏落地游戏内复杂的图的业务呢? ...

  3. 重新想象 Windows 8.1 Store Apps (81) - 控件增强: WebView 之加载本地 html, 智能替换 html 中的 url 引用, 通过 Share Contract 分享 WebView 中的内容, 为 WebView 截图

    [源码下载] 重新想象 Windows 8.1 Store Apps (81) - 控件增强: WebView 之加载本地 html, 智能替换 html 中的 url 引用, 通过 Share Co ...

  4. 重新想象 Windows 8.1 Store Apps (81) - 控件增强: 加载本地 html, 智能替换 html 中的 url 引用, 通过 Share Contract 分享 WebView 中的内容, 为 WebView 截图

    原文:重新想象 Windows 8.1 Store Apps (81) - 控件增强: 加载本地 html, 智能替换 html 中的 url 引用, 通过 Share Contract 分享 Web ...

  5. 区块链Fabric技术在托管业务中的运用初探

    区块链Fabric技术在托管业务中的运用初探 什么是Fabric技术 HyperLedger是IBM.Intel等多家公司正开展的一个区块链项目,包含了Fabric.Iroha等多项技术,其中最为活跃 ...

  6. redis整合Spring集群搭建及业务中的使用

    1.redis安装 Redis是c语言开发的. 安装redis需要c语言的编译环境.如果没有gcc需要在线安装.yum install gcc-c++ 安装步骤: 第一步:redis的源码包上传到li ...

  7. 权限组件(15):rbac的使用文档和在业务中的应用

    这里用主机管理系统当做示例. 一.将rbac组件拷贝到项目中. 注意: rbac自己的静态文件.layout.html(被继承的模板).bootstrap.fontsize.公共的css.jquery ...

  8. PostgreSQL 在视频、图片去重,图像搜索业务中的应用

    摘要: PostgreSQL 在视频.图片去重,图像搜索业务中的应用作者digoal日期2016-11-26标签PostgreSQL , Haar wavelet , 图像搜索 , 图片去重 , 视频 ...

  9. “造轮运动”之 ORM框架系列(一)~谈谈我在实际业务中的增删改查

    想想毕业已经快一年了,也就是大约两年以前,怀着满腔的热血正式跨入程序员的世界,那时候的自己想象着所热爱的技术生涯会是多么的丰富多彩,每天可以与大佬们坐在一起讨论解决各种牛逼的技术问题,喝着咖啡,翘着二 ...

随机推荐

  1. Spring Bean 生命周期之“我从哪里来?” 懂得这个很重要

    Spring bean 的生命周期很容易理解.实例化 bean 时,可能需要执行一些初始化以使其进入可用 (Ready for Use)状态.类似地,当不再需要 bean 并将其从容器中移除时,可能需 ...

  2. ES6_08_Iterator遍历器

    Iterator遍历器: 概念: iterator是一种接口机制,为各种不同的数据结构提供统一的访问机制 作用: 1.为各种数据结构,提供一个统一的.简便的访问接口: 2.使得数据结构的成员能够按某种 ...

  3. Win32小游戏--蜘蛛纸牌

    前一段时间完成了蜘蛛纸牌的仿写,现将过程和思路记录下来 首先,为了符合复用性,在win32的基本框架中,把可变的部分用c++封装起来成为一系列虚函数,这样如果再继续写游戏的话,只需要继承这个类就可以了 ...

  4. Ceph RGW Multisite 数据同步流程图

  5. 源码阅读 - java.util.concurrent (三)ConcurrentHashMap

    在java.util.concurrent包中提供了一个线程安全版本的Map类型数据结构:ConcurrentMap.本篇文章主要关注ConcurrentMap接口以及它的Hash版本的实现Concu ...

  6. Codeforces 755A:PolandBall and Hypothesis(暴力)

    http://codeforces.com/problemset/problem/755/A 题意:给出一个n,让你找一个m使得n*m+1不是素数. 思路:暴力枚举m判断即可. #include &l ...

  7. java中动态代理的使用

    代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息.过滤消息.把消息转发给委托类,以及事后处理消息等.代理类与委托类之间通常会存在关联关系,一个代 ...

  8. 1.为什么会有Servlet?它解决了什么问题?

    1. 为什么会出现Servlet? 因为web服务器(tomcat.Weblogic.iis.apache)没有处理动态资源请求的能力(即该请求需要计算),只能处理静态资源的请求(如果浏览器请求某个h ...

  9. windows快速创建文本文档的几个方法快捷键和

    1. 在平常使用电脑中要经常用到在左面创建文本文档txt最笨重的方法就是右键但是这样非常的慢,有没有什么快捷键呢 2. 快捷键 快捷键就是Win+R ,键入notepad 然后回车就可以编辑了 是不是 ...

  10. I/O:Reader

    FileReader: /* 用来读取字符文件的便捷类.此类的构造方法假定默认字符编码和默认字节缓冲区大 小都是适当的.要自己指定这些值,可以先在 FileInputStream 上构造一个 Inpu ...