掌桥专利:专业的专利平台
掌桥专利
首页

一种语谱图的生成方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 10:00:31


一种语谱图的生成方法、装置、电子设备及存储介质

技术领域

本申请涉及语音处理技术领域,具体而言,涉及一种语谱图的生成方法、装置、电子设备及存储介质。

背景技术

语谱图是一种语音的短时频域表示方法,可以表征不同时间和频率刻度的能量分布,是语音的直观二维展示,在声纹鉴定、语音信号处理等领域中起着重要作用。

现阶段,在处理不同时长的语音片段时,使用固定的帧移生成语谱图,不同时长的语音片段包括的语音样点数量不同,在语音样点数冗余时,使用固定帧移会降低计算速度,在语音样点数不足时,使用固定帧移会降低语谱图的质量。因此,只有在样点数处于一定的范围内,才会快速地生成高质量的语谱图。

实际中,语音片段的时长并不是固定的,因此,上述语谱图的生成方式并不能适用所有时长的语音片段,在语音时长过长或者过短时,会造成语谱图的生成效率低,或者,生成的语谱图的质量差。

发明内容

有鉴于此,本申请实施例的目的在于提供一种语谱图的生成方法、装置、电子设备及存储介质,能够基于与待处理语音片段相匹配的帧移生成语谱图,该种语谱图的生成方式适用于多种时长的语音片段,语谱图的生成效率高,生成的语谱图的质量好。

第一方面,本申请实施例提供了一种语谱图的生成方法,所述生成方法包括:

基于待处理语音片段中包括的语音样点的数量,确定所述待处理语音片段对应的第一帧移;

采用与所述第一帧移的大小相匹配的调整方式,对所述待处理语音片段对应的初始帧数进行调整,得到调整后的目标帧数;

基于所述待处理语音片段对应的帧长以及第二帧移,将所述待处理语音片段中包括的语音样点划分至对应的语音样点集合中;其中,所述第二帧移为所述第一帧移取整后的值;所述语音样点集合的数量等于所述目标帧数;

针对每个语音样点集合,根据该语音样点集合内每个语音样点的初始振幅,确定该语音样点集合对应的功率谱;

基于各个语音样点集合分别对应的功率谱,生成所述待处理语音片段的语谱图。

在一种可能的实施方式中,所述基于待处理语音片段中包括的语音样点的数量,确定所述待处理语音片段对应的第一帧移,包括:

根据所述待处理语音片段中包括的语音样点的数量,以及所述待处理语音片段对应的帧长和初始帧数,确定所述第一帧移。

在一种可能的实施方式中,所述采用与所述第一帧移的大小相匹配的调整方式,对所述待处理语音片段对应的初始帧数进行调整,得到调整后的目标帧数,包括:

若所述第一帧移大于等于第一阈值,则将所述初始帧数确定为所述目标帧数;

若所述第一帧移大于等于第二阈值,并且小于所述第一阈值,则将所述第一帧移更新为预设的特定帧移,并根据所述待处理语音片段中包括的语音样点的数量、所述帧长以及所述特定帧移确定所述目标帧数;

若所述第一帧移小于所述第二阈值,则将预设的特定帧数确定为所述目标帧数。

在一种可能的实施方式中,所述针对每个语音样点集合,根据该语音样点集合内每个语音样点的初始振幅,确定该语音样点集合对应的功率谱,包括:

针对每个语音样点集合,根据该语音样点集合内每个语音样点的初始振幅,以及该语音样点对应的窗函数,确定该语音样点的加窗后的目标振幅;

根据预设的快速傅里叶变换点数,每个语音样点集合中包括的各个语音样点分别对应的目标振幅,生成第一序列;其中,所述第一序列内的数值的个数与所述快速傅里叶变换点数相一致,并且所述第一序列内的数值包括各个语音样点分别对应的目标振幅,以及零值;

对每个语音样点集合对应的第一序列内的数值进行傅里叶变换处理,得到该语音样点集合对应的多个傅里叶变换后的复数值;

根据每个语音样点集合对应的多个傅里叶变换后的复数值,确定该语音样点集合对应的功率谱。

在一种可能的实施方式中,所述基于各个语音样点集合分别对应的功率谱,生成所述待处理语音片段的语谱图,包括:

