一种基频预测方法及装置与流程

文档序号:28698126发布日期:2022-01-29 12:44阅读:121来源:国知局
一种基频预测方法及装置与流程

1.本技术涉及音频处理领域,尤其涉及一种基频预测方法及装置。


背景技术:

2.唱歌作为一种传递情感,娱乐消遣的方式倍受人们的喜爱。然而并不是所有人都能像专业歌手或者专业演唱家一样,能够对歌曲的音准把握那么准确。因此,非专业人士往往期望通过修音技术将自己演唱的作品的音准提高,进而使得自己演唱的作品不跑调并且更加优美动听。
3.近些年来,在线k歌平台在智能科技方面的应用日渐凸显,k歌平台能够支持大部分歌曲的“一键修音”功能,实现自动对用户演唱作品进行优化的效果,降低在线k歌的难度和门槛。一般来说,“一键修音”技术主要是先通过节奏判断算法确定用户所演唱歌曲的节奏是否准确,然后针对节奏准确和节奏不准确两种情况分别基于不同的规则进行处理。例如,当节奏准确时,保留用户所演唱歌曲的基频的基本走向,然后将专业歌手演唱同一歌曲的基频作为标准基频,对该用户的基频进行上下平移,以进行修音;当节奏不准确时,将标准基频直接设置为音符序列,但是这样会导致丢失用户对应的基频的走向,使得修音结果比较机械。总的来说,就是相关技术中所采用的修音方案较为复杂,且修音后的作品听起来十分机械,准确度不高。


技术实现要素:

4.本技术实施例提供了一种基频预测方法及装置,可降低基频调整的复杂度,以及提高获取到的基频的准确度。
5.第一方面,本技术实施例提供了一种基频预测方法,该方法包括:
6.获取待处理音频数据的基频序列和频谱包络,以及获取所述待处理音频数据对应的目标音符序列,所述目标音符序列为预存的与所述待处理音频数据关联的音符序列;
7.根据所述基频序列确定所述待处理音频数据对应的清音浊音vuv序列;
8.将所述频谱包络、所述vuv序列以及所述目标音符序列输入预先训练完成的基频预测模型,以确定所述待处理音频数据对应的预测基频序列,其中,所述基频预测模型通过样本音频数据对应的样本基频序列、样本频谱包络、以及由所述样本基频序列转换得到的样本vuv序列和样本音符序列训练得到的。
9.结合第一方面,在一种可能的实施方式中,所述方法还包括:
10.获取训练样本集合以及获取所述训练样本集合中的每个样本音频数据对应的样本基频序列和样本频谱包络,并根据所述样本基频序列确定所述样本音频数据对应的样本vuv序列和样本音符序列;
11.将所述样本频谱包络、所述样本vuv序列以及所述样本音符序列输入初始基频预测模型,以得到所述初始基频预测模型输出的样本预测基频序列;
12.根据所述训练样本集合中各个样本音频数据对应的样本基频序列和样本预测基
频序列对所述初始基频预测模型进行训练,得到所述基频预测模型。
13.结合第一方面,在一种可能的实施方式中,所述获取训练样本集合包括:
14.获取候选样本音频数据集合,所述候选样本音频数据中包括m个候选样本音频数据,m为大于0的整数;
15.获取所述m个候选样本音频数据中每个候选样本音频数据对应的音高分布向量;
16.根据m个音高分布向量和所述m确定所述m个候选样本音频数据中各个候选样本音频数据对应的样本采样概率;
17.根据所述各个候选样本音频数据对应的样本采样概率,从所述m个候选样本音频数据中确定出所述训练样本集合中包括的样本音频数据。
18.通过指定对训练样本集合的筛选规则,使得放入模型训练的样本覆盖各个音高分布范围,从而训练得出的模型更具有可靠性。
19.结合第一方面,在一种可能的实施方式中,所述根据所述样本基频序列确定所述样本音频数据对应的样本音符序列,包括:
20.计算所述样本基频序列中各个相邻样本基频值之间的差值绝对值;
21.若存在连续多个差值绝对值大于或者等于预设阈值,确定所述样本基频序列的至少一个基频分段边界;
22.根据所述至少一个基频分段边界对所述样本基频序列进行分段处理,得到多个基频分段序列;
23.对所述多个基频分段序列进行平滑处理,并对经平滑处理后得到的序列进行拼接以作为所述样本音频数据对应的样本音符序列。
24.结合第一方面,在一种可能的实施方式中,所述获取所述待处理音频数据对应的目标音符序列,包括:
25.获取所述待处理音频数据对应的候选音符序列集合,所述候选音符序列集合中包括至少两个候选音符序列;
26.基于所述基频序列中包括的各个基频值确定第一参数值;
27.根据所述第一参数值从所述至少两个候选音符序列中确定出目标音符序列。
28.结合第一方面,在一种可能的实施方式中,所述至少两个候选音符序列包括至少一个女声对应的候选音符序列和至少一个男声对应的候选音符序列;所述根据所述第一参数值从所述至少两个候选音符序列中确定出目标音符序列,包括:
29.确定所述至少两个候选音符序列中每个候选音符序列对应的音符平均值,根据所述至少两个候选音符序列对应的音符平均值确定第一参数判断值;
30.根据所述第一参数判断值和所述第一参数值确定所述待处理音频数据的声音类别,所述声音类别包括女声或男声;
31.根据所述待处理音频数据的声音类别从所述至少两个候选音符序列中确定出所述声音类别对应的至少一个候选音符序列;
32.从所述声音类别对应的至少一个候选音符序列中确定出一个候选音符序列作为所述目标音符序列。
33.通过将待处理音频数据进行男声女声的分类从候选音符序列中选择目标音符序列,使得预测基频更加准确,并且更能保留用户的个人演唱特点。
34.结合第一方面,在一种可能的实施方式中,所述根据所述基频序列确定所述待处理音频数据对应的vuv序列,包括:
35.遍历所述基频序列包括的多个基频值中的每一个基频值;
36.将等于0的基频值所对应的vuv值设置为第一预设值,将不等于0的基频值所对应的vuv值设置为第二预设值,得到所述待处理音频数据对应的vuv序列。
37.结合第一方面,在一种可能的实施方式中,所述获取待处理音频数据的基频序列,包括:
38.对所述待处理音频数据进行分帧加窗处理,得到n个第一分帧信号,所述n为大于0的整数;
39.通过m个不同截止频率的低通滤波器分别对所述第一分帧信号进行滤波处理,得到所述第一分帧信号对应的m个滤波信号,所述m为大于1的整数;
40.根据所述m个滤波信号的周期信息从所述m个截止频率中确定出一个截止频率作为所述第一分帧信号对应的基频值;
41.根据所述n个第一分帧信号对应的基频值,生成所述待处理音频数据对应的基频序列。
42.结合第一方面,在一种可能的实施方式中,所述获取待处理音频数据的频谱包络,包括:
43.获取所述待处理音频数据的功率谱;
44.对所述待处理音频数据的功率谱进行逆傅里叶变换,得到所述待处理音频数据的功率谱对应的倒谱;
45.基于预设截止频率的低通滤波器对所述倒谱进行滤波处理,以得到所述待处理音频数据对应的频谱包络。
46.第二方面,本技术实施例提供了一种音频处理装置,该装置包括:
47.获取模块,用于获取待处理音频数据的基频序列和频谱包络,以及获取所述待处理音频数据对应的目标音符序列;
48.处理模块,用于根据所述基频序列确定所述待处理音频数据对应的清音浊音vuv序列;
49.所述处理模块,用于将所述频谱包络、所述vuv序列以及所述目标音符序列输入预先训练完成的基频预测模型,以确定所述待处理音频数据对应的预测基频序列。
50.结合第二方面,在一种可能的实施方式中,
51.所述获取模块,还用于获取训练样本集合以及获取训练样本集合中的每个样本音频数据对应的样本基频序列和样本频谱包络,并根据样本基频序列确定样本音频数据对应的样本vuv序列和样本音符序列;
52.所述处理模块,还用于将样本频谱包络、样本vuv序列以及样本音符序列输入初始基频预测模型,以得到初始基频预测模型输出的样本预测基频序列;
53.所述处理模块,还用于根据所述训练样本集合中各个样本音频数据对应的样本基频序列和样本预测基频序列对所述初始基频预测模型进行训练,得到所述基频预测模型。
54.结合第二方面,在一种可能的实施方式中,
55.所述获取模块,还用于获取候选样本音频数据集合,所述候选样本音频数据中包
括m个候选样本音频数据,m为大于0的整数;
56.所述获取模块,还用于获取所述m个候选样本音频数据中每个候选样本音频数据对应的音高分布向量;
57.所述处理模块,还用于根据m个音高分布向量和所述m确定所述m个候选样本音频数据中各个候选样本音频数据对应的样本采样概率;
58.所述处理模块,还用于根据所述各个候选样本音频数据对应的样本采样概率,从所述m个候选样本音频数据中确定出所述训练样本集合中包括的样本音频数据。
59.结合第二方面,在一种可能的实施方式中,
60.所述处理模块,还用于计算所述样本基频序列中各个相邻样本基频值之间的差值绝对值;
61.所述处理模块,还用于若存在连续多个差值绝对值大于或者等于预设阈值,确定所述样本基频序列的至少一个基频分段边界;
62.所述处理模块,还用于根据所述至少一个基频分段边界对所述样本基频序列进行分段处理,得到多个基频分段序列;
63.所述处理模块,还用于对所述多个基频分段序列进行平滑处理,并对经平滑处理后得到的序列进行拼接以作为所述样本音频数据对应的样本音符序列。
64.结合第二方面,在一种可能的实施方式中,
65.所述获取模块,还用于获取所述待处理音频数据对应的候选音符序列集合,所述候选音符序列集合中包括至少两个候选音符序列;
66.所述处理模块,还用于基于所述基频序列中包括的各个基频值确定第一参数值;
67.所述处理模块,还用于根据所述第一参数值从所述至少两个候选音符序列中确定出目标音符序列。
68.结合第二方面,在一种可能的实施方式中,
69.所述处理模块,还用于确定所述至少两个候选音符序列中每个候选音符序列对应的音符平均值,根据所述至少两个候选音符序列对应的音符平均值确定第一参数判断值;
70.所述处理模块,还用于根据所述第一参数判断值和所述第一参数值确定所述待处理音频数据的声音类别,所述声音类别包括女声或男声;
71.所述处理模块,还用于根据所述待处理音频数据的声音类别从所述至少两个候选音符序列中确定出所述声音类别对应的至少一个候选音符序列;
72.所述处理模块,还用于从所述声音类别对应的至少一个候选音符序列中确定出一个候选音符序列作为所述目标音符序列。
73.结合第二方面,在一种可能的实施方式中,
74.所述处理模块,还用于遍历所述基频序列包括的多个基频值中的每一个基频值;
75.所述处理模块,还用于将等于0的基频值所对应的vuv值设置为第一预设值,将不等于0的基频值所对应的vuv值设置为第二预设值,得到待处理音频数据对应的vuv序列。
76.结合第二方面,在一种可能的实施方式中,
77.所述处理模块,还用于对所述待处理音频数据进行分帧加窗处理,得到n个第一分帧信号,n为大于0的整数;
78.处理模块,还用于通过m个不同截止频率的低通滤波器分别对第一分帧信号进行
滤波处理,得到第一分帧信号对应的m个滤波信号,m为大于1的整数;
79.处理模块,还用于根据m个滤波信号的周期信息从m个截止频率中确定出一个截止频率作为第一分帧信号对应的基频值;
80.处理模块,根据n个第一分帧信号对应的基频值,生成待处理音频数据对应的基频序列。
81.结合第二方面,在一种可能的实施方式中,
82.所述获取模块,还用于获取所述待处理音频数据的功率谱;
83.所述处理模块,还用于对所述待处理音频数据的功率谱进行逆傅里叶变换,得到所述待处理音频数据的功率谱对应的倒谱;
84.所述处理模块,还用于基于预设截止频率的低通滤波器对所述倒谱进行滤波处理,以得到所述待处理音频数据对应的频谱包络。
85.第三方面,本技术实施例提供了一种终端设备,该终端设备包括处理器和存储器,该处理器和存储器相互连接。该存储器用于存储支持该终端设备执行上述第一方面和/或第一方面任一种可能的实现方式提供的方法的计算机程序,该计算机程序包括程序指令,该处理器被配置用于调用上述程序指令,执行上述第一方面和/或第一方面任一种可能的实施方式所提供的方法。
86.第四方面,本技术实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令当被处理器执行时使该处理器执行上述第一方面和/或第一方面任一种可能的实施方式所提供的方法。
87.在本技术实施例中,获取待处理音频数据的基频序列和频谱包络,以及获取待处理音频数据对应的目标音符序列,其中,目标音符序列为预存的与待处理音频数据关联的音符序列。然后,可以根据基频序列确定待处理音频数据对应的清音浊音vuv序列。进一步的,根据频谱包络、vuv序列以及目标音符序列,结合基频预测模型,可确定出待处理音频数据对应的预测基频序列。其中,基频预测模型通过样本音频数据对应的样本基频序列、样本频谱包络、以及由样本基频序列转换得到的样本vuv序列和样本音符序列训练得到的。在本技术实施例中,通过对待处理音频数据的声音特征进行提取,再将预设的一个音符序列(即目标音符序列)与提取出的声音特征与一同放入预测模型中得到预测基频,以达到修音目的,不仅降低了修音的复杂度,且修音后的作品在保留了原有演唱者声音特点的前提下更符合人类听觉感官的听感规律,听起来更流畅自然。
附图说明
88.为了更清楚地说明本技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。
89.图1是本技术实施例提供的基频预测方法的应用场景示意图;
90.图2是本技术实施例提供的基频预测方法的一流程示意图;
91.图3是本技术实施例提供的正弦波信号的波形示意图;
92.图4是本技术实施例提供的频谱包络示意图;
93.图5是本技术实施例提供的获取音符序列示意图;
94.图6是本技术实施例提供的基频预测方法的另一流程示意图;
95.图7是本技术实施例提供的基频预测方法中模型训练过程的流程示意图;
96.图8是本技术实施例提供的基频预测模型的结构示意图;
97.图9是本技术实施例提供的各种序列的关系示意图;
98.图10是是本技术实施例提供的基频预测装置的结构示意图;
99.图11是本技术实施例提供的终端设备的结构示意图。
具体实施方式
100.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
101.本技术实施例涉及人工智能(artificial intelligence,ai)及机器学习(machine learning,ml)。其中,ai是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,其主要通过了解智能的实质,生产出一种新的能以人类智能相似的方式做出反应的智能机器,使得智能机器具有感知、推理与决策等多种功能。
102.ai技术是一门综合学科,其主要包括计算机视觉技术(computer vision,cv)、语音处理技术、自然语言处理技术以及机器学习(machine learning,ml)或深度学习等几大方向。其中,计算机视觉技术是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统;其通常包括音频数据处理、视频处理、视频语义理解、视频内容、视频行为识别等技术。
103.机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是ai的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习/深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
104.基于ai技术中的计算机视觉技术和机器学习技术,本技术实施例提供了一种基频预测方法,该方法通过获取用户演唱的作品作为待处理音频数据,然后从待处理音频数据中提取声音特征(包括基频序列与清音(unvoiced sound)浊音(voiced sound)序列,即vuv序列)并且从候选的多个音符序列中选出目标音符序列,最后将声音特征与目标音符序列一同作为参数放入模型中,可得到模型输出的预测音频。本技术通过提取用户的声音特征达到保留用户演唱特点的效果,并通过将声音特征与目标音符序列一同作为参数放入模型得到预测音频达到使修音后的作品听起来更自然的目的,并且方案实现复杂度低。
105.具体地,在应用阶段,首先获取待处理音频数据的基频序列和频谱包络,以及获取待处理音频数据对应的目标音符序列,其中目标音符序列是从多个候选音符序列中根据从待处理音频数据提取的基频序列确定的,目标音符序列与待处理音频数据具有关联性(例
如待处理音频数据与目标音符序列是同一首歌并且待处理音频数据与目标音符序列均满足男声/女声演唱的特点)。然后,根据基频序列确定待处理音频数据对应的清音浊音vuv序列,其中清音浊音vuv序列可以包括第一预设值和第二预设值(在本技术实施例中第一预设值可以为0,第二预设值可以为1);最后根据频谱包络、vuv序列以及目标音符序列,结合基频预测模型确定待处理音频数据对应的预测基频序列。其中,基频预测模型通过样本音频数据对应的样本基频序列、样本频谱包络、以及由样本基频序列转换得到的样本vuv序列和样本音符序列训练得到的,其中样本音频数据是根据采样概率从候选样本音频数据合集里确定的。采用本技术实施例,可降低基频调整的复杂度,以及提高获取到的基频的准确度,即使得修音后的作品听起来更自然,并且具有用户的个人演唱特点。
106.请参见图1,图1是本技术实施例提供的基频预测方法的应用场景示意图。其中,图1中的101表示调整前的基频序列,102表示调整后的基频序列。如图1所示,用户选择需要进行修音的作品后进入图1所示的界面,根据自己的需求选择对作品的某一段或者多段或者整个作品进行修音。其中修音过程包括用户打开修音按钮后根据需求选择修音效果的强弱(若不进行选择,则自动选择为预设的默认值),并且在屏幕上显示当前修音片段,如图1所示,101为调整前的基频序列,102为该音频判断根据用户选择的修音强弱进行修音后得到的调整后的基频序列,101经过修音后显示为102。
107.需要说明的是,图1所示的基频预测方法的应用场景中的界面与上述描述的具体操作步骤仅为举例,在此不做限制。
108.需要说明的是,本技术实施例提供基频预测方法,可广泛适用于各种计算机设备。其中,上述计算机设备包括但不限于服务器、智能手机、平板电脑、笔记本电脑和台式计算机等,在此不做限制。为方便描述,下面皆将以终端设备为例进行示意性说明。
109.下面将结合图2至图11对本技术实施例提供的方法及相关装置分别进行详细说明。
110.请参见图2,图2为本技术实施例提供的基频预测方法的一流程示意图。本技术实施例提供的方法可以包括如下步骤s201至s203。
111.s201、获取待处理音频数据的基频序列和频谱包络,以及获取待处理音频数据对应的目标音符序列,目标音符序列为预存的与待处理音频数据关联的音符序列。
112.在一些可行的实施方式中,可从终端设备的本地存储中,或者从与终端设备相连的外部存储器中获取预先存储的音频,以作为待处理音频数据。或者也可以实时获取终端设备的麦克风所录制的音频,以作为待处理音频数据。可理解的,上述的待处理音频数据可以是用户以前演唱的作品,也可以是当下正在演唱的作品,还可以是其他人演唱的作品等,在此不做限制。进而,终端设备可以对获取到的待处理音频数据进行音频特征提取,以获取待处理音频数据的基频序列和频谱包络,以及获取待处理音频数据对应的目标音符序列。其中,目标音符序列为预存的与待处理音频数据关联的音符序列。应当理解的是,本技术实施例所涉及的待处理音频数据为干声,即不包含伴奏或音乐的纯人声。
113.具体地,获取待处理音频数据的基频序列,包括:对待处理音频数据进行分帧加窗处理,得到n个第一分帧信号,其中n为大于0的整数;通过m个不同截止频率的低通滤波器分别对每个第一分帧信号进行滤波处理,可得到每个第一分帧信号对应的m个滤波信号,其中m为大于1的整数。针对任一个第一分帧信号对应的m个滤波信号而言,根据该第一分帧信号
对应的m个滤波信号的周期信息,可以从m个截止频率中确定出一个截止频率作为该第一分帧信号对应的基频值。最后根据确定出的n个第一分帧信号对应的n个基频值,生成待处理音频数据对应的基频序列。
114.其中,针对n个第一分帧信号中每个第一分帧信号的处理皆相同,因此,为方便理解,以下本技术实施例主要以针对n个第一分帧信号中的一个第一分帧信号的处理为例进行说明。其中,为方便描述,可将该一个第一分帧信号描述为目标第一分帧信号。
115.具体地,通过m个不同截止频率的低通滤波器分别对目标第一分帧信号进行滤波处理,可以得到目标第一分帧信号对应的m个滤波信号,目标第一分帧信号为n个第一分帧信号中的一个第一分帧信号,m为大于1的整数。根据m个滤波信号的周期信息从m个截止频率中确定出一个截止频率作为目标第一分帧信号对应的基频值。根据n个第一分帧信号对应的n个基频值生成待处理音频数据对应的基频序列。
116.其中,加窗操作使用的窗函数包括以下窗函数中任意一种窗函数:矩形窗、汉明窗、海宁窗,窗函数的选择在此不做限制。通常来说,分帧操作的帧长可以在10毫秒-30毫秒的范围内选择,帧移根据实际情况在与帧长的比值0~1/2的范围内选取。例如,帧长选择为20毫秒,那么帧移可以是8毫秒等,在此不做限制。
117.其中,针对目标第一分帧信号对应的m个滤波信号而言,根据m个滤波信号的周期信息从m个截止频率中确定一个截止频率作为目标第一分帧信号对应的基频值的确定规则可以为:针对以横坐标为时间,纵坐标为振幅的坐标轴上的m个滤波信号中的每个滤波信号,获取各个滤波信号过横坐标(即振幅为0)的4个时间点。假设m个滤波信号分别为截止频率1对应的滤波信号m1,截止频率2对应的滤波信号m2,截止频率3对应的滤波信号m3和截止频率4对应的滤波信号m4。为方便理解,这里以m个滤波信号中的一个滤波信号(例如滤波信号m1)的处理为例进行示意性说明。其中,以下可将滤波信号m1对应的这四个时间点分别描述为第一个时间点t1、第二个时间点t2、第三个时间点t3和第四个时间点t4。然后,分别计算这四个时间点中第二个时间点t2与第一个时间点t1之间的差值的绝对值

