一种语音播读网页信息的方法、浏览器客户端及服务器与流程

文档序号:19366223发布日期:2019-12-10 20:51阅读:387来源:国知局
一种语音播读网页信息的方法、浏览器客户端及服务器与流程

本发明涉及互联网通信领域,具体而言,涉及一种语音播读网页信息的方法、浏览器客户端及服务器。



背景技术:

目前,终端都安装有浏览器,用户经常通过浏览器浏览网页,网页一般包括文本、图片或视频等信息,这些信息都是基于用户的视觉感官的。当用户通过浏览器浏览网页时,终端将网页显示在终端的屏幕上,用户必须通过眼睛观看来浏览网页。

但日常生活中存在一些不方便通过眼睛浏览网页的场景,如当用户正驾驶汽车,或者正搭乘拥挤的公共交通工具,或者用户正在步行或跑步时,此时通过眼睛浏览网页会给用户带来不便,甚至对用户的眼睛造成伤害。另外,盲人或弱视者等眼睛有生理缺陷的用户根本无法通过眼睛浏览网页。

对于上述不便于通过眼睛浏览网页的情况,目前相关技术还没有给出将网页信息便捷地提供给用户的方式,影响了用户使用浏览器的体验度。



技术实现要素:

有鉴于此,本发明实施例的目的在于提供一种语音播读网页信息的方法、浏览器客户端及服务器,通过浏览器客户端安装的tts引擎对页面信息进行语音播读,为用户浏览网页提供一种基于听觉的全新方式。

第一方面,本发明实施例提供了一种语音播读网页信息的方法,包括:

所述浏览器客户端向服务器发送页面访问请求,所述页面访问请求包括页面地址和语音合成tts标识信息;

所述浏览器客户端接收所述服务器根据所述页面访问请求返回的应答数据,所述应答数据包括所述服务器根据所述tts标识信息确定的tts标准版本号及所述页面地址对应的tts页面数据;

所述浏览器客户端根据所述tts标准版本号通过tts引擎对所述tts页面数据进行语音播读。

结合第一方面,本发明实施例提供了上述第一方面的第一种可能的实现方式,其中,所述浏览器客户端根据所述tts标准版本号通过所述tts引擎对所述tts页面数据进行语音播读,包括:

所述浏览器客户端根据所述tts标准版本号获取对应的tts标准协议;

所述浏览器客户端根据所述tts标准协议,从所述tts页面数据中解析出全局播读信息、局部播读信息及待播读数据;

所述浏览器客户端通过所述tts引擎获取所述待播读数据对应的语音数据,并根据所述全局播读信息和所述局部播读信息播读所述语音数据。

结合第一方面的第一种可能的实现方式,本发明实施例提供了上述第一方面的第二种可能的实现方式,其中,所述浏览器客户端通过所述tts引擎获取所述待播读数据对应的语音数据,包括:

所述浏览器客户端确定所述tts引擎的引擎类型,所述引擎类型包括全功能引擎和精简引擎;

当所述浏览器客户端安装的tts引擎的引擎类型为全功能引擎时,所述浏览器客户端通过所述tts引擎调用本地语音库将所述待播读数据转换为语音数据;

当所述浏览器客户端安装的tts引擎的引擎类型为精简引擎时,所述浏览器客户端从所述服务器加载已录制语音资源数据,通过所述tts引擎调用加载的所述已录制语音资源数据将所述待播读数据转换为语音数据。

结合第一方面的第一种可能的实现方式,本发明实施例提供了上述第一方面的第三种可能的实现方式,其中,所述浏览器客户端根据所述tts标准协议,从所述tts页面数据中解析出全局播读信息、局部播读信息及待播读数据,包括:

所述浏览器客户端根据所述tts标准协议,从所述tts页面数据的头部信息中解析出全局播读信息;

所述浏览器客户端从所述tts页面数据中识别预设标签对应的数据块,将识别的所述数据块确定为待播读数据;

所述浏览器客户端从识别的所述预设标签的开标签信息中获取局部播读信息。

结合第一方面,本发明实施例提供了上述第一方面的第四种可能的实现方式,其中,当所述tts引擎的引擎类型为全功能引擎,且所述浏览器客户端根据所述tts标准版本号通过所述tts引擎对所述tts页面数据进行语音播读时,所述方法还包括:

所述浏览器客户端采集用户的语音信息,并通过所述tts引擎将所述用户的语音信息识别为文本信息;

若所述文本信息与预设的语音播放控制信息相匹配,则执行相应的语音播放控制操作。

第二方面,本发明实施例提供了一种语音播读网页信息的方法,所述方法包括:

服务器接收浏览器客户端发送的页面访问请求,所述页面访问请求包括页面地址和tts标识信息;

所述服务器根据所述tts标识信息确定tts标准版本号,及根据所述页面地址和所述tts标识信息获取所述页面地址对应的tts页面数据;

所述服务器将所述tts页面数据及所述tts标准版本号作为应答数据发送给所述浏览器客户端,以使所述浏览器客户端根据所述tts标准版本号对所述tts页面数据进行语音播读。

结合第二方面,本发明实施例提供了上述第二方面的第一种可能的实现方式,其中,所述tts标识信息包括所述浏览器客户端所支持的tts标准版本号和所述浏览器客户端安装的tts引擎的引擎类型;

所述服务器根据所述页面地址和所述tts标识信息获取所述页面地址对应的tts页面数据,包括:

所述服务器根据所述页面地址加载对应的页面数据;

所述服务器根据所述浏览器客户端所支持的tts标准版本号和所述引擎类型对所述页面数据进行tts标记,得到所述页面地址对应的tts页面数据。

