语音消息的处理方法、装置、设备及存储介质与流程

文档序号:25991690发布日期:2021-07-23 21:03阅读:61来源:国知局
语音消息的处理方法、装置、设备及存储介质与流程

本申请实施例涉及计算机技术领域,特别涉及一种语音消息的处理方法、装置、设备及存储介质。



背景技术:

随着智能终端技术的快速发展,应用程序的种类越来越多,功能也趋于多样化。目前,大部分即时通讯类应用程序已支持语音消息功能,以便于用户的终端通过该语音消息功能向其他用户的终端发送语音消息或接收其他用户的终端发送的语音消息。终端可以对语音消息进行处理,得到待播放的音频数据,然后基于待播放的音频数据对语音消息进行播放。

相关技术在处理语音消息的过程中,终端对语音消息中的各个音频帧依次进行解码处理,得到各个音频帧对应的音频数据,然后将各个音频帧对应的音频数据均作为待播放的音频数据。

在实现本申请的过程中,发明人发现相关技术至少存在以下问题:

相关技术中,将各个音频帧对应的音频数据均作为待播放的音频数据,使得语音消息的播放时长与语音消息的录制时长相同,语音消息的播放过程耗时较长,语音消息的处理效果较差。



技术实现要素:

本申请实施例提供了一种语音消息的处理方法、装置、设备及存储介质,可用于提高语音消息的处理效果。所述技术方案如下:

一方面,本申请实施例提供了一种语音消息的处理方法,所述方法包括:

获取第一音频数据和第一参考数量个连续的第二音频数据,所述第一音频数据对应语音消息中当前待处理的第一音频帧,所述第一参考数量个连续的第二音频数据对应第二音频帧,所述第二音频帧为所述语音消息中位于所述第一音频帧之后的连续音频帧;

基于所述第一音频数据和所述第二音频数据,确定所述第一音频帧的有效性;

响应于所述第一音频帧无效,确定所述语音消息中位于所述第一音频帧之后的音频帧的有效性,直至得到有效的音频帧,获取与所述有效的音频帧对应的待播放音频数。

另一方面,提供了一种语音消息的处理装置,所述装置包括:

第一获取模块,用于获取第一音频数据和第一参考数量个连续的第二音频数据,所述第一音频数据对应语音消息中当前待处理的第一音频帧,所述第一参考数量个连续的第二音频数据对应第二音频帧,所述第二音频帧为所述语音消息中位于所述第一音频帧之后的连续音频帧;

确定模块,用于基于所述第一音频数据和所述第二音频数据,确定所述第一音频帧的有效性;

所述确定模块,还用于响应于所述第一音频帧无效,确定所述语音消息中位于所述第一音频帧之后的音频帧的有效性,直至得到有效的音频帧;

第二获取模块,用于获取与所述有效的音频帧对应的待播放音频数据。

在一种可能实现方式中,所述第二获取模块,还用于将所述第一音频数据和所述目标音频数据进行拼接处理,得到拼接处理后的音频数据,将所述拼接处理后的音频数据作为与所述第一音频帧对应的待播放音频数据。

在一种可能实现方式中,所述第二获取模块,还用于将所述目标音频数据中的第一采样点集和所述第一音频数据中的第二采样点集进行加窗处理,得到第三采样点集,所述第一采样点集包括所述目标音频数据中位于末尾部分的第二参考数量个采样点,所述第二采样点集包括所述第一音频数据中位于起始部分的第二参考数量个采样点;

基于所述第三采样点集,对所述第一音频数据和所述目标音频数据进行拼接,得到拼接处理后的音频数据。

在一种可能实现方式中,所述确定模块,用于获取所述第一音频数据对应的检测结果和各个第二音频数据对应的检测结果,任一音频数据对应的检测结果用于指示所述任一音频数据是否为语音信号数据;基于所述第一音频数据对应的检测结果和所述各个第二音频数据对应的检测结果,确定所述第一音频帧的有效性。

在一种可能实现方式中,所述确定模块,用于响应于所述第一音频数据对应的检测结果和所述各个第二音频数据对应的检测结果满足无效条件,确定所述第一音频帧无效;响应于所述第一音频数据对应的检测结果和所述各个第二音频数据对应的检测结果不满足所述无效条件,确定所述第一音频帧有效。

在一种可能实现方式中,所述第一音频数据对应的检测结果和所述各个第二音频数据对应的检测结果满足无效条件,包括:所述第一音频数据对应的检测结果指示所述第一音频数据为非语音信号数据,所述各个第二音频数据对应的检测结果指示所述各个第二音频数据均为非语音信号数据。

在一种可能实现方式中,所述第一参考数量个连续的第二音频数据包括第一部分第二音频数据和第二部分第二音频数据,所述第一部分第二音频数据对应所述第二音频帧中除最后一个音频帧外的其他音频帧,所述第二部分第二音频数据对应所述第二音频帧中最后一个音频帧;所述第一获取模块,用于从缓存中提取所述第一音频数据和所述第一部分第二音频数据;对所述第二音频帧中最后一个音频帧的码流进行解码处理,得到所述第二部分第二音频数据。

在一种可能实现方式中,所述第一获取模块,用于对所述第一音频帧的码流进行解码处理,得到所述第一音频数据;对所述第二音频帧中的各个音频帧的码流分别进行解码处理,得到所述第一参考数量个连续的第二音频数据。

另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行,以实现上述任一所述的语音消息的处理方法。

另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以实现上述任一所述的语音消息的处理方法。

本申请实施例提供的技术方案至少带来如下有益效果:

根据第一音频数据和第二音频数据,确定第一音频帧的有效性,当第一音频帧无效时,确定之后的音频帧的有效性,直至得到有效的音频帧,获取与有效的音频帧对应的待播放音频数据。在此种语音消息的处理过程中,仅获取与有效的音频帧对应的待播放音频数据,此种方式可以在基于待播放音频数据对语音消息进行播放的过程中,既保证播放质量,又有效缩短播放耗时,语音消息的处理效果较好。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种语音消息的处理方法的实施环境的示意图;

图2是本申请实施例提供的一种语音消息的处理方法的流程图;

图3是本申请实施例提供的一种汉宁窗函数的示意图;

图4是本申请实施例提供的一种语音消息的处理过程的示意图;

图5是本申请实施例提供的一种对第一音频帧进行处理的过程的示意图;

图6是本申请实施例提供的一种语音消息的处理装置的示意图;

图7是本申请实施例提供的一种语音消息的处理设备的结构示意图;

图8是本申请实施例提供的一种计算机设备的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

随着智能终端技术的快速发展,应用程序的种类越来越多,功能也趋于多样化。目前,大部分即时通讯类应用程序已支持语音消息功能,以便于用户的终端通过该语音消息功能向其他用户的终端发送语音消息或接收其他用户的终端发送的语音消息。终端可以对即时通讯过程中的语音消息进行处理,得到待播放的音频数据,然后基于待播放的音频数据对即时通讯过程中的语音消息进行播放。

对此,本申请实施例提供了一种语音消息的处理方法,请参考图1,其示出了本申请实施例提供的语音消息的处理方法的实施环境的示意图。该实施环境可以包括:终端11和服务器12。

其中,终端11安装有支持语音消息功能的即时通讯类应用程序,终端11可以基于该应用程序发送或接收语音消息。终端11在对即时通讯过程中的语音消息进行播放之前,可以利用本申请实施例提供的方法对即时通讯过程中的语音消息进行处理,得到待播放的音频数据。服务器12可以是指支持语音消息功能的即时通讯类应用程序的后台服务器,能够为终端11中安装的应用程序提供数据支持。

在一种可能实现方式中,终端11可以是诸如手机、平板电脑、个人计算机等的智能设备。服务器12可以是一台服务器,也可以是由多台服务器组成的服务器集群,或者是一个云计算服务中心。终端11与服务器12通过有线或无线网络建立通信连接。

本领域技术人员应能理解上述终端11和服务器12仅为举例,其他现有的或今后可能出现的终端或服务器如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

基于上述图1所示的实施环境,本申请实施例提供一种语音消息的处理方法,以该方法应用于终端为例。如图2所示,本申请实施例提供的方法可以包括如下步骤:

在步骤201中,获取第一音频数据和第一参考数量个连续的第二音频数据。

其中,第一音频数据对应语音消息中当前待处理的第一音频帧,第一参考数量个连续的第二音频数据对应第二音频帧,第二音频帧为语音消息中位于第一音频帧之后的连续音频帧。第二音频帧中包括第一参考数量个音频帧,每个音频帧对应一个第二音频数据。

本申请实施例中的语音消息是指即时通讯过程中待播放的任一语音消息,该语音消息可以是指终端发送的语音消息,也可以是指终端接收到的语音消息,本申请实施例对此不加以限定。

由于语音消息是对录制的语音信号进行编码处理后得到的,所以可以按照录制时间的先后顺序将语音消息划分为顺序排列的多个音频帧。语音消息对应一个完整码流,将语音消息划分为多个音频帧的过程就是将该语音消息对应的完整码流划分为多个码流的过程,每个音频帧对应一个码流。在一种可能实现方式中,可以为多个音频帧进行顺序编号,使得每个音频帧对应一个序号,每个序号可以用于唯一标识一个音频帧。

在播放语音消息之前,需要对语音消息中的每个音频帧进行处理,以得到与语音消息对应的待播放音频数据。在本申请实施例中,将语音消息中当前待处理的音频帧作为第一音频帧。第一音频数据是指对第一音频帧的码流进行解码后得到的数据。

第一参考数量个连续的第二音频数据对应第二音频帧,也就是说,第一参考数量个连续的第二音频数据为对第二音频帧的码流进行解码后得到的数据。第二音频帧包括语音消息中位于第一音频帧之后与第一音频帧连续的第一参考数量个音频帧。需要说明的是,第一参考数量可以根据经验设置,也可以根据实际情况自由调整,本申请实施例对此不加以限定。示例性地,当语音消息中除第一音频帧外未处理的音频帧的数量不小于n(不小于0的整数)时,可以将第一参考数量设置为n;当语音消息中除第一音频帧外未处理的音频帧的数量小于n时,可以将第一参考数量设置为等于语音消息中除第一音频帧外未处理的音频帧的数量。

需要说明的是,当第一音频帧为语音消息中的最后一个音频帧时,第一参考数量为0,此时不存在第二音频数据,也就是说,当第一音频帧为语音消息中的最后一个音频帧时,只需获取第一音频数据。

在一种可能实现方式中,当第一音频帧为语音消息中的第一个音频帧时,终端可以基于语音消息的选中指令,执行获取第一音频数据和第一参考数量个连续的第二音频数据的操作。语音消息的选中指令可以是指用户的触发指令,也可以是指自动选取指令,本申请实施例对此不加以限定。

在一种可能实现方式中,当第一音频帧不为语音消息中的第一个音频帧时,终端执行获取第一音频数据和第一参考数量个连续的第二音频数据的操作的情况包括但不限于以下两种:

情况一:响应于第一音频帧的前一个音频帧处理完毕,自动执行获取第一音频数据和第一参考数量个连续的第二音频数据的操作。

此种情况发生的前提条件为:在第一音频帧的前一个音频帧处理完毕时,未检测到语音消息的暂停播放指令。