t1(即

t1=|t2-t1|),和第四个时间点t4减去第三个时间点的差值的绝对值

t2(即

t2=|t4-t3|)。进一步地,计算

t1与

t2之间的差值的绝对值的倒数

t1’(即

t1’=1/|

t2
‑△
t1|)作为截止频率1的置信度值。依次类推,可分别得到截止频率2对应的置信度值

t2’,截止频率3对应的置信度值

t3’和截止频率4对应的置信度值

t4’。将各个置信度值与一个预设的评判阈值进行比较,多个截止频率滤波后的信号的置信度值均大于评判阈值时,选择该多个截止频率中截止频率最小的一个作为信号对应的基频值。
118.例如,针对第一分帧信号1,现通过两个截止频率:截止频率a和截止频率b分别对第一分帧信号进行滤波。其中截止频率a小于截止频率b。第一种情况,预设一个评判阈值为1/3,针对以横坐标为时间,纵坐标为振幅的坐标轴上的一段被截止频率a滤波后得到的波形中,其过横坐标(即振幅为0)的点依次为:t1=1、t2=4、t3=8、t4=13。该波形的第二个点的横坐标(即t2=4)减去第一个点的横坐标(即t1=1)的差值的绝对值为

t1=(4-1)=3,第四个点的横坐标(即t4=13)减去第三个点的横坐标(即t3=8)的差值的绝对值为