结合第二方面,本发明实施例提供了上述第二方面的第二种可能的实现方式,其中,所述tts标识信息包括所述浏览器客户端所支持的tts标准版本号和所述浏览器客户端安装的tts引擎的引擎类型;

所述服务器根据所述页面地址和所述tts标识信息获取所述页面地址对应的tts页面数据,包括:

所述服务器根据所述tts标识信息和所述页面地址,查询本地缓存中是否存在对应的tts页面数据,若存在,则直接从本地缓存中获取所述tts页面数据;

当查询出本地缓存中不存在对应的tts页面数据时,所述服务器根据所述页面地址加载对应的页面数据,根据所述浏览器客户端所支持的tts标准版本号和所述引擎类型对所述页面数据进行tts标记,得到所述页面地址对应的tts页面数据。

结合第二方面及第二方面的第一或第二种可能的实现方式,本发明实施例提供了上述第二方面的第三种可能的实现方式,其中,所述服务器根据所述浏览器客户端所支持的tts标准版本号和所述引擎类型对所述页面数据进行tts标记,包括:

所述服务器根据所述浏览器客户端所支持的tts标准版本号,确定所述浏览器客户端所支持的tts标准版本标记集合;根据所述引擎类型,确定所述引擎类型对应的tts标记策略;

所述服务器根据所述tts标准版本标记集合和所述tts标记策略在所述页面数据的头部信息中添加全局播读信息;

所述服务器从所述页面数据中确定出需语音播读的数据块,根据所述tts标准版本标记集合和所述tts标记策略通过预设标签对所述数据块进行标记,并在所述预设标签的开标签信息中添加局部播读信息。

结合第二方面的第二种可能的实现方式,本发明实施例提供了上述第二方面的第四种可能的实现方式,其中,所述服务器对所述页面数据进行tts标记,得到所述页面地址对应的tts页面数据之后,还包括:

所述服务器将所述tts标识信息、所述页面地址及所述tts页面数据存储到本地缓存中。

结合第二方面,本发明实施例提供了上述第二方面的第五种可能的实现方式,其中,所述tts标识信息包括所述浏览器客户端所支持的tts标准版本号;

所述服务器根据所述tts标识信息确定tts标准版本号,包括:

所述服务器将所述浏览器客户端所支持的tts标准版本号与自身支持的版本号进行比较;

当所述浏览器客户端所支持的tts标准版本号高于所述服务器支持的版本号时,所述服务器将自身支持的版本号确定为tts标准版本号;

当所述浏览器客户端所支持的tts标准版本号低于或等于所述服务器支持的版本号时,所述服务器将所述浏览器客户端所支持的tts标准版本号确定为所述tts标准版本号。

结合第二方面,本发明实施例提供了上述第二方面的第六种可能的实现方式,其中,所述方法还包括:

所述服务器判断所述页面访问请求中所述tts标识信息包括的tts引擎的引擎类型是否为精简引擎,当判断出所述引擎类型为精简引擎时,获取自身存储的语音资源数据,将所述语音资源数据发送给所述浏览器客户端;或者,

所述服务器接收所述浏览器客户端发送的语音资源数据获取请求,获取自身存储的语音资源数据,将所述语音库发送给所述浏览器客户端。

第三方面,本发明实施例提供了一种浏览器客户端,所述浏览器客户端安装有tts引擎,所述浏览器客户端包括:

发送模块,用于向服务器发送页面访问请求,所述页面访问请求包括页面地址和tts标识信息;

接收模块,用于接收所述服务器根据所述页面访问请求返回的应答数据,所述应答数据包括所述服务器根据所述tts标识信息确定的tts标准版本号及所述页面地址对应的tts页面数据;

语音播读模块,用于根据所述tts标准版本号通过tts引擎对所述tts页面数据进行语音播读。

结合第三方面,本发明实施例提供了上述第三方面的第一种可能的实现方式,其中,所述语音播读模块包括:

获取单元,用于根据所述tts标准版本号获取对应的tts标准协议;

解析单元,用于根据所述tts标准协议,从所述tts页面数据中解析出全局播读信息、局部播读信息及待播读数据;

播读单元,用于通过所述tts引擎获取所述待播读数据对应的语音数据,并根据所述全局播读信息和所述局部播读信息播读所述语音数据。

结合第三方面的第一种可能的实现方式,本发明实施例提供了上述第三方面的第二种可能的实现方式,其中,所述播读单元包括:

确定子单元,用于确定所述tts引擎的引擎类型,所述引擎类型包括全功能引擎和精简引擎;

第一转换子单元,用于当所述浏览器客户端安装的tts引擎的引擎类型为全功能引擎时,通过所述tts引擎调用本地语音库将所述待播读数据转换为语音数据;

第二转换子单元,用于当所述浏览器客户端安装的tts引擎的引擎类型为精简引擎时,从所述服务器加载已录制语音资源数据,通过所述tts引擎调用加载的所述已录制语音资源数据将所述待播读数据转换为语音数据。

结合第三方面的第一种可能的实现方式,本发明实施例提供了上述第三方面的第三种可能的实现方式,其中,所述解析单元包括:

解析子单元,用于根据所述tts标准协议,从所述tts页面数据的头部信息中解析出全局播读信息;

识别子单元,用于从所述tts页面数据中识别预设标签对应的数据块,将识别的所述数据块确定为待播读数据;

获取子单元,用于从识别的所述预设标签的开标签信息中获取局部播读信息。

结合第三方面,本发明实施例提供了上述第三方面的第四种可能的实现方式,其中,当所述tts引擎的引擎类型为全功能引擎,且所述语音播读模块进行语音播读时,所述浏览器客户端还包括:

播放控制模块,用于采集用户的语音信息,并通过所述tts引擎将所述用户的语音信息识别为文本信息;若所述文本信息与预设的语音播放控制信息相匹配,则执行相应的语音播放控制操作。

第四方面,本发明实施例提供了一种服务器,所述服务器包括:

接收模块,用于接收浏览器客户端发送的页面访问请求,所述页面访问请求包括页面地址和所述浏览器客户端的tts标识信息;

获取模块,用于根据所述tts标识信息确定tts标准版本号,及根据所述页面地址和所述tts标识信息获取所述页面地址对应的tts页面数据;

发送模块,用于将所述tts页面数据及所述tts标准版本号作为应答数据发送给所述浏览器客户端,以使所述浏览器客户端根据所述tts标准版本号对所述tts页面数据进行语音播读。

结合第四方面,本发明实施例提供了上述第四方面的第一种可能的实现方式,其中,所述tts标识信息包括所述浏览器客户端所支持的tts标准版本号和所述浏览器客户端安装的tts引擎的引擎类型;所述获取模块包括:

加载单元,用于根据所述页面地址加载对应的页面数据;

tts标记单元,用于根据所述浏览器客户端所支持的tts标准版本号和所述引擎类型对所述页面数据进行tts标记,得到所述页面地址对应的tts页面数据。

结合第四方面,本发明实施例提供了上述第四方面的第二种可能的实现方式,其中,所述tts标识信息包括所述浏览器客户端所支持的tts标准版本号和所述浏览器客户端安装的tts引擎的引擎类型;所述获取模块包括:

查询单元,用于根据所述tts标识信息和所述页面地址,查询本地缓存中是否存在对应的tts页面数据,若存在,则直接从本地缓存中获取所述tts页面数据;

获取单元,用于当查询出本地缓存中不存在对应的tts页面数据时,根据所述页面地址加载对应的页面数据,根据所述浏览器客户端所支持的tts标准版本号和所述引擎类型对所述页面数据进行tts标记,得到所述页面地址对应的tts页面数据。

结合第四方面及第四方面的第一或第二种可能的实现方式,本发明实施例提供了上述第四方面的第三种可能的实现方式,其中,所述根据所述浏览器客户端所支持的tts标准版本号和所述引擎类型对所述页面数据进行tts标记,包括:

确定子单元,用于根据所述浏览器客户端所支持的tts标准版本号,确定所述浏览器客户端所支持的tts标准版本标记集合;根据所述引擎类型,确定所述引擎类型对应的tts标记策略;

添加子单元,用于根据所述tts标准版本标记集合和所述tts标记策略在所述页面数据的头部信息中添加全局播读信息;

标记子单元,用于从所述页面数据中确定出需语音播读的数据块,根据所述tts标准版本标记集合和所述tts标记策略通过预设标签对所述数据块进行标记,并在所述预设标签的开标签信息中添加局部播读信息。

结合第四方面的第二种可能的实现方式,本发明实施例提供了上述第四方面的第四种可能的实现方式,其中,所述服务器还包括:

存储模块,用于将所述tts标识信息、所述页面地址及所述tts页面数据存储到本地缓存中。

结合第四方面,本发明实施例提供了上述第四方面的第五种可能的实现方式,其中,所述tts标识信息包括所述浏览器客户端所支持的tts标准版本号;所述获取模块包括:

比较单元,用于将所述浏览器客户端所支持的tts标准版本号与自身支持的版本号进行比较;

第一确定单元,用于当所述浏览器客户端所支持的tts标准版本号高于所述服务器支持的版本号时,将自身支持的版本号确定为tts标准版本号;

第二确定单元,用于当所述浏览器客户端所支持的tts标准版本号低于或等于所述服务器支持的版本号时,将所述浏览器客户端所支持的tts标准版本号确定为所述tts标准版本号。

结合第四方面,本发明实施例提供了上述第四方面的第六种可能的实现方式,其中,所述服务器还包括:

获取发送模块,用于判断所述页面访问请求中所述tts标识信息包括的tts引擎的引擎类型是否为精简引擎,当判断出所述引擎类型为精简引擎时,获取自身存储的语音资源数据,将所述语音资源数据发送给所述浏览器客户端;或者,

所述获取发送模块,还用于接收所述浏览器客户端发送的语音资源数据获取请求,获取自身存储的语音资源数据,将所述语音资源数据发送给所述浏览器客户端。

在本发明实施例中,浏览器客户端安装有tts引擎,浏览器客户端向服务器发送包括页面地址和tts标识信息的页面访问请求,接收服务器根据该页面访问请求返回的tts标准版本号及页面地址对应的tts页面数据,浏览器客户端根据tts标准版本号通过tts引擎对tts页面数据进行语音播读。本发明通过浏览器客户端安装的tts引擎对页面信息进行语音播读,在用户不方便通过眼睛浏览网页时,以及对于眼睛有生理缺陷的用户,都可以通过听觉来收听播读的页面信息,为用户浏览网页提供了一种基于听觉的便捷方式。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本发明实施例1所提供的一种语音播读网页信息的方法流程图;

图2示出了本发明实施例2所提供的一种浏览器客户端的结构示意图;

图3示出了本发明实施例3所提供的一种服务器的结构示意图。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

考虑到相关技术中对于不便于通过眼睛浏览网页的情况,以及对于眼睛有生理缺陷的用户,目前还没有给出将网页信息便捷地提供给用户的方式,影响了用户使用浏览器的体验度。基于此,本发明实施例提供了一种语音播读网页信息的方法、浏览器客户端及服务器。下面通过实施例进行描述。

实施例1

