ASR平台语音助手实现流媒体播放的方法、系统及终端与流程

文档序号:25742899发布日期:2021-07-06 18:54阅读:394来源:国知局
ASR平台语音助手实现流媒体播放的方法、系统及终端与流程

本发明涉及人机交互技术领域,具体涉及基于asr平台语音助手实现流媒体播放的方法、系统及终端。



背景技术:

自动语音识别技术(automaticspeechrecognition)是一种将人的语音转换为文本的技术。语音识别是一个多学科交叉的领域,它与声学、语音学、语言学、数字信号处理理论、信息论、计算机科学等众多学科紧密相连。由于语音信号的多样性和复杂性,语音识别系统只能在一定的限制条件下获得满意的性能,或者说只能应用于某些特定的场合。

市场上的消费类电子芯片平台解决方案中,提供的语音互动播放类app中,大部分只支持播放本地音频文件,不支持在线实时播放流媒体数据。对于目前“万物皆联网”的时代,已然无法跟上步伐。



技术实现要素:

为了解决上述现有技术的不足,本发明提供一种基于asr平台语音助手实现流媒体播放的方法,并具体提供如下技术方案:

一种基于asr平台语音助手实现流媒体播放的方法,其特征在于,包括以下步骤:s1:获取语音数据,并发送所述语音数据到网络服务器;s2:网络服务器识别语音数据并返回识别结果;s3:接收并解析所述识别结果;s4:根据解析结果提取含有语音请求答案的流媒体数据链接,并把提取到的流媒体数据链接存储于本地的流媒体数据链接列表中;s5:解析所述流媒体数据链接,并根据所述流媒体数据链接的协议类型要求封装请求数据包;s6:将所述请求数据包放入发送环形队列缓存,并将所述请求数据包发送到网络服务器;s7:下载流媒体数据存储于接收环形队列;s8:播放所述流媒体数据。

进一步地,在步骤s1中,包括以下步骤:s11:获取语音数据缓存于发送数据队列;s12:将发送数据队列中的语音数据发送到网络服务器;s13:重复步骤s11和s12直至所有语音数据发送至网络服务器。

进一步地,在步骤s3之前,包括如下步骤:a1:启动第一接收超时定时器;a2:若超过所述第一接收超时定时器的预定时间未收到识别结果,则停止所述第一接收超时定时器,同时反馈识别失败信息,并返回步骤s1;若在所述第一接收超时定时器的预定时间内收到识别结果,则执行步骤s3。

进一步地,在步骤s4中,提取到含有语音请求答案的流媒体数据链接后,判断所述流媒体数据链接是否存在,若存在,则把提取到的流媒体数据链接存储于本地的流媒体数据链接列表中;若不存在,则反馈识别失败信息,并返回步骤s1。

进一步地,在步骤s5中,解析流媒体数据链接包括判断所述流媒体数据链接的协议类型是否为http或https协议;若是,则根据所述流媒体数据链接的协议类型要求封装请求数据包;若否,则反馈所述流媒体数据链接的协议类型暂不支持的信息,并返回步骤s1。

进一步地,在步骤s6后,步骤s7前,执行以下步骤:b1:启动接收task,并启动第二接收超时定时器;b2:若超过所述第二接收超时定时器的预定时间未收到流媒体数据,则反馈接收网络数据超时信息,并返回步骤s1;若在所述第二接收超时定时器的预定时间内收到流媒体数据,则执行步骤s7。

进一步地,在步骤s7中,包括以下步骤:s71:请求下载流媒体链接中的一帧未被下载的流媒体数据;s72:下载流媒体数据存储与接收环形队列;s73:检查接收环形队列是否已满;若是,则执行步骤s8,同时继续检查接收环形队列是否已满,直至当前帧的流媒体数据下载完毕;若否,则继续执行步骤s72;s74:检查当前流媒体链接中是否有待下载的流媒体数据;若是没有,则执行步骤s75;若是有,则执行步骤s71;s75:检查本地流媒体数据数据链接列表中是否还有待下载链接;若是没有,则结束下载;若是有,则执行步骤s5。

进一步地,在执行步骤s71的同时,启动重发计数器,若超过所述第二接收超时定时器的预定时间未收到流媒体数据,则递增重发次数,并重发当前帧流媒体数据的下载请求;若重发次数超过预设的阀值,则停止所述第二接收定时器,停止接收task,清除重发计数器,并反馈接收网络数据超时信息,返回步骤s1;若在重发次数预设的阀值内收到流媒体数据,则执行步骤s72。

另一方面,提供一种利用上述方法的流媒体数据播放系统,包括:语音录入单元,用于获取语音数据;封装数据及发送请求单元,用于把获取到的语音数据封装为网络服务器需要的数据并发送至网络服务器;接收网络数据单元,用于接收网络服务器反馈回来的数据;数据解析单元,用于解析接收到的网络数据并存储于环形队列中;播放单元,用于播放环形队列中的待播放流媒体数据。

另一方面,提供一种能够使用上述方法播放流媒体数据的移动终端设备。

采用本发明的技术方案,可实现利用语音助手播放网络服务器上的流媒体数据,实现一边下载一边播放功能,节约终端设备的内存。本发明增强了产品功能、提升用户体验感,增强产品竞争力。

附图说明