t2=(13-8)=5。这两个绝对值相减并求差值的绝对值的倒数为

t1’=1/(5-3)=1/2,即也就是截止频率a作为第一分帧信号1的基频值的置信度值;在另一段被截止频率b滤波后得到的波形中,其过横坐标(即振幅为0)的点依次为:t5=1、t6=3、t7=10、t8=16,其第二个
点的横坐标(即t6=3)减去第一个的横坐标(即t5=1)的差值的绝对值为

t3=(3-1)=2,第四个点的横坐标(即t8=16)减去第三个点的横坐标(即t7=10)的差值的绝对值为

t4=(16-10)=6。这两个绝对值相减并求差值的绝对值的倒数为

t2’=1/(6-2)=1/4,即也就是截止频率b作为第一分帧信号1的基频值的置信度值。因为用截止频率a的置信度值

(1/2)大于评判阈值(1/3),而用截止频率b的置信度值

t2’(1/4)小于评判阈值(1/3)。所以在截止频率a与截止频率b中选择截止频率a。第二种情况,预设一个评判阈值为1/5。截止频率a滤波后的波形的置信度值

t3’=1/2,截止频率b滤波后的波形的置信度值

t4’=1/4。虽然此时两者(t3’=1/2与

t4’=1/4)均大于评判阈值(评判阈值=1/5),但是由于截止频率a大于截止频率b,所以在截止频率a与截止频率b中选择截止频率较小的截止频率b作为第一分帧信号1对应的基频值。
119.可选的,波形的置信度的获取规则除了上面提及的过横坐标点的差值法(简称规则1),还可以为以下规则2。具体地,规则2为:使用m个截止频率对目标第一分帧信号进行滤波得到在横坐标为时间,纵坐标为频率的坐标轴上分布的m个滤波信号后,分别计算每个滤波信号的多个相邻信号周期之间差值的绝对值的平均值的倒数,将该平均值的倒数作为第一评判值;再计算该滤波信号与横坐标相距同一高度时,多个相邻部分波形的宽度的差值的绝对值的平均值的倒数,该平均值的倒数作为第二评判值。将第一评判值与第二评判值的和作为波形的置信度。
120.示例性的,当m等于4时,采用四个不同截止频率的低通滤波器对目标第一分帧信号进行滤波,上述四个不同截止频率分别为m1截止频率、m2截止频率、m3截止频率和m4截止频率,其中四个截止频率之间的大小关系可以是:m1截止频率》m2截止频率》m3截止频率》m4截止频率,也可以是:m3截止频率》m4截止频率》m2截止频率》m1截止频率,四个截止频率之间的大小关系在此不做限制,为方便理解,以下本技术实施例皆以m1截止频率》m2截止频率》m3截止频率》m4截止频率为例进行示意性说明。使用m1截止频率对目标第一分帧信号进行滤波得到m1滤波信号,使用m2截止频率对目标第一分帧信号进行滤波得到m2滤波信号,使用m3截止频率对目标第一分帧信号进行滤波得到m3滤波信号,使用m4截止频率对目标第一分帧信号进行滤波得到m4滤波信号。需要说明的是,为了方便后续描述,本实施例将m1、m2、m3以及m4统称为mn,也就是说,针对m1滤波信号、m2滤波信号、m3滤波信号以及m4滤波信号中每个滤波信号的处理,以下本技术实施例皆以针对mn滤波信号的处理为例进行说明。具体地,请参见图3,图3是本技术实施例提供的正弦波信号的波形示意图。其中,使用mn截止频率对目标第一分帧信号进行滤波得到如图3所示的mn滤波信号,图3中标注的四个t0、t1、t2和t3均为过横坐标(纵坐标振幅为0)的四个点。mn滤波信号包括三个信号周期分别为t1、t2和t3,其中t1=(t1-t0)、t2=(t2-t1)以及t3=(t3-t2)。因为正弦波信号的信号周期满足每个信号周期都是相同的,也就是说,若图3的信号是一个正弦波信号,则t1、t2和t3三个周期满足t1=t2=t3,所以对比mn滤波信号的t1、t2和t3三个周期中相邻两个周期的差值的绝对值越接近于0,也就是该绝对值的倒数越大,则表示mn滤波信号与正弦信号越相似。从而,将滤波信号的周期差的绝对值的平均值的倒数作为评判该滤波信号与正弦信号相似度的第一评判值,也就是说,mn滤波信号的第一评判值的计算公式为:
121.122.其中,t1、t2和t3表示mn滤波信号连续的三个信号周期。
123.请一并参见图3,在mn滤波信号的波形上取与横坐标高度相同均为h1的两段横截线如图3所示标有d1与d2的两段横截线,其宽度分别为:d1和d2。在正弦波信号中与横坐标高度相同的每个宽度都是一样的,也就是说若图3所示的波形为正弦波,则d1=d2或者表示为d2-d1=0。所以对比mn滤波信号的d1和d2两个宽度的差值的绝对值越接近于0,也就是该绝对值的倒数越大,则表示mn滤波信号与正弦信号越相似。从而,将滤波信号的宽度差的绝对值的平均值的倒数作为评判该滤波信号与正弦信号相似度的第二评判值,也就是说,mn滤波信号的第二评判值的计算公式为:
[0124][0125]
其中,d1、d2和d3表示mn滤波信号取与横坐标高度相同但是不超过波形最高峰的相邻的四个点相邻两两之间构成的三个宽度。
[0126]
因为,第一评判值与第二评判值的和为评判值,也就是第一评判值+第二评判值=波形的置信度。在本技术实施例里表示为:
[0127][0128]
其中,t1、t2和t3表示mn滤波信号包括的三个信号周期,d1、d2和d3表示如三个波形在y=y1时的波形宽度。
[0129]
从而可用上述方法得到由m1截止频率、m2截止频率、m3截止频率和m4截止频率滤波后的得到的波形的置信度。
[0130]
通过设定对滤波信号的评判标准,从而更准确的找到标准度最高的滤波信号得到适合的截止频率,进而使得得到的基频与基频序列更准确,最后得到的预测基频更准确。
[0131]
其中,获取待处理音频数据的频谱包络,包括:获取待处理音频数据的功率谱;对待处理音频数据的功率谱进行逆傅里叶变换,得到待处理音频数据的功率谱对应的倒谱;基于预设截止频率的低通滤波器对倒谱进行滤波处理,以得到待处理音频数据对应的频谱包络。其中,频率包络决定了通俗讲的音色。具体地,首先需要对待处理音频数据进行分帧加窗处理,以得到至少一个第二分帧信号,通过对每个第二分帧信号进行短时傅里叶变换,可以得到每个第二分帧信号对应的子频谱。可理解的,第一分帧信号和第二分帧信号可以相同。其中,通过对每个第二分帧信号对应的子频谱求绝对值,可以得到每个第二分帧信号的功率谱。进而,通过对每个第二分帧信号对应的功率谱求对数并作相位展开,再进行逆傅里叶变换,可以得到每个第二分帧信号对应的功率谱的倒谱。最后,基于低通滤波器对每个第二分帧信号对应的功率谱的倒谱进行滤波,可以得到每个第二分帧信号对应的多个子频谱包络。最后,对多个子频谱包络进行拼接,可以得到待处理音频数据对应的频谱包络。示例性地,请参见图4,图4是本技术实施例提供的频谱包络示意图。如图4所示,横坐标代表频率,纵坐标代表振幅的坐标轴上,一段连续的频谱包络可以由多个子频谱包络拼接组成。
[0132]
其中,获取待处理音频数据对应的目标音符序列,包括:获取待处理音频数据对应的候选音符序列集合;基于基频序列中包括的各个基频值确定第一参数值;根据第一参数值从至少两个候选音符序列中确定出目标音符序列。其中候选音符序列集合中包括至少两
个候选音符序列,该至少两个候选音符序列中包括至少一个女声对应的候选音符序列和至少一个男声对应的候选音符序列。可理解的,可以将专业歌手或者演唱家等演唱的歌曲对应的音符序列作为该歌曲对应的候选音符序列集合中包括的候选音符序列,在此不做限制。
[0133]
其中,至少两个候选音符序列包括至少一个女声对应的候选音符序列和至少一个男声对应的候选音符序列;根据第一参数值从至少两个候选音符序列中确定出目标音符序列,包括:确定至少两个候选音符序列中每个候选音符序列对应的音符平均值,根据至少两个候选音符序列对应的音符平均值确定第一参数判断值;根据第一参数判断值和第一参数值确定待处理音频数据的声音类别,声音类别包括女声或男声;根据待处理音频数据的声音类别从至少两个候选音符序列中确定出声音类别对应的至少一个候选音符序列;从声音类别对应的至少一个候选音符序列中确定出一个候选音符序列作为目标音符序列。可理解的,候选音符序列对应的干声可以是由专业歌手、专业演唱家演唱的得到的。而待处理音频数据对应的干声可以是由用户演唱的同样一首歌曲得到的(存在“跑调”的演唱)。
[0134]
其中,上述第一参数值可以是待处理音频数据的基频序列的平均基频值,或者第一参数值也可以是待处理音频数据的基频序列的基频值分布概率,或者,也可以是待处理音频数据的基频序列中的基频中位值。
[0135]
其中,第一参数值是待处理音频数据的基频序列的平均基频值。也就是对待处理音频数据的基频序列中所有的基频值求和后再除以该处理音频数据的基频序列包括的基频值的个数。例如,一段待处理音频数据的基频序列为[120,125,120,130,131],那么将该基频序列[120,125,120,130,131]的平均基频值(120+125+120+130+131)/5=125.2作为第一参数值。
[0136]
可选的,第一参数值是待处理音频数据的基频序列的基频值分布概率。可理解的,求待处理音频数据的基频序列的基频值分布在各个预设频率范围内的概率。例如,待处理音频数据的时长为3分钟,每一帧的长度为18毫秒,则该待处理音频数据包括10000帧(3分钟等于180000毫秒,一帧的长度为18毫秒,则3分钟也就是180000毫秒包括180000
÷
18=10000帧),其中处于698hz~1.1khz的帧数有1400帧,将分布在该频率范围内的基频值分布概率14%作为第一参数值。又例如,一段待处理音频数据的基频序列为[120,125,120,130,131],其分布在60hz~123hz(人的发声频率一般大于60hz,所以通常不考虑60hz以下的频率)的基频值为:120和120,将其分布在60hz~123hz的概率为2/5=40%作为第一参数值。
[0137]
可选的,第一参数值是待处理音频数据的基频序列中的基频中位值。可理解的,对待处理音频数据的基频序列中的基频值由小至大或者由大至小的排序后取排序后的基频序列中间的值为第一参数值。例如,一段待处理音频数据的基频序列为[120,125,120,130,131],对基频序列从小至大的排序后得到的基频序列为[120,120,125,130,131],取排序后得到的基频序列中间的值125作为第一参数值。
[0138]
其中,当第一参数值为待处理音频数据的基频序列的平均基频值时,预设的第一参数值判断值也为预设的平均基频值。通过判断第一参数值与第一参数判断值的大小关系判断待处理音频数据的声音类别(声音类别包括女声或男声),可以理解为,若第一参数值小于第一参数值判断值,则待处理音频数据为男声;若第一参数值大于第一参数值判断值,则待处理音频数据为女声。根据待处理音频数据的声音类别从至少两个候选音符序列中确
定出声音类别对应的至少一个候选音符序列。例如,一段待处理音频数据的基频序列为[120,125,120,130,131],那么将该基频序列[120,125,120,130,131]的平均基频值(120+125+120+130+131)/5=125.2作为第一参数值。预设的第一参数值判断值为130,则第一参数值(125.2)小于第一参数值判断值(130),判断该待处理音频数据的的声音类别为男声。
[0139]
可选的,当第一参数值是待处理音频数据的基频序列的基频值分布概率时,预设的第一参数值判断值也为预设的基频值分布概率。通过判断第一参数值与第一参数判断值的大小关系判断待处理音频数据的声音类别(声音类别包括女声或男声),可以理解为,若第一参数值小于第一参数值判断值,则待处理音频数据为男声;若第一参数值大于第一参数值判断值,则待处理音频数据为女声。根据待处理音频数据的声音类别从至少两个候选音符序列中确定出声音类别对应的至少一个候选音符序列。例如,一段待处理音频数据的基频序列为[120,125,120,130,131],其分布在60hz~123hz(人的发声频率一般大于60hz,所以通常不考虑60hz以下的频率)的基频值为:120和120,将其分布在60hz~123hz的概率为2/5=40%作为第一参数值。预设的第一参数值判断值为130,则第一参数值(40%)小于第一参数值判断值(50%),判断该待处理音频数据的的声音类别为男声。
[0140]
可选的,当第一参数值是待处理音频数据的基频序列的基频中位值时,预设的第一参数值判断值也为预设的基频中位值。通过判断第一参数值与第一参数判断值的大小关系判断待处理音频数据的声音类别(声音类别包括女声或男声),可以理解为,若第一参数值小于第一参数值判断值,则待处理音频数据为男声;若第一参数值大于第一参数值判断值,则待处理音频数据为女声。根据待处理音频数据的声音类别从至少两个候选音符序列中确定出声音类别对应的至少一个候选音符序列。例如,一段待处理音频数据的基频序列为[120,125,120,130,131],对基频序列从小至大的排序后得到的基频序列为[120,120,125,130,131],取排序后得到的基频序列中间的值125作为第一参数值。预设的第一参数值判断值为130,则第一参数值(125)小于第一参数值判断值(130),判断该待处理音频数据的的声音类别为男声。
[0141]
其中,若所示声音类别包含多个候选音符序列,则随机从该声音类别中的多个候选音符序列随机选择一个候选音符序列作为目标音符序列。
[0142]
s202、根据基频序列确定待处理音频数据对应的清音浊音vuv序列。
[0143]
在一些可行的实施方式中,根据基频序列确定待处理音频数据对应的vuv序列,包括:遍历基频序列包括的多个基频值中的每一个基频值;将等于0的基频值所对应的vuv值设置为第一预设值,将不等于0的基频值所对应的vuv值设置为第二预设值,得到待处理音频数据对应的vuv序列。其中,vuv序列可以理解为用于判断语音或者声音是否有基频存在,也可以理解为判断语音或者声音是否有声带振动。有声带振动的信号一般就是我们俗称的浊辅音或者元音(如汉语拼音里的b、d、g、v等都是浊辅音),没有声带振动的信号一般就是我们俗称的清辅音或者静音(如汉语拼音里的p、t、g、f等都是清辅音)。
[0144]
在本技术实施例中,第一预设值具体可以为0,第二预设值具体可以为1。可理解的,基频值等于0时其对应的vuv值为0,基频值不等于0时其对应的vuv值为1。例如,一段基频序列为[120,121,121,0,0,0,163],其第一个基频值120为不等于0的数,从而第一个基频值120对应的vuv值为1,其第四个基频值为0,从而第四个基频值0对应的vuv值为0,所以基频序列[120,121,121,0,0,0,163]对应vuv序列[1,1,1,0,0,0,1],再例如,一段基频序列为
[0,0,0,0,0,0,0],因为其每一个基频值都为0,所以该基频序列对应的vuv序列为[0,0,0,0,0,0,0]。
[0145]
s203、根据频谱包络、vuv序列以及目标音符序列,结合基频预测模型确定待处理音频数据对应的预测基频序列。
[0146]
在一些可行的实施方式中,根据频谱包络、vuv序列以及目标音符序列,结合基频预测模型确定待处理音频数据对应的预测基频序列。其中,基频预测模型可以包括如图8所示的基频预测模型,其中801为预测模型的示意图,802为自注意力机制模块的结构示意图。将频谱包络(例如该频谱包络的维度可以为1025维)、音符序列(例如该音符序列的维度可以为256维)以及vuv序列(例如该vuv序列的维度可以为1维)进行拼接后得到一个1025+256+1=1282(频谱包络的维度+音符序列的维度+vuv序列的维度)维度的向量。该向量经过线性层1后得到一个256维的融合特征向量。将该256维的融合特征向量经过自注意力机制模块后得到一个768维的特征向量。最后将该768维的特征向量输入线性层2得到1维的预测基频。通过将预测基频和提取得到的基频进行以最小均方误差作为损失函数的计算,以优化此基频预测模型,优化方法可以为adam,学习率为1e-3。其中,如图8中802为自注意力机制模块的结构示意图。自注意力机制模块包括线性层3、线性层4以及线性层5,attention层和拼接层和线性层6。其中,将线性层1输出的融合特征向量依次通过自注意力机制模块的线性层3、线性层4以及线性层5,attention层和拼接层和线性层6,可将第二线性层(即线性层6)的输出作为自注意力机制模块的输出,并输入至线性层2。
[0147]
示例性的,图9是本技术实施例提供的各种序列的关系示意图。其中图9中的线条1为vuv序列、线条2为预测基频序列、线条3为音符序列以及线条4为基频序列。结合上述对图8的描述,可以理解的,将线条1(vuv序列)与线条3(频谱包络)以及线条4(真实的基频序列)作为参数放入模型中后可以获得线条2(预测基频序列),其中线条1(vuv序列)、线条3(目标音符序列)、线条4(真实的基频序列,即提取出的待处理音频数据对应的基频序列)以及线条2(预测基频序列)四者之间的关系如图9所示。
[0148]
其中,基频预测模型可以通过样本音频数据对应的样本基频序列、样本频谱包络、以及由样本基频序列转换得到的样本vuv序列和样本音符序列训练得到的。具体地,基频预测模型的训练过程包括:获取训练样本集合以及获取训练样本集合中的每个样本音频数据对应的样本基频序列和样本频谱包络,并根据样本基频序列确定样本音频数据对应的样本vuv序列和样本音符序列;将样本频谱包络、样本vuv序列以及样本音符序列输入初始基频预测模型,以得到初始基频预测模型输出的样本预测基频序列;根据训练样本集合中各个样本音频数据对应的样本基频序列和样本预测基频序列对初始基频预测模型进行训练,得到基频预测模型。其中训练样本集合包括第一音高分布范围对应的多个样本音频数据,第二音高分布范围对应的多个样本音频数据以及第三音高分布范围对应的多个样本音频数据。
[0149]
其中,训练样本集合包括第一音高分布范围对应的多个样本音频数据可以理解为是在范围60hz~120hz(也就是俗称的低音)的音频数据,第二音高分布范围对应的多个样本音频数据可以理解为是在范围120hz~480hz(也就是俗称的中音)的音频数据,第三音高分布范围对应的多个样本音频数据可以理解为是在范围120hz~480hz(也就是俗称的高音)的音频数据。通常来说,由于人的发声频率在60hz-1200hz之间,因此对于一个基频预测
模型而言,若希望训练得到的该基频预测模型能够得到准确的基频预测值(即模型训练效果好),则其训练样本需要覆盖60hz-1200hz的音频数据。也就是说,本技术实施例中的用于基频预测模型学习的训练样本集合需要包括覆盖多个音高分布范围的多个训练样本,且各个音高分布范围的训练样本分布较为均匀。例如,训练样本集合包括12个训练样本,其中高音分布范围对应4个样本,低音分布范围对应4个样本,中音分布范围对应4个样本。本技术不限于只有三个音高分布范围,音高分布范围可有多个。
[0150]
其中,获取训练样本集合,包括:获取候选样本音频数据集合,候选样本音频数据中包括m个候选样本音频数据,m为大于0的整数;获取m个候选样本音频数据中每个候选样本音频数据对应的音高分布向量;根据m个音高分布向量和m确定m个候选样本音频数据中各个候选样本音频数据对应的样本采样概率。最后,根据各个候选样本音频数据对应的样本采样概率,从m个候选样本音频数据中确定出训练样本集合中包括的样本音频数据。其中,样本采样概率可以理解为每个样本被作为训练样本的概率值,通常来说,某个音高分布范围的候选样本音频数据的数量越多,该音高分布范围的候选样本音频数据对应的样本采样概率就越小,相应地,候选样本音频数据的数量越少,该音高分布范围的候选样本音频数据对应的样本采样概率就越大,这样做的好处是:可以使得用于基频预测模型训练的训练样本集合中包括的样本音频数据的音高分布均衡,进而使得模型训练效果更好,更具普适性。
[0151]
示例性的,因为人的发生频率在60hz~1200hz之间,所以训练样本集合需要覆盖60hz~1200hz才能使得训练数据音高均匀,最后训练后的预测基频模型能够精准的预测基频序列。针对m个候选样本音频数据中的每个候选样本音频数据,对每一个候选样本音频数据进行分析,得到每一个候选样本音频数据对应的音高分布向量n,该音高分布向量n的维度可以1200维(通常来说,维度的选择是依据需要覆盖的频率的最大值),其中,任一候选样本音频数据对应的音高分布向量n用于表示该候选样本音频数据在每个音高的帧数,或理解为在每个音高下的分布情况。以一个1600毫秒的候选样本音频数据为例进行举例,假设每一帧的长度为16毫秒,则该1600毫秒的候选样本音频数据包括1000帧,若这1000帧中有0帧分布在60hz,则该1600毫秒的候选样本音频数据的音高分布向量n在60hz时该音高分布向量n的值为0,若这1000帧中有10帧分布在300hz,则该1600毫秒的候选样本音频数据的音高分布向量n在300hz时该音高分布向量n的值为10等,针对其他音高对应的取值在此不再逐一举例说明。因此,针对m个候选样本音频数据,可以得到一个m*n的音高分布矩阵a,为了实现音高分布均衡,求解m个音频样本分布对应的样本采样概率:
[0152]at
x=b,s.t.xi》0
[0153]bi
=sum(a)/m
[0154]
其中,a为一个m*n的音高分布矩阵,x为音频样本分布对应的样本采样概率,b为维度为n*1的向量,且向量的每个元素都相等。
[0155]
其中,获取训练样本集合中的每个样本音频数据对应的样本基频序列和样本频谱包络,并根据样本基频序列确定样本音频数据对应的样本vuv序列和样本音符序列。获取每个样本音频数据对应的样本基频序列和样本频谱包络与前面所述的方法相同。根据样本基频序列确定样本音频数据对应的样本vuv序列的方法与前面描述的将基频序列转变为vuv序列的方法也相同,在此不再进行赘述。
[0156]
其中,根据样本基频序列确定样本音频数据对应的样本音符序列,包括:计算样本基频序列中各个相邻样本基频值之间的差值绝对值;若存在连续多个差值绝对值大于或者等于预设阈值,确定样本基频序列的至少一个基频分段边界;根据至少一个基频分段边界对样本基频序列进行分段处理,得到多个基频分段序列;对多个基频分段序列进行平滑处理,并对经平滑处理后得到的序列进行拼接以作为样本音频数据对应的样本音符序列。也就是说,根据样本基频序列确定样本音频数据对应的样本音符序列的具体做法可以是:首先对样本基频序列中的连续样本基频值做差分,其中,当连续多个差分值的绝对值大于或者等于某个预设阈值时,将该连续多个差分值对应的多个样本基频值判断为基频序列的过渡阶段,并将过渡阶段的中间位置定义为基频分段边界。然后,根据得到的至少一个基频分段边界对样本基频序列进行分段处理,得到多个基频分段序列。最后,对每个基频分段序列去掉过渡阶段后的数值做均值处理,以作为该基频分段序列经平滑处理后得到的序列。最后,将各个基频分段序列经平滑处理后得到的序列进行拼接以作为样本音频数据对应的样本音符序列。
[0157]
在一些可行的实施方式中,从基频序列的最左端开始,也就是基频序列的首个基频值开始。计算第二个基频值与首个基频值之间的差值的绝对值,再计算第三个基频值与第二个基频值之间的差值的绝对值,以此类推,计算出基频序列中包括的各个相邻基频值之间的差值的绝对值。当某一基频值与相邻的基频值的差值的绝对值大于第一阈值时,则将这段连续的基频值的中间点判定为基频分段边界。
[0158]
示例性的,如图5所示,图5中501是一条连续的基频序列,从501的最左端(e点)开始一直到基频序列501中的a点,其相邻的基频值的差值的绝对值均小于第一阈值。从a点开始,a+1对应的基频值与a对应的基频值的差值的绝对值大于第一阈值并且a对应的基频值与a-1对应的基频值的的差值的绝对值小于第一阈值,一直到b对应的基频值与b-1对应的基频值的差值的绝对值均大于第一阈值并且b+1对应的基频值与b对应的基频值的差值的绝对值小于第一阈值。从而定义从a点到b点中间的ab段为基频序列的基频序列501的第一过渡阶段,并将该第一过渡阶段的中间位置i(i=(a+b)/2)定义为基频分段边界。同理,cd段为基频序列的基频序列501的第二过渡阶段,并将该第二过渡阶段的中间位置j(j=(c+d)/2)定义为基频序列501的另一基频分段边界。
[0159]
根据上述描述的得知基频序列501的两个基频分段边界,对基频序列501继续进行分段处理和平滑处理得到基频序列501对应的音符序列502。其中,根据上述描述还可以得知i和j为基频序列502的两个基频分段边界,ab段为第一过渡阶段,cd段为第二过渡阶段。根据基频序列502的两个基频分段边界(i与j)将基频序列502分为三段:ei段,ij段以及jf段,从而完成分段处理。在完成分段处理后对基频序列502做平滑处理,平滑处理包括去除过渡阶段和对每个基频分段序列去掉过渡阶段后的数值做均值处理这两个步骤。去除过渡阶段步骤包括:将ab段(ab段包括:ai段与ib段)与cd段(cd段包括:cj段与jd段)中的基频值删除。均值处理步骤包括:分别求取ea段、bc段以及df段中的基频值的平均值即ea基频均值、bc基频均值以及df基频均值。用ea基频均值替补ai段空缺的值、用bc基频均值替补ib段和cj段空缺的值以及用df基频均值替补jd段空缺的值。从而得到ei、ij以及jf三个序列,最后将这三个序列拼接得到音符序列502。
[0160]
示例性地,为了更加清楚理解基频预测方法,下面再结合图6,如图6是本技术实施
例提供的基频预测方法的另一流程示意图。对待处理音频数据进行特征提取后得到两个特征序列:基频序列与频谱包络。其中基频序列的提取可以采用world声码器的harvest算法、pyin算法或者dio算法等中的一种,在此不做限制,其中基频是待处理音频数据的频谱的第一峰的频率,是人类心里对音符基频的感受。其中频谱包络是声带振动产生的声波通过由口腔、鼻腔等构成的声道时将产生共振,频谱包络也就是我们俗称的音色。所以,通过提取基频序列与频谱包络得到了待处理音频数据的演唱者的是否在调(也就是俗称是跑调),也得到了待处理音频数据的演唱者的音色特征。再对基频序列进行特征转换得到vuv序列,其中vuv序列判断待处理音频数据哪些部分有基频存在,哪些部分没有基频存在。保证最后预测出来的预测基频序列与待处理音频数据的基频序列包括的基频值的位置一样,进而可以是说保证了最后预测出来的预测基频序列与待处理音频数据的基频序列的节奏一样。最后将目标音符序列(与待处理音符序列演唱者同为女声/男声并且是同样的一首歌曲)与vuv序列,频谱包络序列一同放入基频预测模型中,得到预测基频序列。
[0161]
示例性地,为了更加清楚理解基频预测方法,下面再结合图6,参见图7,图7是本技术实施例提供的基频预测方法中模型训练过程的流程示意图。对比图6,图7同样也是从样本音频数据中提取了两个特征。但是相比图6,图7中的样本音符序列是由样本音频数据进行特征提取和特征转换两个步骤得到的。如图6也就是说本技术应用的时候音符序列是外部加入的一个音符序列,而图7也就是说本技术训练的时候的样本音符序列就是样本音频数据的音符序列。通过将样本音符序列与样本vuv序列还有样本频谱包络作为参数输入初始基频预测模型,可以得到样本基频预测序列。将初始基频预测模型输出得到的样本基频预测序列与从样本音频数据进行特征提取得到的样本基频序列进行对比。初始基频预测模型输出得到的样本基频预测序列与从样本音频数据进行特征提取得到的样本基频序列越相似则表示预测模型越好,预测模型预测的基频越精准。
[0162]
在本技术实施例中,将得到的样本基频预测序列与从样本音频数据进行特征提取得到的样本基频序列对比,即不需要对样本基频序列对应的歌曲演唱标准度有要求,也不需要大量复杂的算法。从而采用本技术实施例,可降低基频调整的复杂度,以及提高获取到的基频的准确度,进而使得修音后的作品听起来更自然,更具有用户的个人演唱特点。
[0163]
参见图10,图10是是本技术实施例提供的基频预测装置的结构示意图。本技术实施例提供的音频处理装置包括:
[0164]
其中如图10所示的1001为获取模块1001,用于获取待处理音频数据的基频序列和频谱包络,以及获取待处理音频数据对应的目标音符序列。1002为处理模块1002,用于根据基频序列确定待处理音频数据对应的清音浊音vuv序列;用于根据频谱包络、vuv序列以及目标音符序列,结合基频预测模型确定待处理音频数据对应的预测基频序列。
[0165]
在另一种实现中,获取模块1001,还用于获取训练样本集合以及获取训练样本集合中的每个样本音频数据对应的样本基频序列和样本频谱包络,处理模块1002,还用于根据样本基频序列确定样本音频数据对应的样本vuv序列和样本音符序列;处理模块1002,还用于将样本频谱包络、样本vuv序列以及样本音符序列输入初始基频预测模型,以得到初始基频预测模型输出的样本预测基频序列;处理模块1002,还用于根据训练样本集合中各个样本音频数据对应的样本基频序列和样本预测基频序列对初始基频预测模型进行训练,得到基频预测模型。
[0166]
在另一种实现中,获取模块1001,还用于获取候选样本音频数据集合,候选样本音频数据中包括m个候选样本音频数据,m为大于0的整数;获取模块1001,还用于获取m个候选样本音频数据中每个候选样本音频数据对应的音高分布向量;处理模块1002,还用于根据m个音高分布向量和m确定m个候选样本音频数据中各个候选样本音频数据对应的样本采样概率;处理模块1002,还用于根据各个候选样本音频数据对应的样本采样概率,从m个候选样本音频数据中确定出训练样本集合中包括的样本音频数据。
[0167]
在另一种实现中,处理模块1002,还用于计算样本基频序列中各个相邻样本基频值之间的差值绝对值;处理模块1002,还用于若存在连续多个差值绝对值大于或者等于预设阈值,确定样本基频序列的至少一个基频分段边界;处理模块1002,还用于根据至少一个基频分段边界对样本基频序列进行分段处理,得到多个基频分段序列;处理模块1002,还用于对多个基频分段序列进行平滑处理,并对经平滑处理后得到的序列进行拼接以作为样本音频数据对应的样本音符序列。
[0168]
在另一种实现中,获取模块1001,还用于获取待处理音频数据对应的候选音符序列集合,候选音符序列集合中包括至少两个候选音符序列;处理模块1002,还用于基于基频序列中包括的各个基频值确定第一参数值;处理模块1002,还用于根据第一参数值从至少两个候选音符序列中确定出目标音符序列。
[0169]
在另一种实现中,处理模块1002,还用于确定至少两个候选音符序列中每个候选音符序列对应的音符平均值,根据至少两个候选音符序列对应的音符平均值确定第一参数判断值;处理模块1002,还用于根据第一参数判断值和第一参数值确定待处理音频数据的声音类别,声音类别包括女声或男声;处理模块1002,还用于根据待处理音频数据的声音类别从至少两个候选音符序列中确定出声音类别对应的至少一个候选音符序列;处理模块1002,还用于从声音类别对应的至少一个候选音符序列中确定出一个候选音符序列作为目标音符序列。
[0170]
在另一种实现中,处理模块1002,还用于遍历基频序列包括的多个基频值中的每一个基频值;处理模块1002,还用于将等于0的基频值所对应的vuv值设置为第一预设值,将不等于0的基频值所对应的vuv值设置为第二预设值,得到待处理音频数据对应的vuv序列。
[0171]
在另一种实现中,处理模块1002,还用于对待处理音频数据进行分帧加窗处理,得到n个第一分帧信号,n为大于0的整数;处理模块1002,还用于通过m个不同截止频率的低通滤波器分别对第一分帧信号进行滤波处理,得到第一分帧信号对应的m个滤波信号,m为大于1的整数;处理模块1002,还用于根据m个滤波信号的周期信息从m个截止频率中确定出一个截止频率作为第一分帧信号对应的基频值;处理模块1002,还用于根据n个第一分帧信号对应的基频值,生成待处理音频数据对应的基频序列。
[0172]
在另一种实现中,获取模块1001,还用于获取待处理音频数据的功率谱;处理模块1002,还用于对待处理音频数据的功率谱进行逆傅里叶变换,得到待处理音频数据的功率谱对应的倒谱;处理模块1002,还用于基于预设截止频率的低通滤波器对倒谱进行滤波处理,以得到待处理音频数据对应的频谱包络。
[0173]
在本技术实施例中,基频预测装置将获取的基频序列、频谱包络、目标音符序列以及vuv序列放入预测模型中得到预测基频序列从而实现修音的效果。采用本技术实施例,可降低基频调整的复杂度,以及提高获取到的基频的准确度,进而使得修音后的作品听起来
更自然,更具有用户的个人演唱特点。
[0174]
请参见图11,图11是本技术实施例提供的终端设备的结构示意图。如图11所示,本实施例中的终端设备可以包括:一个或多个处理器1101、一个或多个存储器1102、以及一个或多个收发器1103。上述处理器1101、存储器1102和收发器1103通过总线1104连接。存储器1102用于存储计算机程序,该计算机程序包括程序指令,处理器1101用于执行存储器1102存储的程序指令,以执行上述实施例中步骤s201至步骤s203中描述的过程,执行如下操作:
[0175]
在一种实现中,获取待处理音频数据的基频序列和频谱包络,以及获取待处理音频数据对应的目标音符序列,目标音符序列为预存的与待处理音频数据关联的音符序列;
[0176]
根据基频序列确定待处理音频数据对应的vuv序列;
[0177]
根据频谱包络、vuv序列以及目标音符序列,结合基频预测模型确定待处理音频数据对应的预测基频序列,其中,基频预测模型通过样本音频数据对应的样本基频序列、样本频谱包络、以及由样本基频序列转换得到的样本vuv序列和样本音符序列训练得到的。
[0178]
应当理解,在一些可行的实施方式中,上述处理器501可以是中央处理单元(central processing unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。该存储器502可以包括只读存储器和随机存取存储器,并向处理器501提供指令和数据。存储器502的一部分还可以包括非易失性随机存取存储器。例如,存储器502还可以存储设备类型的信息。
[0179]
具体实现中,上述终端设备可通过其内置的各个功能模块执行如上述图1至图9中各个步骤所提供的实现方式,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。
[0180]
在本技术实施例中,终端设备将获取的基频序列、频谱包络、目标音符序列以及vuv序列放入预测模型中得到预测基频序列从而实现修音的效果。采用本技术实施例,可降低基频调整的复杂度,以及提高获取到的基频的准确度,进而使得修音后的作品听起来更自然,更具有用户的个人演唱特点。
[0181]
本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令被处理器执行时实现图2中各个步骤所提供的基频预测方法,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。
[0182]
上述计算机可读存储介质可以是前述任一实施例提供的推荐模型训练装置或者上述终端设备的内部存储单元,例如电子设备的硬盘或内存。该计算机可读存储介质也可以是该电子设备的外部存储设备,例如该电子设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该电子设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该电子设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
[0183]
本技术的权利要求书和说明书及附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品
或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0184]
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置展示该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0185]
本技术实施例提供的方法及相关装置是参照本技术实施例提供的方法流程图和/或结构示意图来描述的,具体可由计算机程序指令实现方法流程图和/或结构示意图的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可提供到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或结构示意一个方框或多个方框中指定的功能的步骤。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1