一种文本转语音的处理方法、终端及服务器与流程

文档序号:25879793发布日期:2021-07-16 18:24阅读:426来源:国知局
一种文本转语音的处理方法、终端及服务器与流程

1.本申请涉及音频技术领域,尤其涉及一种文本转语音的处理方法、终端及服务器。


背景技术:

2.目前,文本到语音(text to speech,tts)技术成为人机对话的重要技术,实现了“让机器说话”的目的。tts技术的用途很广,包括电子邮件的阅读、语音助手、语音提示等等。
3.tts技术主要是将每个文字转换成对应的语音,然后将语音拼接(或称为合成)为音频流来播放。目前,语音合成主要包括离线合成和在线合成。离线合成可以由终端自行实现,但是需要终端内存储海量文字对应的语音。在线合成可以是服务器合成。具体来说,终端连接到服务器,将文本发送服务器,服务器将文本对应的音频合成音频流之后,将音频流发送给终端播放。
4.但是,在线合成过程中,服务器返回音频流的时间无法控制。例如,终端连接服务器之后,服务器合成音频流较慢,花费较长时间才返回音频流,导致终端播放音频的时延较长,影响用户体验。


技术实现要素:

5.本申请的目的在于提供了一种文本转语音的处理方法、终端以及服务器,用以降低终端播放语音的时延。
6.第一方面,提供一种文本转语音的处理方法,该方法可以由终端执行或者由终端中的芯片执行。该方法包括:检测到用于指示文本转语音的指令;将所述文本发送服务器;从所述服务器下载由所述文本转换而成的音频数据;判断预设时长内是否下载到首帧可以播放的音频数据;若预设时长内下载到首帧可以播放的音频数据,继续下载剩余的音频数据。
7.应理解,终端或服务器的网络质量动态变化,网络质量较好时,终端下载速度较快,网络质量较差时,可能下载速度较慢。在本申请实施例中,终端将文本发送服务器,以请求服务器实现文本转语音之后,终端从服务器下载语音数据。如果预设时长内下载了首帧可以播放的音频数据,则继续下载剩余的音频数据。否则在离线数据库中确定所述文本对应的音频信号,并将所述音频信号合成音频数据。因此,尽可能的缩短终端语音播放的时延,以避免用户输入文本转语音的指示之后,迟迟无法播放出语音的情况。
8.其中,所述首帧可以播放的音频数据可以为首次下载的包括预设长度的音频数据。或者,所述首帧可以播放的音频数据可以为首次下载的包括至少一帧完整音频的数据。
9.在本申请实施例中,终端与服务器约定压缩策略,例如预定服务器每次压缩的音频数据的数据长度相同,且为预设长度;还可以约定服务器每次压缩的音频数据中包括至少一帧完整的音频。这样的话,终端每次下载预设长度的音频数据,而且每次下载的音频数据都包括至少一帧完整的音频。也就是说,终端在预设时长内首次下载到预设长度的音频
数据,或者,首次下载到包括至少一帧完整音频的数据时,可以继续下载剩余音频数据,否则使用离线合成方式。因此,尽可能的缩短终端语音播放的时延,以避免用户输入文本转语音的指示之后,迟迟无法播放出语音的情况。
10.在一种可能的设计中,终端还可以:将下载的音频数据存储到缓存区域中;确定所述缓存区域内的音频数据的内存占用量达到门限时,播放所述首帧可以播放的音频数据。
11.应理解,缓存区域中存储的一定数量的音频数据,可以保证播放首帧可以播放的音频数据之后,继续播放下一帧音频数据,以确保首帧播放完毕,不卡顿。
12.在一些实施例中,终端播放所述首帧可以播放的音频数据,包括:将所述首帧可以播放的音频数据传递给解析器进行解析,得到解压后的音频数据;将经过解析器解析后的音频数据传递给解码器进行解码,得到预设音频格式的音频数据;将经过解码器解码后的音频数据传递给播放器播放。
13.需要说明的是,上述是终端从服务器下载了首帧可以播放的音频数据之后,将音频数据顺利播放的流程,在实际应用中,可以包括可以上述更多或很少的流程,本申请实施例不作限定。
14.在一些实施例中,从服务器下载的音频数据可以但不限于为opus格式。opus格式是低延时、高保真的语音编码格式,相对于其他的编码格式保真性较好。
15.第二方面,还提供一种文本转语音的处理方法,该方法可以由服务器执行或者由服务器中的处理芯片执行。该方法包括:接收终端发送的本文转语音的请求,所述请求中携带文本;将所述文本转换为音频数据;对所述音频数据进行压缩,每次压缩得到的音频数据的数据长度相同;向所述终端分别发送压缩后的语音数据。
16.在本申请实施例中,终端与服务器约定压缩策略,例如预定服务器使用静态压缩机制,例如每次压缩的音频数据的数据长度相同。还可以约定音频数据的数据长度为预设长度;还可以约定服务器每次压缩的音频数据中包括至少一帧完整的音频。这样的话,终端每次下载预设长度的音频数据,而且每次下载的音频数据都包括至少一帧完整的音频。也就是说,终端在预设时长内首次下载到预设长度的音频数据,或者,首次下载到包括至少一帧完整音频的数据时,可以继续下载剩余音频数据,否则使用离线合成方式。因此,尽可能的缩短终端语音播放的时延,以避免用户输入文本转语音的指示之后,迟迟无法播放出语音的情况。
17.在一种可能的设计中,所述每次压缩得到的音频数据的音频格式为可以但不限于opus格式。opus格式是低延时、高保真的语音编码格式,相对于其他的编码格式保真性较好。
18.其中,终端与服务器约定压缩策略可以有多种实现方式,包括但不限定于如下所述的方式1-方式3。
19.方式1,服务器确定使用静态压缩机制以及每次压缩的音频数据的数据长度之后,可以通知终端。例如,服务器向终端发送第一指示信息,例如,第一指示信息用于指示服务器使用的静态压缩机制且每次压缩的音频数据的数据长度为预设长度,例如为108字节。
20.方式2,终端可以要求服务器使用静态压缩机制,并要求每次压缩的音频数据的数据长度为预设长度。例如,终端向服务器发送第二指示信息,该第二指示信息用于指示服务器使用静态压缩机制,并指示服务器每次压缩的音频数据的数据长度为预设长度,例如为
108字节。
21.方式3,服务器生产商生成服务器时,默认设置服务器使用静态压缩机制,且每次压缩的音频数据的数据长度为预设长度;例如为108字节。终端下载音频流时,默认下载数据长度为预设长度的音频流。
22.上述方式可以使得终端与服务器约定的压缩策略更加灵活,可选择方式更多。
23.第三方面,本申请实施例还提供了一种终端,所述终端包括执行第一方面或者第一方面的任意一种可能的设计的方法的模块/单元;这些模块/单元可以通过硬件实现,也可以通过硬件执行相应的软件实现。
24.第四方面,本申请实施例还提供了一种服务器,所述服务器包括执行第二方面或者第二方面的任意一种可能的设计的方法的模块/单元;这些模块/单元可以通过硬件实现,也可以通过硬件执行相应的软件实现。
25.第五方面,还提供一种终端,包括:通信模块,用于与其他设备通信;一个或多个处理器;一个或多个存储器;所述一个或多个存储器中存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令,当所述指令被所述一个或多个处理器执行时,使得所述终端执行如上述第一方面提供的方法步骤。
26.第六方面,还提供一种服务器,包括:通信模块,用于与其他设备通信;一个或多个处理器;一个或多个存储器;所述一个或多个存储器中存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令,当所述指令被所述一个或多个处理器执行时,使得所述服务器执行如上述第二方面提供的方法步骤。
27.第七方面,本申请实施例提供一种芯片,所述芯片与终端中的存储器耦合,用于执行本申请实施例第一方面及其第一方面任一可能设计的技术方案;本申请实施例中“耦合”是指两个部件彼此直接或间接地结合。
28.第八方面,本申请实施例提供一种芯片,所述芯片与服务器中的存储器耦合,用于执行本申请实施例第二方面及其第二方面任一可能设计的技术方案;本申请实施例中“耦合”是指两个部件彼此直接或间接地结合。
29.第九方面,还提供一种通信系统,包括如上述第三方面或第五方面提供的终端以及如上述第四方面或第六方面提供的服务器。
30.第十方面,还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行如上述第一方面提供的方法。
31.第十一方面,还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行如上述第二方面提供的方法。
32.第十二方面,还提供一种程序产品,所述程序产品存储有计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行如上述第一方面提供的方法。
33.第十三方面,还提供一种程序产品,所述程序产品存储有计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行如上述第二方面提供的方法。
34.上述第三方面至第十三方面中每一方面可以达到的技术效果,具体请参照上述第一方面和第二方面中的相应设计的效果描述,这里不再重复赘述。
附图说明
35.图1为现有技术中文本转语音的流程示意图;
36.图2为本申请一实施例提供的系统架构的示意图;
37.图3为本申请一实施例提供的终端的结构示意图;
38.图4为本申请一实施例提供的文本转语音的流程示意图;
39.图5为本申请一实施例提供的动态压缩机制的示意图;
40.图6为本申请一实施例提供的文本转语音的另一流程示意图;
41.图7为本申请一实施例提供的缓存队列的示意图;
42.图8为本申请一实施例提供的一种装置的结构示意图;
43.图9为本申请一实施例提供的另一种装置的功能框图;
44.图10为本申请一实施例提供的又一种装置的结构示意图。
具体实施方式
45.下面将结合本申请以下实施例中的附图,对本申请实施例中的技术方案进行详尽描述。
46.以下,先对本申请实施例中涉及的部分用语进行解释说明,以便于本领域技术人员容易理解。
47.终端,诸如手机(mobile phone)、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,mid)、可穿戴设备(例如,手表、手环、智能头盔等),虚拟现实(virtual reality,vr)设备、增强现实(augmented reality,ar)设备、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本、个人数字助理(personal digital assistant,pda),工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等。本申请实施例提供的音频处理方法可以适用于上述任一种终端。
48.本申请实施例中,用于实现本申请实施例终端侧功能的装置可以是终端,也可以是能够支持实现该功能的装置,例如芯片系统,该装置可以被安装在终端中。
49.服务器,用于实现从文本到语音的转换,并将语音合成音频流,可以简称“tts服务器”。
50.本申请实施例中,用于实现本申请实施例服务器侧功能的装置可以是服务器,也可以是能够支持实现该功能的装置,例如芯片系统,该装置可以被安装在服务器中。
51.目前的音频在线合成可以由服务器执行。具体来说,终端连接到服务器,将文本发送服务器,服务器将文本对应的音频合成音频流之后,将音频流发送给终端播放。
52.图1示出了现有技术中终端实现文本转语音的过程的示意图。终端与服务器(例如,tts服务器)连接之后,至少经过如下5个环节实现音频播放。
53.1、终端从服务器下载音频流。2、将下载的音频流缓存到缓存区。缓存区的阈值为10m,即当缓存区缓存的音频流大于10m时,音频流进入下一个环节。3,解析器对音频流进行解析,例如对音频流解压、确定音频流包括的帧数等。4、解码器对经过解析后的音频流进行解码,得到脉冲编码调制(pulse code modulation,pcm)格式的音频流。5,pcm格式的音频流传递到播放器进行播放。
54.上述过程中,服务器返回音频流的时间无法控制。例如,终端成功连接服务器之后,服务器合成音频流较慢,花费较长时间才返回音频流,导致整体音频播放时延较长,影响用户体验。
55.鉴于此,本申请实施例提供一种文本转语音的处理方法。终端请求服务器在线合成语音,如果预设时长内返回了首帧可以播放的音频数据,可以继续使用在线合成方式。如果预设时长未返回首帧可以播放的音频数据,使用离线合成方式,以降低音频播放时延。
56.图2示出了本申请实施例提供的系统架构的一种示例的功能框图。如图2所示,终端包括应用侧和tts服务系统。其中,应用侧包括多个应用(application,简称app),例如,语音助手、微信、邮件等。tts服务系统服务用于实现文本转语音。
57.应用侧中的一个应用请求tts服务系统文本转语音。tts服务系统可以选择离线合成方式或在线合成方式。例如,tts服务系统优先选择在线合成方式,即tts服务系统向服务器侧发送连接请求,用于请求与服务器侧建立连接。若预设时长内能够与服务器成功连接,则使用在线合成方式,若预设时长内无法与服务器连接,则使用离线合成方式。
58.再例如,tts服务系统可以判断文本内容的大小,若文本内容较少,可以使用离线合成方式;若文本内容较大,可以使用在线合成方式。
59.再例如,tts服务系统优先使用离线合成方式,若终端内的离线数据库中不存在某个文本对应的语音时,再使用在线合成方式。
60.tts服务系统与服务器连接成功之后,可以向服务器发送文本。服务器确定文本对应的语音合成音频流之后,向tts服务系统发送音频流。tts服务系统将音频流发送给播放器(例如扬声器)播放。或者,tts服务系统在离线数据库中确定出了全部或部分文本对应的语音后,将确定出的语音发送给服务器,由服务器进行语音合成。
61.在一些实施例中,服务器在线合成的过程中,若服务器网络较差,终端可以转离线合成方式。例如,服务器在线合成的过程中,网络差而导致连接中断时,可以向终端发送用于指示网络中断的错误码。终端接收到该错误码后,可以转离线合成。
62.在另一些实施例中,用于语音合成的服务器可以不止一个。以两个为例,一个是主服务器,另一个是备用服务器。终端在第一预设时长内成功连接到主服务器时,通过主服务器进行在线合成。若第一预设时长内未成功连接到主服务器,则连接备用服务器,若第二预设时长内成功连接到备用服务器,通过该备用服务器进行在线合成。若第二预设时长内连接备用服务器失败,则再使用离线合成方式。
63.其中,应用侧中的一个应用请求tts服务系统文本转语音可以包括多种情况。例如,以语音助手为例,语音助手收到用户输入的声音信号,该声音信号为“打开微信”。tts服务系统确定该声音信号对应的响应信号,例如响应信号为“已为您打开微信”,tts服务系统将“已为您打开微信”的文本合成为语音。再例如,以今日头条为例。今日头条应用检测到用于指示文本转语音的指令后,向tts服务系统请求tts服务系统文本转语音,实现语音播放
新闻。
64.在另一些实施例中,应用侧中的应用请求tts服务系统进行文本转语音之前,可以登录到tts服务系统。例如,应用向tts服务系统发送登录信息,所述登录信息可以包括应用的名称、应用当前登录的账号、密码等信息。tts服务系统基于所述登录信息对应用进行鉴权,例如判断登录信息与预存的登录信息是否一致,若一致,则同意登录到tts服务系统,并进行文本转语音;若不一致,则拒绝登录到tts服务系统。若鉴权失败,应用可以转离线合成,以确保顺利执行语音合成。
65.图3示出了本申请实施例提供的终端的一种示例的结构示意图。如图3所示,终端100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,usb)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,sim)卡接口195等。
66.处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,ap),调制解调处理器,图形处理器(graphics processing unit,gpu),图像信号处理器(image signal processor,isp),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器(neural-network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。其中,控制器可以是终端100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
67.usb接口130是符合usb标准规范的接口,具体可以是mini usb接口,micro usb接口,usb type c接口等。usb接口130可以用于连接充电器为终端100充电,也可以用于终端100与外围设备之间传输数据。充电管理模块140用于从充电器接收充电输入。电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。
68.终端100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。天线1和天线2用于发射和接收电磁波信号。终端100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
69.移动通信模块150可以提供应用在终端100上的包括2g/3g/4g/5g等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,lna)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调
制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
70.无线通信模块160可以提供应用在终端100上的包括无线局域网(wireless local area networks,wlan)(如无线保真(wireless fidelity,wi-fi)网络),蓝牙(bluetooth,bt),全球导航卫星系统(global navigation satellite system,gnss),调频(frequency modulation,fm),近距离无线通信技术(near field communication,nfc),红外技术(infrared,ir)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
71.在一些实施例中,终端100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得终端100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,gsm),通用分组无线服务(general packet radio service,gprs),码分多址接入(code division multiple access,cdma),宽带码分多址(wideband code division multiple access,wcdma),时分码分多址(time-division code division multiple access,td-scdma),长期演进(long term evolution,lte),bt,gnss,wlan,nfc,fm,和/或ir技术等。所述gnss可以包括全球卫星定位系统(global positioning systemo,gps),全球导航卫星系统(global navigation satellite system,glonass),北斗卫星导航系统(beidou navigation satellite system,bds),准天顶卫星系统(quasi-zenith satellite system,qzss)和/或星基增强系统(satellite based augmentation systems,sbas)。
72.显示屏194用于显示应用的显示界面等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,lcd),有机发光二极管(organic light-emitting diode,oled),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,amoled),柔性发光二极管(flex light-emitting diode,fled),miniled,microled,micro-oled,量子点发光二极管(quantum dot light emitting diodes,qled)等。在一些实施例中,终端100可以包括1个或n个显示屏194,n为大于1的正整数。
73.终端100可以通过isp,摄像头193,视频编解码器,gpu,显示屏194以及应用处理器等实现拍摄功能。
74.isp用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给isp处理,转化为肉眼可见的图像。isp还可以对图像的噪点,亮度,肤色进行算法优化。isp还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,isp可以设置在摄像头193中。
75.摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,ccd)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,cmos)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给isp转换成数字图像信号。isp将数字图像信号输出到dsp
加工处理。dsp将数字图像信号转换成标准的rgb,yuv等格式的图像信号。在一些实施例中,终端100可以包括1个或n个摄像头193,n为大于1的正整数。在一些示例中,所述1个或n个摄像头193中可以包括至少一个广角摄像头,广角摄像头用于采集具有大视场角的图像。
76.数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当终端100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
77.视频编解码器用于对数字视频压缩或解压缩。终端100可以支持一种或多种视频编解码器。这样,终端100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,mpeg)1,mpeg2,mpeg3,mpeg4等。
78.npu为神经网络(neural-network,nn)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过npu可以实现终端100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
79.内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行终端100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,以及至少一个应用程序(例如爱奇艺应用,微信应用等)的软件代码等。存储数据区可存储终端100使用过程中所产生的数据(例如图像、视频等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,ufs)等。
80.外部存储器接口120可以用于连接外部存储卡,例如micro sd卡,实现扩展终端的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将图片,视频等文件保存在外部存储卡中。
81.终端100可以通过音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,以及应用处理器等实现音频功能。例如音乐播放,录音等。
82.其中,传感器模块180可以包括压力传感器180a,陀螺仪传感器180b,气压传感器180c,磁传感器180d,加速度传感器180e,距离传感器180f,接近光传感器180g,指纹传感器180h,温度传感器180j,触摸传感器180k,环境光传感器180l,骨传导传感器180m等。
83.压力传感器180a用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180a可以设置于显示屏194。陀螺仪传感器180b可以用于确定终端100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180b确定终端100围绕三个轴(即,x,y和z轴)的角速度。
84.陀螺仪传感器180b可以用于拍摄防抖。气压传感器180c用于测量气压。在一些实施例中,终端100通过气压传感器180c测得的气压值计算海拔高度,辅助定位和导航。磁传感器180d包括霍尔传感器。终端100可以利用磁传感器180d检测翻盖皮套的开合。在一些实施例中,当终端100是翻盖机时,终端100可以根据磁传感器180d检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。加速度传感器180e可检测终端100在各个方向上(一般为三轴)加速度的大小。当终端100静止时可检测出重力的大小及方向。还可以用于识别终端100姿态,应用于横竖屏切换,计步器等应用。
85.距离传感器180f,用于测量距离。终端100可以通过红外或激光测量距离。在一些
实施例中,拍摄场景,终端100可以利用距离传感器180f测距以实现快速对焦。接近光传感器180g可以包括例如发光二极管(led)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。终端100通过发光二极管向外发射红外光。终端100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定终端100附近有物体。当检测到不充分的反射光时,终端100可以确定终端100附近没有物体。终端100可以利用接近光传感器180g检测用户手持终端100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180g也可用于皮套模式,口袋模式自动解锁与锁屏。
86.环境光传感器180l用于感知环境光亮度。终端100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180l也可用于拍照时自动调节白平衡。环境光传感器180l还可以与接近光传感器180g配合,检测终端100是否在口袋里,以防误触。指纹传感器180h用于采集指纹。终端100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
87.温度传感器180j用于检测温度。在一些实施例中,终端100利用温度传感器180j检测的温度,执行温度处理策略。例如,当温度传感器180j上报的温度超过阈值,终端100执行降低位于温度传感器180j附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,终端100对电池142加热,以避免低温导致终端100异常关机。在其他一些实施例中,当温度低于又一阈值时,终端100对电池142的输出电压执行升压,以避免低温导致的异常关机。
88.触摸传感器180k,也称“触控面板”。触摸传感器180k可以设置于显示屏194,由触摸传感器180k与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180k用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180k也可以设置于终端100的表面,与显示屏194所处的位置不同。
89.骨传导传感器180m可以获取振动信号。在一些实施例中,骨传导传感器180m可以获取人体声部振动骨块的振动信号。骨传导传感器180m也可以接触人体脉搏,接收血压跳动信号。
90.按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。终端100可以接收按键输入,产生与终端100的用户设置以及功能控制有关的键信号输入。马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。sim卡接口195用于连接sim卡。sim卡可以通过插入sim卡接口195,或从sim卡接口195拔出,实现与终端100的接触和分离。
91.可以理解的是,图2所示的部件并不构成对终端100的具体限定,手机还可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。此外,图2中的部件之间的组合/连接关系也是可以调整修改的。
92.下面结合图2所示的终端100的结构,对本发明实施例进行详细阐述。以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所
述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本申请实施例中,“一个或多个”是指一个、两个或两个以上;“和/或”,描述关联对象的关联关系,表示可以存在三种关系;例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b的情况,其中a、b可以是单数或者复数。字符“以是一般表示前后关联对象是一种“或”的关系。
93.在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
94.以上实施例中所用,根据上下文,术语“当