情况二:响应于语音消息的继续播放指令,执行获取第一音频数据和第一参考数量个连续的第二音频数据的操作。

此种情况发生的前提条件为:在第一音频帧的前一个音频帧处理完毕时,检测到语音消息的暂停播放指令。在此种前提条件下,终端检测到语音消息的暂停播放指令后,记录当前待处理的第一音频帧的标识信息,当检测到语音消息的继续播放指令时,再执行获取第一音频数据和第一参考数量个连续的第二音频数据的操作。示例性地,第一音频帧的标识信息可以是指第一音频帧的序号。

在一种可能实现方式中,终端获取第一音频数据和第一参考数量个连续的第二音频数据的方式包括但不限于以下两种:

方式一:第一参考数量个连续的第二音频数据包括第一部分第二音频数据和第二部分第二音频数据。从缓存中提取第一音频数据和第一部分第二音频数据;对第二音频帧中最后一个音频帧的码流进行解码处理,得到第二部分第二音频数据。

其中,第一部分第二音频数据对应第二音频帧中除最后一个音频帧外的其他音频帧,第二部分第二音频数据对应第二音频帧中最后一个音频帧。需要说明的是,在对各个音频帧进行顺序编号的情况下,第二音频帧中最后一个音频帧是指序号与第一音频帧的序号的差值为第一参考数量的音频帧。

在一种可能实现方式中,此种方式一发生的条件为:第一音频帧不为语音消息中的第一个音频帧,并且将之前的处理过程中得到的音频数据保存在缓存数据中。

在满足上述条件的情况下,第一音频帧的码流已经在处理第一音频帧之前的音频帧的过程中被解码处理成第一音频数据,该第一音频数据已被保存在缓存数据中,因此,可以从缓存中直接提取第一音频数据。同样地,第二音频帧中除最后一个音频帧外的其他音频帧的码流也已经在处理第一音频帧之前的音频帧的过程中被解码处理成第一部分第二音频数据,该第一部分第二音频数据也已被保存在缓存数据中,因此,可以从缓存中直接提取第一部分第二音频数据。

但是,由于在处理第一音频帧之前的音频帧的过程中,未涉及到对第二音频帧中最后一个音频帧的码流进行解码处理的过程,因此,需要对第二音频帧中最后一个音频帧的码流进行解码处理,以得到第二部分第二音频数据。

也就是说,在基于此种方式获取第一音频数据和第一参考数量的第二音频数据的过程中,只需对第二音频帧中最后一个音频帧的码流进行解码处理,得到第二部分第二音频数据。第一音频数据和第一部分第二音频数据均可以从缓存中直接提取。

示例性地,假设第一音频帧的序号为2,第一参考数量为5。则第二音频帧中包括序号分别为3、4、5、6、7的五个音频帧,第二音频帧中最后一个音频帧为序号为7的音频帧。在处理序号为1的音频帧的过程中,已经将序号为2的音频帧(第一音频帧)的码流以及序号分别为3、4、5、6的四个音频帧(第二音频帧中除最后一个音频帧外的其他音频帧)的码流进行解码处理并将得到的音频数据保存在缓存数据中,只有序号为7的音频帧(第二音频帧中最后一个音频帧)的码流未被解码处理过。因此,在获取第一音频数据和第一参考数量个连续的第二音频数据的过程中,从缓存中提取序号为2的音频帧的数据(第一音频数据)以序号分别为3、4、5、6的音频帧的数据(第一部分第二音频数据);然后通过对序号为7的音频帧的码流进行解码处理,得到序号为7的音频帧的数据(第二部分第二音频数据)。

方式二:对第一音频帧的码流进行解码处理,得到第一音频数据;对第二音频帧中的各个音频帧的码流分别进行解码处理,得到第一参考数量个连续的第二音频数据。

在一种可能实现方式中,此种方式二发生的条件包括但不限于以下两种:

条件1:第一音频帧为语音消息中的第一个音频帧。

条件2:第一音频帧不为语音消息中的第一个音频帧,但是未将之前的处理过程中得到的音频数据保存在缓存数据中。

在满足上述任一条件的情况下,由于第一音频数据和第一参考数量个连续的第二音频数据均无法从缓存中直接提取,因此,通过对第一音频帧的码流和第二音频帧中的各个音频帧的码流分别进行解码处理,得到第一音频数据和第一参考数量个连续的第二音频数据。

在一种可能实现方式中,在满足上述条件1的情况下,也就是当第一音频帧为语音消息中的第一个音频帧时,在获取第一音频数据和第一参考数量个连续的第二音频数据后,可以将第一音频数据和第一参考数量个连续的第二音频数据保存在缓存数据中,以便于在后续处理其他音频帧时,直接从缓存中提取相关的音频数据。

需要说明的是,本申请实施例对解码处理后得到的音频数据的格式不加以限定,只要解码处理后得到的音频数据的格式能够被终端的播放设备识别并播放即可。示例性地,解码处理后得到的音频数据的格式可以为pcm(pulsecodemodulation,脉冲编码调制)格式。pcm格式的音频数据是由模拟信号经过采样、量化、编码转换成的标准的数字音频数据。本申请实施例对播放设备不加以限定,例如,播放设备可以是指声卡设备。

在步骤202中,基于第一音频数据和第二音频数据,确定第一音频帧的有效性。

第一音频帧的有效性用于指示是否需要获取与第一音频帧对应的待播放音频数据。当第一音频帧有效时,需要获取与第一音频帧对应的待播放音频数据;当第一音频帧无效时,无需获取与第一音频帧对应的待播放音频数据。在一种可能实现方式中,基于第一音频数据和第二音频数据,确定第一音频帧的有效性的过程包括以下步骤2021和步骤2022:

步骤2021:获取第一音频数据对应的检测结果和各个第二音频数据对应的检测结果。

任一音频数据对应的检测结果用于指示任一音频数据是否为语音信号数据。也就是说,任一音频数据对应的检测结果指示的含义包括两种:任一音频数据为语音信号数据,以及任一音频数据为非语音信号数据。

在实际应用场景中,任一音频数据为非语言信号数据的情况包括但不限于:该任一音频数据为静默数据;该任一音频数据为无特定语义的数据,例如,拖音数据等;该任一音频数据为噪音数据,例如,环境噪音数据、无关语音数据等。

第一音频数据对应的检测结果和各个第二音频数据对应的检测结果可以是基于vad(voiceactivitydetection,语音活跃检测)算法对第一音频数据和各个第二音频数据进行检测得到的。vad算法是一种检测输入的音频数据是否为语音信号数据的检测算法。本申请实施例对vad算法的类型不加以限定。示例性地,vad算法的类型包括但不限于:基于信噪比(signalnoiseratio,snr)的vad算法、基于能量平稳度的vad算法、基于深度神经网络(deepneuralnetworks,dnn)的vad算法,以及基于隐马尔可夫模型(hiddenmarkovmodel,hmm)的vad算法等。

需要说明的是,当第一音频帧为语音消息中的最后一个音频帧时,不存在第二音频数据,此时,只需获取第一音频数据对应的检测结果。

在一种可能实现方式中,获取第一音频数据对应的检测结果和各个第二音频数据对应的检测结果的方式包括但不限于以下两种:

方式一:从缓存中提取第一音频数据对应的检测结果以及第一部分第二音频数据对应的检测结果;基于vad算法对第二部分第二音频数据进行检测,得到第二部分第二音频数据对应的检测结果。

在一种可能实现方式中,此种方式一发生的条件为:第一音频帧不为语音消息中的第一个音频帧,并且将之前的处理过程中得到的音频数据对应的检测结果保存在缓存数据中。

在满足上述条件的情况下,第一音频数据对应的检测结果和第一部分第二音频数据对应的检测结果已经在处理第一音频帧之前的音频帧的过程中得到并保存在缓存数据中。因此,可以从缓存中直接提取第一音频数据对应的检测结果以及第一部分第二音频数据对应的检测结果。

但是,由于在处理第一音频帧之前的音频帧的过程中,未涉及到基于vad算法对第二部分第二音频数据进行检测的过程,因此,需要基于vad算法对第二部分第二音频数据进行检测,以得到第二部分第二音频数据对应的检测结果。

也就是说,在基于此种方式获取第一音频数据对应的检测结果和各个第二音频数据对应的检测结果的过程中,只需基于vad算法对第二部分第二音频数据进行检测,得到第二部分第二音频数据对应的检测结果;第一音频数据对应的检测结果和第一部分第二音频数据对应的检测结果均可以从缓存中直接提取。

方式二:基于vad算法对第一音频数据进行检测,得到第一音频数据对应的检测结果;基于vad算法分别对各个第二音频数据进行检测,得到各个第二音频数据对应的检测结果。

在一种可能实现方式中,此种方式二发生的条件包括但不限于以下两种:

条件1:第一音频帧为语音消息中的第一个音频帧。

条件2:第一音频帧不为语音消息中的第一个音频帧,但是未将之前的处理过程中得到的音频数据对应的检测结果保存在缓存数据中。

在满足上述任一条件的情况下,由于第一音频数据对应的检测结果和各个第二音频数据对应的检测结果均无法从缓存中直接提取,因此,通过基于vad算法分别对第一音频数据和各个第二音频数据进行检测,得到第一音频数据对应的检测结果和各个第二音频数据对应的检测结果。

在一种可能实现方式中,在满足上述条件1的情况下,也就是当第一音频帧为语音消息中的第一个音频帧时,在获取第一音频数据对应的检测结果和各个第二音频数据对应的检测结果后,可以将第一音频数据对应的检测结果和各个第二音频数据对应的检测结果保存在缓存数据中,以便于在后续处理其他音频帧时,直接从缓存中提取相关的音频数据对应的检测结果。

无论是通过上述方式一还是上述方式二,均可以获取第一音频数据对应的检测结果和各个第二音频数据对应的检测结果,然后执行步骤2022。

步骤2022:基于第一音频数据对应的检测结果和各个第二音频数据对应的检测结果,确定第一音频帧的有效性。

在一种可能实现方式中,该步骤的实现过程为:响应于第一音频数据对应的检测结果和各个第二音频数据对应的检测结果满足无效条件,确定第一音频帧无效;响应于第一音频数据对应的检测结果和各个第二音频数据对应的检测结果不满足无效条件,确定第一音频帧有效。

在一种可能实现方式中,第一音频数据对应的检测结果和各个第二音频数据对应的检测结果满足无效条件可以是指:第一音频数据对应的检测结果指示第一音频数据为非语音信号数据,各个第二音频数据对应的检测结果指示各个第二音频数据均为非语音信号数据。

当第一音频数据对应的检测结果和各个第二音频数据对应的检测结果满足无效条件时,说明第一音频数据和第一参考数量个连续的第二音频数据均为非语音信号数据,此时,确定第一音频帧无效。

当第一音频数据对应的检测结果和各个第二音频数据对应的检测结果不满足无效条件时,说明第一音频数据和第一参考数量个连续的第二音频数据中存在至少一个音频数据为语音信号数据,此时,确定第一音频帧有效。

