HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

语音文件修复方法、装置、计算机设备及存储介质与流程

2021-01-28 13:01:06|300|起点商标网
语音文件修复方法、装置、计算机设备及存储介质与流程

本申请涉及人工智能技术领域,尤其涉及一种语音文件修复方法、装置、计算机设备及存储介质。



背景技术:

当前,随着人工智能的高速发展,智能语音处理在日常生活中也越来越被普及。例如,广泛应用于智能客服系统的语音识别、应用于安全支付系统的说话人识别等,均涉及到智能语音处理的部分。然而,无论是客服系统的语音识别还是支付系统的说话人识别,当网络条件较差或设备质量较低时,则会导致语音信号卡顿或丢帧的现象产生。由此,语音修复则是解决此类问题的关键。并且,除此之外,在对历史文献进行考据和影片修复的过程中,语音修复也是其中必要的工作之一。

目前对语音修复的工作较少,传统的语音修复更多的是关注于语音的增强,如语音解混响、语音降噪和语音分离等。其中,语音解混响是消除由于空间环境对声音信号的反射产生的声音模糊,如消除空旷环境中的回音;语音降噪用来降低各种环境噪声,语音分离为了抑制来自于其他说话人的声音信号。这类语音增强处理更多的用于目标声音信号的提升,即需要进行处理的声音信号已存在但质量较差;而当信号丢失时,如网络环境较差时造成的声音信号丢帧,语音增强则无法提升音频文件质量。音频文件的质量直接决定了智能语音处理的准确率,而如何在已有的质量较差的音频文件的基础上,实现对音频文件的修复,则是丞待解决的技术问题。



技术实现要素:

本申请实施例的目的在于提出一种语音文件修复方法、装置、计算机设备及存储介质,旨在解决受损语音文件修复的技术问题。

为了解决上述技术问题,本申请实施例提供一种语音文件修复方法,采用了如下所述的技术方案:

一种语音文件修复方法,包括以下步骤:

划分语音数据为多组帧信号,根据所述帧信号提取所述语音数据的特征系数;

基于预设检测模型和所述特征系数对所述语音数据的缺失帧进行定位,并确定所述缺失帧在所述语音数据中的组位置为第一组数据;

获取所述第一组数据的前后组数据,并将所述前后组数据分别作为第二组数据和第三组数据,组合所述第一组数据、所述第二组数据和所述第三组数据为第一修复组,确定所述第一修复组的前一个修复组为第二修复组,获取所述第二修复组的隐状态参数;

输入所述隐状态参数、所述第一组数据、所述第二组数据和所述第三组数据至预设的第一音频填充网络中,计算得到所述缺失帧对应的修复频谱;

基于预设声码器对所述修复频谱进行处理,得到所述语音数据的修复语音。

为了解决上述技术问题,本申请实施例还提供一种语音文件修复装置,采用了如下所述的技术方案:

划分模块,用于划分语音数据为多组帧信号,根据所述帧信号提取所述语音数据的特征系数;

定位模块,用于基于预设检测模型和所述特征系数对所述语音数据的缺失帧进行定位,并确定所述缺失帧在所述语音数据中的组位置为第一组数据;

获取模块,用于获取所述第一组数据的前后组数据,并将所述前后组数据分别作为第二组数据和第三组数据,组合所述第一组数据、所述第二组数据和所述第三组数据为第一修复组,确定所述第一修复组的前一个修复组为第二修复组,获取所述第二修复组的隐状态参数;

计算模块,用于输入所述隐状态参数、所述第一组数据、所述第二组数据和所述第三组数据至预设的第一音频填充网络中,计算得到所述缺失帧对应的修复频谱;

处理模块,用于基于预设声码器对所述修复频谱进行处理,得到所述语音数据的修复语音。

为了解决上述技术问题,本申请实施例还提供一种计算机设备,包括存储器和处理器,以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述语音文件修复方法的步骤。

为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述语音文件修复方法的步骤。

