一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种音频播放方法、装置及设备与流程

2022-02-21 04:26:48 来源:中国专利 TAG:


1.本发明涉及音频处理技术领域,具体涉及一种音频播放方法、装置及设备。


背景技术:

2.语音合成,能将任意文字信息实时转化为标准流畅的语音朗读出来,相当于给机器装上了人工嘴巴。它涉及声学、语言学、数字信号处理、计算机科学等多个学科技术,是中文信息处理领域的一项前沿技术,解决的主要问题就是如何将文字信息转化为可听的声音信息,也即让机器像人一样开口说话。
3.通常所说的“让机器像人一样开口说话”与传统的声音回放设备(系统)有着本质的区别。传统的声音回放设备(系统),如磁带录音机,是通过预先录制声音然后回放来实现“让机器说话”的。这种方式无论是在内容、存储、传输或者方便性、及时性等方面都存在很大的限制。而通过计算机语音合成则可以在任何时候将任意文本转换成具有高自然度的语音,从而真正实现让机器“像人一样开口说话”。
4.目前语音合成方法,如tts(text to speech,从文本到语音)的实现流程,至少存在如下问题:当网络不稳定时,播放会出现卡顿现象。


技术实现要素:

5.鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的音频播放方法、装置及设备。
6.根据本发明实施例的一个方面,提供了一种音频播放方法,应用于客户端,所述方法包括:
7.向服务器发送音频预合成请求;
8.接收所述服务器根据所述音频预合成请求下发的预合成音频的至少一个音频文件;
9.根据播放时延参数,在对应的定时时长内,按序逐一播放已经缓存的正确的所述至少一个音频文件,直至所述定时时长结束,所述播放时延参数所对应的定时时长根据预合成音频的估计播放时长确定。
10.根据本发明实施例的另一方面,提供了一种音频播放装置,应用于客户端,所述装置包括:
11.收发模块,用于向服务器发送音频预合成请求;接收所述服务器根据所述音频预合成请求下发的预合成音频的至少一个音频文件;
12.处理模块,用于根据播放时延参数,在对应的定时时长内,按序逐一播放已经缓存的正确的所述至少一个音频文件,直至所述定时时长结束,所述播放时延参数所对应的定时时长根据预合成音频的估计播放时长确定。
13.根据本发明实施例的又一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间
的通信;
14.所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述音频播放方法对应的操作。
15.根据本发明实施例的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述音频播放方法对应的操作。
16.根据本发明上述实施例提供的方案,音频播放方法应用于客户端,通过向服务器发送音频预合成请求;接收所述服务器根据所述音频预合成请求下发的预合成音频的至少一个音频文件;根据播放时延参数,在对应的定时时长内,按序逐一播放已经缓存的正确的所述至少一个音频文件,直至所述定时时长结束,所述播放时延参数所对应的定时时长根据预合成音频的估计播放时长确定,这样可以使得出现卡顿异常的音频文件,在播放时延参数所对应的定时时长内,播放已经缓存的该发生卡顿异常的音频文件,从而可以提升客户端音频播放的流畅性,由此解决了网络异常情况下语音合成的卡顿问题,提升客户端播放音频的流畅性。
17.上述说明仅是本发明实施例技术方案的概述,为了能够更清楚了解本发明实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本发明实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明实施例的具体实施方式。
附图说明
18.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明实施例的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
19.图1示出了本发明实施例提供的音频播放方法流程图;
20.图2示出了本发明另一实施例提供的音频播放方法的流程图;
21.图3示出了本发明实施例提供的音频播放装置的结构示意图;
22.图4示出了本发明实施例提供的计算设备的结构示意图。
具体实施方式
23.下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
24.本发明的下述实施例针对现有技术中语音合成方法中,在网络出现异常时,无法保证音频播放的流畅性的问题,提出一种音频播放方法,当音频文件播放异常时,根据播放时延参数,在该播放时延参数对应的定时时长内,播放已缓存的音频文件,保证音频播放的流畅,不出现卡顿现象。
25.图1示出了本发明实施例提供的音频播放方法的流程图。如图1所示,该方法包括以下步骤:
26.步骤11,向服务器发送音频预合成请求;
27.步骤12,接收所述服务器根据所述音频预合成请求下发的预合成音频的至少一个
音频文件;这里,预合成音频为一次音频预合成请求所请求的音频数据,比如,该一次音频预合成请求所请求的音频数据为一电子书的一段话,若一次音频预合成请求所请求的音频数据为一段话时,音频文件为该段话中的一句话;
28.步骤13,根据播放时延参数,在对应的定时时长内,按序逐一播放已经缓存的正确的所述至少一个音频文件,直至所述定时时长结束,所述播放时延参数所对应的定时时长根据预合成音频的估计播放时长确定。
29.该实施例,通过向服务器发送音频预合成请求;接收所述服务器根据所述音频预合成请求下发的预合成音频的至少一个音频文件;根据播放时延参数,在对应的定时时长内,按序逐一播放已经缓存的正确的所述至少一个音频文件,直至所述定时时长结束,从而可以提升客户端音频播放的流畅性。
30.本发明的一可选的实施例中,步骤12后,所述音频播放方法还可以包括:
31.步骤121,将所述至少一个音频文件按接收顺序存储至缓存中。
32.一种具体的实现实例中,客户端第一次向服务器发送携带文本的音频预合成请求,例如,目前合成能力标准是每次请求最大500个字符。
33.服务器收到客户端第一次合成请求后,按照文本中的句子/段落为单位,将文本合成为多个音频文件,将多个音频文件按顺序下发至客户端。
34.客户端按顺序接收一次合成的多个音频文件,并按顺序存储到本地客户端的缓存中。
35.客户端基于接收到的多个音频文件的缓存数据、本客户端设置的播放器的播放速度等参数,计算一次音频预合成请求的所有音频文件需要播放的时长(单位可以是毫秒)。
36.本发明的一可选的实施例中,步骤13可以包括:
37.步骤131,根据所述预合成音频的估计播放时长,获得所述播放时延参数;
38.具体实现时,根据所述缓存中第一个缓存的音频文件的接收时间作为所述预合成音频的起始播放时间,根据播放器的播放速度,估计所述至少一个音频文件的播放总时长,得到所述预合成音频的结束播放时间;
39.根据所述预合成音频的起始播放时间和所述结束播放时间,获得所述预合成音频的估计播放时长,将所述预合成音频的估计播放时长作为所述播放时延参数对应的时长;
40.步骤132,根据所述播放时延参数,的对应的定时时长内,按序逐一播放已经缓存的所述至少一个音频文件。
41.具体实现时,等待所述播放时延参数所对应的定时时长内,继续播放已经缓存的正确所述至少一个音频文件,直到所述播放延参数所对应的时长结束。
42.该实施例中,当客户端定位至接收到的第一个音频文件时,开始播放该音频文件;音频文件播放的同时启动时延参数定时器,该时延参数定时器的定时时长为播放时延参数所对应的时长,当播放异常时启动消息异步处理机制。这里,时延参数定时器的定时时长,等于一次音频预合成请求的所有音频文件在当前播放速率下的总播放时长。同时对外提供每一段预合成音频的序号、播放开始时间、播放结束时间、播放时长等字段信息。
43.当网络异常导致播放异常时,可能导致客户端缓存中存在根据多个预合成请求接收的多个预合成音频。此时客户端启动消息异步处理机制对缓存中的预合成音频进行处理,主要包括:收到网络异常提示或者有错误码生成时,不处理异常信息/错误码,仅将该信
息缓存至缓存,该缓存优选为内存的缓存。同时继续播放当前预合成音频,直到时延参数定时器计时结束后,上报错误码、网络异常信息和本次播放进度相关信息。客户端根据已播放完毕的预合成音频的文本、音频序号、音频时长等信息和时延参数相关数据,在缓存中筛选出一条正确的预合成音频进行播放。同时释放缓存的其他所有预合成音频。
44.上述网络异常的判断可以使用现有sdk(软件工具包)异常检测分发机制检测、网络异常提示、错误码生成等方面发现网络异常情况。
45.每一个预合成音频的播放均需播放至时延参数定时器计时完毕,当网络异常时,客户端启动消息异步处理机制之后,仅仅将异常/错误信息缓存,每个预合成音频在时延参数定时器结束之前均需要保持播放状态。
46.本发明的一可选的实施例中,所述播放延参数所对应的时长结束时,上述方法还可以包括:
47.步骤14,获得所述预合成音频的播放进度、播放异常信息和错误码;
48.步骤15,向所述服务器上报所述预合成音频的播放进度、播放异常信息和错误码。
49.该实施例中,每个预合成音频播放完毕、时延参数定时器结束后,上报错误码和本次播放进度相关数据。同时客户端根据已播放完毕预合成音频的文本、音频序号、音频时长等信息和播放开始时间、播放结束时间、播放时长数据,在内存缓冲中筛选出一条正确的预合成音频进行播放。预合成音频播放开始后,客户端将内存中剩余的预合成音频全部删除,根据当前播放的预合成音频的文本内容,再次发起下一个预合成请求,直至无网络异常上报,播放完当前的预合成音频后,关闭消息异步处理机制,恢复正常合成流程。
50.本发明的一可选的实施例中,音频播放方法,还可以包括:
51.步骤16,将缓存的错误的音频文件进行释放。以使得内存可以继续缓存下一个音频预合成请求的音频文件。
52.本发明的一可选的实施例中,音频播放方法中,将缓存的错误的音频文件释放后,还可以包括:
53.步骤17,根据所述预合成音频的播放进度确定下一个音频预合成请求的起始位置;
54.步骤18,根据所述下一个音频预合成请求的起始位置,向所述服务器发起下一音频预合成请求;
55.步骤19,接收所述服务器根据所述下一音频预合成请求下发的下一个预合成音频的至少一个音频文件。
56.该实施例中,客户端结合本次播放的预合成音频对应的文本内容、确定下一个预合成请求的开始位置,并发起下一个音频预合成请求。直至无网络异常情况,关闭消息异步处理机制。
57.下面结合图2所示的流程说明上方法的具体实现流程:
58.服务器根据客户的预合成请求,下发预合成音频;
59.当客户端开始播放收到的第一个音频文件后,立刻向服务端再次发送音频合成请求,进行预合成下一条预合成音频,服务器合成完毕按顺序将本次请求合成的多个音频文件下发至客户端,客户端接收后按顺序缓存至客户端内存中。
60.正常情况下在客户端接收到的第一个音频文件后,进行播放,同时启动定时器,时
延参数对应的时长计时完毕,整个预合成音频播放结束,继续播放下一个预合成音频。
61.发生异常时,客户端必须等待本次异常的时延参数计时完毕(继续播放完毕已经缓冲的音频文件)后,再上报错误码和播放进度信息。
62.客户端在上报错误码的同时,根据请求文本、音频序号、播放进度相关信息和时延参数,在缓存数据中选取正确的下一段预合成音频进行播放。
63.根据正确的下一段音频时延参数的时长将错误的缓存全部释放,并根据文本转语音tts合成机制开展下一段音频预合成操作。
64.本发明的上述实施例解决了网络异常情况下语音合成的播放流程中音频播放的卡顿问题,提升了客户端播放音频的流畅性。上述实施例所述的方案尤其对于长时间的语音合成能力使用场景,比如阅读听书、读新闻等场景下,可以大大提升用户感知度。
65.图3示出了本发明实施例提供的音频播放装置30的结构示意图。如图3所示,该装置30应用于客户端,包括:
66.收发模块31,用于向服务器发送音频预合成请求;接收所述服务器根据所述音频预合成请求下发的预合成音频的至少一个音频文件;
67.处理模块32,用于根据播放时延参数,在对应的定时时长内,按序逐一播放已经缓存的正确的所述至少一个音频文件,直至所述定时时长结束,所述播放时延参数所对应的定时时长根据预合成音频的估计播放时长确定。
68.可选的,所述收发模块31还用于将所述至少一个音频文件按接收顺序存储至缓存中。
69.可选的,根据播放时延参数,在对应的定时时长内,按序逐一播放已经缓存的所述至少一个音频文件,包括:
70.根据所述预合成音频的估计播放时长,获得所述播放时延参数;
71.根据所述播放时延参数,的对应的定时时长内,按序逐一播放已经缓存的所述至少一个音频文件。
72.可选的,根据预合成音频的估计播放时长,获得所述播放时延参数,包括:根据所述缓存中第一个缓存的音频文件的接收时间作为所述预合成音频的起始播放时间,根据播放器的播放速度,估计所述至少一个音频文件的播放总时长,得到所述预合成音频的结束播放时间;
73.根据所述预合成音频的起始播放时间和所述结束播放时间,获得所述预合成音频的估计播放时长,将所述预合成音频的估计播放时长作为所述播放时延参数。
74.可选的,所述处理模块32在所述播放延参数所对应的定时时长结束时,还用于:获得所述预合成音频的播放进度、播放异常信息和错误码;向所述服务器上报所述预合成音频的播放进度、播放异常信息和错误码。
75.可选的,所述处理模块32还用于将缓存的错误的音频文件进行释放。
76.可选的,所述收发模块31还用于:根据所述预合成音频的播放进度确定下一个音频预合成请求的起始位置;
77.根据所述下一个音频预合成请求的起始位置,向所述服务器发起下一音频预合成请求;
78.接收所述服务器根据所述下一音频预合成请求下发的下一个预合成音频的至少
一个音频文件。
79.需要说明的是,该装置是与上述方法对应的装置,上述方法实施例中的所有实现方式均适用于该装置的实施例中,也能达到相同的技术效果。
80.本发明实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的音频播放方法。
81.图4示出了本发明实施例提供的计算设备的结构示意图,本发明具体实施例并不对计算设备的具体实现做限定。
82.如图4所示,该计算设备可以包括:处理器(processor)、通信接口(communications interface)、存储器(memory)、以及通信总线。
83.其中:处理器、通信接口、以及存储器通过通信总线完成相互间的通信。通信接口,用于与其它设备比如客户端或其它服务器等的网元通信。处理器,用于执行程序,具体可以执行上述用于计算设备的音频播放方法实施例中的相关步骤。
84.具体地,程序可以包括程序代码,该程序代码包括计算机操作指令。
85.处理器可能是中央处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。
86.存储器,用于存放程序。存储器可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
87.程序具体可以用于使得处理器执行上述任意方法实施例中的音频播放方法。程序中各步骤的具体实现可以参见上述音频播放方法实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
88.在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明实施例的内容,并且上面对特定语言所做的描述是为了披露本发明实施例的最佳实施方式。
89.在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
90.类似地,应当理解,为了精简本发明实施例并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明实施例要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
91.本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
92.此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
93.本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的一些或者全部部件的一些或者全部功能。本发明实施例还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明实施例的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
94.应该注意的是上述实施例对本发明实施例进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明实施例可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献