基于所述初始帧数与所述目标帧数之间的数量关系,以及各个语音样点集合分别对应的功率谱,确定包含初始帧数个功率谱的第二序列;

基于所述包含初始帧数个功率谱的第二序列,生成所述待处理语音片段的语谱图。

在一种可能的实施方式中,所述基于所述包含初始帧数个功率谱的第二序列,生成所述待处理语音片段的语谱图,包括:

基于预设的功率谱与颜色的对应关系,确定所述第二序列中每个功率谱对应的颜色;

基于所述第二序列中每个功率谱对应的颜色,生成所述待处理语音片段的语谱图;其中,所述语谱图为包含不同颜色的图片。

第二方面,本申请实施例提供了一种语谱图的生成装置,所述生成装置包括:

第一确定模块,用于基于待处理语音片段中包括的语音样点的数量,确定所述待处理语音片段对应的第一帧移;

调整模块,用于采用与所述第一帧移的大小相匹配的调整方式,对所述待处理语音片段对应的初始帧数进行调整,得到调整后的目标帧数;

划分模块,用于基于所述待处理语音片段对应的帧长以及第二帧移,将所述待处理语音片段中包括的语音样点划分至对应的语音样点集合中;其中,所述第二帧移为所述第一帧移取整后的值;所述语音样点集合的数量等于所述目标帧数;

第二确定模块,用于针对每个语音样点集合,根据该语音样点集合内每个语音样点的初始振幅,确定该语音样点集合对应的功率谱;

生成模块,用于基于各个语音样点集合分别对应的功率谱,生成所述待处理语音片段的语谱图。

在一种可能的实施方式中,所述调整模块,在采用与所述第一帧移的大小相匹配的调整方式,对所述待处理语音片段对应的初始帧数进行调整,得到调整后的目标帧数时,包括:

若所述第一帧移大于等于第一阈值,则将所述初始帧数确定为所述目标帧数;

若所述第一帧移大于等于第二阈值,并且小于所述第一阈值,则将所述第一帧移更新为预设的特定帧移,并根据所述待处理语音片段中包括的语音样点的数量、所述帧长以及所述特定帧移确定所述目标帧数;

若所述第一帧移小于所述第二阈值,则将预设的特定帧数确定为所述目标帧数。

第三方面,本申请实施例提供了一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述处理器执行所述机器可读指令,以执行第一方面任一项所述的语谱图的生成方法的步骤。

第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行第一方面任一项所述的语谱图的生成方法的步骤。

本申请实施例提供的一种语谱图的生成方法、装置、电子设备及存储介质,基于待处理语音片段中包括的语音样点的数量,确定所述待处理语音片段对应的第一帧移;采用与所述第一帧移的大小相匹配的调整方式,对所述待处理语音片段对应的初始帧数进行调整,得到调整后的目标帧数;基于所述待处理语音片段对应的帧长以及第二帧移,将所述待处理语音片段中包括的语音样点划分至对应的语音样点集合中;其中,所述第二帧移为所述第一帧移取整后的值;所述语音样点集合的数量等于所述目标帧数;针对每个语音样点集合,根据该语音样点集合内每个语音样点的初始振幅,确定该语音样点集合对应的功率谱;基于各个语音样点集合分别对应的功率谱,生成所述待处理语音片段的语谱图。本申请实施例能够基于与待处理语音片段相匹配的帧移生成语谱图,该种语谱图的生成方式适用于多种时长的语音片段,语谱图的生成效率高,生成的语谱图的质量好。

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

附图说明

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

图1示出了本申请实施例提供的一种语谱图的生成方法的流程图;

图2示出了本申请实施例提供的另一种语谱图的生成方法的流程图;

图3示出了本申请实施例提供的另一种语谱图的生成方法的流程图;

图4示出了本申请实施例提供的另一种语谱图的生成方法的流程图;

图5示出了本申请实施例提供的一种语谱图的生成装置的结构示意图;

图6示出了本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

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

现阶段,在处理不同时长的语音片段时,使用固定的帧移生成语谱图,不同时长的语音片段包括的语音样点数量不同,在语音样点数冗余时,使用固定帧移会降低计算速度,在语音样点数不足时,使用固定帧移会降低语谱图的质量。因此,只有在样点数处于一定的范围内,才会快速地生成高质量的语谱图。实际中,语音片段的时长并不是固定的,因此,上述语谱图的生成方式并不能适用所有时长的语音片段,在语音时长过长或者过短时,会造成语谱图的生成效率低,或者,生成的语谱图的质量差。