上述语音文件修复方法、装置、计算机设备及存储介质,通过划分语音数据为多组帧信号,根据帧信号提取语音数据的特征系数;基于预设检测模型和特征系数对语音数据的缺失帧进行定位,由此即可找到当前语音数据中缺失的语音信号所在的帧;在定位到缺失帧时,确定缺失帧在语音数据中的组位置为第一组数据,其中,语音数据按照帧的数量划分为多个组,当前缺失帧所在的组的为即为该第一组数据;当前第一组数据的输出结果往往与相邻的组数据相关,因此,获取第一组数据的前后组数据,并将前后组数据分别作为第二组数据和第三组数据;组合第一组数据、第二组数据和第三组数据为第一修复组,确定第一修复组的前一个修复组为第二修复组;当前修复组的输出结果则通常与上一个修复组的状态相关,因此,获取第二修复组的隐状态参数;输入隐状态参数、第一组数据、第二组数据和第三组数据至预设的第一音频填充网络中,根据该第一音频填充网络则可计算得到缺失帧对应的修复频谱;基于预设声码器对修复频谱进行处理,即可得到最终的语音数据的修复语音。由此,实现了通过修复频谱对受损语音数据的快速修复,并且在提高修复速度的同时,提高了文件修复的质量,除此之外,还提高了语音识别应用的语音识别准确率,使得完整的语音信号更容易地被正确识别,进一步提高了语音识别应用的识别效率。

附图说明

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

图1是本申请可以应用于其中的示例性系统架构图;

图2是语音文件修复方法的一个实施例的流程示意图;

图3是音频修复基本框架图;

图4是音频填充网络的结构图;

图5是根据本申请的语音文件修复装置的一个实施例的结构示意图;

图6是根据本申请的计算机设备的一个实施例的结构示意图。

附图标记:语音文件修复装置500,划分模块501、定位模块502、获取模块503、计算模块504以及处理模块505。

具体实施方式

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

为了使本申请的目的、技术方案及优点更加清楚明白,下面结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。

终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、mp3播放器(movingpictureexpertsgroupaudiolayeriii,动态影像专家压缩标准音频层面3)、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。

服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。

需要说明的是,本申请实施例所提供的语音文件修复方法一般由服务端/终端执行,相应地,语音文件修复装置一般设置于服务端/终端设备中。

应该理解,图1中的终端、网络和服务端的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

继续参考图2,示出了根据本申请的语音文件修复方法的一个实施例的流程图。所述语音文件修复方法,包括以下步骤:

步骤s201,划分语音数据为多组帧信号,根据所述帧信号提取所述语音数据的特征系数;

在本实施例中,在获取到语音数据时,划分语音数据为多组帧信号,其中,帧信号为以帧为单位的语音信号;划分方式可以为将语音数据按照预设划分时长进行划分,也可以按照预设划分长度进行划分。通过对语音数据进行划分,可以划分得到该语音数据对应的多组帧信号。在得到该帧信号时,根据该帧信号提取该语音数据的特征系数,其中,该特征系数为当前该语音数据的特征表示,以梅尔倒谱系数为该语音数据的特征系数为例。计算该语音数据的每个帧信号的梅尔倒谱系数,组合所有帧信号的梅尔倒谱系数为一个二维数组,该二维数组即为当前语音数据的特征系数。

步骤s202,基于预设检测模型和所述特征系数对所述语音数据的缺失帧进行定位,并确定所述缺失帧在所述语音数据中的组位置为第一组数据;

在本实施例中,在得到语音数据的特征系数时,根据预设检测模型和该特征系数,对当前语音数据的缺失帧进行定位,即对该语音数据中缺失信号的时间点进行定位,该时间点所在的帧即为缺失帧。预设检测模型为预先设定的声音检测模型,根据该预设检测模型对获取到的特征系数进行计算,从而可以确定当前语音数据中缺失信号的时间点,即找到对应的缺失帧。具体地,特征系数为一个二维数组,其中包括了每个帧信号对应的系数;将每个帧信号的系数依次输入至预设检测模型中,即可计算得到当前语音数据对应的输出结果,该输出结果为一个二维数组,其中的数据分别用0和1表示对应帧信号的缺失和不缺失;若输出结果中的数据为0,则0对应的该帧信号为缺失帧;若输出结果中的数据为1,则1对应的该帧信号非缺失帧。在得到缺失帧时,则将该缺失帧所在语音数据中的组位置确定为第一组数据,其中,不同的帧信号所在的组位置可能不同,将语音数据的帧信号按照预设个数划分为一组,如五个帧信号划分为一组数据;由此,可划分到多组不同的组数据,缺失帧所在的组即为第一组数据。