时”或“当

后”可以被解释为意思是“如果
…”
或“在

后”或“响应于确定
…”
或“响应于检测到
…”
。类似地,根据上下文,短语“在确定

时”或“如果检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定
…”
或“响应于确定
…”
或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。另外,在上述实施例中,使用诸如第一、第二之类的关系术语来区份一个实体和另一个实体,而并不限制这些实体之间的任何实际的关系和顺序。
95.图4示出了本申请实施例提供的文本转语音的处理方法的一种示例的流程示意图。如图4所示,该方法的流程包括:
96.400,终端与服务器约定压缩策略。
97.其中,压缩策略包括静态压缩机制(constents bitrate,cbr),所谓静态压缩机制即每次压缩的音频数据的数据长度相同;所述数据长度可以理解为数据所占的字节、比特数等,例如数据长度为108字节。
98.所述压缩策略还可以包括每次压缩的音频数据中包括至少一帧完整的音频。这里一帧完整的音频是指每次压缩的音频数据中包括一帧完整的音频对应的帧头和帧尾。
99.所述压缩策略还可以包括每次压缩的音频数据的数据长度为预设长度。所述预设长度可以是事先确定好的,例如通过如下公式确定的:
100.数据长度=((每帧的采样数/8)*比特率)/采样率;
101.其中,每帧的采样数为从一帧完整音频中采样的数据;采样率即采样频率可以理解为每秒钟采样的数据,通常,采样频率越高声音的还原越真实。比特率可以理解为每秒传输比特数,又称数据传输速率。在一些实施例中,比特率/采样率可以是预设值。或者,与声音音质相关,例如音质较好,比特率/采样率较高,音质较差,比特率/采样率较低。因此,终端可以基于播放器的声音音质确定比特率/采样率,然后通过上述公式确定所述预设长度,即每次压缩音频数据的数据长度的大小。
102.这里所述的“约定”可以有多种实现方式,包括但不限定于如下所述的方式1-方式3。
103.方式1,服务器确定使用静态压缩机制以及每次压缩的音频数据的数据长度之后,可以通知终端。例如,服务器向终端发送第一指示信息,例如,第一指示信息用于指示服务器使用的静态压缩机制且每次压缩的音频数据的数据长度为预设长度,例如为108字节。
104.方式2,终端可以要求服务器使用静态压缩机制,并要求每次压缩的音频数据的数据长度为预设长度。例如,终端向服务器发送第二指示信息,该第二指示信息用于指示服务器使用静态压缩机制,并指示服务器每次压缩的音频数据的数据长度为预设长度,例如为108字节。
105.方式3,服务器生产商生成服务器时,默认设置服务器使用静态压缩机制,且每次压缩的音频数据的数据长度为预设长度;例如为108字节。终端下载音频流时,默认下载数据长度为预设长度的音频流。
106.可以理解的是,终端播放音频流时,是以帧为单位播放。通常,音频流中会标识每一帧的帧头(或称为码头)和帧尾(或称为码尾)。终端解析音频流中每帧的帧头和帧尾,然后一帧一帧播放。
107.服务器和终端约定每次压缩的音频数据的数据长度相同且为预设长度,且所述数据长度中包括至少一帧完整的音频,即包括至少一帧音频对应的帧头和帧尾。因此,终端下载音频流时,可以以约定好的数据长度下载。
108.举例来说,假设约定好的数据长度是108字节,那么服务器每次压缩的音频数据的数据长度为108字节,终端每次下载108个字节的音频数据,该108个字节的音频数据中包括至少一帧完整的音频,即包括至少一帧音频对应的帧头和帧尾。因此,终端每次下载的108字节的音频数据都是可以播放的音频流,因为所述108字节的音频数据中包括至少一帧完整的音频。
109.需要说明的是,现有技术中,服务器使用动态压缩机制(variable bitrate,vbr),所谓动态压缩机制即每次压缩的音频数据的数据长度不相同。例如,服务器压缩后的音频数据包括2个压缩包,一个压缩包的音频数据的长度为100k,另一个压缩包的音频数据的长度为60k。由于动态压缩音频数据长度不固定,一个压缩包中包含的音频数据可能小于一帧,例如不包括一帧完整的音频,例如,仅包括一帧音频的帧头但是不包括帧尾。图5示出了动态压缩机制的示意图。假设服务器压缩的音频数据包括两个压缩包,第一个压缩包包括100k,第二个压缩包包括60k。第一个压缩包以及第二压缩包中的前40k属于1帧完整的音频。那么,终端仅接收到第一个压缩包时,是无法播放的。
110.因此,现有技术中,终端每次下载到压缩包后,需要通过解析器解析压缩包中是否包括至少1帧完整的音频,若是,则播放音频数据。在解析器解析压缩包之前,无法确定该压缩包是否可以播放。
111.在本申请实施例中,终端与服务器约定每次压缩的音频数据(即每次压缩得到的压缩比)的数据长度相同,且为预设长度(例如108字节),且所述数据长度包括至少一帧完整音频,即包括至少一帧音频对应的帧头和帧尾。因此,终端每次下载预设长度(例如108字节)的音频数据,所以每次下载的音频数据都是可以播放的,因为每次下载的音频数据中包括至少一帧完整音频。也就是说,终端每次下载压缩后的音频数据之后,无需等到解析器对其进行解析,也可以确定该音频数据是可以播放的。
112.401,终端检测到文本转语音请求。
113.示例性的,终端中可以包括tts服务系统。终端中的不同应用可以调用tts服务系统,以请求文本向语音的转换。其中,不同应用可以包括语音助手、微信等。因此,上述的用于发起文本转语音请求可以是应用调用tts服务系统的请求。例如,以语音助手为例,用户
发出“你好,华为,帮我打开微博”的声音信号。终端检测到该声音信号之后,调用tts服务系统,以通过tts服务系统实现本文到语音的转换,然后输出“已打开微博”的语音信息。
114.402,终端启动计时器,开始计时。
115.应理解,终端检测到用于发起文本转语音的请求后,可以启动计时器。
116.403,终端向服务器发送需要转换的文本。
117.403和402可以同时执行,或不同时执行,二者的执行顺序不作限定。
118.可以理解的是,403之前还可以包括终端与服务器连接的过程。终端与服务器之间的连接例如,ip连接、tcp连接等,本申请实施例不作限定。
119.404,服务器基于接收到的文本进行语音转换,并基于约定的压缩策略压缩转换得到的音频数据。该音频数据的格式例如可以为opus格式。
120.如前文所述,终端与服务器约定每次压缩的音频数据的数据长度相同,且所述数据长度包括至少一帧完整的音频,即包括至少一帧音频对应的帧头和帧尾。例如,约定的数据长度为108个字节,则服务器每次压缩的音频数据包括108个字节,该108个字节中包括至少一帧完整的音频。
121.405,终端下载音频数据。
122.假设约定的数据长度为108个字节,则终端每次下载108个字节的音频数据,该108个字节中包括至少一帧完整的音频。
123.406,终端判断在计时器的计时达到阈值之前,是否下载到首帧可以播放的音频数据;若否,执行407,若是,执行408。
124.其中,阈值可以事先设置好的,例如终端出厂之前默认设置好的,或者,也可以是用户自定义的,例如可以是1.5s,本申请实施例不作限定。
125.如前文所述,终端与服务器约定每次压缩的音频数据的数据长度相同且为预设长度,且所述数据长度包括至少一帧完整的音频,即包括至少一帧音频对应的帧头和帧尾。因此,终端每次下载预设长度的音频数据可以播放的音频数据。
126.因此,所述首帧可以播放的音频数据包括终端首次下载的预设长度(例如,108字节)的音频数据。或者,所述首帧可以播放的音频数据为首次下载的包括至少一帧完整音频的数据,或者,所述首帧可以播放的音频数据为首次下载的包括至少一帧完整音频对应的帧头和帧尾的数据。
127.以预设长度为108字节为例,终端判断是否下载到首帧可以播放的音频数据可以包括:判断是否下载了108个字节。假设在计时器阈值(例如1.5s)达到之前,成功下载了108个字节,即下载了首帧可以播放的音频数据。因此,终端可以继续下载剩余音频数据。假设在1.5s之前,未成功下载108个字节,就放弃在线合成方式,而使用离线合成方式。
128.407,终端采用离线合成机制。
129.若计时器阈值达到之前,终端未下载到首帧可以播放的音频数据,可以使用离线合成机制。其中,离线合成机制可以是终端从离线数据库中确定文本对应的语音,然后将语音合成音频数据。离线数据库可以事先存储在终端中。
130.408,终端继续下载音频数据。
131.若计时器阈值达到之前,终端下载了首帧可以播放的音频数据,可以继续下载音频数据。此时,终端可以选择关闭计时器。
132.因此,本申请实施例中,终端向服务器发送文本之后,若在预设时长内未下载到首帧可以播放的音频数据,则转离线合成,以降低终端音频播放时延。
133.在另一些实施例中,步骤408之后还可以包括如图6所示的409-410。
134.409,终端缓存音频数据。
135.410,终端确定缓存的音频数据达到上限时,将下载的首帧可以播放的音频数据传递到解析器进行解析。其中,所述上限例如为1m,5m等,本申请实施例不作限定。
136.图7示出了本申请实施例提供的缓存队列的示意图。该缓存队列的上限(或称为门限)为1m,当达到该上限时,下载的首帧可以播放的音频数据(例如,首次下载的108字节的音频数据)传递到解析器。之后,终端继续下载音频数据存储到缓存队列中,该缓存队列有助于音频无卡顿的播放。
137.需要说明的是,本申请实施例中缓存的上限设置相对较低(小于现有技术中的10m),可以保证音频数据尽快的传递到解析器进行解析。
138.可以理解的是,解析器对音频数据进行解析的过程例如,对音频数据进行解压(从服务器下载的音频数据是压缩后的音频数据)、解析音频数据中的帧头、帧尾等,以便播放器识别帧头和帧尾。
139.411,解码器对经过解析的音频数据进行解码,得到预设音频格式的音频数据。可以理解的是,解码器对音频数据的解码过程可以理解为对音频数据进行格式转换的过程,例如将音频数据的格式转换为可以播放的音频格式,例如,pcm格式。
140.412,终端将经过解码的音频数据传递到播放器进行播放。
141.如图8所示,本申请另外一些实施例公开了一种装置800,该装置可以是上文所述的终端,该装置800可以具有音频输出接口805,比如扬声器等。该电子设备还可以包括通信接口801:一个或多个处理器802,一个或多个存储器803;一个或多个计算机程序804;上述各器件可以通过一个或多个通信总线806连接。当然,电子设备还可以包括显示屏等其它器件。
142.其中,一个或多个计算机程序804被存储在上述存储器803中,并被配置为被该一个或多个处理器802执行,该一个或多个计算机程序804包括指令,上述指令可以用于执行如图4对应实施例中终端的各个步骤。
143.示例性的,图8所示的电子设备可以是图4所示的手机。这样的话,一个或多个处理器802可以是处理器110,音频输出接口805可以是扬声器,一个或多个存储器803可以是内部存储器121。
144.如图9所示,本申请另外一些实施例公开了一种装置900,装置900可以是上文中的服务器,也可以是服务器中的装置,例如芯片系统。芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
145.装置900包括处理单元901和通信单元902。通信单元902,用于接收终端发送的本文转语音的请求,所述请求中携带文本;处理单元901,用于将所述文本转换为音频数据;对所述音频数据进行压缩,每次压缩得到的音频数据的数据长度相同;通信单元902,还用于向所述终端分别发送压缩后的语音数据。
146.所述处理单元901每次压缩得到的音频数据的数据长度可以为预设长度。或者所述处理单元901每次压缩得到的音频数据中可以包括至少一帧完整的音频。可选的,通信单
元902还可以通知所述终端所述服务器每次压缩的音频数据的数据长度。
147.此外,所述处理单元901每次压缩得到的音频数据的音频格式可以但不限于为opus格式。
148.关于处理单元901、通信单元902的具体执行过程以及方案可以达到的技术效果,可参见上方法实施例中的记载。本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
149.如图10所示,本申请另外一些实施例公开了一种装置1000,装置1000可以是上文中的服务器,也可以是服务器中的装置,例如芯片系统。芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
150.装置1000可以包括通信接口1001:一个或多个处理器1002,一个或多个存储器1003;一个或多个计算机程序1004;上述各器件可以通过一个或多个通信总线1006连接。通信接口1001用于通过传输介质和其它设备进行通信。一个或多个计算机程序1004被存储在上述存储器1003中,并被配置为被该一个或多个处理器1002执行,该一个或多个计算机程序1004包括指令,上述指令可以用于执行如图4对应实施例中服务器的各个步骤。
151.通信接口1001可以是收发器、电路、总线、模块或其它类型的通信接口。处理器1002可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。存储器1003可以是非易失性存储器,比如硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd)等,还可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,ram)。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器还可以是电路或者其它任意能够实现存储功能的装置。存储器1003和处理器1002耦合。本申请实施例中的耦合是装置、单元或模块之间的间隔耦合或通信连接,可以是电性,机械或其它的形式,用于装置、单元或模块之间的信息交互。作为另一种实现,存储器1003还可以位于装置1000之外。处理器1002可以和存储器1003协同操作。处理器1002可以执行存储器1003中存储的程序指令。所述至少一个存储器1003中的至少一个也可以包括于处理器1002中。本申请实施例中不限定上述通信接口1001、处理器1002以及存储器1003之间的连接介质。例如,本申请实施例在图10中以存储器1003、处理器1002以及通信接口1001之间可以通过总线连接,所述总线可以分为地址总线、数据总线、控制总线等。
152.可以理解的,上述图9所示实施例中的装置可以以图10所示的装置1000实现。具体的,处理单元901可以由处理器1002实现,通信单元902可以由通信接口1001实现。
153.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序
产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
154.需要指出的是,本专利申请文件的一部分包含受著作权保护的内容。除了对专利局的专利文件或记录的专利文档内容制作副本以外,著作权人保留著作权。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1