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. CSDN,CNBLOGS博客文章一键转载插件(转载测试)

    插件地址: https://greasyfork.org/zh-CN/scripts/381053-csdn%E5%8D%9A%E5%AE%A2%E6%96%87%E7%AB%A0%E8%BD%AC% ...

  2. Spring Bean 生命周期之destroy——终极信仰

    上一篇文章 Spring Bean 生命周期之我从哪里来 说明了我是谁? 和 我从哪里来? 的两大哲学问题,今天我们要讨论一下终极哲学我要到哪里去? 初始化 Spring Bean 有三种方式: @P ...

  3. scrapy基础知识之随机切换fake-useragent 库的使用:

    pip install fake-useragent from fake_useragent import UserAgent ua = UserAgent() middlewares.py from ...

  4. 无法启动iis express web服务器解决

    VS2013 .VS2015 .VS2017调试出现无法启动iis express web服务器 最近自己老是遇到这个问题,天天如此,烦死人,网上答案繁多,但是都解决不了,也是由于各种环境不同导致的, ...

  5. (转)Java 8 中的 Streams API 详解

    为什么需要 Stream Stream 作为 Java 8 的一大亮点,它与 java.io 包里的 InputStream 和 OutputStream 是完全不同的概念.它也不同于 StAX 对 ...

  6. ICC中用Tcl脚本给版图中的Port/Terminal加Label的方法

    本文转自:自己的微信公众号<数字集成电路设计及EDA教程> 里面主要讲解数字IC前端.后端.DFT.低功耗设计以及验证等相关知识,并且讲解了其中用到的各种EDA工具的教程. 考虑到微信公众 ...

  7. 数字IC前后端设计中的时序收敛(三)--Hold违反的修复方法

    本文转自:自己的微信公众号<数字集成电路设计及EDA教程>(二维码见博文底部) 里面主要讲解数字IC前端.后端.DFT.低功耗设计以及验证等相关知识,并且讲解了其中用到的各种EDA工具的教 ...

  8. Windows下通过CMD命令行程序操作MySQL数据库

    注意:如果您的MySQL没有安装在C盘下,先使用命令进入MySQL的安装目录下的bin目录中才可以进行后续操作. 方法如下:例如您安装在D盘.先输入 D:  回车即可进入D盘,再输入cd D:\您my ...

  9. ElasticStack学习(九):深入ElasticSearch搜索之词项、全文本、结构化搜索及相关性算分

    一.基于词项与全文的搜索 1.词项 Term(词项)是表达语意的最小单位,搜索和利用统计语言模型进行自然语言处理都需要处理Term. Term的使用说明: 1)Term Level Query:Ter ...

  10. linux 不重启识别新添加的硬盘

    1.fdisk -l 看有没有新的磁盘 oebiotech@hadoop08:/media/nbc9$ sudo fdisk -l |grep sdl 2.查看主机总线 oebiotech@hadoo ...