参见图1,本发明实施例提供了一种语音播读网页信息的方法。在本发明实施例中,浏览器客户端中安装有tts(texttospeech,语音合成)引擎,tts引擎可以为安装在浏览器客户端内的组件,或者,tts引擎为可供浏览器客户端调用的系统服务或应用程序。本发明实施例通过tts引擎来播读需要访问的网页的页面信息。该方法具体包括以下步骤:

步骤101:浏览器客户端向服务器发送页面访问请求,该页面访问请求包括页面地址和tts标识信息。

上述服务器可以为网站服务器或浏览器后台服务器。上述tts标识信息包括浏览器客户端安装的tts引擎的引擎类型及浏览器客户端所支持的tts标准版本号。上述tts引擎的引擎类型包括全功能引擎和精简引擎。

类型为全功能引擎的tts引擎中包含本地集成的语音库,且可以基于文本识别tts引擎使用的编码集和所属的语言类型,并能够基于词典集对给定的文本进行实时分词,通过本地集成的语音库来生成语音数据,以及能够与语音数据内部的文本进行关联,且支持语音播放的控制操作,如开始、暂停、重新播放或停止播放等播放控制操作。另外,全功能的tts引擎还可以支持用户的语音识别功能,将用户的语音转化为播放控制操作。

类型为精简引擎的tts引擎可以基于文本识别tts引擎使用的编码集和所属的语言类型,并基于词典集对给定的文本进行实时分词,能够与语音播放资源内部的文本进行关联,且同样支持语音播放的控制操作,如开始、暂停、重新播放或停止播放等播放控制操作。

全功能的tts引擎和精简的tts引擎的区别在于,全功能的tts引擎具有本地集成的语音库,而精简的tts引擎没有本地集成的语音库,精简的tts引擎不支持进行本地实时语音播放,同时也不支持用户的语音识别。精简的tts引擎适用于硬件配置条件相对较低的移动设备。

在本发明实施例中,当用户需要浏览某网页时,用户向浏览器客户端中输入该网页的页面地址,或者用户点击该网页对应的链接。浏览器客户端检测到用户输入页面地址或检测到某链接被点击时,浏览器客户端获取用户输入的页面地址或者获取该链接对应的页面地址,并从浏览器客户端安装的tts功能模块中获取tts引擎的引擎类型及所支持的tts标准版本号,将获取的引擎类型及浏览器客户端所支持的tts标准版本号组成tts标识信息,发送页面访问请求给服务器,并在该页面访问请求中携带获取的页面地址和tts标识信息。

步骤102:服务器接收浏览器客户端发送的页面访问请求,根据该页面访问请求获取tts标准版本号及页面地址对应的tts页面数据。

服务器根据该页面访问请求携带的页面地址和tts标识信息获取页面地址对应的tts页面数据,并根据tts标识信息确定tts标准版本号。

服务器根据页面地址和tts标识信息获取页面地址对应的tts页面数据的操作,具体包括:服务器根据页面地址加载对应的页面数据,根据浏览器客户端所支持的tts标准版本号和tts引擎的引擎类型对页面数据进行tts标记,得到页面地址对应的tts页面数据。

对页面数据进行tts标记的操作,具体包括,服务器根据浏览器客户端所支持的tts标准版本号,确定浏览器客户端所支持的tts标准版本标记集合,根据tts引擎的引擎类型,确定该引擎类型对应的tts标记策略,根据确定的tts标准版本标记集合和tts标记策略在加载的页面数据的头部信息中添加全局播读信息,以及从页面数据中确定出需语音播读的数据块,根据该tts标准版本标记集合和tts标记策略通过预设标签对数据块进行标记,并在预设标签的开标签信息中添加局部播读信息。

在本发明实施例中,tts标准版本标记集合中包括支持tts标记的html标签、tts专用标签以及可用的tts属性等。支持tts标记的html标签可以为直接或间接带有文本的html标签,tts专用标签为上述预设标签,预设标签可以为播读标签<speech>。可用的tts属性包括上述全局播读信息及局部播读信息。全局播读信息为页面全局作用域的文本tts属性信息。局部播读信息为上述预设标签作用域下的tts属性信息。

不同版本的tts引擎所支持的tts标准版本标记集合中支持tts标记的html标签可能不同,所以需要根据浏览器客户端所支持的tts标准版本号,确定浏览器客户端所支持的tts标记集合。

由于全功能类型的tts引擎与精简类型的tts引擎间存在功能上的差异,所以服务器中预先设置了全功能类型的tts引擎对应的tts标记策略以及精简类型的tts引擎对应的tts标记策略。tts标记策略决定了如何对tts语音资源进行标记。

需语音播读的数据块可以为直接或间接带有文本的html标签组成的数据块。直接或间接带有文本的html标签包括超链接标签<a>、粗体标签<b>、大号字体标签<big>、块引用标签<blockquote>、文献引用标签<cite>、细节描述标签<details>、短语元素标签<dfn>、文本样式标签<font>、页脚标签<footer>、页眉标签<header>、斜体文本标签<i>、带记号文本标签<mark>、突出显示标签<m>、普通文本标签<p>、短引用标签<q>、小号字体标签<small>、强调标签<strong>及描述标签<summary>。预设标签可以为播读标签<speech>。

服务器根据浏览器客户端所支持的tts标准版本号,确定浏览器客户端所支持的tts标准版本标记集合,根据tts引擎的引擎类型,确定对应的tts标记策略,根据确定的tts标准版本标记集合和tts标记策略在加载的页面数据的头部信息中添加该标记策略对应的全局播读信息,遍历页面数据中的各个标签信息,确定出上述直接或间接带有文本的html标签信息,将确定的标签信息确定为需语音播读的数据块,将确定的数据块设置为上述预设标签<speech>的标签内容,并在该预设标签<speech>中添加上述tts标记策略对应的局部播读信息。