步骤s203,获取所述第一组数据的前后组数据,并将所述前后组数据分别作为第二组数据和第三组数据,组合所述第一组数据、所述第二组数据和所述第三组数据为第一修复组,确定所述第一修复组的前一个修复组为第二修复组,获取所述第二修复组的隐状态参数;

在本实施例中,在得到第一组数据时,获取该第一组数据的前后组数据,并将前组数据确定为第二组数据,后组数据确定为第三组数据。组合第一组数据、第二组数据和第三组数据为第一修复组,即将缺失帧所在的组以及其前后两组数据作为第一修复组。该第一修复组的前一个修复组则为第二修复组,该第二修复组中包括了该缺失帧前一个缺失帧所在的组数据,以及该前一个缺失帧的前后组数据。如第一修复组为(b4、b5、b6),其中,b5为第一修复组中缺失帧所在的第一组数据,该缺失帧的前一个缺失帧所在组数据为b4,则第二修复组为(b3、b4、b5)。

在得到该第二修复组时,则获取该第二修复组的隐状态参数,其中,隐状态参数为根据预设的长短期记忆网络(lstm,longshort-termmemory)计算得到的短时记忆参数,当前时刻的修复组的输出往往与上一时刻的修复组的隐状态参数相关,通过上一时刻修复组的隐状态参数可以计算得到当前时刻修复组的隐状态参数。通过该隐状态参数可以保证各个修复组之间数据的连贯性。

步骤s204,输入所述隐状态参数、所述第一组数据、所述第二组数据和所述第三组数据至预设的第一音频填充网络中,计算得到所述缺失帧对应的修复频谱;

在本实施例中,在得到第二修复组的隐状态参数时,将该隐状态参数、第一组数据、第二组数据和第三组数据至第一音频填充网络中,根据该第一音频填充网络计算得到当前语音数据的修复频谱。其中,第一音频填充网络为预先设定的音频填充网络,其包括了多个卷积层和相关的残差密集网络。在得到隐状态参数、第一组数据、第二组数据和第三组数据时,将得到的隐状态参数、第一组数据、第二组数据和第三组数据输入至第一音频填充网络,即可得到当前修复帧对应的修复频谱。

需要强调的是,为进一步保证上述修复频谱的私密和安全性,上述修复频谱还可以存储于一区块链的节点中。

本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。

步骤s205,基于预设声码器对所述修复频谱进行处理,得到所述语音数据的修复语音。

在本实施例中,在得到修复频谱时,则通过预设声码器对该修复频谱进行修复处理,由此可得到的该修复频谱对应的语音信号,该语音信号即为当前语音数据的修复语音。以wavenet作为预设声码器为例,wavenet为基于深度学习的语音生成模型,该语音生成模型可以直接对原始语音数据进行建模。因此,在接收到修复频谱时,将该修复频谱输入至该语音生成模型中,即可得到该修复频谱对应的修复语音。通过该修复语音即可获取到当前语音数据中缺失的语音信息。

在本实施例中,实现了对受损语音数据的快速修复,并且在提高修复速度的同时,提高了文件修复的质量,除此之外,还提高了语音识别应用的语音识别准确率,使得完整的语音信号更容易地被正确识别,进一步提高了语音识别应用的识别效率。

在本申请的一些实施例中,上述基于预设检测模型和所述特征系数对所述语音数据的缺失帧进行定位包括:

获取预设检测模型,所述预设检测模型包括检测神经网络和全连接层,输入所述特征系数至所述检测神经网络中,计算得到检测值;

输入所述检测值至所述全连接层,计算得到输出结果,根据所述输出结果对所述语音数据的缺失帧进行定位。

在本实施例中,预设检测模型为预先设定的声音检测模型,包括检测神经网络和全连接层。在得到特征系数时,将每个帧信号对应的系数依次输入至该检测神经网络中,通过该检测神经网络计算得到对应的第一检测参数和第二检测参数,计算公式如下所示:

ht,ct=lstm(ht-1,ct-1,xt)