示例性地,检测结果可以用第一数值例如0和第二数值例如1表示,其中,数值1表示语音信号数据,数值0表示非语音信号数据,假设第一参考数量为n(不小于0的整数),则第一音频数据和第一参考数量个连续的第二音频数据共对应(n+1)个检测结果。当这(n+1)个检测结果均为数值0时,说明满足无效条件,第一音频帧无效;当这(n+1)个检测结果中包括至少一个数值1时,说明不满足无效条件,第一音频帧有效。

基于上述步骤2021和步骤2022,即可确定第一音频帧的有效性。当第一音频帧无效时,执行步骤203;当第一音频帧有效时,响应于第一音频帧有效,基于第一音频数据,获取与第一音频帧对应的待播放音频数据。

在一种可能实现方式中,基于第一音频数据,获取与第一音频帧对应的待播放音频数据的过程包括以下步骤a至步骤c:

步骤a:获取第三音频帧的有效性。

其中,第三音频帧为语音消息中位于第一音频帧前一位的音频帧。

当第一音频帧有效时,需要获取语音消息中位于第一音频帧前一位的第三音频帧的有效性;当第三音频帧有效时,执行步骤b;当第三音频帧无效时,执行步骤c。

在一种可能实现方式中,终端在处理语音消息的过程中,可以将已知有效性的音频帧的序号和有效性的对应关系保存在缓存数据中。终端获取第三音频帧的有效性的方式为:终端基于第三音频帧的序号,在音频帧的序号和有效性的对应关系中查询与第三音频帧的序号对应的有效性。

步骤b:响应于第三音频帧有效,将第一音频数据作为与第一音频帧对应的待播放音频数据。

当第三音频帧有效时,说明连续的两个音频帧均有效,此时无需对第一音频数据进行处理,即可将第一音频数据直接作为与第一音频帧对应的待播放音频数据。

步骤c:响应于第三音频帧无效,获取目标音频数据,基于第一音频数据和目标音频数据,获取与第一音频帧对应的待播放音频数据。

其中,目音频数据为与目标音频帧对应的待播放音频数据,目标音频帧为在已经确定有效的各个音频帧中与第一音频帧最近的音频帧。

当第三音频帧无效时,获取目标音频数据。然后基于第一音频数据和目标音频数据,获取与第一音频帧对应的待播放音频数据。

需要说明的是,待播放音频数据需要放入播放缓冲中,才能由终端的播放设备进行播放。在一种可能实现方式中,获取目标音频数据的方式包括但不限于以下两种:

方式一:从播放缓冲中提取目标音频数据。

此种方式发生的条件为:在得到目标音频数据后,将目标音频数据放入播放缓冲中。也就是说,每次得到新的待播放音频数据后,将新的待播放音频数据放入播放缓冲中。

在上述条件下,需要从播放缓冲中将目标音频数据提取出来,当基于目标音频数据和第一音频数据,获取与第一音频帧对应的待播放音频数据后,再将与第一音频帧对应的待播放音频数据放入播放缓冲中。

方式二:从缓存中提取目标音频数据。

此种方式发生的条件为:得到目标音频数据后,将目标音频数据暂时保存在缓存数据中。也就是说,每次得到新的待播放音频数据后,将新的待播放音频数据暂时保存在缓存数据中。需要说明的是,在此种条件下,在确定目标音频数据无需与其他音频数据进行拼接处理后,再将目标音频数据放入播放缓冲中。

在上述条件下,需要从缓存中提取目标音频数据,当基于目标音频数据和第一音频数据,获取与第一音频帧对应的待播放音频数据后,继续将与第一音频帧对应的待播放音频数据暂时保存在缓存数据中。在确定与第一音频帧对应的待播放音频数据无需与其他音频数据进行拼接处理后,再将与第一音频帧对应的待播放音频数据放入播放缓冲中。

此种方式可以避免将目标音频数据放入播放缓冲中,还需再从播放缓冲中将目标音频数据提取出来的冗余操作。

无论基于上述方式一还是上述方式二获取目标音频数据,在获取目标音频数据后,基于第一音频数据和目标音频数据,获取与第一音频帧对应的待播放音频数据。在一种可能实现方式中,基于第一音频数据和目标音频数据,获取与第一音频帧对应的待播放音频数据的方式为:将第一音频数据和目标音频数据进行拼接处理,得到拼接处理后的音频数据,将拼接处理后的音频数据作为与第一音频帧对应的待播放音频数据。

由于第一音频帧和目标音频帧不为连续音频帧,所以,需要将第一音频数据与目标音频数据进行拼接处理,以保证语音消息的播放流畅性。

在一种可能实现方式中,将第一音频数据与目标音频数据进行拼接处理,得到拼接处理后的音频数据的过程包括以下两个步骤:

步骤1:将目标音频数据中的第一采样点集和第一音频数据中的第二采样点集进行加窗处理,得到第三采样点集。

其中,第一采样点集包括目标音频数据中位于末尾部分的第二参考数量个采样点,第二采样点集包括第一音频数据中位于起始部分的第二参考数量个采样点。第二参考数量可以根据经验设置,也可以根据应用场景自由调整,本申请实施例对此不加以限定。为了便于说明,假设第二参考数量为n(不小于1的整数)。则第一采样点集中包括n个采样点;第二采样点集中也包括n个采样点。

在一种可能实现方式中,将第一采样点集和第二采样点集进行加窗处理,得到第三采样点集的过程为:利用汉宁窗函数对第一采样点集中的第i个(1≤i≤n)采样点和第二采样点集中的第i个采样点进行加窗计算,然后基于算术加和限值处理,得到第三采样点集中的第i个采样点。

利用汉宁窗函数对第一采样点集中的第i个采样点和第二采样点集中的第i个采样点进行加窗计算,然后基于算术加和限值处理,得到第三采样点集中的第i个采样点的过程为:基于公式1,对第一采样点集中的第i个采样点的值和第一汉宁窗函数的乘积,以及第二采样点集中的第i个采样点的值和第二汉宁窗函数的乘积进行算术加和;然后基于公式2进行算术加和限值处理,得到第三采样点集中的第i个采样点的值。