为了便于理解上述对某一数据块的tts标记操作,此处举例进行说明。例如,假设确定的数据块为<p>hello,baby!</p>,tts标记策略对应的局部播读信息为role=”female”;text-type=”main-body”;speeding=”normal”;positioning=”xpath”;playback-mode=”local”;playback=”exclusive”。

则tts标记后的数据为:<speechrole=”female”;text-type=”main-body”;speeding=”normal”;positioning=”xpath”;playback-mode=”local”;playback=”exclusive”><p>hello,baby!</p></speech>

上述全局播读信息包括的属性及属性值的相关信息如下所示,

1、version(版本号),该属性为必要的属性,该属性的属性值可以为初始版本号,如初始版本1.0等。该属性用于tts标准的版本控制,不同的版本支持的相关标签或属性不同,且tts标准的版本需要保持向后兼容,即新版本的tts标准同时支持旧版本的tts标准。

2、type(类型),该属性也为必要的属性,该属性的属性值可以为full(全功能类型)或lite(精简类型)。full标识本页面的语音播放需要tts全功能引擎,lite标识本页面的语音播放只需要tts精简引擎。该属性的设定值为full还是lite,需要根据浏览器客户端发送的页面访问请求携带的tts标识信息来确定。当浏览器客户端发送的页面访问请求携带的tts标识信息中不包含引擎类型时,可以默认该属性的设定值为full或lite。

3、speed(速度),该属性为可选属性,该属性的属性值可以为slow(慢)、normal(正常)或fast(快),该属性用于定义页面tts引擎的播放速度。该属性的属性值的设定需要基于浏览器客户端安装的tts引擎支持的tts标准来定义。该属性的属性值并不限定于上述三种,也可以设定为其它更加细化的播放速度。

4、role(角色),该属性也为可选属性,该属性的属性值可以为male(男性)、female(女性)及user-defined(用户自定义)。当该属性值为male时tts引擎调用男声语音库,当该属性值为female时tts引擎调用女声语音库,当该属性值为user-defined时tts引擎使用用户在本地tts引擎设定的语音库,例如,用户设定的语音库可以为某明星的中文语音库或用户对自己的语音进行录音生成的语音库。这些语音库支持的语音词典必须遵循tts标准。其中,男声语音库和女声语音库是tts功能必须支持的基础语音库。当用户未在浏览器客户端设置想要使用的语音库时,该属性的属性值可默认设置为male或female。

5、playback(播放形式),该属性也为可选属性,该属性的属性值可以为exclusive(独占式播放)及coexisting(共存式播放),exclusive表示浏览器客户端播放页面信息时禁止系统内其他语音源的播放,coexisting表示浏览器客户端播放页面信息时不禁止系统内其他语音源的播放。当用户未在浏览器客户端设置想要使用的语音库时,该属性的属性值可默认为exclusive或coexisting。

6、charset(字符集),该属性也为可选属性,该属性的属性值可以为auto-detect(自动检测),表示自动检测文本使用的字符集,该字符集可以为utf-8(8-bitunicodetransformationformat,万国码)或gb2314等。另外,也可选择在该属性提供具体的字符集。当用户未在浏览器客户端设置想要使用的语音库时,该属性的属性值可默认为auto-detect。

7、lang规定文本的语言,该性也为可选属性,该属性的属性值可以为auto-detect(自动检测),表示自动检测文本国家/地区语言。也可选择在该属性提供具体的语言,比如简体中文、繁体中文、英语或法语等。当用户未在浏览器客户端设置想要使用的语音库时,该属性的属性值可默认为auto-detect。

8、vocable-control(语音播放控制),该性也为可选属性,该属性定义了可供语音控制的tts播放控制操作关键词,存在多个时之间用“,”分割。该属性主要是声明建议提供给用户基于语音控制的操作,但具体是否实现取决于tts引擎的引擎类型。当且仅当服务器识别浏览器客户端安装了tts全功能引擎时才可以提供该属性值。该属性可以设为以下属性值:

next:切换到下一段可供tts播放的文本;

previous:切换到上一段可供tts播放的文本;

up-level:切换到当前可供tts播放的文本节点的可供tts播放的文本祖先节点;

down-level:切换到当前可供tts播放的文本节点的可供tts播放的第一个子节点;

start:开始播放当前选定的tts片段;

stop:停止播放当前选定的tts片段;

hold:暂停播放当前选定的tts片段;

resume:从暂停位置继续播放当前选定的tts片段;

replay:从头开始播放当前选定的tts片段;

click:如果当前播放的tts文本位于可点击的标签中,通过语音触发点击操作。

在本发明实施例中,向页面数据的头部信息中添加全局播读信息时,在页面数据的头部信息的meta(元信息)标记中添加一个name(名称)信息,该name信息的值为“tts”,其对应的内容可以包含上述全局播读信息。

例如,在meta标记中添加全局播读信息的方式可以为,

<metaname=”tts”content=”version:1.0;type:full;speed:normal;role:male;playback:exclusive;charset:auto-detect;lang:auto-detect;vocable-control:next,previous,up-level,down-level,start,stop,hold,resume,replay,click”>

之所以在meta标记中添加全局播读信息,是因为meta标记一般位于html页面的head(头)部分,通常浏览器客户端解析页面时会对head部分进行预处理,如此便于浏览器客户端根据全局播读信息对tts引擎进行相应的属性设定初始化。

在本发明实施例中,局部播读信息包括的属性及属性值的相关信息如下所示,