基于上述问题,本申请实施例提供的一种语谱图的生成方法、装置、电子设备及存储介质,基于待处理语音片段中包括的语音样点的数量,确定所述待处理语音片段对应的第一帧移;采用与所述第一帧移的大小相匹配的调整方式,对所述待处理语音片段对应的初始帧数进行调整,得到调整后的目标帧数;基于所述待处理语音片段对应的帧长以及第二帧移,将所述待处理语音片段中包括的语音样点划分至对应的语音样点集合中;其中,所述第二帧移为所述第一帧移取整后的值;所述语音样点集合的数量等于所述目标帧数;针对每个语音样点集合,根据该语音样点集合内每个语音样点的初始振幅,确定该语音样点集合对应的功率谱;基于各个语音样点集合分别对应的功率谱,生成所述待处理语音片段的语谱图。本申请实施例能够基于与待处理语音片段相匹配的帧移生成语谱图,该种语谱图的生成方式适用于多种时长的语音片段,语谱图的生成效率高,生成的语谱图的质量好。

针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本申请针对上述问题所提出的解决方案,都应该是发明人在本申请过程中对本申请做出的贡献。

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

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

为便于对本实施例进行理解,首先对本申请实施例所公开的一种语谱图的生成方法进行详细介绍。

参见图1所示,图1为本申请实施例提供的一种语谱图的生成方法的流程图,所述生成方法包括以下步骤:

S101、基于待处理语音片段中包括的语音样点的数量,确定所述待处理语音片段对应的第一帧移。

该步骤中,待处理语音片段为任意的一个语音片段,比如,通话语音片段、用于身份验证的录音片段、从音视频中提取出的语音片段,这里不作具体的限定。待处理语音片段由多个语音样点组成,采集每个语音样点的语音参数(即为语音样点值),比如振幅,由每个语音样点的语音参数形成待处理语音片段。待处理语音片段中包括的语音样点的数量与待处理语音片段的时长正相关,比如,一分钟的语音片段中包括的语音样点的数量大于三十秒的语音片段中包括的语音样点的数量。

可以将一个待处理语音片段划分成多帧,每帧待处理语音片段包括相同数量的语音样点,前一帧尾部与后一帧头部的重叠量即为帧移,帧移为正整数个语音样点,比如,整个待处理语音片段中包括语音样点1~10,语音样点1~4组成第一帧,如果帧移为2,则语音样点3~6组成第二帧,如果帧移为3,则语音样点4~7组成第二帧。

本申请中,根据待处理语音片段中包括的语音样点的数量,确定该待处理语音片段对应的第一帧移,第一帧移与语音样点的数量正相关,针对不同的待处理语音片段,选择与每个待处理语音片段包括的语音样点的数量相匹配的第一帧移,以快速且准确地生成待处理该语音片段的语谱图。

优选的,根据所述待处理语音片段中包括的语音样点的数量,以及所述待处理语音片段对应的帧长和初始帧数,确定所述第一帧移。

其中,帧长表示每帧内包括的语音样点的数量,比如,帧长为4,每帧内有4个语音样点,根据所要生成的语谱图的种类(宽带还是窄带)确定帧长,具体的,宽带语谱图的帧长约为0.008倍的采样率,窄带语谱图的帧长约为0.04倍的采样率,这里,采样率表示每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示,采样率小于48kHz,可以根据用户的实际需求选择合适的采样率,通常,采样率可以选择8 kHz、16 kHz、44.1kHz。本申请实施例中,选用宽带语谱图,采样率为8 kHz。

待处理语音片段对应的初始帧数等于显示窗口的X轴的像素数目,显示窗口的X轴的像素数目即为显示语谱图的显示器的参数,如果显示的语谱图的横向像素数目多,则初始帧数大。这里,如果初始帧数大于像素数目,则无法继续提升语谱图时间轴(即X轴)的分辨率且浪费计算资源,如果初始帧数小于像素数目,则分辨率不能达到最大,语谱图的显示效果不好,因此,最佳选择就是初始帧数等于像素数目。