x(i)=x1(i)hanning(n-i)+x2(i)hanning(i)公式1

其中,x(i)表示第三采样点集中的第i个采样点的值,x1(i)表示第一采样点集中的第i个采样点的值,x2(i)表示第二采样点集中的第i个采样点的值。hanning(n-i)为第一汉宁窗函数,hanning(i)为第二汉宁窗函数,hanning(i)的函数表示式如公式3所示。如图3所示,曲线301表示第一汉宁窗函数hanning(n-i),曲线302表示第二汉宁窗函数hanning(i)。图3中的横坐标表示i的值,纵坐标表示汉宁窗函数的函数值。

根据i值的变化,可以根据上述公式1和公式2,得到第三采样点集中的各个采样点的值,也就是说,可以得到第三采样点集。

步骤2:基于第三采样点集,对第一音频数据和目标音频数据进行拼接,得到拼接处理后的音频数据。

在得到第三采样点集后,即可基于第三采样点集,对第一音频数据和目标音频数据进行拼接,得到拼接处理后的音频数据。在一种可能实现方式中,基于第三采样点集,对第一音频数据和目标音频数据进行拼接,得到拼接处理后的音频数据的过程为:将目标音频数据中除第一采样点集中的采样点外的其他采样点、第三采样点集中的采样点和第一音频数据中除第二采样点集中的采样点外的其他采样点连接起来,得到拼接处理后的音频数据。该拼接处理后的音频数据即为与第一音频帧对应的待播放音频数据。基于此种方式得到拼接处理后的音频数据,可以避免因两个音频数据的首尾采样点直接对接而导致的杂音问题。

需要说明的,基于第一音频数据和目标音频数据得到的待播放音频数据,不仅仅为与第一音频帧对应的待播放音频数据,还为与目标音频帧对应的更新后的待播放音频数据。

在一种可能实现方式中,当第一音频帧为语音消息中的第一个音频帧时,不存在第三音频帧,也不存在目标音频帧。在此种情况下,当第一音频帧有效时,直接将第一音频数据作为与第一音频帧对应的待播放音频数据。

当第一音频帧有效时,基于上述步骤a至步骤c即可获取与第一音频帧对应的待播放音频数据。在获取与第一音频帧对应的待播放音频数据后,可以判断第一音频帧是否为语音消息中的最后一个音频帧。若第一音频帧为语音消息中的最后一个音频帧,则当前语音消息处理完毕,可以继续处理下一个语音消息;当第一音频帧不为语音消息中的最后一个音频帧时,可以将语音消息中位于第一音频帧的下一为的音频帧作为当前待处理的第一音频帧,直至第一音频帧为语音消息中的最后一个音频帧。

在步骤203中,响应于第一音频帧无效,确定语音消息中位于第一音频帧之后的音频帧的有效性,直至得到有效的音频帧,获取与有效的音频帧对应的待播放音频数据。

当第一音频帧无效时,不获取与第一音频帧对应的待播放音频数据。基于步骤201以及步骤202中的步骤2021和步骤2022,确定语音消息中位于第一音频帧之后的音频帧的有效性,直至得到有效的音频帧。

在确定语音消息中位于第一音频帧之后的音频帧的有效性的过程中,先确定语音消息中位于第一音频帧后一位的音频帧的有效性。当语音消息中位于第一音频帧后一位的音频帧有效时,该位于第一音频帧后一位的音频帧即为有效的音频帧;当语音消息中位于第一音频帧后一位的音频帧无效时,继续确定语音消息中下一个待处理的音频帧的有效性,循环上述过程,直至得到有效的音频帧。

在得到有效的音频帧后,基于步骤202中的步骤a至步骤c获取与有效的音频帧对应的待播放音频数据。基于上述过程,仅获取与有效的音频帧对应的待播放音频数据,可以将语音消息中无效的音频帧进行有效压缩。

在一种可能实现方式中,当任一音频帧无效时,可以将该任一音频帧对应的音频数据置于无需播放的数据队列中,并定期进行清除。

基于上述过程,可以得到与语音消息中的有效的音频帧对应的待播放音频数据,以由终端的播放设备基于与有效的音频帧对应的待播放音频数据,对语音消息进行播放。

综上所述,语音消息的处理过程可以如图4中的步骤401至步骤410所示,获取语音消息的选中指令,然后判断该语音消息中是否存在未处理的音频帧;若存在未处理的音频帧,则判断是否检测到暂停播放指令;若未检测到暂停播放指令,则直接获取第一音频数据和第一参考数量个连续的第二音频数据;若检测到暂停指令,则保存第一音频帧的序号并停止播放,当检测到继续播放指令时,再获取第一音频数据和第一参考数量个连续的第二音频数据。基于第一音频数据和第一参考数量个连续的第二音频数据,对第一音频帧进行处理;第一音频帧处理结束后,返回步骤402循环进行,直至当语音消息中不存在未处理的音频帧时,执行步骤401。在上述处理过程中,将得到的与有效的音频帧对应的待播放音频数据放入播放缓冲中,由终端的播放设备基于与有效的音频帧对应的待播放音频数据对语音消息进行播放。