1、text-type(文本类型),该属性为必要的属性,该属性可以设置为以下属性值:heading(标题):表示作为“标题”的tts文本。当speech标签包含标题标签h1、h2、h3、h4、h5或h6时,建议使用该属性值;abstract(摘要):表示作为“摘要”的tts文本。

2、speed,该属性的相关信息与上述全局播读信息中的speed属性的相关信息相同,再次不再赘述。

3、role,该属性的相关信息与上述全局播读信息中的role属性的相关信息相同,再次不再赘述。

4、playback,该属性的相关信息与上述全局播读信息中的playback属性的相关信息相同,再次不再赘述。

5、playback-mode,该属性也为可选属性,该属性可以设置为以下属性值:local表示使用本地语音库进行实时tts播放,该属性值仅支持tts全功能引擎;outsourcing表示使用已录制的语音资源播放,该属性值既支持tts精简引擎也支持tts全功能引擎。

当浏览器客户端安装了tts全功能引擎时,服务器可以同时提供上述两个属性值,并以“,”进行分割,由浏览器决定采用哪种播放方式。

6、outsourcing-href,该属性也为可选属性,该属性可以设置为已录制的tts播放语音资源。该tts播放语音资源必须遵循基于tts音频格式规范,除带有音频信息外,还需带有文本及文本与语音同步的信息。该属性主要用于支持tts精简引擎进行在线播放;而对于tts全功能引擎,会基于用户设置来选择是否选择播放已录制的语音资源或者实时播放。

7、positioning,该属性也为可选属性,该属性表示预设标签<speech>在该页面中的所有tts片段的位置,即speech标签包含的文本的位置。主要用于用户进行tts片段切换控制时的定位。该属性可以设置为以下属性值:xpath:基于html标签的xpath路径而进行tts片段的定位,实质上是基于页面自身的结构进行tts片段组织;manual:该方式需要提供层次化的位置信息,其格式可以为一级序号-二级序号-三级序号等,使用该属性值时,tts片段的组织可以与页面自身结构无关。

在本发明实施例中,局部播读信息的优先级高于全局播读信息的优先级。由于局部播读信息与全局播读信息存在相同的属性,且页面的html祖先和孙子节点可能存在同样的局部播读信息,其之间的优先级规定如下:

当出现属性值不同时,局部播读信息覆盖全局播读信息。例如,如果预设标签<speech>中没有对该属性进行定义,而全局播读信息中有相应属性定义,则沿用全局播读信息的属性定义;

当出现属性值不同时,孙子节点的属性定义覆盖祖先节点的属性定义。例如,如果孙子节点的<speech>标签没有对该属性进行定义,而祖先节点的<speech>标签有相应属性定义,则沿用祖先节点的<speech>标签的属性定义。

在本发明实施例中,对于过去处理的页面访问请求,服务器可以在本地缓存中缓存过去处理的页面访问请求对应的引擎类型、页面地址及tts页面数据的对应关系。

当服务器根据页面地址和tts标识信息获取页面地址对应的tts页面数据时,服务器根据tts标识信息和页面地址,查询本地缓存中是否存在对应的tts页面数据,若存在,则直接从本地缓存中获取tts页面数据。当查询出本地缓存中不存在对应的tts页面数据时,服务器根据页面地址加载对应的页面数据,根据浏览器客户端所支持的tts标准版本号和引擎类型对页面数据进行tts标记,得到页面地址对应的tts页面数据。

在本发明实施例中,对于给定的某个具体页面,当浏览器客户端所支持的tts标准版本号和tts引擎的引擎类型两者都确定时,对该页面进行tts标记所依据的tts标准版本标记集合和tts标记策略也是确定的,因此该页面的tts标记结果也是确定的。所以当本地缓存中不存在对应的tts页面数据时,且服务器对页面数据进行tts标记,得到页面地址对应的tts页面数据之后,服务器将tts标识信息、页面地址及tts页面数据存储到本地缓存中。

在本发明实施例中,由于tts标准可能随着版本的演进而发生变化,浏览器客户端需要在页面访问请求中声明自己支持的最高版本,并最终和服务器协商出使用的版本。tts标准的版本需要向后兼容。

服务器根据tts标识信息确定tts标准版本号的操作,具体包括:服务器将浏览器客户端所支持的tts标准版本号与自身支持的版本号进行比较;当浏览器客户端所支持的tts标准版本号高于服务器支持的版本号时,服务器将自身支持的版本号确定为tts标准版本号;当浏览器客户端所支持的tts标准版本号低于或等于服务器支持的版本号时,服务器将浏览器客户端所支持的tts标准版本号确定为tts标准版本号。

服务器通过上述步骤102的操作获取tts标准版本号及页面地址对应的tts页面数据之后,通过如下步骤103的操作将这些信息发送给浏览器客户端。

步骤103:服务器将tts页面数据及tts标准版本号作为应答数据发送给浏览器客户端;

步骤104:浏览器客户端接收服务器返回的应答数据,根据tts标准版本号通过tts引擎对tts页面数据进行语音播读。

浏览器客户端根据tts标准版本号获取对应的tts标准协议,根据该tts标准协议,从tts页面数据中解析出全局播读信息、局部播读信息及待播读数据,通过tts引擎获取待播读数据对应的语音数据,并根据全局播读信息和局部播读信息播读语音数据。

上述浏览器客户端根据tts标准协议,从tts页面数据中解析出全局播读信息、局部播读信息及待播读数据的操作,具体包括:浏览器客户端根据tts标准协议,从tts页面数据的头部信息中解析出全局播读信息,从tts页面数据中识别预设标签对应的数据块,将识别的数据块确定为待播读数据,以及从识别的预设标签的开标签信息中获取局部播读信息。