图1是本发明基于asr平台语音助手实现流媒体播放的方法的流程图;

图2是本发明利用基于asr平台语音助手实现流媒体播放的方法播放流媒体数据的系统。

具体实施方式

为更进一步阐述本发明的技术手段及技术效果,以下结合附图说明本发明的较佳实施例。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

一种移动终端设备,包括终端屏幕和联网模块,终端屏幕用于显示反馈信息与用户互动,联网模块用于与网络服务器建立连接并进行数据交互。该移动终端设备能够使用基于asr平台语音助手实现流媒体播放的方法播放流媒体数据。

如图1所示,上述基于asr平台语音助手实现流媒体播放的方法,包括以下步骤:

1、终端启动语音助手,用户采用语音助手录入语音。

2、终端获取语音数据缓存于发送数据队列,并将发送数据队列中的语音数据发送到网络服务器,进行预识别处理。在获取语音数据的同时,把已获取的语音数据发送到网络服务器,实现了边录音边发送,获取数据与发送数据同步进行。语音数据发送完毕后即启动第一接收超时定时器,第一接收超时定时器的预设时间为10秒。

3、网络服务器识别语音数据并返回识别结果。若终端超过第一接收超时定时器的预定时间未收到识别结果,则停止第一接收超时定时器,同时把对应信息显示到终端屏幕上,反馈识别失败信息,并返回步骤s1;若终端在所述第一接收超时定时器的预定时间内收到识别结果,则停止第一接收超时定时器并执行步骤4。

4、终端接收并解析识别结果,若解析结果为识别出错,则把对应信息显示在终端屏幕上,反馈识别错误信息,之后返回步骤2,等待用户新的操作;若解析结果为识别成功,则把识别到的语义信息显示在终端屏幕上,并执行步骤5。

5、终端根据解析结果提取含有语音请求答案的流媒体数据链接,判断流媒体数据链接是否存在,若存在,则把提取到的流媒体数据链接存储于本地的流媒体数据链接列表中,并执行步骤6;若不存在,则把对应信息显示在终端屏幕上,提示无法获取对应流媒体数据,本次识别失败,返回步骤1,等待用户进行新的操作。

6、终端从流媒体数据链接列表中取出数据,分析流媒体数据链接,并判断流媒体数据链接的协议类型是否为http或https协议;若是,则根据流媒体数据链接对应的协议类型要求封装请求数据包,之后执行步骤7;若否,则把对应信息显示在终端屏幕上,提示流媒体数据链接的协议类型暂不支持,本次识别失败,返回步骤1,等待用户进行新的操作。

7、终端将请求数据包放入发送环形队列缓存,并将请求数据包发送到网络服务器;同时启动接收task,并启动第二接收超时定时器,第二接收超时定时器的预设时间为20秒,之后执行步骤8.

8、终端请求下载流媒体链接中的一帧未被下载的流媒体数据;若终端在第二接收超时定时器的预设时间内没有下载到流媒体数据,则停止第二接收超时定时器,停止接收task,同时把对应信息显示在终端屏幕上,提示接收网络数据超时,返回步骤1,等待用户进行新的操作;若终端在第二接收超时定时器的预设时间内下载到流媒体数据,则将下载的流媒体数据存储于接收环形队列,接着执行步骤9。

9、终端播放流媒体数据,并检查接收环形队列是否已满;若是,则继续播放流媒体数据,同时继续检查接收环形队列是否已满,直至当前帧的流媒体数据下载完毕,接着执行步骤10;若否,则继续下载的流媒体数据存储于接收环形队列中,直至当前帧的流媒体数据下载完毕,接着执行步骤10。通过该步骤,可实现终端一边下载的同时一边播放,即“边传边播”;能够有效的节省终端的内存空间,降低终端产品的生产成本。

10、终端检查当前流媒体链接中是否有待下载的流媒体数据;若是有,则重复执行步骤9,直至当前流媒体数据链接中的流媒体数据全部下载完毕;若是没有,则执行步骤11。

11、终端检查本地流媒体数据数据链接列表中是否还有待下载链接;若是没有,则结束下载;若是有,则重复执行步骤8-10,直至本地流媒体数据链接列表中的流媒体数据链接含有的流媒体数据全部下载完毕。

在另一个实施例中,在步骤7执行后,步骤8执行前启动重发技术器,重发计数器的预设次数为3次。在执行步骤8时,若终端在第二接收超时定时器的预设时间内没有下载到流媒体数据,则递增重发次数,并重发当前帧流媒体数据的下载请求;若重发次数超过预设的阀值,则停止第二接收定时器,停止接收task,清除重发计数器,并反馈接收网络数据超时信息,返回步骤1;若在重发次数预设的阀值内收到流媒体数据,则将下载的流媒体数据存储于接收环形队列,接着执行步骤9-11。

如图2所示,一种利用上述基于asr平台语音助手实现流媒体播放的方法的流媒体数据播放系统,包括:

语音录入单元,用于获取语音数据;

封装数据及发送请求单元,用于把获取到的语音数据封装为网络服务器需要的数据并发送至网络服务器;

接收网络数据单元,用于接收网络服务器反馈回来的数据;

数据解析单元,用于解析接收到的网络数据并存储于环形队列中;

播放单元,用于播放环形队列中的待播放流媒体数据。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1