基于第一音频数据和第二音频数据,对第一音频帧进行处理的过程可以参见图5中的步骤501至步骤509。在获取第一音频数据和第一参考数量个连续的第二音频数据后,进一步获取第一音频数据对应的vad检测结果和各个第二音频数据对应的vad检测结果。判断第一音频数据对应的vad检测结果和各个第二音频数据对应的vad检测结果是否均为0;若第一音频数据对应的vad检测结果和各个第二音频数据对应的vad检测结果均为0,则确定第一音频帧无效,继续对下一音频帧进行处理;若第一音频数据对应的vad检测结果和各个第二音频数据对应的vad检测结果不均为0,则确定第一音频帧有效。此时判断第一音频帧的上一帧是否有效,若第一音频帧的上一帧有效,则将第一音频数据作为与第一音频帧对应的待播放音频数据;若第一音频帧的上一帧无效,则将第一音频数据和与最近一个有效的音频帧对应的待播放音频数据进行拼接处理,得到与第一音频帧对应的待播放音频数据。

基于本申请实施例提供的语音消息处理方式,可以将无效的音频帧进行有效压缩,有利于有效提升用户收听语音消息的效率,根据统计可知,该方法能够有效节省用户20%以上的收听时间。

在本申请实施例中,根据第一音频数据和第二音频数据,确定第一音频帧的有效性,当第一音频帧无效时,确定之后的音频帧的有效性,直至得到有效的音频帧,获取与有效的音频帧对应的待播放音频数据。在此种语音消息的处理过程中,仅获取与有效的音频帧对应的待播放音频数据,此种方式可以在基于待播放音频数据对语音消息进行播放的过程中,既保证播放质量,又有效缩短播放耗时,语音消息的处理效果较好。

基于相同技术构思,参见图6,本申请实施例提供了一种语音消息的处理装置,该装置包括:

第一获取模块601,用于获取第一音频数据和第一参考数量个连续的第二音频数据,第一音频数据对应语音消息中当前待处理的第一音频帧,第一参考数量个连续的第二音频数据对应第二音频帧,第二音频帧为语音消息中位于第一音频帧之后的连续音频帧;

确定模块602,用于基于第一音频数据和第二音频数据,确定第一音频帧的有效性;

确定模块602,还用于响应于第一音频帧无效,确定语音消息中位于第一音频帧之后的音频帧的有效性,直至得到有效的音频帧;

第二获取模块603,用于获取与有效的音频帧对应的待播放音频数据。

在一种可能实现方式中,第二获取模块603,还用于响应于第一音频帧有效,基于第一音频数据,获取与第一音频帧对应的待播放音频数据。

在一种可能实现方式中,第二获取模块603,还用于获取第三音频帧的有效性,第三音频帧为语音消息中位于第一音频帧前一位的音频帧;

响应于第三音频帧有效,将第一音频数据作为与第一音频帧对应的待播放音频数据;

响应于第三音频帧无效,获取目标音频数据,基于第一音频数据和目标音频数据,获取与第一音频帧对应的待播放音频数据,目标音频数据为与目标音频帧对应的待播放音频数据,目标音频帧为在已经确定有效的各个音频帧中与第一音频帧最近的音频帧。

在一种可能实现方式中,第二获取模块603,还用于将第一音频数据和目标音频数据进行拼接处理,得到拼接处理后的音频数据,将拼接处理后的音频数据作为与第一音频帧对应的待播放音频数据。

在一种可能实现方式中,第二获取模块603,还用于将目标音频数据中的第一采样点集和第一音频数据中的第二采样点集进行加窗处理,得到第三采样点集,第一采样点集包括目标音频数据中位于末尾部分的第二参考数量个采样点,第二采样点集包括第一音频数据中位于起始部分的第二参考数量个采样点;

基于第三采样点集,对第一音频数据和目标音频数据进行拼接,得到拼接处理后的音频数据。

在一种可能实现方式中,确定模块602,用于获取第一音频数据对应的检测结果和各个第二音频数据对应的检测结果,任一音频数据对应的检测结果用于指示任一音频数据是否为语音信号数据;基于第一音频数据对应的检测结果和各个第二音频数据对应的检测结果,确定第一音频帧的有效性。

在一种可能实现方式中,确定模块602,用于响应于第一音频数据对应的检测结果和各个第二音频数据对应的检测结果满足无效条件,确定第一音频帧无效;响应于第一音频数据对应的检测结果和各个第二音频数据对应的检测结果不满足无效条件,确定第一音频帧有效。

在一种可能实现方式中,第一音频数据对应的检测结果和各个第二音频数据对应的检测结果满足无效条件,包括:第一音频数据对应的检测结果指示第一音频数据为非语音信号数据,各个第二音频数据对应的检测结果指示各个第二音频数据均为非语音信号数据。

在一种可能实现方式中,第一参考数量个连续的第二音频数据包括第一部分第二音频数据和第二部分第二音频数据,第一部分第二音频数据对应第二音频帧中除最后一个音频帧外的其他音频帧,第二部分第二音频数据对应第二音频帧中最后一个音频帧;第一获取模块601,用于从缓存中提取第一音频数据和第一部分第二音频数据;对第二音频帧中最后一个音频帧的码流进行解码处理,得到第二部分第二音频数据。

在一种可能实现方式中,第一获取模块601,用于对第一音频帧的码流进行解码处理,得到第一音频数据;对第二音频帧中的各个音频帧的码流分别进行解码处理,得到第一参考数量个连续的第二音频数据。

在本申请实施例中,根据第一音频数据和第第二音频数据,确定第一音频帧的有效性,当第一音频帧无效时,确定之后的音频帧的有效性,直至得到有效的音频帧,获取与有效的音频帧对应的待播放音频数据。在此种语音消息的处理过程中,仅获取与有效的音频帧对应的待播放音频数据,此种方式可以在基于待播放音频数据对语音消息进行播放的过程中,既保证播放质量,又有效缩短播放耗时,语音消息的处理效果较好。