其中,ht和ct分别表示当前时刻的检测参数,即第一检测参数和第二检测参数,xt表示输入的帧信号的系数,w为全连接层的权值参数,b为全连接层的偏置参数,h为检测神经网络输出的检测值,为全连接层的输出结果,如其中,0即表示对应帧信号为缺失帧,1则表示对应的帧信号非缺失帧。

在得到第一检测参数和第二检测参数时,根据该第一检测参数和第二检测参数通过检测神经网络计算得到检测值,而后将该检测值输入至全连接层中,由此计算得到输出结果,根据该输出结果的数值即可对对应的帧信号是否为缺失帧进行判断,若当前输出结果的数值为预设的表示缺失帧的数值,则确定该输出结果对应的帧信号为缺失帧;若当前输出结果的数值为预设的表示非缺失帧的数值,则确定该输出结果对应的帧信号非缺失帧,该输出结果中只包括表示缺失帧的数值和表示非缺失帧的数值两种情况。

在本实施例中,实现了根据预设检测模型对缺失帧的快速精确定位,进一步提高了此后对该缺失帧进行修复的修复效率及准确率。

在本申请的一些实施例中,上述获取预设检测模型包括:

获取预设语料库中的原始文件,切分所述原始文件为多个帧数据,从所有所述帧数据中随机抽取预设个数的子帧数据,将所述子帧数据中预设时间段的信号用高斯白噪声替换,得到替换后的子帧数据,组合所述替换后的子帧数据和未被替换的帧数据为训练数据集;

根据所述训练数据集对基础检测模型进行训练,得到训练成功的基础检测模型为所述语音数据的预设检测模型。

在本实施例中,在获取预设检测模型之前,需要对基础检测模型预先进行训练,训练后的基础模型则为该预设检测模型。具体地,获取预设语料库中的原始文件,该预设语料库可以为公共语料库。将该预设语料库中未经过任何处理的语音文件作为原始文件,切分该原始文件为多个帧数据,例如,以20s为一帧,将该原始文件切分为多个帧数据。在得到帧数据时,从所有帧数据中随机抽取预设个数的子帧数据,将该子帧数据中预设时间段的信号用高斯白噪声替换,由此得到替换后的子帧数据,将替换后的子帧数据和未被替换的帧数据组合为训练数据集。例如,原始文件切分得到10个帧数据,从该10个帧数据中随机抽取5个子帧数据,再从该5个子帧数据中随机抽取0.1s的语音信号用高斯白噪声替换,模拟语音信号的缺失,得到替换后的子帧数据,件该替换后的子帧数据与剩余的5个未被替换的帧数据组合为训练数据集。

在得到该训练数据集时,将该训练数据集中投入基础检测模型中进行训练。在根据该训练数据集对该基础检测模型训练之后,随机选取若干验证帧数据作为验证数据,该验证帧数据中包括了缺失信号的帧数据也包括了不缺失信号的帧数据,根据该验证数据对训练后的基础检测模型进行验证。若训练后的基础检测模型对验证数据的验证正确率达到预设正确率,则确定该基础检测模型训练成功,该训练成功的基础检测模型即为该预设检测模型。

在本实施例中,实现了对预设检测模型的训练,使得通过该预设检测模型能够对该语音数据中缺失帧进行精确定位,进一步提高了对缺失帧定位的准确率。

在本申请的一些实施例中,上述获取所述第二修复组的隐状态参数包括:

确定所述第二修复组的前一个修复组为第三修复组,获取所述第三修复组的元胞状态;

根据所述元胞状态和预设的长短期记忆网络,计算所述第二修复组的隐状态参数。

在本实施例中,在对第二修复组的隐状态参数进行计算时,需要获取该第二修复组的前一个修复组,该第二修复组的前一修复组即为第三修复组。获取该第三修复组的元胞状态为ct-1,将该元胞状态输入至长短期记忆网络,通过该长短期记忆网络对该元胞状态进行计算,得到当前第二修复组的元胞状态ct;其中,元胞状态为长短期记忆网络中最上层信息传输的路径,使得信息能够在序列连中传递下去,当前的元胞状态与前一时刻的元胞状态相关。在得到该第二修复组的元胞状态时,通过长短期记忆网络则可得到当前第二修复组的隐状态参数。具体地,隐状态参数用ht表示,对应的计算公式则为ht,ct=lstm(ht-1,ct-1,it-1),其中,ct为当前第二修复组的元胞状态,ct-1为第三修复组的元胞状态,it-1为第三修复组的记忆值。

