语音回退方法及其装置与流程

文档序号:23810771发布日期:2021-02-03 12:36阅读:206来源:国知局
语音回退方法及其装置与流程

[0001]
本公开涉及音频技术领域,尤其涉及一种语音回退方法及其装置。


背景技术:

[0002]
随着各类音频软件(诸如听书或听歌软件)的普及,音频回退作为一种客户需求被越来越多地提及。音频回退是指当利用某一电子设备进行音频播放时,当暂停播放后再次播放时会重新播放刚播放过的音频内容,或者会向前回退一段时间来重新播放刚播放过的这段时间的音频内容,此过程称为音频回退。传统的音频回退一般是暂停再次播放时无音频回退操作或直接手动进行音频播放条的控制,以进行回退操作。


技术实现要素:

[0003]
本公开提供一种语音回退方法及其装置,以至少解决现有技术中音频回退操作麻烦且音频回退不准确的问题,极大程度上保证了音频信息的完整性、满足了客户的需求并且便于客户的操作。
[0004]
根据本公开实施例的第一方面,提供一种语音回退方法,所述方法可包括:在音频播放过程中,确定并记录每个音频帧的类型;当用户暂停后再次播放音频或者用户有回退操作需求时,基于当前音频帧的类型执行音频回退操作。
[0005]
可选地,基于当前音频帧的类型执行音频回退操作的步骤可包括:在当前音频帧为非语音帧的情况下,不执行音频回退操作;在当前音频帧为语音帧的情况下,确定音频回退点并将音频退回至所述音频回退点。
[0006]
可选地,确定每个音频帧的类型的步骤可包括:使用语音检测模型来确定每个音频帧的类型,其中,语音检测模型由神经网络训练而成。
[0007]
可选地,所述语音检测模型可包括第一语音检测模型,第一语音检测模型的输入是音频信号的幅度,第一语音检测模型的输出是音频信号的音频类型。
[0008]
可选地,确定音频回退点的步骤可包括:将距离当前音频帧向前最近的非语音帧作为所述音频回退点。
[0009]
可选地,所述语音检测模型可包括第二语音检测模型,第二语音检测模型的输入是音频信号的幅度,第二语音检测模型的输出是音频信号的音频类型和语音帧距离向前最近的语音起始帧的时间差。
[0010]
可选地,确定音频回退点的步骤可包括:根据所述时间差确定距离当前音频帧向前最近的语音起始帧作为所述音频回退点。
[0011]
可选地,确定音频回退点的步骤可包括:基于由语音检测模型的预测结果和由语音活动检测方法的检测结果来确定所述音频回退点。
[0012]
可选地,在第一语音检测模型的情况下,确定音频回退点的步骤可包括:利用语音活动检测方法来确定每个音频帧的类型,如果由语音检测模型的预测结果与由语音活动检测方法的检测结果一致,则将由语音活动检测方法确定的距离当前音频帧向前最近的非语
音帧作为所述音频回退点;如果由语音检测模型的预测结果与由语音活动检测方法的检测结果不一致,则将由语音检测模型确定的距离当前音频帧向前最近的非语音帧作为所述音频回退点。
[0013]
可选地,在第二语音检测模型的情况下,确定音频回退点的步骤可包括:利用语音活动检测方法来确定每个音频帧的类型,如果由语音检测模型的预测结果与由语音活动检测方法的检测结果一致,则将从与当前音频帧向前距离所述时间差的帧开始再向前至最近的由语音活动检测方法确定的非语音帧作为所述音频回退点;如果由语音检测模型的预测结果与由语音活动检测方法的检测结果不一致,则将与当前音频帧向前距离所述时间差的帧作为所述音频回退点。
[0014]
可选地,所述方法还可包括:在当前音频帧为非语音帧的情况下,如果用户执行音频回退操作,则将音频回退至上一句的语音开始位置。
[0015]
可选地,所述方法还可包括:将当前音频帧和所述音频回退点之间的时间差与预设回退时间进行比较;在所述时间差大于所述预设回退时间的情况下,将音频回退所述预设回退时间。
[0016]
根据本公开实施例的第二方面,提供一种语音回退装置,所述装置可包括:数据获取模块,被配置为获取音频;以及数据处理模块,被配置为:在音频播放过程中,确定并记录每个音频帧的类型;当用户暂停后再次播放音频或者用户有回退操作需求时,基于当前音频帧的类型执行音频回退操作。
[0017]
可选地,数据处理模块可被配置为:在当前音频帧为非语音帧的情况下,不执行音频回退操作;在当前音频帧为语音帧的情况下,确定音频回退点并将音频退回至所述音频回退点。
[0018]
可选地,数据处理模块可被配置为:使用语音检测模型来确定每个音频帧的类型,其中,语音检测模型由神经网络训练而成。
[0019]
可选地,所述语音检测模型可包括第一语音检测模型,第一语音检测模型的输入是音频信号的幅度,第一语音检测模型的输出是音频信号的音频类型。
[0020]
可选地,数据处理模块可被配置为:将距离当前音频帧向前最近的非语音帧作为所述音频回退点。
[0021]
可选地,所述语音检测模型可包括第二语音检测模型,第二语音检测模型的输入是音频信号的幅度,第二语音检测模型的输出是音频信号的音频类型和语音帧距离向前最近的语音起始帧的时间差。
[0022]
可选地,数据处理模块可被配置为:根据所述时间差确定距离当前音频帧向前最近的语音起始帧作为所述音频回退点。
[0023]
可选地,数据处理模块可被配置为:基于由语音检测模型的预测结果和由语音活动检测方法的检测结果来确定所述音频回退点。
[0024]
可选地,在第一语音检测模型的情况下,数据处理模块可被配置为:利用语音活动检测方法来确定每个音频帧的类型,如果由语音检测模型的预测结果与由语音活动检测方法的检测结果一致,则将由语音活动检测方法确定的距离当前音频帧向前最近的非语音帧作为所述音频回退点;如果由语音检测模型的预测结果与由语音活动检测方法的检测结果不一致,则将由语音检测模型确定的距离当前音频帧向前最近的非语音帧作为所述音频回
退点。
[0025]
可选地,在第二语音检测模型的情况下,数据处理模块可被配置为:利用语音活动检测方法来确定每个音频帧的类型,如果由语音检测模型的预测结果与由语音活动检测方法的检测结果一致,则将从与当前音频帧向前距离所述时间差的帧开始再向前至最近的由语音活动检测方法确定的非语音帧作为所述音频回退点;如果由语音检测模型的预测结果与由语音活动检测方法的检测结果不一致,则将与当前音频帧向前距离所述时间差的帧作为所述音频回退点。
[0026]
可选地,数据处理模块可被配置为:在当前音频帧为非语音帧的情况下,如果用户执行音频回退操作,则将音频回退至上一句的语音开始位置。
[0027]
可选地,数据处理模块可被配置为:将当前音频帧和所述音频回退点之间的时间差与预设回退时间进行比较;在所述时间差大于所述预设回退时间的情况下,将音频回退所述预设回退时间。
[0028]
根据本公开实施例的第三方面,提供一种电子设备,所述电子设备可包括:至少一个处理器;至少一个存储计算机可执行指令的存储器,其中,所述计算机可执行指令在被所述至少一个处理器运行时,促使所述至少一个处理器执行如上所述的语音回退方法。
[0029]
根据本公开实施例的第四方面,提供一种存储指令的计算机可读存储介质,当所述指令被至少一个处理器运行时,促使所述至少一个处理器执行如上所述的语音回退方法。
[0030]
根据本公开实施例的第五方面,提供一种计算机程序产品,所述计算机程序产品中的指令被电子装置中的至少一个处理器运行以执行如上所述的语音回退方法。
[0031]
本公开的实施例提供的技术方案至少带来以下有益效果:
[0032]
利用神经网络模型结合传统语音活动检测方法,设计不同的音频回退策略,将不同的音频类型按照不同的策略进行回退,最大程度上保证了音频回退的准确性和提高了用户体验。
[0033]
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
[0034]
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
[0035]
图1是根据本公开实施例的语音回退方法的流程图;
[0036]
图2是根据本公开实施例的训练第一语音检测模型的示意图;
[0037]
图3是根据本公开实施例的训练第二语音检测模型的示意图;
[0038]
图4是根据本公开第一实施例的语音回退方法的流程示意图;
[0039]
图5是根据本公开第二实施例的语音回退方法的流程示意图;
[0040]
图6是根据本公开第三实施例的语音回退方法的流程示意图;
[0041]
图7是根据本公开第四实施例的语音回退方法的流程示意图;
[0042]
图8是根据本公开实施例的语音回退装置的框图;
[0043]
图9是根据本公开实施例的电子设备的框图。
[0044]
在整个附图中,应注意,相同的参考标号用于表示相同或相似的元件、特征和结构。
具体实施方式
[0045]
提供参照附图的以下描述以帮助对由权利要求及其等同物限定的本公开的实施例的全面理解。包括各种特定细节以帮助理解,但这些细节仅被视为是示例性的。因此,本领域的普通技术人员将认识到在不脱离本公开的范围和精神的情况下,可对描述于此的实施例进行各种改变和修改。此外,为了清楚和简洁,省略对公知的功能和结构的描述。
[0046]
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的示例。
[0047]
在此需要说明的是,在本公开中出现的“若干项之中的至少一项”均表示包含“该若干项中的任意一项”、“该若干项中的任意多项的组合”、“该若干项的全体”这三类并列的情况。例如“包括a和b之中的至少一个”即包括如下三种并列的情况:(1)包括a;(2)包括b;(3)包括a和b。又例如“执行步骤一和步骤二之中的至少一个”,即表示如下三种并列的情况:(1)执行步骤一;(2)执行步骤二;(3)执行步骤一和步骤二。
[0048]
音频回退是指按照客户需求或播放设置,将音频回退到某一时间点,重新播放已播放过的内容。但是,传统的方式一般在暂停播放设置时无音频回退设置,或需要人工进行手动回退操作,这样往往存在错失去关键音频信息或操作麻烦及回退不准确的问题。
[0049]
基于此,本公开提出了一种利用传统语音检测和深度学习语音检测并且结合回退策略的智能音频回退方式。该方式能够按照需求进行音频的回退操作,并且操作简单,回退准确,极大地满足了客户的需求,避免音频关键信息的漏失,达到良好的音频回退效果。
[0050]
在下文中,根据本公开的各种实施例,将参照附图对本公开的方法、装置以及系统进行详细描述。
[0051]
图1是根据本公开实施例的语音回退方法的流程图。图1示出的语音回退方法可在任何具有音频播放的电子设备上执行。例如,电子设备可包括例如但不限于便携式通信装置(例如,智能电话)、计算机装置、便携式多媒体装置、便携式医疗装置、相机、可穿戴装置等。根据本公开的实施例,电子装置不限于以上所述的装置。
[0052]
参照图1,在步骤s101,在音频播放过程中,确定并记录每个音频帧的类型。根据本公开的实施例,当音频信号按照流的形式播放时,提取音频信号特征,将该特征输入语音检测模型进行音频类型预测,并进行记录。这里,语音检测模型可以是由深度神经网络或循环神经网络训练而得到的。
[0053]
语音检测模型可包括第一语音检测模型,其中,第一语音检测模型的输入可以是音频信号的幅度,第一语音检测模型的输出可以是音频信号的音频类型。
[0054]
语音检测模型可包括第二语音检测模型,第二语音检测模型的输入可以是音频信号的幅度,第二语音检测模型的输出可以是音频信号的音频类型和语音帧距离向前最近的
语音起始帧的时间差。下面将参照图2和图3来详细描述第一语音检测模型和第二语音检测模型的训练过程。
[0055]
在步骤s102,当用户暂停后再次播放音频或者用户有回退操作需求时,基于当前音频帧的类型执行音频回退操作。
[0056]
作为示例,在当前音频帧为非语音帧的情况下,可不执行音频回退操作。在当前音频帧为语音帧的情况下,确定音频回退点并将音频退回至音频回退点。在本公开中,用于确定是否执行音频回退操作的音频类型可基于语音检测模型而预测出的。
[0057]
在使用第一语音检测模型的情况下,可将距离当前音频帧向前最近的非语音帧作为音频回退点。
[0058]
在使用第二语音检测模型的情况下,可根据第二语音检测模型预测出的时间差来确定距离当前音频帧向前最近的语音起始帧作为音频回退点。
[0059]
此外,在确定执行音频回退操作时,可基于由语音检测模型的预测结果和由语音活动检测方法的检测结果来确定音频回退点。当音频信号按照流的形式播放时,除了使用语音检测模型预测音频类型外,还可使用语音活动检测方法来检测音频信号中的每个音频帧的音频类型。这里,语音活动检测方法可以是对音频帧进行能量统计的方法。例如,可采用传统语音活动检测方法。
[0060]
在使用第一语音检测模型结合语音活动检测方法的情况下,如果由第一语音检测模型的预测结果与由语音活动检测方法的检测结果一致,则将由语音活动检测方法确定的距离当前音频帧向前最近的非语音帧作为音频回退点。如果由语音检测模型的预测结果与由语音活动检测方法的检测结果不一致,则将由语音检测模型确定的距离当前音频帧向前最近的非语音帧作为音频回退点。
[0061]
在使用第二语音检测模型结合语音活动检测方法的情况下,如果由第二语音检测模型的预测结果与由语音活动检测方法的检测结果一致,则将从与当前音频帧向前距离预测出的时间差的帧开始再向前至最近的由语音活动检测方法确定的非语音帧作为音频回退点。如果由语音检测模型的预测结果与由语音活动检测方法的检测结果不一致,则将与当前音频帧向前距离预测出的时间差的帧作为音频回退点。
[0062]
作为示例,在使用第二语音检测模型结合语音活动检测方法的情况下,当由第二语音检测模型预测的当前帧为语音帧并且由语音活动检测方法检测的当前帧为语音帧时,可先将音频按照由第二语音检测模型预测出的时间差退回至从与当前音频帧向前距离预测出的时间差的帧,然后此时如果该帧由第二语言检测模型预测为语音帧同时由语音活动检测方法检测为非语音帧,则可不再进一步执行回退。如果此时该帧由第二语言检测模型预测为语音帧而由语音活动检测方法检测为语音帧,则在该帧开始再向前回退至由语音活动检测方法检测的直到非语音帧为止。
[0063]
然而,上述示例仅是示例性的,本公开还可采用其他的组合方式来实现音频回退点的确定。
[0064]
此外,将当前音频帧和音频回退点之间的时间差与预设回退时间(例如最大回退时间)进行比较。在该时间差大于预设回退时间的情况下,将音频回退至预设回退时间处。
[0065]
可选地,当用户暂停后再次播放音频或者用户有回退操作需求时,将当前信号帧,通过短时傅里叶变换转到时频域,并提取当前帧的幅度特征,然后输入至训练好的第一语
音检测模型或第二语音检测模型进行预测。如果第一语音检测模型或第二语音检测模型预测当前帧为非语音帧,则不进行回退操作。如果第一语音检测模型预测当前帧为语音帧时,则可将由语音活动检测方法确定的距离当前音频帧向前最近的非语音帧作为音频回退点,若当前帧距音频回退点之间的时间差大于最大回退时间,则回退到最大回退时间处。当第二语音检测模型预测当前帧为语音帧时,且预测回退时间(即当前语音帧向前距离最近的语音起始帧之间的时间差)为tn时,则回退到tn处,若tn大于最大回退时间,则回退到最大回退时间处。
[0066]
另外,当用户暂停后再次播放音频或者用户有回退操作需求时,在由第一语音检测模型或第二语音检测模型预测出当前帧是非语音帧时,如果用户执行音频回退操作,则将音频回退至上一句的语音开始位置。例如,当用户再次进行回退操作时,说明此刻用户想回听上一句的音频样本。此时,可根据由第一语音检测模型或第二语音检测模型的预测结果或者在使用第一语音检测模型或第二语音检测模型的预测结果的基础上结合语音活动检测方法来执行音频回退操作。
[0067]
根据本公开的实施例,利用神经网络学习进行语音、非语音的判别,并且可结合传统语音活动检测算法将音频按照不同的策略进行回退,使得回退操作更加便捷和准确。
[0068]
图2是根据本公开实施例的训练第一语音检测模型的示意图。图2所示的第一语音检测模型可以是能够区分当前音频帧的类型(语音帧、非语音帧)的二分类模型。
[0069]
可使用深度神经网络来训练第一语音检测模型。例如,将从音频信号中提取的幅度谱作为训练深度神经网络的特征,将音频类型作为训练深度神经网络的目标,然后利用深度神经网络来训练第一语音检测模型。
[0070]
参照图2,将音频信号通过短时傅里叶变换stft转到时频域。若长度为t的音频信号x在时域上为x(t),其中,t代表时间,0<t≤t,则经过短时傅里叶变换stft后,x(t)在时频域上可被表示为等式(1):
[0071]
x(n,k)=stft(x(t))
ꢀꢀꢀꢀ
(1)
[0072]
其中,n为帧序列,0<n≤n,n为总帧数,k为中心频率序列,0<k≤k,k为总频点数。
[0073]
利用等式(2)从时频域上的音频信号x(n,k)中获取音频信号x(n,k)的幅度mag:
[0074]
magx(n,k)=abs(x(n,k))
ꢀꢀꢀꢀ
(2)
[0075]
通过等式(1)和(2)可获得音频信号的幅度谱。
[0076]
可标注网络训练所需的标签。可按照音频特征对音频信号进行音频特征的标注。作为示例,可按照音频信号的幅度来标注音频信号的类型。例如,当音频信号中的音频帧为非语音帧时,将该语音帧标注为0,当音频信号中的音频帧为语音帧时,将该音频帧标注为1。然而,上述示例仅是示例性的,本公开不限于此。
[0077]
接下来,将从音频信号中提取的幅度谱作为训练深度神经网络的特征,将音频类型作为训练深度神经网络的目标,利用设计好的深度神经网络来完成第一语音检测模型的训练。
[0078]
当目标音频信号按照流的形式播放时,提取音频信号特征(例如音频信号的幅度),将音频信号的特征输入第一语音检测模型,即可获得目标音频信号中的每个音频帧的音频类型。
[0079]
图3是根据本公开实施例的训练第二语音检测模型的示意图。图3所示的第二语音
检测模型可以是能够区分当前音频帧的类型(语音帧、非语音帧),同时当音频帧为语音帧时能够输出该语音帧向前距离最近的语音起始帧的时间差(如果音频帧为非语音帧时该时间差可标注为0)的神经网络。这里,第二语音检测模型是与时间相关的模型,因此,可使用循环神经网络来训练第二语音检测模型。
[0080]
作为示例,将从音频信号中提取的幅度谱作为训练循环神经网络的特征,将音频类型和语音帧距离最近的语音起始帧的时间差作为训练循环神经网络的目标,然后利用循环神经网络来训练第二语音检测模型。
[0081]
参照图3,将音频信号通过短时傅里叶变换stft转到时频域。若长度为t的音频信号x在时域上为x(t),其中,t代表时间,0<t≤t,则经过短时傅里叶变换stft后,x(t)在时频域上可被表示为等式(1):
[0082]
x(n,k)=stft(x(t))
ꢀꢀꢀꢀ
(1)
[0083]
其中,n为帧序列,0<n≤n,n为总帧数,k为中心频率序列,0<k≤k,k为总频点数。
[0084]
利用等式(2)从时频域上的音频信号x(n,k)中获取音频信号x(n,k)的幅度mag:
[0085]
magx(n,k)=abs(x(n,k))
ꢀꢀꢀꢀ
(2)
[0086]
通过等式(1)和(2)可获得音频信号的幅度谱。
[0087]
可标注网络训练所需的标签。可按照音频特征对音频信号进行音频特征的标注。作为示例,可按照音频信号的幅度来标注音频信号的类型。例如,当音频信号中的音频帧为非语音帧时,将该语音帧标注为0,当音频信号中的音频帧为语音帧时,将该音频帧标注为1。然而,上述示例仅是示例性的,本公开不限于此。
[0088]
此外,利用音频信号中的句首时间来获得语音帧距离最近的语音起始帧的时间差。例如,当音频帧类型为非语音帧时,所有距离语音帧开始时间标注为0。当音频帧类型为语音帧时,该语音帧向前距离语音帧开始时间标注为当前语音帧距离语音帧开始位置的时间差,此时间差为距离当前语音帧距离最近的语音起始帧的时间差,且当音频帧类型变为非语音帧时,则距离语音帧开始时间标注为0。
[0089]
接下来,将从音频信号中提取的幅度谱作为训练循环神经网络的特征,将音频类型和语音帧距离最近的语音起始帧的时间差作为训练循环神经网络的目标,利用设计好的循环神经网络来完成第二语音检测模型的训练。
[0090]
当目标音频信号按照流的形式播放时,提取音频信号特征(例如音频信号的幅度),将音频信号的特征输入第二语音检测模型,即可获得目标音频信号中的每个音频帧的音频类型以及每个语音帧向前距离最近的语音起始帧的时间差。
[0091]
图4是根据本公开第一实施例的语音回退方法的流程示意图。根据本公开的实施例,可使用由第一语音检测模型的预测结果来执行音频回退操作。
[0092]
参照图4,在播放音频信号流时,将音频信号流中的音频帧通过短时傅里叶变换stft来得到时频域上的音频信号。从时频域的音频信号中可提取音频帧的幅度以获得音频信号的幅度谱。基于幅度谱利用第一语音检测模型可确定每个音频帧的音频类型,并且实时记录每个音频帧的音频类型。第一语音检测模型可以是能够区分当前音频帧的类型(语音帧、非语音帧)的二分类模型。第一语音检测模型的输入为音频信号的幅度,第一语音检测模型的输出是音频信号的音频类型。
[0093]
当用户暂停后再次播放音频或者用户有回退操作需求时,将当前音频帧通过stft
转换到时频域,并提取当前音频帧的幅度特征,然后输入到第一语音检测模型来预测当前音频帧的音频类型。
[0094]
当预测当前音频帧是非语音帧时,则不执行音频回退操作。
[0095]
当预测当前音频帧是语音帧时,确定将要回退到的音频回退点。可将距离当前音频帧向前最近的非语音帧作为音频回退点。
[0096]
接下来,计算当前音频帧至确定的音频回退点之间的时间差,并且将该时间差与最大回退时间进行比较。当该时间差小于或等于最大回退时间差时,可按照确定的音频回退点来执行音频回退操作。当该时间差小于最大回退时间差时,可将音频回退至最大回退时间处。这里,最大回退时间可根据用户需求和实际设计来不同地进行设置。
[0097]
图5是根据本公开第二实施例的语音回退方法的流程示意图。根据本公开的实施例,可使用由第一语音检测模型的预测结果和由语音活动检测方法的检测结果两者来执行音频回退操作。
[0098]
参照图5,在播放音频信号流时,将音频信号流中的音频帧通过短时傅里叶变换stft来得到时频域上的音频信号。从时频域的音频信号中可提取音频帧的幅度以获得音频信号的幅度谱。基于幅度谱利用第一语音检测模型可确定每个音频帧的音频类型,并且实时地记录每个音频帧的音频类型。
[0099]
此外,对音频信号流中的每个音频帧进行能量统计,以确定每个音频帧内的音频类型。例如,当音频信号进行播放时,统计当前音频帧能量,并利用该能量进行语音活动检测vad判别音频类型。当能量大于或等于特定阈值时,将音频帧确定为语音帧。当能量小于特定阈值时,将音频帧确定为噪声,并进行音频类型的实时存储,用以定位当前帧的位置。可按照下面的等式(3)来确定音频类型:
[0100][0101]
其中,e
x(n)
为第n帧的音频信号能量,α为能量阈值(即特定阈值),α可根据实际情况设定,vad(n)
tr
为第n帧的语音活动检测的结果。
[0102]
当用户暂停后再次播放音频或者用户有回退操作需求时,将当前音频帧通过stft转换到时频域,并提取当前音频帧的幅度特征,然后输入到第一语音检测模型来预测当前音频帧的音频类型。第一语音检测模型可以是能够区分当前音频帧的类型(语音帧、非语音帧)的二分类模型。第一语音检测模型的输入为音频信号的幅度,第一语音检测模型的输出是音频信号的音频类型。
[0103]
当预测当前音频帧是非语音帧时,则不执行音频回退操作。
[0104]
当预测当前音频帧是语音帧时,确定将要回退到的音频回退点。可在由第一语音检测模型的预测结果的基础上结合语音活动检测方法的检测结果来确定音频回退点。
[0105]
作为示例,如果由第一语音检测模型的预测结果与由语音活动检测方法的检测结果一致,例如,第一语音检测模型的预测结果为1,语音活动检测的检测结果也为1,则将由语音活动检测方法确定的距离当前音频帧向前最近的非语音帧作为音频回退点。如果由第一语音检测模型的预测结果与由语音活动检测方法的检测结果不一致,例如,第一语音检测模型的预测结果为1,语音活动检测的检测结果为0,则将由语音检测模型确定的距离当前音频帧向前最近的非语音帧作为音频回退点。
[0106]
接下来,计算当前音频帧至确定的音频回退点之间的时间差,并且将该时间差与最大回退时间进行比较。当该时间差小于或等于最大回退时间差时,可按照确定的音频回退点来执行音频回退操作。当该时间差小于最大回退时间差时,可将音频回退至最大回退时间处。这里,最大回退时间可根据用户需求和实际设计来不同地进行设置。
[0107]
图6是根据本公开第三实施例的语音回退方法的流程示意图。根据本公开的实施例,可使用由第二语音检测模型的预测结果来执行音频回退操作。
[0108]
参照图6,在播放音频信号流时,将音频信号流中的音频帧通过短时傅里叶变换stft来得到时频域上的音频信号。从时频域的音频信号中可提取音频帧的幅度以获得音频信号的幅度谱。基于幅度谱利用第二语音检测模型可确定每个音频帧的音频类型以及语音帧距离最近的语音起始帧的时间差(即语音帧距离句首的时间),并且实时记录每个音频帧的音频类型以及语音帧距离最近的语音起始帧的时间差。这里,第二语音检测模型可以是能够区分当前音频帧的类型(语音帧、非语音帧),同时当音频帧为语音帧时能够输出该语音帧向前距离最近的语音起始帧的时间差(如果音频帧为非语音帧时该时间差可标注为0)的循环神经网络。
[0109]
当用户暂停后再次播放音频或者用户有回退操作需求时,将当前音频帧通过stft转换到时频域,并提取当前音频帧的幅度特征,然后输入到第二语音检测模型来预测当前音频帧的音频类型以及语音帧距离最近的语音起始帧的时间差。
[0110]
当预测当前音频帧是非语音帧时,则不执行音频回退操作。
[0111]
当预测当前音频帧是语音帧时,确定将要回退到的音频回退点。可根据当前语音帧向前距离最近的语音起始帧的时间差来确定距离当前音频帧向前最近的语音起始帧,作为音频回退点。
[0112]
接下来,计算当前音频帧至确定的音频回退点之间的时间差,并且将该时间差与最大回退时间进行比较。当该时间差小于或等于最大回退时间差时,可按照确定的音频回退点来执行音频回退操作。当该时间差小于最大回退时间差时,可将音频回退至最大回退时间处。这里,最大回退时间可根据用户需求和实际设计来不同地进行设置。
[0113]
图7是根据本公开第四实施例的语音回退方法的流程示意图。根据本公开的实施例,可使用由第二语音检测模型的预测结果和由语音活动检测方法的检测结果两者来执行音频回退操作。
[0114]
参照图7,在播放音频信号流时,将音频信号流中的音频帧通过短时傅里叶变换stft来得到时频域上的音频信号。从时频域的音频信号中可提取音频帧的幅度以获得音频信号的幅度谱。基于幅度谱利用第二语音检测模型可确定每个音频帧的音频类型以及语音帧距离最近的语音起始帧的时间差(即语音帧距离句首的时间),并且实时记录每个音频帧的音频类型以及语音帧距离最近的语音起始帧的时间差。这里,第二语音检测模型可以是能够区分当前音频帧的类型(语音帧、非语音帧),同时当音频帧为语音帧时能够输出该语音帧向前距离最近的语音起始帧的时间差(如果音频帧为非语音帧时该时间差可标注为0)的循环神经网络。
[0115]
此外,对音频信号流中的每个音频帧进行能量统计,以确定每个音频帧内的音频类型。例如,当音频信号进行播放时,统计当前音频帧能量,并利用该能量进行语音活动检测判别音频类型。当能量大于或等于特定阈值时,将音频帧确定为语音帧。当能量小于特定
阈值时,将音频帧确定为噪声,并进行音频类型的实时存储。可按照下面的等式(3)来确定音频类型:
[0116][0117]
其中,e
x(n)
为第n帧的音频信号能量,α为能量阈值(即特定阈值),α可根据实际情况设定,vad(n)
tr
为第n帧的语音活动检测的结果。
[0118]
当用户暂停后再次播放音频或者用户有回退操作需求时,将当前音频帧通过stft转换到时频域,并提取当前音频帧的幅度特征,然后输入到第二语音检测模型来预测当前音频帧的音频类型以及语音帧距离最近的语音起始帧的时间差。
[0119]
当预测当前音频帧是非语音帧时,则不执行音频回退操作。
[0120]
当预测当前音频帧是语音帧时,确定将要回退到的音频回退点。可在由第二语音检测模型的预测结果的基础上结合语音活动检测方法的检测结果来确定音频回退点。
[0121]
作为示例,如果由第二语音检测模型的预测结果与由语音活动检测方法的检测结果一致,例如,第二语音检测模型的预测结果为1,语音活动检测的检测结果也为1,则将从与当前音频帧向前距离预测的时间差(由第二语音检测模型预测出的)的帧开始再向前至最近的由语音活动检测方法确定的非语音帧作为音频回退点。如果由第二语音检测模型的预测结果与由语音活动检测方法的检测结果不一致,例如,第二语音检测模型的预测结果为1,语音活动检测的检测结果为0,则将与当前音频帧向前距离预测的时间差(由第二语音检测模型预测出的)的帧作为音频回退点。
[0122]
例如,在使用第二语音检测模型结合语音活动检测方法的情况下,当由第二语音检测模型预测的当前帧为语音帧并且由语音活动检测方法检测的当前帧为语音帧时,可先将音频按照由第二语音检测模型预测出的时间差退回至从与当前音频帧向前距离预测出的时间差的帧,然后此时如果该帧由第二语言检测模型预测为语音帧同时由语音活动检测方法检测为非语音帧,则可不再进一步执行回退。如果此时该帧由第二语言检测模型预测为语音帧而由语音活动检测方法检测为语音帧,则在该帧开始再向前回退至由语音活动检测方法检测的直到非语音帧为止。
[0123]
接下来,计算当前音频帧至确定的音频回退点之间的时间差,并且将该时间差与最大回退时间进行比较。当该时间差小于或等于最大回退时间差时,可按照确定的音频回退点来执行音频回退操作。当该时间差小于最大回退时间差时,可将音频回退至最大回退时间处。这里,最大回退时间可根据用户需求和实际设计来不同地进行设置。
[0124]
可选地,当用户暂停后再次播放音频或者用户有回退操作需求时,将当前信号帧(例如,第n帧),通过短时傅里叶变换转到时频域,并提取第n帧的幅度特征,然后输入至训练好的第一语音检测模型或第二语音检测模型进行预测。如果第一语音检测模型或第二语音检测模型预测当前帧为0(即非语音帧),则不进行回退操作。如果第一语音检测模型预测当前帧为1(即语音帧)时,则可将由语音活动检测方法确定的距离当前音频帧向前最近的非语音帧作为音频回退点,若当前帧距音频回退点之间的时间差大于最大回退时间tm,则回退到最大回退时间tm处。当第二语音检测模型预测当前帧为1(即语音帧)时,且预测回退时间(即当前语音帧向前距离最近的语音起始帧之间的时间差)为tn时,则回退到tn处,若tn大于最大回退时间tm,则回退到tm处。
[0125]
在上述参照图4至图7描述的语音回退处理中,在由语音检测模型预测出当前帧是非语音帧时,不执行回退操作。如果此时用户执行回退操作,则说明用户想回听上一句的音频样本,可按照由第一语音检测模型或第二语音检测模型的预测结果或者在使用第一语音检测模型或第二语音检测模型的预测结果的基础上结合语音活动检测方法来执行音频回退操作。
[0126]
根据本公开,利用神经网络模型能进行语音、非语音的判别,同时能够定位出当前语音帧距离语音起始帧的时间差,将音频按照不同的策略进行回退,最大程度上保证了回退的准确性和用户体验。
[0127]
图8是根据本公开实施例的语音回退装置的框图。根据本公开实施例的语音回退装置可以是电子装置(诸如移动电话、平板电脑等)的一部分,或者作为独立的电子装置。
[0128]
参照图8,语音回退装置800可包括数据获取模块801和数据处理模块802。语音回退装置800中的每个模块可由一个或多个模块来实现,并且对应模块的名称可根据模块的类型而变化。在各种实施例中,可省略语音回退装置800中的一些模块,或者还可包括另外的模块。此外,根据本公开的各种实施例的模块/元件可被组合以形成单个实体,并且因此可等效地执行相应模块/元件在组合之前的功能。
[0129]
数据获取模块801可获取音频。
[0130]
在音频播放过程中,数据处理模块802可确定并记录每个音频帧的类型。
[0131]
当用户暂停后再次播放音频或者用户有回退操作需求时,数据处理模块802可基于当前音频帧的类型执行音频回退操作。
[0132]
在当前音频帧为非语音帧的情况下,数据处理模块802可不执行音频回退操作。
[0133]
在当前音频帧为语音帧的情况下,数据处理模块802可确定音频回退点并将音频退回至音频回退点。
[0134]
数据处理模块802可使用语音检测模型来确定每个音频帧的类型,其中,语音检测模型由神经网络训练而成。这里,语音检测模型可包括第一语音检测模型,第一语音检测模型的输入是音频信号的幅度,第一语音检测模型的输出是音频信号的音频类型。语音检测模型还包括第二语音检测模型,第二语音检测模型的输入是音频信号的幅度,第二语音检测模型的输出是音频信号的音频类型和语音帧距离向前最近的语音起始帧的时间差。
[0135]
在第一语音检测模型被使用的情况下,数据处理模块802可将距离当前音频帧向前最近的非语音帧作为音频回退点。
[0136]
在第二语音检测模型被使用的情况下,数据处理模块802可根据预测出的时间差确定距离当前音频帧向前最近的语音起始帧作为音频回退点。
[0137]
数据处理模块802可基于由语音检测模型的预测结果和由语音活动检测方法的检测结果来确定音频回退点。
[0138]
在第一语音检测模型结合语音活动检测方法的情况下,数据处理模块802可利用语音活动检测方法来确定每个音频帧的类型,如果由语音检测模型的预测结果与由语音活动检测方法的检测结果一致,则将由语音活动检测方法确定的距离当前音频帧向前最近的非语音帧作为音频回退点。如果由语音检测模型的预测结果与由语音活动检测方法的检测结果不一致,则将由语音检测模型确定的距离当前音频帧向前最近的非语音帧作为音频回退点。
[0139]
在第二语音检测模型结合语音活动检测方法的情况下,数据处理模块802可利用语音活动检测方法来确定每个音频帧的类型,如果由语音检测模型的预测结果与由语音活动检测方法的检测结果一致,则将从与当前音频帧向前距离预测出的时间差的帧开始再向前至最近的由语音活动检测方法确定的非语音帧作为音频回退点。如果由语音检测模型的预测结果与由语音活动检测方法的检测结果不一致,则将与当前音频帧向前距离预测出的时间差的帧作为音频回退点。
[0140]
在当前音频帧为非语音帧的情况下,如果用户执行音频回退操作,则数据处理模块802可将音频回退至上一句的语音开始位置。
[0141]
可选地,在确定音频回退点后,数据处理模块802可将当前音频帧和音频回退点之间的时间差与预设回退时间(诸如预先设置的最大回退时间)进行比较。在该时间差大于预设回退时间的情况下,数据处理模块802可将音频回退所述预设回退时间。
[0142]
根据本公开的实施例,可提供一种电子设备。图9是根据本公开实施例的电子设备的框图,该电子设备900可包括至少一个处理器901和至少一个存储器902,所述至少一个存储器902存储有计算机可执行指令集合,当计算机可执行指令集合被至少一个处理器901执行时,执行根据本公开实施例的语音回退方法。
[0143]
处理器901可包括中央处理器(cpu)、图形处理器(gpu)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,处理器901还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。
[0144]
作为一种存储介质的存储器902可包括操作系统、数据存储模块、网络通信模块、用户接口模块、语音回退方法程序以及数据库。
[0145]
存储器902可与处理器901集成为一体,例如,可将ram或闪存布置在集成电路微处理器等之内。此外,存储器902可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可使用的其他存储装置。存储器和处理器可在操作上进行耦合,或者可例如通过i/o端口、网络连接等互相通信,使得处理器能够读取存储在存储器中的文件。
[0146]
此外,电子设备900还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。电子设备900的所有组件可经由总线和/或网络而彼此连接。
[0147]
作为示例,电子设备900可以是pc计算机、平板装置、个人数字助理、智能手机、或其他能够执行上述指令集合的装置。这里,电子设备900并非必须是单个的电子设备,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。电子设备900还可以是集成控制系统或系统管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子设备。
[0148]
本领域技术人员可理解,图9中示出的结构并不构成对的限定,可包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0149]
根据本公开的实施例,还可提供一种存储指令的计算机可读存储介质,其中,当指令被至少一个处理器运行时,促使至少一个处理器执行根据本公开的语音回退方法。这里的计算机可读存储介质的示例包括:只读存储器(rom)、随机存取可编程只读存储器(prom)、电可擦除可编程只读存储器(eeprom)、随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)、闪存、非易失性存储器、cd-rom、cd-r、cd+r、cd-rw、
cd+rw、dvd-rom、dvd-r、dvd+r、dvd-rw、dvd+rw、dvd-ram、bd-rom、bd-r、bd-r lth、bd-re、蓝光或光盘存储器、硬盘驱动器(hdd)、固态硬盘(ssd)、卡式存储器(诸如,多媒体卡、安全数字(sd)卡或极速数字(xd)卡)、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及任何其他装置,所述任何其他装置被配置为以非暂时性方式存储计算机程序以及任何相关联的数据、数据文件和数据结构并将所述计算机程序以及任何相关联的数据、数据文件和数据结构提供给处理器或计算机使得处理器或计算机能执行所述计算机程序。上述计算机可读存储介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,此外,在一个示例中,计算机程序以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统上,使得计算机程序以及任何相关联的数据、数据文件和数据结构通过一个或多个处理器或计算机以分布式方式存储、访问和执行。
[0150]
根据本公开的实施例中,还可提供一种计算机程序产品,该计算机程序产品中的指令可由计算机设备的处理器执行以完成上述语音回退方法。
[0151]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
[0152]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1