需要说明的是,上述实施例提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图7是本申请实施例提供的一种语音消息的处理设备的结构示意图。该设备可以为终端,例如可以是:智能手机、平板电脑、笔记本电脑或台式电脑。终端还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。

通常,终端包括有:处理器701和存储器702。

处理器701可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器701可以采用dsp(digitalsignalprocessing,数字信号处理)、fpga(field-programmablegatearray,现场可编程门阵列)、pla(programmablelogicarray,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器701也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(centralprocessingunit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器701可以集成有gpu(graphicsprocessingunit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器701还可以包括ai(artificialintelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。

存储器702可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器702还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器702中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器701所执行以实现本申请中方法实施例提供的语音消息的处理方法。

在一些实施例中,终端还可选包括有:外围设备接口703和至少一个外围设备。处理器701、存储器702和外围设备接口703之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口703相连。具体地,外围设备包括:射频电路704、触摸显示屏705、摄像头组件706、音频电路707、定位组件708和电源709中的至少一种。

外围设备接口703可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器701和存储器702。在一些实施例中,处理器701、存储器702和外围设备接口703被集成在同一芯片或电路板上;在一些其他实施例中,处理器701、存储器702和外围设备接口703中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。

射频电路704用于接收和发射rf(radiofrequency,射频)信号,也称电磁信号。射频电路704通过电磁信号与通信网络以及其他通信设备进行通信。射频电路704将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路704包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路704可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wirelessfidelity,无线保真)网络。在一些实施例中,射频电路704还可以包括nfc(nearfieldcommunication,近距离无线通信)有关的电路,本申请对此不加以限定。

显示屏705用于显示ui(userinterface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏705是触摸显示屏时,显示屏705还具有采集在显示屏705的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器701进行处理。此时,显示屏705还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏705可以为一个,设置在终端的前面板;在另一些实施例中,显示屏705可以为至少两个,分别设置在终端的不同表面或呈折叠设计;在再一些实施例中,显示屏705可以是柔性显示屏,设置在终端的弯曲表面上或折叠面上。甚至,显示屏705还可以设置成非矩形的不规则图形,也即异形屏。显示屏705可以采用lcd(liquidcrystaldisplay,液晶显示屏)、oled(organiclight-emittingdiode,有机发光二极管)等材质制备。

摄像头组件706用于采集图像或视频。可选地,摄像头组件706包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtualreality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件706还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。

音频电路707可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器701进行处理,或者输入至射频电路704以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器701或射频电路704的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路707还可以包括耳机插孔。

定位组件708用于定位终端的当前地理位置,以实现导航或lbs(locationbasedservice,基于位置的服务)。定位组件708可以是基于美国的gps(globalpositioningsystem,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。

电源709用于为终端中的各个组件进行供电。电源709可以是交流电、直流电、一次性电池或可充电电池。当电源709包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。

在一些实施例中,终端还包括有一个或多个传感器710。该一个或多个传感器710包括但不限于:加速度传感器711、陀螺仪传感器712、压力传感器713、指纹传感器714、光学传感器715以及接近传感器716。

加速度传感器711可以检测以终端建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器711可以用于检测重力加速度在三个坐标轴上的分量。处理器701可以根据加速度传感器711采集的重力加速度信号,控制触摸显示屏705以横向视图或纵向视图进行用户界面的显示。加速度传感器711还可以用于游戏或者用户的运动数据的采集。

陀螺仪传感器712可以检测终端的机体方向及转动角度,陀螺仪传感器712可以与加速度传感器711协同采集用户对终端的3d动作。处理器701根据陀螺仪传感器712采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。

压力传感器713可以设置在终端的侧边框和/或触摸显示屏705的下层。当压力传感器713设置在终端的侧边框时,可以检测用户对终端的握持信号,由处理器701根据压力传感器713采集的握持信号进行左右手识别或快捷操作。当压力传感器713设置在触摸显示屏705的下层时,由处理器701根据用户对触摸显示屏705的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。

指纹传感器714用于采集用户的指纹,由处理器701根据指纹传感器714采集到的指纹识别用户的身份,或者,由指纹传感器714根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器701授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器714可以被设置在终端的正面、背面或侧面。当终端上设置有物理按键或厂商logo时,指纹传感器714可以与物理按键或厂商logo集成在一起。

光学传感器715用于采集环境光强度。在一个实施例中,处理器701可以根据光学传感器715采集的环境光强度,控制触摸显示屏705的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏705的显示亮度;当环境光强度较低时,调低触摸显示屏705的显示亮度。在另一个实施例中,处理器701还可以根据光学传感器715采集的环境光强度,动态调整摄像头组件706的拍摄参数。

接近传感器716,也称距离传感器,通常设置在终端的前面板。接近传感器716用于采集用户与终端的正面之间的距离。在一个实施例中,当接近传感器716检测到用户与终端的正面之间的距离逐渐变小时,由处理器701控制触摸显示屏705从亮屏状态切换为息屏状态;当接近传感器716检测到用户与终端的正面之间的距离逐渐变大时,由处理器701控制触摸显示屏705从息屏状态切换为亮屏状态。

本领域技术人员可以理解,图7中示出的结构并不构成对终端的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。

在示例性实施例中,还提供了一种计算机设备,参见图8,该计算机设备包括处理器801和存储器802,该存储器802中存储有至少一条程序代码。该至少一条程序代码由一个或者一个以上处理器801加载并执行,以实现上述任一种语音消息的处理方法。

在示例性实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条程序代码,该至少一条程序代码由计算机设备的处理器加载并执行,以实现上述任一种语音消息的处理方法。

可选地,上述计算机可读存储介质可以是只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、只读光盘(compactdiscread-onlymemory,cd-rom)、磁带、软盘和光数据存储设备等。

应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

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