在本实施例中,实现了对隐状态参数的计算,由此使得通过该隐状态参数能够对修复频谱进行精确计算,进一步提高了语音数据修复的精确度。

在本申请的一些实施例中,上述输入所述隐状态参数、所述第一组数据、所述第二组数据和所述第三组数据至预设的第一音频填充网络中,计算得到所述缺失帧对应的修复频谱包括:

将所述第一组数据和所述第二组数据输入至预设的第二音频填充网络中,计算得到第一中间变量,将所述第二组数据和所述第三组数据输入至所述第二音频填充网络中,计算得到第二中间变量;

输入所述隐状态参数、所述第一中间变量和所述第二中间变量至预设的第一音频填充网络中,计算得到所述缺失帧对应的修复频谱,其中,所述第一音频填充网络和所述第二音频填充网络具有相同的结构和不同的参数。

在本实施例中,在得到隐状态参数、第一组数据、第二组数据和第三组数据时,将该第一组数据和第二组数据输入至第二音频填充网络中,其中,该第二音频填充网络与第一音频填充网络具有相同的结构和不同的参数。通过该第二音频填充网络对该第一组数据和第二组数据进行计算,即可得到第一中间变量,通过第二音频填充网络对该第二组数据和第三组数据进行计算,即可得到第二中间变量。在得到第一中间变量和第二中间变量时,输入该第一中间变量、第二中间变量以及隐状态参数至第一音频填充网络中,由此则可计算得到当前缺失帧对应的修复频谱。该修复频谱的计算公式如下所示:

ii=f2(ii-1,i,ii,i+1,ht-1)

其中,ii为修复频谱,f2为第一音频填充网络,ii-1,i为第一中间变量,ii,i+1为第二中间变量,ht-1为第二修复组的隐状态参数。

如图3所示,图3为音频修复基本框架图,在左三角区域中,b1、b2、b3为当前缺失帧所在的第一组数据b2对应的第一修复组;f2为第一音频修复网络,f1为第二音频修复网络,i1-2为第一修复组的第一中间变量,i2-3为第一修复组的第二中间变量,i2为第一修复组的修复频谱,ht-1当前修复组的前一修复组,即第二修复组的隐状态参数,ht当前修复组,即第一修复组的隐状态参数;在中间区域中,lstm为预设的长短期记忆网络,ct-1为第二修复组的元胞状态,ct为第一修复组的元胞状态,σ为sigmoid激活函数,它的输出是在0到1之间,tanh为双曲正切函数,它的输出在-1到1之间;在右三角区域中,b2、b3、b4为下一个缺失帧所在的组数据b3对应的修复组,i2-3为b3对应的修复组的第一中间变量,i3-4为b3对应的修复组的第二中间变量,i2为b3对应的修复组的修复频谱。

在本实施例中,实现了对修复频谱的计算,使得通过音频填充网络能够对修复频谱进行精确计算,进一步提高了对语音数据精确修复,提高了语音数据的修复质量。

在本申请的一些实施例中,第二音频填充网络包括第一卷积层、第二卷积层和残差密集网络,上述将所述第一组数据和所述第二组数据输入至预设的第二音频填充网络中,计算得到第一中间变量包括:

将所述第一组数据和所述第二组数据输入至所述第一卷积层计算得到第一参数值;

将所述第一参数值输入至所述残差密集网络,计算得到第二参数值,输入所述第二参数值至所述第二卷积层得到第一中间变量。

在本实施例中,第二音频填充网络包括第一卷积层、第二卷积层和残差密集网络,其中,第一卷积层包括一个5卷积核的卷积和一个3卷积核的卷积,第二卷积层包括一个1卷积核的卷积和3卷积核的卷积,残差密集网络则包括卷积层、激活层和连接层。如图4所示,图4为音频填充网络的结构图,第一音频填充网络与第二音频填充网络均为该结构图所示的结构。其中,卷积,5*5为卷积核为5的卷积层,卷积,3*3为卷积核为3的卷积层,卷积,1*1为卷积核为1的卷积层,残差密集网络的结构则具体如图4右的结构所示,包括卷积、激活层和连接层,其中,激活层为线性整流函数(rectifiedlinearunit,relu)。