在确定了语谱图的种类和采样率后,即确定了待处理语音片段对应的帧长,在获取了显示窗口的X轴的像素数目后,即确定了待处理语音片段对应的初始帧数,进而通过如下公式计算第一帧移

其中,

需要说明的是,计算得到的第一帧移可以为负数,也可以为分数。一般情况下,帧移是非负整数,计算得到的第一帧移并不能保证是非负整数,如果对第一帧移进行向上取整,则第一帧移偏大,会导致帧数不足,如果对第一帧移进行向下取整,则第一帧移偏小,会导致帧无法移动到待处理语音片段的末尾。因此,使用分数来表示第一帧移,在确定每帧包括的语音样点时再对第一帧移进行取整处理。

S102、采用与所述第一帧移的大小相匹配的调整方式,对所述待处理语音片段对应的初始帧数进行调整,得到调整后的目标帧数。

该步骤中,当待处理语音片段中包括的语音样点的数量比较少时,为了避免重帧等极端情况的发生,需要根据计算得到的第一帧移的大小,对初始帧数进行调整,得到目标帧数,进而基于目标帧数确定每帧包括的语音样点,进而提高生成的语谱图的准确性。

作为一种可选的实施方式,根据第一帧移的大小,对应有三种初始帧数的调整方式,分别为:

(1)若所述第一帧移大于等于第一阈值,则将所述初始帧数确定为所述目标帧数。

当第一帧移大于等于第一阈值时,说明待处理语音片段中包括的语音样点在确保不重帧的前提下可以满足初始帧数,无需对初始帧数进行调整,直接将初始帧数确定为目标帧数,这里,重帧即每一帧包括的语音样点都是相同的。优选的,第一阈值为1。

(2)若所述第一帧移大于等于第二阈值,并且小于所述第一阈值,则将所述第一帧移更新为预设的特定帧移,并根据所述待处理语音片段中包括的语音样点的数量、所述帧长以及所述特定帧移确定所述目标帧数。

当计算得到的第一帧移大于等于第二阈值,并且小于第一阈值时,说明第一帧移即使取第一阈值也不能满足初始帧数,而第一帧移取第二阈值则会导致重帧的情况,而交错的取第二阈值和第一阈值也会导致重帧的情况。对于这种情况,将第一帧移更新为第一阈值,这里,第一阈值即为特定帧移,然后根据待处理语音片段中包括的语音样点的数量、帧长以及特定帧移计算目标帧数,具体的,通过如下公式计算目标帧数

其中,

(3)若所述第一帧移小于所述第二阈值,则将预设的特定帧数确定为所述目标帧数。

当待处理语音片段中包括的语音样点的数量极少时,即计算得到的第一帧移小于第二阈值时,说明待处理语音片段最多能凑到目标帧数(1帧)。此时,已没有帧移的概念,只绘制1帧语音的语谱图。优选的,第二阈值为0。

S103、基于所述待处理语音片段对应的帧长以及第二帧移,将所述待处理语音片段中包括的语音样点划分至对应的语音样点集合中;其中,所述第二帧移为所述第一帧移取整后的值;所述语音样点集合的数量等于所述目标帧数。

该步骤中,将第一帧移进行取整处理后,得到第二帧移,优选的,对第一帧移进行向下取整,得到第二帧移。待处理语音片段对应的帧长即为每一帧中包括的语音样点的数量,待处理语音片段对应有目标帧数个语音样点集合,每帧待处理语音片段均对应有一个语音样点集合,这里,语音样点集合即为语音帧,每个语音帧中包括多个语音样点。

举例来讲,待处理语音片段中包括语音样点1~10,帧移为2,帧长为4,目标帧数为4,则第一帧待处理语音片段的语音样点集合包括语音样点1~4,第二帧待处理语音片段的语音样点集合包括语音样点3~6,第三帧待处理语音片段的语音样点集合包括语音样点5~8,第四帧待处理语音片段的语音样点集合包括语音样点7~10。

S104、针对每个语音样点集合,根据该语音样点集合内每个语音样点的初始振幅,确定该语音样点集合对应的功率谱。

该步骤中,每帧待处理语音片段均对应有一个语音样点集合,针对每帧待处理语音片段,根据该帧的语音样点集合中的每个语音样点的初始振幅,确定该帧的功率谱。其中,周期性连续信号的频谱可表示为离散的非周期序列,它的幅度频谱的平方所排成的序列,就被称之为该周期信号的功率谱。