浏览器客户端对tts页面数据进行处理时,浏览器客户端的解析器按照相应的tts标准版本标记集合对tts页面数据进行解析,提取出待播读数据、全局播读信息和局部播读信息,再调用tts引擎来实现语音播读。

上述浏览器客户端通过tts引擎获取待播读数据对应的语音数据的操作,具体包括:浏览器客户端确定tts引擎的引擎类型,当浏览器客户端安装的tts引擎的引擎类型为全功能引擎时,浏览器客户端通过tts引擎调用本地语音库将待播读数据转换为语音数据;当浏览器客户端安装的tts引擎的引擎类型为精简引擎时,浏览器客户端从服务器加载已录制语音资源数据,通过tts引擎调用加载的已录制语音资源数据将待播读数据转换为语音数据。

上述已录制语音资源数据是关联到具体文本段落的语音资源,其内部带有文本分词信息。精简类型的tts引擎可以识别已录制语音资源数据,并通过文本词的索引关系来播读语音。已录制语音资源数据与语音库之间的区别为:因为语音库是语音词典,所以语音库可以支持任何文本的实时播读;而因为已录制语音资源的内容已经是确定的,所以已录制语音资源只能支持特定的文本段落的播读。

由于当浏览器客户端安装的tts引擎为精简引擎时,浏览器客户端中未配置本地的语音库,此时浏览器客户端要实现对网页信息的语音播读,必须从服务器获取已录制语音资源数据。在本发明实施例中,可以通过如下两种方式来从服务器获得已录制语音资源数据,具体包括,

第一种方式,由服务器识别浏览器安装的tts引擎的引擎类型,并当该引擎类型为精简引擎时主动将已录制语音资源数据下发给浏览器客户端。具体地,服务器判断页面访问请求中tts标识信息包括的引擎类型是否为精简引擎,当判断出引擎类型为精简引擎时,获取自身存储的语音资源数据,将该语音资源数据发送给浏览器客户端。

第二种方式,当浏览器客户端安装的tts引擎的引擎类型为精简引擎时,由客户端向服务器请求获取语音资源数据。具体地,服务器接收浏览器客户端发送的语音资源数据获取请求,获取自身存储的语音资源数据,将语音资源数据发送给浏览器客户端。

在本发明实施例中,浏览器客户端中预设了语音播放控制信息,语音播放控制信息可以为“暂停”或“播放”等信息。当tts引擎的引擎类型为全功能引擎,且浏览器客户端根据tts标准版本号通过tts引擎对tts页面数据进行语音播读时,用户可以对着终端说话,浏览器客户端采集用户的语音信息,并通过tts引擎将用户的语音信息识别为文本信息,根据该文本信息查询预设的语音播放控制信息,若该文本信息与某预设的语音播放控制信息相匹配,则执行该预设的语音播放控制信息相应的语音播放控制操作。例如,假设根据用户的语音信息识别的文本信息为“暂停”,则浏览器客户端暂停正在播放的网页信息。

在本发明实施例中,由于规定了全局播读信息、局部播读信息以及通过预设标签对页面数据进行tts标记,改进了html标准规范使其支持tts标记,改进后的html标准规范可直接在html页面上应用,其可以对文本类标签进行tts可用的声明,并针对语音播读的全局播读信息及局部播读信息进行相应的标识。另外,本发明实施例在浏览器客户端发送的页面访问请求中携带tts引标识信息,以及在服务器返回的应答数据中携带tts标准版本号,在浏览器客户端与服务器之间的http应答协议中扩展字段,使扩展后的http协议能够支持浏览器客户端与服务器之间的tts标准版本的协商。

在本发明实施例中,浏览器客户端安装有tts引擎,浏览器客户端向服务器发送包括页面地址和tts标识信息的页面访问请求,接收服务器根据该页面访问请求返回的tts标准版本号及页面地址对应的tts页面数据,浏览器客户端根据tts标准版本号通过tts引擎对tts页面数据进行语音播读。本发明通过浏览器客户端安装的tts引擎对页面信息进行语音播读,在用户不方便通过眼睛浏览网页时,以及对于眼睛有生理缺陷的用户,都可以通过听觉来收听播读的页面信息,为用户浏览网页提供了一种基于听觉的便捷方式。

实施例2

参见图2,本发明实施例提供了一种浏览器客户端,该浏览器客户端用于执行上述语音播读网页信息的方法。该浏览器客户端安装有tts引擎,该浏览器客户端包括:

发送模块201,用于向服务器发送页面访问请求,页面访问请求包括页面地址和tts标识信息;

接收模块202,用于接收服务器根据页面访问请求返回的应答数据,应答数据包括服务器根据tts标识信息确定的tts标准版本号及页面地址对应的tts页面数据;

语音播读模块203,用于根据tts标准版本号通过tts引擎对tts页面数据进行语音播读。

上述语音播读模块203包括:获取单元、解析单元和播读单元。

获取单元,用于根据tts标准版本号获取对应的tts标准协议;解析单元,用于根据tts标准协议,从tts页面数据中解析出全局播读信息、局部播读信息及待播读数据;播读单元,用于通过tts引擎获取待播读数据对应的语音数据,并根据全局播读信息和局部播读信息播读语音数据。

上述播读单元包括:确定子单元、第一转换子单元和第二转换子单元。

确定子单元,用于确定tts引擎的引擎类型,引擎类型包括全功能引擎和精简引擎;第一转换子单元,用于当浏览器客户端安装的tts引擎的引擎类型为全功能引擎时,通过tts引擎调用本地语音库将待播读数据转换为语音数据;第二转换子单元,用于当浏览器客户端安装的tts引擎的引擎类型为精简引擎时,从服务器加载已录制语音资源数据,通过tts引擎调用加载的已录制语音资源数据将待播读数据转换为语音数据。