在得到第一组数据和第二组数据时,将该第一组数据和第二组数据输入至第二音频填充网络的第一卷积层中,依次通过5卷积核的卷积和3卷积核的卷积计算得到第一参数值;在得到第一参数值时,将该第一参数值输入至该残差密集网络中,计算得到第二参数值;而后输入该第二参数值至第二卷积层的1卷积核的卷积和3卷积核的卷积,即可计算得到第一中间变量。该第一中间变量和第二中间变量的计算公式如下所示:

ii-1,i=f1(bi-1,bi)

其中,ii-1,i为第一中间变量或第二中间变量,f1为第二音频填充网络,bi-1和bi为相邻的两个组数据。第二中间变量与该第一中间变量的计算方式相同,只有输入的参数不同,第二中间变量输入的参数为第二组数据和第三组数据。

在本实施例中,实现了对中间变量的计算,并通过卷积的方式提高了语音数据处理速度和数据准确度,使得根据中间变量计算得到的修复频谱更加准确。

在本申请的一些实施例中,上述划分语音数据为多组帧信号,根据所述帧信号提取所述语音数据的特征系数包括:

获取预设划分时长,按照所述预设划分时长将所述语音数据划分为多组帧信号;

计算每组所述帧信号的梅尔倒谱系数,将所述梅尔倒谱系数作为所述语音数据的特征系数。

在本实施例中,在对语音数据的特征系数进行提取时,获取预设划分时长,该预设划分时长为预先设定的帧划分时长,如以10ms为一帧,划分该语音数据为多组帧信号。计算每组帧信号的梅尔倒谱系数,如将所有帧信号的梅尔倒谱系数作为一个二维数组输出,即可得到当前语音数据的特征系数。该二维数组可用x=[x1,x2,...,xn]表示,其中,n为帧信号的数量,xi是每帧信号计算得到的梅尔倒谱系数,k为系数常量,如k取40。

在本实施例中,实现了对语音数据特征系数的提取,使得通过该特征系数能够对缺失的帧信号进行定位,提高了缺失帧的定位准确率。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)等非易失性存储介质,或随机存储记忆体(randomaccessmemory,ram)等。

应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

进一步参考图5,作为对上述图2所示方法的实现,本申请提供了一种语音文件修复装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。

如图5所示,本实施例所述的语音文件修复装置500包括:划分模块501、定位模块502、获取模块503、计算模块504以及处理模块505。其中,

划分模块501,用于划分语音数据为多组帧信号,根据所述帧信号提取所述语音数据的特征系数;

其中,划分模块501包括:

划分单元,用于获取预设划分时长,按照所述预设划分时长将所述语音数据划分为多组帧信号;

第一计算单元,计算每组所述帧信号的梅尔倒谱系数,将所述梅尔倒谱系数作为所述语音数据的特征系数。

在本实施例中,在获取到语音数据时,划分语音数据为多组帧信号,其中,帧信号为以帧为单位的语音信号;划分方式可以为将语音数据按照预设划分时长进行划分,也可以按照预设划分长度进行划分。通过对语音数据进行划分,可以划分得到该语音数据对应的多组帧信号。在得到该帧信号时,根据该帧信号提取该语音数据的特征系数,其中,该特征系数为当前该语音数据的特征表示,以梅尔倒谱系数为该语音数据的特征系数为例。计算该语音数据的每个帧信号的梅尔倒谱系数,组合所有帧信号的梅尔倒谱系数为一个二维数组,该二维数组即为当前语音数据的特征系数。

定位模块502,用于基于预设检测模型和所述特征系数对所述语音数据的缺失帧进行定位,并确定所述缺失帧在所述语音数据中的组位置为第一组数据;

其中,定位模块502包括:

第一获取单元,用于获取预设检测模型,所述预设检测模型包括检测神经网络和全连接层,输入所述特征系数至所述检测神经网络中,计算得到检测值;