S105、基于各个语音样点集合分别对应的功率谱,生成所述待处理语音片段的语谱图。

该步骤中,在确定每帧待处理语音片段对应的功率谱后,将每帧的功率谱按列排列并对齐时间生成待处理语音片段的语谱图,比如,待处理语音片段的初始帧数为3,帧长为4,第一帧中每个语音样点的功率谱分别为1、2、3、4,第二帧中每个语音样点的功率谱分别为2、3、4、5,第三帧中每个语音样点的功率谱分别为3、4、5、6,语谱图的横轴上对应有第一帧、第二帧、第三帧,语谱图的横轴上对应有每一帧中包括的4个语音样点分别对应的功率谱。

这里,语谱图是一种语音的短时频域表示方法,由于语音通常被认为是短时平稳信号,所以语谱图可以表征不同时间和频率刻度的能量分布,也包含了语音的基频、谐波和共振峰等信息,是语音的直观二维展示,在声纹鉴定、语音信号处理等领域中起着重要作用。

本申请实施例提供的语谱图的生成方法,能够基于与待处理语音片段相匹配的帧移生成语谱图,该种语谱图的生成方式适用于多种时长的语音片段,语谱图的生成效率高,生成的语谱图的质量好。

进一步的,参见图2所示,图2为本申请实施例提供的另一种语谱图的生成方法的流程图,所述针对每个语音样点集合,根据该语音样点集合内每个语音样点的初始振幅,确定该语音样点集合对应的功率谱,包括:

S201、针对每个语音样点集合,根据该语音样点集合内每个语音样点的初始振幅,以及该语音样点对应的窗函数,确定该语音样点的加窗后的目标振幅。

该步骤中,每一帧待处理语音片段中包括相同数量的语音样点,在同一帧待处理语音片段中,各个语音样点均对应有样点序号,比如,0、1、2、3,并且,在不同帧的待处理语音片段中,各个语音样点对应的样点序号相同,比如,第一帧的样点序号是0~3,第二帧的样点序号也是0~3。

首先,确定每个样点序号对应的窗函数,窗函数的个数等于每帧包括的语音样点的个数,各帧待处理语音片段中同一样点序号的语音样点对应相同的窗函数,具体的,本申请实施例中使用哈明(Hamming)窗,Hamming窗的窗长等于待处理语音片段的帧长,通过如下公式确定每个样点序号对应的窗函数:

其中,

针对每帧待处理语音片段,将该帧中每个样点序号的语音样点的初始振幅,与该样点序号的窗函数相乘,得到该样点序号的加窗后的目标振幅。这样,就可以得到每帧待处理语音片段中各个语音样点的目标振幅。

S202、根据预设的快速傅里叶变换点数,每个语音样点集合中包括的各个语音样点分别对应的目标振幅,生成第一序列;其中,所述第一序列内的数值的个数与所述快速傅里叶变换点数相一致,并且所述第一序列内的数值包括各个语音样点分别对应的目标振幅,以及零值。

该步骤中,根据设定的快速傅里叶变换(FFT)点数,对每帧待处理语音片段的目标振幅进行补零处理。为了加速计算,FFT点数通常取2的整数次幂,而且FFT点数大于等于帧长,否则会导致混叠。

具体的,针对每帧待处理语音片段,计算预设的快速傅里叶变换点数(比如B),与该帧待处理语音片段中包括的语音样点的个数(比如A)的差值(比如B-A),计算得到的差值即为需要补零的长度,在该帧待处理语音片段包括的各个语音样点分别对应的目标振幅的后面,添加上述差值(比如B-A)个零,得到该帧待处理语音片段的第一序列,第一序列中前A个数值是各个语音样点分别对应的目标振幅,后B-A个数值是零值。

优选的,FFT点数为1024,或者2048,比如,某帧待处理语音片段对应的语音样点集合中包括100个语音样点,FFT点数为1024,则需要在该语音样点集合中100个语音样点分别对应的目标振幅后面添加924个0,得到该语音样点集合对应的第一序列。

S203、对每个语音样点集合对应的第一序列内的数值进行傅里叶变换处理,得到该语音样点集合对应的多个傅里叶变换后的复数值。