语音播读模块203中的解析单元包括:解析子单元、识别子单元和获取子单元。

解析子单元,用于根据tts标准协议,从tts页面数据的头部信息中解析出全局播读信息;识别子单元,用于从tts页面数据中识别预设标签对应的数据块,将识别的数据块确定为待播读数据;获取子单元,用于从识别的预设标签的开标签信息中获取局部播读信息。

在本发明实施例中,当tts引擎的引擎类型为全功能引擎,且语音播读模块203进行语音播读时,该浏览器客户端还包括播放控制模块。

该播放控制模块,用于采集用户的语音信息,并通过tts引擎将用户的语音信息识别为文本信息;若文本信息与预设的语音播放控制信息相匹配,则执行相应的语音播放控制操作。

在本发明实施例中,浏览器客户端安装有tts引擎,浏览器客户端向服务器发送包括页面地址和tts引标识信息的页面访问请求,接收服务器根据该页面访问请求返回的tts标准版本号及页面地址对应的tts页面数据,浏览器客户端根据tts标准版本号通过tts引擎对tts页面数据进行语音播读。本发明通过浏览器客户端安装的tts引擎对页面信息进行语音播读,在用户不方便通过眼睛浏览网页时,以及对于眼睛有生理缺陷的用户,都可以通过听觉来收听播读的页面信息,为用户浏览网页提供了一种基于听觉的便捷方式。

实施例3

参见图3,本发明实施例提供了一种服务器,该服务器用于执行上述实施例1提供的语音播读网页信息的方法。该服务器具体包括,

接收模块301,用于接收浏览器客户端发送的页面访问请求,页面访问请求包括页面地址和浏览器客户端的tts标识信息。

获取模块302,用于根据tts标识信息确定tts标准版本号,及根据页面地址和tts标识信息获取页面地址对应的tts页面数据。

上述tts标识信息包括浏览器客户端所支持的tts标准版本号和安装的tts引擎的引擎类型;获取模块302包括:加载单元和tts标记单元。

加载单元,用于根据页面地址加载对应的页面数据;tts标记单元,用于根据浏览器客户端所支持的tts标准版本号和引擎类型对页面数据进行tts标记,得到页面地址对应的tts页面数据。

获取模块302包括:查询单元和获取单元。

查询单元,用于根据tts标识信息和页面地址,查询本地缓存中是否存在对应的tts页面数据,若存在,则直接从本地缓存中获取tts页面数据;获取单元,用于当查询出本地缓存中不存在对应的tts页面数据时,根据页面地址加载对应的页面数据,根据浏览器客户端所支持的tts标准版本号和引擎类型对页面数据进行tts标记,得到页面地址对应的tts页面数据。

在本发明实施例中,该服务器还包括:存储模块,用于将tts标识信息、页面地址及tts页面数据存储到本地缓存中。

上述根据浏览器客户端所支持的tts标准版本号和引擎类型对页面数据进行tts标记时,确定子单元,用于根据浏览器客户端所支持的tts标准版本号,确定浏览器客户端所支持的tts标准版本标记集合;根据引擎类型,确定引擎类型对应的tts标记策略;添加子单元,用于根据tts标准版本标记集合和tts标记策略在页面数据的头部信息中添加全局播读信息;标记子单元,用于从页面数据中确定出需语音播读的数据块,根据tts标准版本标记集合和tts标记策略通过预设标签对数据块进行标记,并在预设标签的开标签信息中添加局部播读信息。

在本发明实施例中,tts标识信息还包括浏览器客户端所支持的tts标准版本号;获取模块302通过比较单元、第一确定单元和第二确定单元来确定tts标准版本号。

上述比较单元,用于将浏览器客户端所支持的tts标准版本号与自身支持的版本号进行比较;第一确定单元,用于当浏览器客户端所支持的tts标准版本号高于服务器支持的版本号时,将自身支持的版本号确定为tts标准版本号;第二确定单元,用于当浏览器客户端所支持的tts标准版本号低于或等于服务器支持的版本号时,将浏览器客户端所支持的tts标准版本号确定为tts标准版本号。

发送模块303,用于将tts页面数据及tts标准版本号作为应答数据发送给浏览器客户端,以使浏览器客户端根据tts标准版本号对tts页面数据进行语音播读。

在本发明实施例中,服务器还包括:

获取发送模块,用于判断页面访问请求中tts标识信息包括的tts引擎的引擎类型是否为精简引擎,当判断出引擎类型为精简引擎时,获取自身存储的语音资源数据,将语音资源数据发送给浏览器客户端;或者,

上述获取发送模块,还用于接收浏览器客户端发送的语音资源数据获取请求,获取自身存储的语音资源数据,将语音库发送给浏览器客户端。

在本发明实施例中,浏览器客户端安装有tts引擎,浏览器客户端向服务器发送包括页面地址和tts标识信息的页面访问请求,接收服务器根据该页面访问请求返回的tts标准版本号及页面地址对应的tts页面数据,浏览器客户端根据tts标准版本号通过tts引擎对tts页面数据进行语音播读。本发明通过浏览器客户端安装的tts引擎对页面信息进行语音播读,在用户不方便通过眼睛浏览网页时,以及对于眼睛有生理缺陷的用户,都可以通过听觉来收听播读的页面信息,为用户浏览网页提供了一种基于听觉的便捷方式。

在本申请所提供的几个实施例中,应该理解到,所揭露浏览器客户端、服务器和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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