第二计算单元,用于输入所述检测值至所述全连接层,计算得到输出结果,根据所述输出结果对所述语音数据的缺失帧进行定位。

其中,第一获取单元包括:

切分子单元,用于获取预设语料库中的原始文件,切分所述原始文件为多个帧数据,从所有所述帧数据中随机抽取预设个数的子帧数据,将所述子帧数据中预设时间段的信号用高斯白噪声替换,得到替换后的子帧数据,组合所述替换后的子帧数据和未被替换的帧数据为训练数据集;

训练子单元,用于根据所述训练数据集对基础检测模型进行训练,得到训练成功的基础检测模型为所述语音数据的预设检测模型。

在本实施例中,在得到语音数据的特征系数时,根据预设检测模型和该特征系数,对当前语音数据的缺失帧进行定位,即对该语音数据中缺失信号的时间点进行定位,该时间点所在的帧即为缺失帧。预设检测模型为预先设定的声音检测模型,根据该预设检测模型对获取到的特征系数进行计算,从而可以确定当前语音数据中缺失信号的时间点,即找到对应的缺失帧。具体地,特征系数为一个二维数组,其中包括了每个帧信号对应的系数;将每个帧信号的系数依次输入至预设检测模型中,即可计算得到当前语音数据对应的输出结果,该输出结果为一个二维数组,其中的数据分别用0和1表示对应帧信号的缺失和不缺失;若输出结果中的数据为0,则0对应的该帧信号为缺失帧;若输出结果中的数据为1,则1对应的该帧信号非缺失帧。在得到缺失帧时,则将该缺失帧所在语音数据中的组位置确定为第一组数据,其中,不同的帧信号所在的组位置可能不同,将语音数据的帧信号按照预设个数划分为一组,如五个帧信号划分为一组数据;由此,可划分到多组不同的组数据,缺失帧所在的组即为第一组数据。

获取模块503,用于获取所述第一组数据的前后组数据,并将所述前后组数据分别作为第二组数据和第三组数据,组合所述第一组数据、所述第二组数据和所述第三组数据为第一修复组,确定所述第一修复组的前一个修复组为第二修复组,获取所述第二修复组的隐状态参数;

其中,获取模块503包括:

第二获取单元,用于确定所述第二修复组的前一个修复组为第三修复组,获取所述第三修复组的元胞状态;

第三计算单元,用于根据所述元胞状态和预设的长短期记忆网络,计算所述第二修复组的隐状态参数。

在本实施例中,在得到第一组数据时,获取该第一组数据的前后组数据,并将前组数据确定为第二组数据,后组数据确定为第三组数据。组合第一组数据、第二组数据和第三组数据为第一修复组,即将缺失帧所在的组以及其前后两组数据作为第一修复组。该第一修复组的前一个修复组则为第二修复组,该第二修复组中即包括了该缺失帧前一个缺失帧所在的组数据,以及该前一个缺失帧的前后组数据。如第一修复组为(b4、b5、b6),其中,b5为第一修复组中缺失帧所在的第一组数据,该缺失帧的前一个缺失帧所在组数据为b4,则第二修复组为(b3、b4、b5)。

在得到该第二修复组时,则获取该第二修复组的隐状态参数,其中,隐状态参数为根据预设的长短期记忆网络(lstm,longshort-termmemory)计算得到的短时记忆参数,当前时刻的修复组的输出往往与上一时刻的修复组的隐状态参数相关,通过上一时刻修复组的隐状态参数可以计算得到当前时刻修复组的隐状态参数。通过该隐状态参数可以保证各个修复组之间数据的连贯性。

计算模块504,用于输入所述隐状态参数、所述第一组数据、所述第二组数据和所述第三组数据至预设的第一音频填充网络中,计算得到所述缺失帧对应的修复频谱;

其中,计算模块504包括:

第四计算单元,用于将所述第一组数据和所述第二组数据输入至预设的第二音频填充网络中,计算得到第一中间变量,将所述第二组数据和所述第三组数据输入至所述第二音频填充网络中,计算得到第二中间变量;

第五计算单元,用于输入所述隐状态参数、所述第一中间变量和所述第二中间变量至预设的第一音频填充网络中,计算得到所述缺失帧对应的修复频谱,其中,所述第一音频填充网络和所述第二音频填充网络具有相同的结构和不同的参数。