该步骤中,对每个语音样点集合对应的第一序列内的数值进行傅里叶变换(Discrete Fourier Transformation,DFT),可以将时域信号转换到频域,具体的,通过如下公式对第一序列内的数值进行离散傅里叶变换:

其中,

S204、根据每个语音样点集合对应的多个傅里叶变换后的复数值,确定该语音样点集合对应的功率谱。

该步骤中,计算每帧信号的功率谱,DFT后在每个频率刻度

其中,

进一步的,参见图3所示,图3为本申请实施例提供的另一种语谱图的生成方法的流程图,所述基于各个语音样点集合分别对应的功率谱,生成所述待处理语音片段的语谱图,包括:

S301、基于所述初始帧数与所述目标帧数之间的数量关系,以及各个语音样点集合分别对应的功率谱,确定包含初始帧数个功率谱的第二序列。

S302、基于所述包含初始帧数个功率谱的第二序列,生成所述待处理语音片段的语谱图。

综合步骤301和步骤302,若第一帧移大于等于第一阈值,则确定初始帧数等于目标帧数,将各个语音样点集合分别对应的功率谱,确定为第二序列中包含的初始帧数个功率谱;若第一帧移小于第一阈值,则确定初始帧数大于目标帧数,对各个语音样点集合分别对应的功率谱进行差值处理,得到包含初始帧数个功率谱的第二序列。以使生成的包含初始帧数个功率谱的第二序列适应显示窗口的X轴的像素数目。

通过遍历每帧功率谱在每个频率刻度的能量,获得功率谱的最大值和最小值,根据最大值和最小值设定合理的量化区间,比如,将功率谱的最大值加上第一裕量作为量化区间的最大值,将功率谱的最小值减去第二裕量作为量化区间的最小值,第一裕量和第二裕量可以根据用户的实际需求进行设置,上述量化区间即为语谱图纵轴的功率谱区间。

进一步的,参见图4所示,图4为本申请实施例提供的另一种语谱图的生成方法的流程图,所述基于所述包含初始帧数个功率谱的第二序列,生成所述待处理语音片段的语谱图,包括:

S401、基于预设的功率谱与颜色的对应关系,确定所述第二序列中每个功率谱对应的颜色。

S402、基于所述第二序列中每个功率谱对应的颜色,生成所述待处理语音片段的语谱图;其中,所述语谱图为包含不同颜色的图片。

综合步骤401和步骤402,为了更加直观地表示功率谱的大小,使用不同的颜色代表不同大小的功率谱,预设有每种功率谱对应的颜色,将每帧功率谱的数值映射到颜色空间,可以选取灰度或者彩色主题,最终生成包含不同颜色的语谱图。

采用本申请实施例的语谱图生成方式,在采样率为8000Hz的情况下,使用OpenCV(open computer vision,开源的计算机视觉库)中COLORMAP_HOT(名为HOT的颜色主题)的颜色映射和INTER_LINEAR插值(线性差值),绘制不同时长语音的彩色(或者灰度图)宽带语谱图(分辨率为1920×1025),并统计计算耗时,采用机器MacBook Pro (13-inch, 2017),2.3 GHz Intel Core i5,绘制软件OpenCV4.1.2绘制时间对比,统计生成不同时长的待处理语音片段的语谱图的耗时情况,统计结果如表1所示。

表1. 生成不同时长的待处理语音片段的语谱图的耗时情况

基于表1所示的不同时长的待处理语音片段的语谱图的生成时间,可见语音样点数足够多,以至于不需要插值时,随着语音样点数的增加,计算耗时增加得很缓慢,语谱图的生成效率高。

基于同一发明构思,本申请实施例中还提供了与语谱图的生成方法对应的语谱图的生成装置,由于本申请实施例中的装置解决问题的原理与本申请实施例上述语谱图的生成方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。

参见图5所示,图5为本申请一实施例提供的一种语谱图的生成装置的结构示意图,所述生成装置包括:

第一确定模块501,用于基于待处理语音片段中包括的语音样点的数量,确定所述待处理语音片段对应的第一帧移;

调整模块502,用于采用与所述第一帧移的大小相匹配的调整方式,对所述待处理语音片段对应的初始帧数进行调整,得到调整后的目标帧数;