其中,第二音频填充网络包括第一卷积层、第二卷积层和残差密集网络,第四计算单元包括:

第一计算子单元,用于将所述第一组数据和所述第二组数据输入至所述第一卷积层计算得到第一参数值;

第二计算子单元,用于将所述第一参数值输入至所述残差密集网络,计算得到第二参数值,输入所述第二参数值至所述第二卷积层得到第一中间变量。

在本实施例中,在得到第二修复组的隐状态参数时,将该隐状态参数、第一组数据、第二组数据和第三组数据至第一音频填充网络中,根据该第一音频填充网络计算得到当前语音数据的修复频谱。其中,第一音频填充网络为预先设定的音频填充网络,其包括了多个卷积层和相关的残差密集网络,在得到隐状态参数、第一组数据、第二组数据和第三组数据时,将得到的隐状态参数、第一组数据、第二组数据和第三组数据输入至第一音频填充网络,即可得到当前修复帧对应的修复频谱。

需要强调的是,为进一步保证上述修复频谱的私密和安全性,上述修复频谱还可以存储于一区块链的节点中。

本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。

处理模块505,用于基于预设声码器对所述修复频谱进行处理,得到所述语音数据的修复语音。

在本实施例中,在得到修复频谱时,则通过预设声码器对该修复频谱进行修复处理,由此可得到的该修复频谱对应的语音信号,该语音信号即为当前语音数据的修复语音。以wavenet作为预设声码器为例,wavenet为基于深度学习的语音生成模型,该语音生成模型可以直接对原始语音数据进行建模。因此,在接收到修复频谱时,将该修复频谱输入至该语音生成模型中,即可得到该修复频谱对应的修复语音。通过该修复语音即可获取到当前语音数据中缺失的语音信息。

在本实施例中,实现了对受损语音数据的快速修复,并且在提高修复速度的同时,提高了文件修复的质量,除此之外,还提高了语音识别应用的语音识别准确率,使得完整的语音信号更容易地被正确识别,进一步提高了语音识别应用的识别效率。

为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图6,图6为本实施例计算机设备基本结构框图。

所述计算机设备6包括通过系统总线相互通信连接存储器61、处理器62、网络接口63。需要指出的是,图中仅示出了具有组件61-63的计算机设备6,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程门阵列(field-programmablegatearray,fpga)、数字处理器(digitalsignalprocessor,dsp)、嵌入式设备等。

所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。

所述存储器61至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器61可以是所述计算机设备6的内部存储单元,例如该计算机设备6的硬盘或内存。在另一些实施例中,所述存储器61也可以是所述计算机设备6的外部存储设备,例如该计算机设备6上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。当然,所述存储器61还可以既包括所述计算机设备6的内部存储单元也包括其外部存储设备。本实施例中,所述存储器61通常用于存储安装于所述计算机设备6的操作系统和各类应用软件,例如语音文件修复方法的程序代码等。此外,所述存储器61还可以用于暂时地存储已经输出或者将要输出的各类数据。

所述处理器62在一些实施例中可以是中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器62通常用于控制所述计算机设备6的总体操作。本实施例中,所述处理器62用于运行所述存储器61中存储的程序代码或者处理数据,例如运行所述语音文件修复方法的程序代码。

所述网络接口63可包括无线网络接口或有线网络接口,该网络接口63通常用于在所述计算机设备6与其他电子设备之间建立通信连接。

本实施例提出的计算机设备,实现了对受损语音数据的快速修复,并且在提高修复速度的同时,提高了文件修复的质量,除此之外,还提高了语音识别应用的语音识别准确率,使得完整的语音信号更容易地被正确识别,进一步提高了语音识别应用的识别效率。

本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有语音文件修复程序,所述语音文件修复程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的语音文件修复的步骤。

本实施例提出的计算机可读存储介质,实现了对受损语音数据的快速修复,并且在提高修复速度的同时,提高了文件修复的质量,除此之外,还提高了语音识别应用的语音识别准确率,使得完整的语音信号更容易地被正确识别,进一步提高了语音识别应用的识别效率。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。

本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。

显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

tips