划分模块503,用于基于所述待处理语音片段对应的帧长以及第二帧移,将所述待处理语音片段中包括的语音样点划分至对应的语音样点集合中;其中,所述第二帧移为所述第一帧移取整后的值;所述语音样点集合的数量等于所述目标帧数;

第二确定模块504,用于针对每个语音样点集合,根据该语音样点集合内每个语音样点的初始振幅,确定该语音样点集合对应的功率谱;

生成模块505,用于基于各个语音样点集合分别对应的功率谱,生成所述待处理语音片段的语谱图。

在一种可能的实施方式中,所述第一确定模块501,在基于待处理语音片段中包括的语音样点的数量,确定所述待处理语音片段对应的第一帧移时,包括:

根据所述待处理语音片段中包括的语音样点的数量,以及所述待处理语音片段对应的帧长和初始帧数,确定所述第一帧移。

在一种可能的实施方式中,所述调整模块502,在采用与所述第一帧移的大小相匹配的调整方式,对所述待处理语音片段对应的初始帧数进行调整,得到调整后的目标帧数时,包括:

若所述第一帧移大于等于第一阈值,则将所述初始帧数确定为所述目标帧数;

若所述第一帧移大于等于第二阈值,并且小于所述第一阈值,则将所述第一帧移更新为预设的特定帧移,并根据所述待处理语音片段中包括的语音样点的数量、所述帧长以及所述特定帧移确定所述目标帧数;

若所述第一帧移小于所述第二阈值,则将预设的特定帧数确定为所述目标帧数。

在一种可能的实施方式中,所述第二确定模块504,在针对每个语音样点集合,根据该语音样点集合内每个语音样点的初始振幅,确定该语音样点集合对应的功率谱时,包括:

针对每个语音样点集合,根据该语音样点集合内每个语音样点的初始振幅,以及该语音样点对应的窗函数,确定该语音样点的加窗后的目标振幅;

根据预设的快速傅里叶变换点数,每个语音样点集合中包括的各个语音样点分别对应的目标振幅,生成第一序列;其中,所述第一序列内的数值的个数与所述快速傅里叶变换点数相一致,并且所述第一序列内的数值包括各个语音样点分别对应的目标振幅,以及零值;

对每个语音样点集合对应的第一序列内的数值进行傅里叶变换处理,得到该语音样点集合对应的多个傅里叶变换后的复数值;

根据每个语音样点集合对应的多个傅里叶变换后的复数值,确定该语音样点集合对应的功率谱。

在一种可能的实施方式中,所述生成模块505,在基于各个语音样点集合分别对应的功率谱,生成所述待处理语音片段的语谱图时,包括:

基于所述初始帧数与所述目标帧数之间的数量关系,以及各个语音样点集合分别对应的功率谱,确定包含初始帧数个功率谱的第二序列;

基于所述包含初始帧数个功率谱的第二序列,生成所述待处理语音片段的语谱图。

在一种可能的实施方式中,所述生成模块505,在基于所述包含初始帧数个功率谱的第二序列,生成所述待处理语音片段的语谱图时,包括:

基于预设的功率谱与颜色的对应关系,确定所述第二序列中每个功率谱对应的颜色;

基于所述第二序列中每个功率谱对应的颜色,生成所述待处理语音片段的语谱图;其中,所述语谱图为包含不同颜色的图片。

本申请实施例提供的语谱图的生成装置,能够基于与待处理语音片段相匹配的帧移生成语谱图,该种语谱图的生成方式适用于多种时长的语音片段,语谱图的生成效率高,生成的语谱图的质量好。

参见图6所示,图6为本申请实施例提供的一种电子设备的结构示意图,该电子设备600包括:处理器601、存储器602和总线603,所述存储器602存储有所述处理器601可执行的机器可读指令,当电子设备运行时,所述处理器601与所述存储器602之间通过总线603通信,所述处理器601执行所述机器可读指令,以执行如上述语谱图的生成方法的步骤。

具体地,上述存储器602和处理器601能够为通用的存储器和处理器,这里不做具体限定,当处理器601运行存储器602存储的计算机程序时,能够执行上述语谱图的生成方法。

对应于上述语谱图的生成方法,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述语谱图的生成方法的步骤。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

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

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

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

最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

相关技术
  • 一种语谱图的生成方法、装置、电子设备及存储介质
  • 语谱图的生成方法、装置、电子设备及存储介质
技术分类

06120112386374