CN109903784B - 一种拟合失真音频数据的方法及装置 - Google Patents
一种拟合失真音频数据的方法及装置 Download PDFInfo
- Publication number
- CN109903784B CN109903784B CN201910157116.9A CN201910157116A CN109903784B CN 109903784 B CN109903784 B CN 109903784B CN 201910157116 A CN201910157116 A CN 201910157116A CN 109903784 B CN109903784 B CN 109903784B
- Authority
- CN
- China
- Prior art keywords
- data
- distortion
- fitting
- point
- functional relationship
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Abstract
本申请公开了一种拟合失真音频数据的方法及装置。该方法包括:对第一音频数据进行分帧,得到第二音频数据;获取所述第二音频数据的幅度达到所述第一音频数据的最大幅度的累计时间;在所述累计时间大于或等于第一阈值的情况下,确定所述第二音频数据为待校正数据;对所述待校正数据进行曲线拟合,得到校正后的音频数据。还公开了相应的装置。通过对音频数据中的削波失真数据进行曲线拟合,可实现对任意削波失真音频数据的实时校正。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种拟合失真音频数据的方法及装置。
背景技术
由于电路和音响单元对输入的音频信号的幅度有限制,在通过硬件电路录制音频的过程中,需要将音频信号的最大幅度限制在电路和音响单元的允许范围内。因此,当音频数据的幅度超过电路和音响单元的允许范围时,将会产生削波失真,这将极大的降低用户的听歌体验。目前,可在播放音频之前通过降低背景噪音修复音频中的削波失真信号,但修复效果不自然。
发明内容
本申请提供了一种拟合失真音频数据的方法及装置,以修复音频数据中的削波失真数据。
第一方面,提供了一种拟合失真音频数据的方法,包括:对第一音频数据进行分帧,得到第二音频数据;获取所述第二音频数据的幅度达到所述第一音频数据的最大幅度的累计时间;在所述累计时间大于或等于第一阈值的情况下,确定所述第二音频数据为待校正数据;对所述待校正数据进行曲线拟合,得到校正后的音频数据。
在一种可能的实现方式中,所述获取所述第二音频数据的幅度达到所述第一音频数据的最大幅度的累计时间,包括:获取所述第二音频数据中的数据点,所述数据点包含时间和幅度的信息;选取所述第二音频数据的数据点中幅度达到所述第一音频数据的最大幅度的数据点;累计所述选取的数据点的播放时间,得到所述累计时间。
在另一种可能的实现方式中,所述对所述待校正数据进行曲线拟合,得到校正后的音频数据,包括:确定所述待校正数据中的失真数据的起始时间、所述失真数据的结束时间与所述待校正数据的起始时间、所述待校正数据的结束时间、所述第一音频数据的起始时间、所述第一音频数据的结束时间是否相同;所述失真数据为包含至少m个连续失真数据点的一段数据;所述m为大于1的正整数;所述失真数据点的幅度为所述第一音频数据的最大幅度;若所述失真数据的结束时间与所述待校正数据的结束时间相同,且所述失真数据的结束时间与所述第一音频数据的结束时间相同,获取第一函数关系;所述第一函数关系为所述失真数据前的n个未失真数据的幅度和时间的函数关系;所述n为正整数;在所述失真数据的第一个数据点和最后一个数据点之间构建满足所述第一函数关系的第一拟合数据;在所述失真数据的第一个数据点和所述第一拟合数据中幅度最大的数据点之间构建满足所述第一函数关系的第二拟合数据;用所述第二拟合数据替换所述失真数据,得到所述校正后的音频数据。
在又一种可能的实现方式中,所述对所述待校正数据进行曲线拟合,得到校正后的音频数据,还包括:若所述失真数据的起始时间与所述待校正数据的起始时间相同,且所述失真数据的起始时间与所述第一音频数据的起始时间相同,获取第二函数关系;所述第二函数关系为所述失真数据后的p个未失真数据的幅度和时间的函数关系;所述p等于所述n;在所述失真数据的第一个数据点和最后一个数据点之间构建满足所述第二函数关系的第三拟合数据;在所述失真数据的最后一个数据点和所述第三拟合数据中幅度最大的数据点之间构建满足所述第二函数关系的第四拟合数据;用所述第四拟合数据替换所述失真数据,得到所述校正后的音频数据。
在又一种可能实现的方式中,所述对所述待校正数据进行曲线拟合,得到校正后的音频数据,还包括:否则判断所述失真数据中数据点的数量是奇数或偶数;若所述失真数据中数据点的数量为奇数,将所述失真数据分成两段,得到第一段失真数据和第二段失真数据;所述第一段失真数据包含所述失真数据的第一个数据点和所述失真数据正中间的数据点之间的数据;所述第二段失真数据包含所述失真数据正中间的数据点和所述失真数据的最后一个数据点之间的数据;获取第三函数关系;所述第三函数关系为所述失真数据前的q个未失真数据的幅度和时间的函数关系;所述q等于所述n;在所述第一段失真数据的第一个数据点和最后一个数据点之间构建满足所述第三函数关系的第五拟合数据;在所述第一段失真数据的第一个数据点和所述第五拟合数据中幅度最大的数据点之间构建满足所述第三函数关系的第六拟合数据;获取第四函数关系;所述第四函数关系为所述失真数据后的r个未失真数据的幅度和时间的函数关系;所述r等于所述n;在所述第二段失真数据的第一个数据点和最后一个数据点之间构建满足所述第四函数关系的第七拟合数据;在所述第二段失真数据的最后一个数据点和所述第七拟合数据中幅度最大的数据点之间构建满足所述第四函数关系的第八拟合数据;分别用所述第六拟合数据替换和所述第八拟合数据替换所述第一段失真数据和所述第二段失真数据,得到所述校正后的音频数据。
在又一种可能实现的方式中,所述对所述待校正数据进行曲线拟合,得到校正后的音频数据,还包括:若所述失真数据中的数据点的数量为偶数,将所述失真数据按数据点的数量均分成第三段失真数据和第四段失真数据;所述第三段失真数据包含所述失真数据的第一个数据点;所述第四段失真数据包含所述失真数据的最后一个数据点;获取第五函数关系;所述第五函数关系为所述失真数据前的s个未失真数据的幅度和时间的函数关系;所述s等于所述n;在所述第三段失真数据的第一个数据点和最后一个数据点之间构建满足所述第五函数关系的第九拟合数据;获取第六函数关系;所述第六函数关系为所述失真数据前的t个未失真数据的幅度和时间的函数关系;所述t等于所述n;在所述第四段失真数据的第一个数据点和最后一个数据点之间构建满足所述第六函数关系的第十拟合数据;若第一数据点与第二数据点的幅度差的绝对值小于第二阈值,在所述第九拟合数据的第一个数据点和最后一个数据点之间构建满足所述第五函数关系的第十一拟合数据;所述第一数据点为所述第九拟合数据的最后一个数据点;所述第二数据点为所述第十拟合数据的第一个数据点;在所述第十拟合数据的第一个数据点和最后一个数据点之间构建满足所述第六函数关系的第十二拟合数据;分别用所述第十一拟合数据替换和所述第十二拟合数据替换所述第三段失真数据和所述第四段失真数据,得到所述校正后的音频数据。
在又一种可能实现的方式中,所述对所述待校正数据进行曲线拟合,得到校正后的音频数据,还包括:若所述绝对值大于或等于所述第二阈值,计算所述第一数据点的幅度和所述第二数据点的幅度的平均值;用所述平均值替换所述第一数据点和所述第二数据点的幅度,得到第五段失真数据和第六段失真数据;所述第五段失真数据包含所述失真数据的第一个数据点;所述第六段失真数据包含所述失真数据的最后一个数据点;在所述第五段失真数据的第一个数据点和最后一个数据点之间构建满足所述第五函数关系的第十三拟合数据;在所述第六段失真数据的第一个数据点和最后一个数据点之间构建满足所述第六函数关系的第十四拟合数据;分别用所述第十三拟合数据和所述第十四拟合数据替换所述第三段失真数据和所述第四段失真数据,得到所述校正后的音频数据。
第二方面,提供了一种拟合失真音频数据的装置,包括:分帧单元,用于对第一音频数据进行分帧,得到第二音频数据;获取单元,用于获取所述第二音频数据的幅度达到所述第一音频数据的最大幅度的累计时间;确定单元,用于在所述累计时间大于或等于第一阈值的情况下,确定所述第二音频数据为待校正数据;校正单元,用于对所述待校正数据进行曲线拟合,得到校正后的音频数据。
在一种可能的实现方式中,所述确定单元,包括:第一获取子单元,用于获取所述第二音频数据中的数据点,所述数据点包含时间和幅度的信息;选取子单元,用于选取所述第二音频数据的数据点中幅度达到所述第一音频数据的最大幅度的数据点;累计子单元,用于累计所述选取的数据点的播放时间,得到所述累计时间。
在另一种可能的实现方式中,所述校正单元,包括:确定子单元,用于确定所述待校正数据中的失真数据的起始时间、所述失真数据的结束时间与所述待校正数据的起始时间、所述待校正数据的结束时间、所述第一音频数据的起始时间、所述第一音频数据的结束时间是否相同;所述失真数据为包含至少m个连续失真数据点的一段数据;所述m为大于1的正整数;所述失真数据点的幅度为所述第一音频数据的最大幅度;第二获取子单元,用于若所述失真数据的结束时间与所述待校正数据的结束时间相同,且所述失真数据的结束时间与所述第一音频数据的结束时间相同,获取第一函数关系;所述第一函数关系为所述失真数据前的n个未失真数据的幅度和时间的函数关系;所述n为正整数;构建子单元,用于在所述失真数据的第一个数据点和最后一个数据点之间构建满足所述第一函数关系的第一拟合数据;所述构建子单元,还用于在所述失真数据的第一个数据点和所述第一拟合数据中幅度最大的数据点之间构建满足所述第一函数关系的第二拟合数据;第一替换子单元,用于用所述第二拟合数据替换所述失真数据,得到所述校正后的音频数据。
在又一种可能的实现方式中,所述校正单元还包括:所述第二获取子单元,还用于若所述失真数据的起始时间与所述待校正数据的起始时间相同,且所述失真数据的起始时间与所述第一音频数据的起始时间相同,获取第二函数关系;所述第二函数关系为所述失真数据后的p个未失真数据的幅度和时间的函数关系;所述p等于所述n;所述构建子单元,还用于在所述失真数据的第一个数据点和最后一个数据点之间构建满足所述第二函数关系的第三拟合数据;所述构建子单元,还用于在所述失真数据的最后一个数据点和所述第三拟合数据中幅度最大的数据点之间构建满足所述第二函数关系的第四拟合数据;所述第一替换子单元,还用于用所述第四拟合数据替换所述失真数据,得到所述校正后的音频数据。
在又一种可能的实现方式中,所述校正单元还包括:判断子单元,否则用于判断所述失真数据中数据点的数量是奇数或偶数;第一分段子单元,用于若所述失真数据中数据点的数量为奇数,将所述失真数据分成两段,得到第一段失真数据和第二段失真数据;所述第一段失真数据包含所述失真数据的第一个数据点和所述失真数据正中间的数据点之间的数据;所述第二段失真数据包含所述失真数据正中间的数据点和所述失真数据的最后一个数据点之间的数据;所述第二获取子单元,还用于获取第三函数关系;所述第三函数关系为所述失真数据前的q个未失真数据的幅度和时间的函数关系;所述q等于所述n;所述构建子单元,还用于在所述第一段失真数据的第一个数据点和最后一个数据点之间构建满足所述第三函数关系的第五拟合数据;所述构建子单元,还用于在所述第一段失真数据的第一个数据点和所述第五拟合数据中幅度最大的数据点之间构建满足所述第三函数关系的第六拟合数据;所述第二获取子单元,还用于获取第四函数关系;所述第四函数关系为所述失真数据后的r个未失真数据的幅度和时间的函数关系;所述r等于所述n;所述构建子单元,还用于在所述第二段失真数据的第一个数据点和最后一个数据点之间构建满足所述第四函数关系的第七拟合数据;所述构建子单元,还用于在所述第二段失真数据的最后一个数据点和所述第七拟合数据中幅度最大的数据点之间构建满足所述第四函数关系的第八拟合数据;所述第一替换子单元,还用于分别用所述第六拟合数据替换和所述第八拟合数据替换所述第一段失真数据和所述第二段失真数据,得到所述校正后的音频数据。
在又一种可能的实现方式中,所述校正单元还包括:第二分段子单元,用于若所述失真数据中的数据点的数量为偶数,将所述失真数据按数据点的数量均分成第三段失真数据和第四段失真数据;所述第三段失真数据包含所述失真数据的第一个数据点;所述第四段失真数据包含所述失真数据的最后一个数据点;所述第二获取子单元,还用于获取第五函数关系;所述第五函数关系为所述失真数据前的s个未失真数据的幅度和时间的函数关系;所述s等于所述n;所述构建子单元,还用于在所述第三段失真数据的第一个数据点和最后一个数据点之间构建满足所述第五函数关系的第九拟合数据;所述第二获取子单元,还用于获取第六函数关系;所述第六函数关系为所述失真数据前的t个未失真数据的幅度和时间的函数关系;所述t等于所述n;所述构建子单元,还用于在所述第四段失真数据的第一个数据点和最后一个数据点之间构建满足所述第六函数关系的第十拟合数据;所述构建子单元,还用于若第一数据点与第二数据点的幅度差的绝对值小于第二阈值,在所述第九拟合数据的第一个数据点和最后一个数据点之间构建满足所述第五函数关系的第十一拟合数据;所述第一数据点为所述第九拟合数据的最后一个数据点;所述第二数据点为所述第十拟合数据的第一个数据点;所述构建子单元,还用于在所述第十拟合数据的第一个数据点和最后一个数据点之间构建满足所述第六函数关系的第十二拟合数据;所述第一替换子单元,还用于分别用所述第十一拟合数据替换和所述第十二拟合数据替换所述第三段失真数据和所述第四段失真数据,得到所述校正后的音频数据。
在又一种可能实现的方式中,所述校正单元还包括:计算子单元,用于若所述绝对值大于或等于所述第二阈值,计算所述第一数据点的幅度和所述第二数据点的幅度的平均值;第二替换子单元,用于用所述平均值替换所述第一数据点和所述第二数据点的幅度,得到第五段失真数据和第六段失真数据;所述第五段失真数据包含所述失真数据的第一个数据点;所述第六段失真数据包含所述失真数据的最后一个数据点;所述构建子单元,还用于在所述第五段失真数据的第一个数据点和最后一个数据点之间构建满足所述第五函数关系的第十三拟合数据;所述第十构建子单元,还用于在所述第六段失真数据的第一个数据点和最后一个数据点之间构建满足所述第六函数关系的第十四拟合数据;第三替换子单元,用于分别用所述第十三拟合数据和所述第十四拟合数据替换所述第三段失真数据和所述第四段失真数据,得到所述校正后的音频数据。
第三方面,提供了一种拟合失真音频数据的装置,包括:包括处理器、存储器;所述处理器被配置为支持所述装置执行上述第一方面及其任一种可能的实现方式的方法中相应的功能。存储器用于与处理器耦合,其保存所述装置必要的程序(指令)和数据。可选的,所述装置还可以包括输入/输出接口,用于支持所述装置与其他装置之间的通信。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面及其任一种可能的实现方式的方法。
第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面及其任一种可能的实现方式的方法。
本申请通过对不同位置的失真数据采用不同形式的曲线拟合,可使拟合后的数据更平滑,效果更逼真,同时可高效、准确、实时地实现对任意第一音频数据中削波失真数据的校正。
附图说明
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
图1为本申请实施例提供的一种拟合失真音频数据的方法的流程示意图;
图2为本申请实施例提供的一种削波失真音频数据的示意图;
图3为本申请实施例提供的另一种拟合失真音频数据的方法的流程示意图;
图4为本申请实施例提供的另一种削波失真数据的示意图;
图5为本申请实施例提供的一种拟合失真音频数据的装置的结构示意图;
图6为本申请实施例提供的一种拟合失真音频数据的装置的硬件结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获取的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
下面结合本申请实施例中的附图对本申请实施例进行描述。
请参阅图1,图1是本申请实施例提供的一种拟合失真音频数据的方法的流程示意图。
101、对第一音频数据进行分帧,得到第二音频数据。
本申请实施例所拟合的对象是包含有削波失真的音频,即上述第一音频数据。该音频数据可以存储在终端(如:MP3、手机、电脑、平板电脑等)本地,即用户可直接从本地获取。该音频数据也可以存储于服务器上,用户可通过终端从服务器下载获取。
由于获取的第一音频数据较大,为了便于后续的处理,需要先将第一音频数据进行分帧处理,得到若干帧第二音频数据。
102、获取所述第二音频数据的幅度达到所述第一音频数据的最大幅度的累计时间。
上述获取的第一音频数据包含有幅度信息。幅度就是震动的能量,也就是声音的响度,幅度越大能量越大,播放时就越响。自录制音频时,当音频的幅度过大,超出录制音频的电路的允许范围时,超过幅度峰值的部分就会被削掉。通过确定每一帧第二音频数据中幅度达到最大幅度(即第一音频数据的最大幅度)的累计时间,即可确定每一帧第二音频数据中削波失真数据的累计时间。
103、在所述累计时间大于或等于第一阈值的情况下,确定所述第二音频数据为待校正数据。
当削波失真持续一定时间时,在播放时会给人一种声嘶力竭,破音之类的听觉感受,显然,这会给用户带来非常不好的听歌体验。因此,通过每一帧音频数据中削波失真的累计时间即可判断该帧音频数据是否需要校正。具体地,当累计时间大于或等于第一阈值时,确定该帧第二音频数据为待校正数据。
104、对所述待校正数据进行曲线拟合,得到校正后的音频数据。
第二音频数据本质是声波,也就有相应的波形,即幅度和时间的函数关系,而当音频数据中存在产生削波失真时,削波失真处将无正常波形,而是一条平直的直线,具体可参见图2,图中A为音频数据S1的最大幅度,其中a是一段削波失真数据。
曲线拟合是通过连续曲线近似地刻画或比拟平面上离散点组所表示的坐标之间的函数关系的一种数据处理方法。也就是说,通过失真数据中的未失真数据(即除削波失真数据之外的所有数据)对第二音频数据中的削波失真数据进行曲线拟合,可校正削波失真数据处的波形。在完成所有削波失真数据的校正后,即可得到校正后的音频数据。
本申请实施例通过将第二音频数据中的削波失真数据的累计时间与第一阈值进行比较,可确定该帧第二音频数据是否为待校正数据,再通过对待校正数据中的削波失真数据进行曲线拟合,可自动、准确的修复失真数据中的削波失真数据,完成对第一音频数据的校正。
请参阅图3,图3是本申请实施例提供的另一种拟合失真音频数据的方法的流程示意图。
301、对第一音频数据进行分帧,得到第二音频数据。
音频的录制需要通过相应的硬件实现,由于硬件中每个电路和音响单元对输入的音频信号的幅度有限制,若输入的音频信号的幅度过大,超过电路的最大允许范围,该音频信号就不能顺利通过,其超过最大允许范围的波形将被削掉,导致削波失真。
如一辆汽车功放的电源电压是12V,功放的放大倍数是30,一个最大信号为0.5V输入到功放,功放的输出应该是这个信号的30倍(15V)输出给喇叭,但是在实际应用中,由于电源的最大电压是12V,15V的信号不会产生,因此,该输入信号的最顶端和最底端(超过12V的信号)将会产生失真,这种称之为削波失真。
本申请实施例所拟合的对象是包含有削波失真的音频,即上述第一音频数据。该音频数据可以存储在终端(如:MP3、手机、电脑、平板电脑等)本地,即用户可直接从本地获取。该音频数据也可以存储于服务器上,用户可通过终端从服务器下载获取。
由于获取的第一音频数据较大,若直接对整段音频数据进行分析处理,其计算量较大,且处理效果不好。音频数据具有时变特性,但是在一个短时间范围内(一般认为在10~30毫秒内),其特性基本保持不变即相对稳定,因而可以将其看作是一个准稳态过程,即第一音频数据具有短时平稳性。所以通过将第一音频数据分段来分析其特征参数,可保证后续对第一音频数据的处理更均匀,处理得到的结果更平滑,提高处理质量,其中,每一段称为一“帧”,帧长一般由第一音频数据的采样频率决定,可选地,每一帧的时长为10~25毫秒。这样,在对第一音频数据进行分帧后,即可得到若干帧第二音频数据。
302、获取所述第二音频数据中的数据点,所述数据点包含时间和幅度的信息。
音频数据本质是声波,声波由多个数据点组成,因此,可获取第二音频数据中每个数据点的时间和幅度的信息。将所有数据点按音频数据的播放时间顺序依次串联起来,即可得到声波,即幅度和时间的函数关系。需要理解的是,此处本申请实施例中的数据点可以理解为音频数据的采样点。
303、选取所述第二音频数据的数据点中幅度达到所述第一音频数据的最大幅度的数据点。
上述获取的第一音频数据包含有幅度信息。幅度就是震动的能量,也就是声音的响度,幅度越大能量越大,播放时就越响。自录制音频时,当音频的幅度过大,超出录制音频的电路的允许范围时,超过幅度峰值的部分就会被削掉。当削波失真持续一定时间时,在播放时会给人一种声嘶力竭,破音之类的听觉感受,显然,这会给用户带来非常不好的听歌体验。为此,需要确定音频数据中的削波失真数据,并通过相应的处理将其校正,消除破音。
如上所述,削波失真处的数据点的幅度是第一音频数据的最大幅度,因此,首先将每一帧第二音频数据中所有幅度达到最大幅度的数据点选取出来,确定每一帧第二音频数据中的削波失真数据,再分别累计每一帧第二音频数据中选取数据点的播放时间,即可确定每一帧第二音频数据中削波失真数据的累计时间。
304、在所述累计时间大于或等于第一阈值的情况下,确定所述第二音频数据为待校正数据。
由于当削波失真数据的持续时间达到一定数值时,才会产生破音,因此,通过将第二音频数据中削波失真数据的累计时间与第一阈值作比较,即可确定在播放该帧第二音频数据时是否会产生破音,也就是该帧第二音频数据是否为待校正数据。具体地,在第二音频数据中削波失真数据的累计时间大于或等于第一阈值时,在播放该帧时第二音频数据会产生破音,则将该帧第二音频数据视为待校正数据。若第二音频数据中削波失真数据的累计时间小于第一阈值,则在播放该帧时第二音频数据不会产生破音,不需要校正。
305、确定所述待校正数据中的失真数据的起始时间、所述失真数据的结束时间与所述待校正数据的起始时间、所述待校正数据的结束时间、所述第一音频数据的起始时间、所述第一音频数据的结束时间是否相同。
待校正数据本质是声波,也就有相应的波形,即幅度和时间的函数关系,而当音频数据中存在产生削波失真时,削波失真处将无正常波形,而是一条平直的直线。
曲线拟合是通过连续曲线近似地刻画或比拟平面上离散点组所表示的坐标之间的函数关系的一种数据处理方法。也就是说,通过待校正数据中的未失真数据(即除削波失真数据之外的所有数据)对第二音频数据中的削波失真数据进行曲线拟合,可校正削波失真数据处的波形,即完成对待校正数据的校正。在完成所有待校正中削波失真数据的校正后,即可得到校正后的音频数据。一般情况会选择削波失真数据前的未失真数据和削波失真数据后的未失真数据对削波失真数据进行校正。若削波失真数据处于第一音频数据的起始时段,削波失真数据前面就没有任何音频数据,自然也就无法从前面选取未失真数据进行拟合,同理,若削波失真数据处于第一音频数据的结束时段,就无法从后面选取未失真数据进行拟合。因此,对于这两种处于边界状态的削波失真数据的校正与其他削波失真数据的拟合方式不同。
由于正常音频数据中同时存在达到最大幅度的数据点,但这些数据点并不是削波失真数据点,显然,这些达到最大幅度的数据点是不需要校正的,但未失真的数据一般不会在最大幅度处持续较长时间。若将一帧音频数据分成若干段,可以通过连续数据点(幅度为最大幅度)的数量来判断具体某一段音频数据是否为失真数据。首先定义达到最大幅度的数据点为失真数据点,若某段音频数据包含至少m个连续失真数据点,则该将该段音频数据视为失真数据,而少于m个连续失真数据点的一段音频数据将被视为未失真数据,其中,m为大于1的正整数。
若失真数据的起始时间与第二音频数据的起始时间相同,则判断该帧第二音频数据的起始时间与第一音频数据的起始时间是否相同,如果两者相同,说明该段失真数据处于第一音频数据的起始处,则转至206;若失真数据的结束时间与第二音频数据的结束时间相同,则判断该帧第二音频数据的结束时间与第一音频数据的结束时间是否相同,如果两者相同,说明该段失真数据处于第一音频数据的结束处,则转至207;若失真数据的起始时间、失真数据的结束时间、第一音频数据的起始时间、第一音频数据的结束时间、第二音频数据的起始时间、第二音频数据的结束时间不满足前面任意一种情况,说明该段失真数据并不在第一音频数据的起始处或结束处,则转至208。
306、若所述失真数据的结束时间与所述待校正数据的结束时间相同,且所述失真数据的结束时间与所述第一音频数据的结束时间相同,获取第一函数关系。
曲线拟合是指用已知的连续曲线近似地刻画或比拟平面上一组离散点所表示的坐标之间的函数关系,是一种用解析表达式逼近离散数据的方法,其本质就是用已知数据去估计未知数据或离散数据。本申请实施例中,通过未失真数据组成的连续曲线去估计出失真数据处的数据,实现对失真数据的拟合。
若失真数据的结束时间与待校正数据的结束时间相同,且失真数据的结束时间与第一音频数据的结束时间相同,此时,失真数据的后面没有数据点,只能从失真数据的前面选取未失真数据点对其进行拟合。如图2所示,图中A为音频数据S1的最大幅度,其中a是一段削波失真数据,且a处于音频数据S1的结束处,因此,在这种情况下,需要对失真数据前面的未失真数据对其进行曲线拟合,以得到校正后的音频数据,具体实现过程如下:
首先,选取失真数据前的n个未失真数据点,并根据这n个未失真数据的幅度和时间的函数关系,确定第一函数关系,其中,n为大于1的正整数。然后在失真数据的第一个数据点和最后一个数据点之间构建满足第一函数关系的数据曲线,显然,这条数据曲线也是音频数据,将其定义为第一拟合数据。在失真数据的第一个数据点和第一拟合数据中幅度最大的数据点之间构建满足第一函数关系的数据曲线,得到第二拟合数据,最后用第二拟合数据替换失真数据,即可完成对失真数据的校正,得到校正后的音频数据。
需要理解的是,由于失真数据被削波之前的幅度大于第一音频数据的最大幅度,第一拟合数据和第二拟合数据中的幅度可能大于第一音频数据的最大幅度。
307、若所述失真数据的起始时间与所述待校正数据的起始时间相同,且所述失真数据的起始时间与所述第一音频数据的起始时间相同,获取第二函数关系。
若失真数据的起始时间与待校正数据的起始时间相同,且失真数据的起始时间与第一音频数据的起始时间相同,此时,失真数据的前面没有数据点,只能从失真数据的后面选取未失真数据点对其进行拟合。如图4所示,图中A为音频数据S2的最大幅度,其中b是一段削波失真数据,且b处于音频数据S2的起始处,因此,在这种情况下,需要对失真数据后面的未失真数据对其进行曲线拟合,以得到校正后的音频数据,具体实现过程如下:
首先,选取失真数据后的p个未失真数据点,并根据这p个未失真数据的幅度和时间的函数关系,确定第二函数关系,其中,p和n相等。然后在失真数据的第一个数据点和最后一个数据点之间构建满足第二函数关系的数据曲线,显然,这条数据曲线也是音频数据,将其定义为第三拟合数据。在失真数据的最后一个数据点和第三拟合数据中幅度最大的数据点之间构建满足第二函数关系的数据曲线,得到第四拟合数据,最后用第四拟合数据替换失真数据,即可完成对失真数据的校正,得到校正后的音频数据。
需要理解的是,由于失真数据被削波之前的幅度大于第一音频数据的最大幅度,第三拟合数据和第四拟合数据中的幅度可能大于第一音频数据的最大幅度。
308、判断所述失真数据的数据点的数量是奇数或偶数。
若失真数据的起始时间、失真数据的结束时间、第一音频数据的起始时间、第一音频数据的结束时间、待校正数据的起始时间、待校正数据的结束时间不满足前面任意一种情况,说明该段失真数据并不在第一音频数据的起始处或结束处,也就是说,该失真数据的前面和后面都有数据点,这样,就可分别从失真数据的前面和后面选取未失真数据点对其进行拟合。首先,获取失真数据中数据点的数量,并判断数据点的数量是奇数还是偶数,以便根据不同的判断结果选择不同的拟合方式,使拟合后的数据更平滑、真实。
309、若所述失真数据中数据点的数量为奇数,将所述失真数据分成两段,得到第一段失真数据和第二段失真数据。
当失真数据的数据点的数量为奇数时,将该段失真数据从中间分为两段,具体地,首先确定这段失真数据中正中间的那个数据点,定义为中间点,将包含中间点及中间点之前的数据点取为第一段失真数据,再将包含中间点及中间点之后的数据点取为第二段失真数据。
选取第一段失真数据后的q个未失真数据点,并根据这q个未失真数据的幅度和时间的函数关系,确定第三函数关系,其中,q和n相等。在第一段失真数据的第一个数据点和最后一个数据点之间构建满足第三函数关系的数据曲线,显然,这条数据曲线也是音频数据,将其定义为第五拟合数据。在失真数据的第一个数据点和第五拟合数据中幅度最大的数据点之间构建满足第三函数关系的数据曲线,得到第六拟合数据。选取第二段失真数据后的r个未失真数据点,并根据这r个未失真数据的幅度和时间的函数关系,确定第四函数关系,其中,r和n相等。在第二段失真数据的第一个数据点和最后一个数据点之间构建满足第四函数关系的数据曲线,得到第七拟合数据。在第二段失真数据的最后一个数据点和第七拟合数据中幅度最大的数据点之间构建满足第四函数关系的数据曲线,得到第八拟合数据,最后用第六拟合数据替换第一段失真数据,用第八拟合数据替换第二段失真数据,即可完成对失真数据的校正,得到校正后的音频数据。
310、若所述失真数据中的数据点的数量为偶数,将所述失真数据按数据点的数量均分成第三段失真数据和第四段失真数据。
当失真数据的数据点的数量为偶数时,将该段失真数据按数据点的数量从中间分为两段,具体地,设该段失真数据包含2c个数据点,其中c为大于或等于1的正整数,则将该段失真数据的前面c个数据点取为第三段失真数据,再将该段失真数据的后面c个数据点取为第四段失真数据。
选取第三段失真数据前的s个未失真数据点,并根据这s个未失真数据的幅度和时间的函数关系,确定第五函数关系,其中,s和n相等。在第三段失真数据的第一个数据点和最后一个数据点之间构建满足第五函数关系的数据曲线,得到第九拟合数据。选取第四段失真数据后的t个未失真数据点,并根据这t个未失真数据的幅度和时间的函数关系,确定第六函数关系,其中,t和n相等。在第四段失真数据的第一个数据点和最后一个数据点之间构建满足第六函数关系的数据曲线,得到第十拟合数据。
选取出第九拟合数据的最后一个数据点,定义为第一数据点,再选取出第十拟合数据的第一个数据点,定义为第二数据点。计算第一数据点的幅度和第二数据点的幅度的差值,并取绝对值。
311、若第一数据点与第二数据点的幅度差的绝对值小于第二阈值,在所述第九拟合数据的第一个数据点和最后一个数据点之间构建满足所述第五函数关系的数据曲线,得到第十一拟合数据。
若第一数据点与第二数据点的幅度差的绝对值小于第二阈值,说明第一数据点和第二数据点之间的幅度相差不大,这样,在分别对第三段失真数据和第四段失真数据校正后,两段数据之间的连接会更平滑,校正后的音频的播放效果也更自然。在第九拟合数据的第一个数据点和最后一个数据点之间构建满足第五函数关系的数据曲线,得到第十一拟合数据,在第十拟合数据的第一个数据点和最后一个数据点之间构建满足第六函数关系的数据曲线,得到第十二拟合数据。最后用第十一拟合数据替换第三段失真数据,用第十二拟合数据替换第四段失真数据,即可完成对失真数据的校正,得到校正后的音频数据。
312、若所述绝对值大于或等于所述第二阈值,计算所述第一数据点的幅度和所述第二数据点的幅度的平均值。
若上述绝对值大于或等于第二阈值,说明第一数据点和第二数据点之间的幅度相差较大,如果直接对第九拟合数据和第十拟合数据再次进行拟合,并用拟合后得到的数据替换第三段失真数据和第四段失真数据,替换后的两段数据的衔接处会比较突兀,不平滑,播放时的效果不自然。因此,首先计算第一数据点的幅度和第二数据点的幅度的平均值,再用平均值替换所述第一数据点和所述第二数据点的幅度,得到第五段失真数据和第六段失真数据,这样可使两段数据的衔接处更平滑。在第五段失真数据的第一个数据点和最后一个数据点之间构建满足第五函数关系的数据曲线,得到第十三拟合数据,在第六段失真数据的第一个数据点和最后一个数据点之间构建满足第六函数关系的数据曲线,得到第十四拟合数据。最后用第十三拟合数据替换第三段失真数据,用第十四拟合数据替换第四段失真数据,即可完成对失真数据的校正,得到校正后的音频数据。
通过本申请实施例,可对任意包含削波失真数据的音频进行曲线拟合,完成对音频数据的校正,尤其是对正在播放的音频,通过本申请可实时对音频数据进行校正,这样可在避免在播放该音频时产生爆破音。如:当用户通过智能终端从本地或网络服务器中获取一个音频数据,而基于削波失真检测算法的检测结果,该音频数据包含削波失真数据,需要对其进行校正。此时,可通过本申请的提供的方案对其中的失真数据进行拟合,已完成对该音频数据的校正。需要理解的是,上述校正过程是在获取该段音频数据之后,并在播放该段音频数据之前完成的,也就是说,在播放该段音频数据时,该段音频数据已被校正,这样,在播放时就不会产生爆破音,提高了用户体验。
本申请实施例通过对不同位置的失真数据采用不同形式的拟合,可使拟合后的数据更平滑,效果更逼真,同时可高效、准确、实时地实现对任意第一音频数据中削波失真数据的校正。
上述详细阐述了本申请实施例的方法,下面提供了本申请实施例的装置。
请参阅图5,图5为本申请实施例提供的一种拟合失真音频数据的装置的结构示意图,该装置1包括:分帧单元11、获取单元12、确定单元13及校正单元14。其中:
分帧单元11,用于对第一音频数据进行分帧,得到第二音频数据;
获取单元12,用于获取所述第二音频数据的幅度达到所述第一音频数据的最大幅度的累计时间;
确定单元13,用于在所述累计时间大于或等于第一阈值的情况下,确定所述第二音频数据为待校正数据;
校正单元14,用于对所述待校正数据进行曲线拟合,得到校正后的音频数据。
进一步地,所述确定单元13,包括:第一获取子单元131,用于获取所述第二音频数据中的数据点,所述数据点包含时间和幅度的信息;选取子单元132,用于选取所述第二音频数据的数据点中幅度达到所述第一音频数据的最大幅度的数据点;累计子单元133,用于累计所述选取的数据点的播放时间,得到所述累计时间。
进一步地,所述校正单元14,包括:确定子单元141,用于确定所述待校正数据中的失真数据的起始时间、所述失真数据的结束时间与所述待校正数据的起始时间、所述待校正数据的结束时间、所述第一音频数据的起始时间、所述第一音频数据的结束时间是否相同;所述失真数据为包含至少m个连续失真数据点的一段数据;所述m为大于1的正整数;所述失真数据点的幅度为所述第一音频数据的最大幅度;第二获取子单元142,用于若所述失真数据的结束时间与所述待校正数据的结束时间相同,且所述失真数据的结束时间与所述第一音频数据的结束时间相同,获取第一函数关系;所述第一函数关系为所述失真数据前的n个未失真数据的幅度和时间的函数关系;所述n为正整数;构建子单元143,用于在所述失真数据的第一个数据点和最后一个数据点之间构建满足所述第一函数关系的第一拟合数据;所述构建子单元143,还用于在所述失真数据的第一个数据点和所述第一拟合数据中幅度最大的数据点之间构建满足所述第一函数关系的第二拟合数据;第一替换子单元144,用于用所述第二拟合数据替换所述失真数据,得到所述校正后的音频数据。
进一步地,所述校正单元14还包括:所述第二获取子单元142,还用于若所述失真数据的起始时间与所述待校正数据的起始时间相同,且所述失真数据的起始时间与所述第一音频数据的起始时间相同,获取第二函数关系;所述第二函数关系为所述失真数据后的p个未失真数据的幅度和时间的函数关系;所述p等于所述n;所述构建子单元143,还用于在所述失真数据的第一个数据点和最后一个数据点之间构建满足所述第二函数关系的第三拟合数据;所述构建子单元143,还用于在所述失真数据的最后一个数据点和所述第三拟合数据中幅度最大的数据点之间构建满足所述第二函数关系的第四拟合数据;所述第一替换子单元144,还用于用所述第四拟合数据替换所述失真数据,得到所述校正后的音频数据。
进一步地,所述校正单元14还包括:判断子单元145,否则用于判断所述失真数据中数据点的数量是奇数或偶数;第一分段子单元146,用于若所述失真数据中数据点的数量为奇数,将所述失真数据分成两段,得到第一段失真数据和第二段失真数据;所述第一段失真数据包含所述失真数据的第一个数据点和所述失真数据正中间的数据点之间的数据;所述第二段失真数据包含所述失真数据正中间的数据点和所述失真数据的最后一个数据点之间的数据;所述第二获取子单元142,还用于获取第三函数关系;所述第三函数关系为所述失真数据前的q个未失真数据的幅度和时间的函数关系;所述q等于所述n;所述构建子单元143,还用于在所述第一段失真数据的第一个数据点和最后一个数据点之间构建满足所述第三函数关系的第五拟合数据;所述构建子单元143,还用于在所述第一段失真数据的第一个数据点和所述第五拟合数据中幅度最大的数据点之间构建满足所述第三函数关系的第六拟合数据;所述第二获取子单元142,还用于获取第四函数关系;所述第四函数关系为所述失真数据后的r个未失真数据的幅度和时间的函数关系;所述r等于所述n;所述构建子单元143,还用于在所述第二段失真数据的第一个数据点和最后一个数据点之间构建满足所述第四函数关系的第七拟合数据;所述构建子单元143,还用于在所述第二段失真数据的最后一个数据点和所述第七拟合数据中幅度最大的数据点之间构建满足所述第四函数关系的第八拟合数据;所述第一替换子单元144,还用于分别用所述第六拟合数据替换和所述第八拟合数据替换所述第一段失真数据和所述第二段失真数据,得到所述校正后的音频数据。
进一步地,所述校正单元14还包括:第二分段子单元147,用于若所述失真数据中的数据点的数量为偶数,将所述失真数据按数据点的数量均分成第三段失真数据和第四段失真数据;所述第三段失真数据包含所述失真数据的第一个数据点;所述第四段失真数据包含所述失真数据的最后一个数据点;所述第二获取子单元142,还用于获取第五函数关系;所述第五函数关系为所述失真数据前的s个未失真数据的幅度和时间的函数关系;所述s等于所述n;所述构建子单元143,还用于在所述第三段失真数据的第一个数据点和最后一个数据点之间构建满足所述第五函数关系的第九拟合数据;所述第二获取子单元142,还用于获取第六函数关系;所述第六函数关系为所述失真数据前的t个未失真数据的幅度和时间的函数关系;所述t等于所述n;所述构建子单元143,还用于在所述第四段失真数据的第一个数据点和最后一个数据点之间构建满足所述第六函数关系的第十拟合数据;所述构建子单元143,还用于若第一数据点与第二数据点的幅度差的绝对值小于第二阈值,在所述第九拟合数据的第一个数据点和最后一个数据点之间构建满足所述第五函数关系的第十一拟合数据;所述第一数据点为所述第九拟合数据的最后一个数据点;所述第二数据点为所述第十拟合数据的第一个数据点;所述构建子单元143,还用于在所述第十拟合数据的第一个数据点和最后一个数据点之间构建满足所述第六函数关系的第十二拟合数据;所述第一替换子单元144,还用于分别用所述第十一拟合数据替换和所述第十二拟合数据替换所述第三段失真数据和所述第四段失真数据,得到所述校正后的音频数据。
进一步地,所述校正单元14还包括:计算子单元148,用于若所述绝对值大于或等于所述第二阈值,计算所述第一数据点的幅度和所述第二数据点的幅度的平均值;第二替换子单元149,用于用所述平均值替换所述第一数据点和所述第二数据点的幅度,得到第五段失真数据和第六段失真数据;所述第五段失真数据包含所述失真数据的第一个数据点;所述第六段失真数据包含所述失真数据的最后一个数据点;所述构建子单元142,还用于在所述第五段失真数据的第一个数据点和最后一个数据点之间构建满足所述第五函数关系的第十三拟合数据;所述第十构建子单元,还用于在所述第六段失真数据的第一个数据点和最后一个数据点之间构建满足所述第六函数关系的第十四拟合数据;第三替换子单元150,用于分别用所述第十三拟合数据和所述第十四拟合数据替换所述第三段失真数据和所述第四段失真数据,得到所述校正后的音频数据。
图6为本申请实施例提供的一种拟合失真音频数据的装置的硬件结构示意图。如图6所示,上述歌词的动态展示装置2可以包括:至少一个处理器21,例如CPU,至少一个网络接口24,用户接口23,存储器25,至少一个通信总线22。其中,通信总线22用于实现这些组件之间的连接通信。其中,用户接口23可以包括显示屏(Display)、键盘(Keyboard),可选用户接口23还可以包括标准的有线接口、无线接口。网络接口24可选的可以包括标准的有线接口、无线接口(如Wi-Fi接口)。存储器25可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatitle memory),例如至少一个磁盘存储器。存储器25可选的还可以是至少一个位于远离前述处理器21的存储装置。如图6所示,作为一种计算机存储介质的存储器25中可以包括操作系统、网络通信模块、用户接口模块以及数据匹配应用程序。在图6所示的拟合失真音频数据的装置2中,用户接口23主要用于为用户提供输入的接口,获取用户输入的数据;而处理器21可以用于调用存储器25中存储的数据匹配应用程序,并具体执行以下操作:
对第一音频数据进行分帧,得到第二音频数据;
获取所述第二音频数据的幅度达到所述第一音频数据的最大幅度的累计时间;
在所述累计时间大于或等于第一阈值的情况下,确定所述第二音频数据为待校正数据;
对所述待校正数据进行曲线拟合,得到校正后的音频数据。
在一个实现方式中,上述处理器21在执行对所述获取所述第二音频数据的幅度达到所述第一音频数据的最大幅度的累计时间,具体执行以下操作:
获取所述第二音频数据中的数据点,所述数据点包含时间和幅度的信息;
选取所述第二音频数据的数据点中幅度达到所述第一音频数据的最大幅度的数据点;
累计所述选取的数据点的播放时间,得到所述累计时间。
在另一个实现方式中,上述处理器21在执行对所述待校正数据进行曲线拟合,得到校正后的音频数据,具体执行以下操作:
确定所述待校正数据中的失真数据的起始时间、所述失真数据的结束时间与所述待校正数据的起始时间、所述待校正数据的结束时间、所述第一音频数据的起始时间、所述第一音频数据的结束时间是否相同;所述失真数据为包含至少m个连续失真数据点的一段数据;所述m为大于1的正整数;所述失真数据点的幅度为所述第一音频数据的最大幅度;
若所述失真数据的结束时间与所述待校正数据的结束时间相同,且所述失真数据的结束时间与所述第一音频数据的结束时间相同,获取第一函数关系;所述第一函数关系为所述失真数据前的n个未失真数据的幅度和时间的函数关系;所述n为正整数;
在所述失真数据的第一个数据点和最后一个数据点之间构建满足所述第一函数关系的第一拟合数据;
在所述失真数据的第一个数据点和所述第一拟合数据中幅度最大的数据点之间构建满足所述第一函数关系的第二拟合数据;
用所述第二拟合数据替换所述失真数据,得到所述校正后的音频数据。
在又一个实现方式中,上述处理器21还用于执行以下操作:
若所述失真数据的起始时间与所述待校正数据的起始时间相同,且所述失真数据的起始时间与所述第一音频数据的起始时间相同,获取第二函数关系;所述第二函数关系为所述失真数据后的p个未失真数据的幅度和时间的函数关系;所述p等于所述n;
在所述失真数据的第一个数据点和最后一个数据点之间构建满足所述第二函数关系的第三拟合数据;
在所述失真数据的最后一个数据点和所述第三拟合数据中幅度最大的数据点之间构建满足所述第二函数关系的第四拟合数据;
用所述第四拟合数据替换所述失真数据,得到所述校正后的音频数据。
在又一个实现方式中,上述处理器21还用于执行以下操作:
否则判断所述失真数据中数据点的数量是奇数或偶数;
若所述失真数据中数据点的数量为奇数,将所述失真数据分成两段,得到第一段失真数据和第二段失真数据;所述第一段失真数据包含所述失真数据的第一个数据点和所述失真数据正中间的数据点之间的数据;所述第二段失真数据包含所述失真数据正中间的数据点和所述失真数据的最后一个数据点之间的数据;
获取第三函数关系;所述第三函数关系为所述失真数据前的q个未失真数据的幅度和时间的函数关系;所述q等于所述n;
在所述第一段失真数据的第一个数据点和最后一个数据点之间构建满足所述第三函数关系的第五拟合数据;
在所述第一段失真数据的第一个数据点和所述第五拟合数据中幅度最大的数据点之间构建满足所述第三函数关系的第六拟合数据;
获取第四函数关系;所述第四函数关系为所述失真数据后的r个未失真数据的幅度和时间的函数关系;所述r等于所述n;
在所述第二段失真数据的第一个数据点和最后一个数据点之间构建满足所述第四函数关系的第七拟合数据;
在所述第二段失真数据的最后一个数据点和所述第七拟合数据中幅度最大的数据点之间构建满足所述第四函数关系的第八拟合数据;
分别用所述第六拟合数据替换和所述第八拟合数据替换所述第一段失真数据和所述第二段失真数据,得到所述校正后的音频数据。
在又一个实现方式中,上述处理器21还用于执行以下操作:
若所述失真数据中的数据点的数量为偶数,将所述失真数据按数据点的数量均分成第三段失真数据和第四段失真数据;所述第三段失真数据包含所述失真数据的第一数据点;所述第四段失真数据包含所述失真数据的最后一个数据点;
获取第五函数关系;所述第五函数关系为所述失真数据前的s个未失真数据的幅度和时间的函数关系;所述s等于所述n;
在所述第三段失真数据的第一个数据点和最后一个数据点之间构建满足所述第五函数关系的第九拟合数据;
获取第六函数关系;所述第六函数关系为所述失真数据前的t个未失真数据的幅度和时间的函数关系;所述t等于所述n;
在所述第四段失真数据的第一个数据点和最后一个数据点之间构建满足所述第六函数关系的第十拟合数据;
若第一数据点与第二数据点的幅度差的绝对值小于第二阈值,在所述第九拟合数据的第一个数据点和最后一个数据点之间构建满足所述第五函数关系的第十一拟合数据;所述第一数据点为所述第九拟合数据的最后一个数据点;所述第二数据点为所述第十拟合数据数据的第一个数据点;
在所述第十拟合数据的第一个数据点和最后一个数据点之间构建满足所述第六函数关系的第十二拟合数据;
分别用所述第十一拟合数据替换和所述第十二拟合数据替换所述第三段失真数据和所述第四段失真数据,得到所述校正后的音频数据。
在又一个实现方式中,上述处理器21还用于执行以下操作:
若所述绝对值大于或等于所述第二阈值,计算所述第一数据点的幅度和所述第二数据点的幅度的平均值;
用所述平均值替换所述第一数据点和所述第二数据点的幅度,得到第五段失真数据和第六段失真数据;所述第五段失真数据包含所述失真数据的第一个数据点;所述第六段失真数据包含所述失真数据的最后一个数据点;
在所述第五段失真数据的第一个数据点和最后一个数据点之间构建满足所述第五函数关系的第十三拟合数据;
在所述第六段失真数据的第一个数据点和最后一个数据点之间构建满足所述第六函数关系的第十四拟合数据;
分别用所述第十三拟合数据和所述第十四拟合数据替换所述第三段失真数据和所述第四段失真数据,得到所述校正后的音频数据。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,该单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。所显示或讨论的相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者通过该计算机可读存储介质进行传输。该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是只读存储器(read-onlymemory,ROM),或随机存储存储器(random access memory,RAM),或磁性介质,例如,软盘、硬盘、磁带、磁碟、或光介质,例如,数字通用光盘(digital versatile disc,DVD)、或者半导体介质,例如,固态硬盘(solid state disk,SSD)等。
Claims (13)
1.一种拟合失真音频数据的方法,其特征在于,包括:
对第一音频数据进行分帧,得到第二音频数据;
获取所述第二音频数据的幅度达到所述第一音频数据的最大幅度的累计时间;
在所述累计时间大于或等于第一阈值的情况下,确定所述第二音频数据为待校正数据;
确定所述待校正数据中的失真数据的起始时间、所述失真数据的结束时间与所述待校正数据的起始时间、所述待校正数据的结束时间、所述第一音频数据的起始时间、所述第一音频数据的结束时间是否相同;所述失真数据为包含至少m个连续失真数据点的一段数据;所述m为大于1的正整数;所述失真数据点的幅度为所述第一音频数据的最大幅度;
若所述失真数据不在所述第一音频数据的起始处,且所述失真数据不在所述第一音频数据的结束处,且当所述失真数据中数据点的数量为奇数,将所述失真数据分成两段,得到第一段失真数据和第二段失真数据;
所述第一段失真数据包含所述失真数据的第一个数据点和所述失真数据正中间的数据点之间的数据;所述第二段失真数据包含所述失真数据正中间的数据点和所述失真数据的最后一个数据点之间的数据;
获取第三函数关系;所述第三函数关系为所述失真数据前的q个未失真数据的幅度和时间的函数关系;所述q等于n;所述n为正整数;
在所述第一段失真数据的第一个数据点和最后一个数据点之间构建满足所述第三函数关系的第五拟合数据;
在所述第一段失真数据的第一个数据点和所述第五拟合数据中幅度最大的数据点之间构建满足所述第三函数关系的第六拟合数据;
获取第四函数关系;所述第四函数关系为所述失真数据后的r个未失真数据的幅度和时间的函数关系;所述r等于所述n;
在所述第二段失真数据的第一个数据点和最后一个数据点之间构建满足所述第四函数关系的第七拟合数据;
在所述第二段失真数据的最后一个数据点和所述第七拟合数据中幅度最大的数据点之间构建满足所述第四函数关系的第八拟合数据;
分别用所述第六拟合数据替换和所述第八拟合数据替换所述第一段失真数据和所述第二段失真数据,得到校正后的音频数据。
2.根据权利要求1所述的方法,其特征在于,所述获取所述第二音频数据的幅度达到所述第一音频数据的最大幅度的累计时间,包括:
获取所述第二音频数据中的数据点,所述数据点包含时间和幅度的信息;
选取所述第二音频数据的数据点中幅度达到所述第一音频数据的最大幅度的数据点;
累计所述选取的数据点的播放时间,得到所述累计时间。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述失真数据的结束时间与所述待校正数据的结束时间相同,且所述失真数据的结束时间与所述第一音频数据的结束时间相同,获取第一函数关系;所述第一函数关系为所述失真数据前的所述n个未失真数据的幅度和时间的函数关系;
在所述失真数据的第一个数据点和最后一个数据点之间构建满足所述第一函数关系的第一拟合数据;
在所述失真数据的第一个数据点和所述第一拟合数据中幅度最大的数据点之间构建满足所述第一函数关系的第二拟合数据;
用所述第二拟合数据替换所述失真数据,得到所述校正后的音频数据。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若所述失真数据的起始时间与所述待校正数据的起始时间相同,且所述失真数据的起始时间与所述第一音频数据的起始时间相同,获取第二函数关系;所述第二函数关系为所述失真数据后的p个未失真数据的幅度和时间的函数关系;所述p等于所述n;
在所述失真数据的第一个数据点和最后一个数据点之间构建满足所述第二函数关系的第三拟合数据;
在所述失真数据的最后一个数据点和所述第三拟合数据中幅度最大的数据点之间构建满足所述第二函数关系的第四拟合数据;
用所述第四拟合数据替换所述失真数据,得到所述校正后的音频数据。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述失真数据中的数据点的数量为偶数,将所述失真数据按数据点的数量均分成第三段失真数据和第四段失真数据;所述第三段失真数据包含所述失真数据的第一个数据点;所述第四段失真数据包含所述失真数据的最后一个数据点;
获取第五函数关系;所述第五函数关系为所述失真数据前的s个未失真数据的幅度和时间的函数关系;所述s等于所述n;
在所述第三段失真数据的第一个数据点和最后一个数据点之间构建满足所述第五函数关系的第九拟合数据;
获取第六函数关系;所述第六函数关系为所述失真数据后的t个未失真数据的幅度和时间的函数关系;所述t等于所述n;
在所述第四段失真数据的第一个数据点和最后一个数据点之间构建满足所述第六函数关系的第十拟合数据;
若第一数据点与第二数据点的幅度差的绝对值小于第二阈值,在所述第九拟合数据的第一个数据点和最后一个数据点之间构建满足所述第五函数关系的第十一拟合数据;所述第一数据点为所述第九拟合数据的最后一个数据点;所述第二数据点为所述第十拟合数据的第一个数据点;
在所述第十拟合数据的第一个数据点和最后一个数据点之间构建满足所述第六函数关系的第十二拟合数据;
分别用所述第十一拟合数据替换和所述第十二拟合数据替换所述第三段失真数据和所述第四段失真数据,得到所述校正后的音频数据。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若所述绝对值大于或等于所述第二阈值,计算所述第一数据点的幅度和所述第二数据点的幅度的平均值;
用所述平均值替换所述第一数据点和所述第二数据点的幅度,得到第五段失真数据和第六段失真数据;所述第五段失真数据包含所述失真数据的第一个数据点;所述第六段失真数据包含所述失真数据的最后一个数据点;
在所述第五段失真数据的第一个数据点和最后一个数据点之间构建满足所述第五函数关系的第十三拟合数据;
在所述第六段失真数据的第一个数据点和最后一个数据点之间构建满足所述第六函数关系的第十四拟合数据;
分别用所述第十三拟合数据和所述第十四拟合数据替换所述第三段失真数据和所述第四段失真数据,得到所述校正后的音频数据。
7.一种拟合失真音频数据的装置,其特征在于,包括:
分帧单元,用于对第一音频数据进行分帧,得到第二音频数据;
获取单元,用于获取所述第二音频数据的幅度达到所述第一音频数据的最大幅度的累计时间;
确定单元,用于在所述累计时间大于或等于第一阈值的情况下,确定所述第二音频数据为待校正数据;
校正单元,所述校正单元包括确定子单元、判断子单元、第一分段子单元、第二获取子单元、构建子单元、第二获取子单元、第一替换子单元;
所述确定子单元,用于确定所述待校正数据中的失真数据的起始时间、所述失真数据的结束时间与所述待校正数据的起始时间、所述待校正数据的结束时间、所述第一音频数据的起始时间、所述第一音频数据的结束时间是否相同;所述失真数据为包含至少m个连续失真数据点的一段数据;所述m为大于1的正整数;所述失真数据点的幅度为所述第一音频数据的最大幅度;
所述第一分段子单元,用于若所述失真数据不在所述第一音频数据的起始处,且所述失真数据不在所述第一音频数据的结束处,且若所述失真数据中数据点的数量为奇数,将所述失真数据分成两段,得到第一段失真数据和第二段失真数据;所述第一段失真数据包含所述失真数据的第一个数据点和所述失真数据正中间的数据点之间的数据;所述第二段失真数据包含所述失真数据正中间的数据点和所述失真数据的最后一个数据点之间的数据;
所述第二获取子单元,还用于获取第三函数关系;所述第三函数关系为所述失真数据前的q个未失真数据的幅度和时间的函数关系;所述q等于n;所述n为正整数;
所述构建子单元,还用于在所述第一段失真数据的第一个数据点和最后一个数据点之间构建满足所述第三函数关系的第五拟合数据;
所述构建子单元,还用于在所述第一段失真数据的第一个数据点和所述第五拟合数据中幅度最大的数据点之间构建满足所述第三函数关系的第六拟合数据;
所述第二获取子单元,还用于获取第四函数关系;所述第四函数关系为所述失真数据后的r个未失真数据的幅度和时间的函数关系;所述r等于所述n;
所述构建子单元,还用于在所述第二段失真数据的第一个数据点和最后一个数据点之间构建满足所述第四函数关系的第七拟合数据;
所述构建子单元,还用于在所述第二段失真数据的最后一个数据点和所述第七拟合数据中幅度最大的数据点之间构建满足所述第四函数关系的第八拟合数据;
所述第一替换子单元,还用于分别用所述第六拟合数据替换和所述第八拟合数据替换所述第一段失真数据和所述第二段失真数据,得到所述校正后的音频数据。
8.根据权利要求7所述的装置,其特征在于,所述确定单元,包括:
第一获取子单元,用于获取所述第二音频数据中的数据点,所述数据点包含时间和幅度的信息;
选取子单元,用于选取所述第二音频数据的数据点中幅度达到所述第一音频数据的最大幅度的数据点;
累计子单元,用于累计所述选取的数据点的播放时间,得到所述累计时间。
9.根据权利要求7所述的装置,其特征在于,
所述第二获取子单元,用于若所述失真数据的结束时间与所述待校正数据的结束时间相同,且所述失真数据的结束时间与所述第一音频数据的结束时间相同,获取第一函数关系;所述第一函数关系为所述失真数据前的所述n个未失真数据的幅度和时间的函数关系;
所述构建子单元,用于在所述失真数据的第一个数据点和最后一个数据点之间构建满足所述第一函数关系的第一拟合数据;
所述构建子单元,还用于在所述失真数据的第一个数据点和所述第一拟合数据中幅度最大的数据点之间构建满足所述第一函数关系的第二拟合数据;
所述第一替换子单元,用于用所述第二拟合数据替换所述失真数据,得到所述校正后的音频数据。
10.根据权利要求9所述的装置,其特征在于,
所述第二获取子单元,还用于若所述失真数据的起始时间与所述待校正数据的起始时间相同,且所述失真数据的起始时间与所述第一音频数据的起始时间相同,获取第二函数关系;所述第二函数关系为所述失真数据后的p个未失真数据的幅度和时间的函数关系;所述p等于所述n;
所述构建子单元,还用于在所述失真数据的第一个数据点和最后一个数据点之间构建满足所述第二函数关系的第三拟合数据;
所述构建子单元,还用于在所述失真数据的最后一个数据点和所述第三拟合数据中幅度最大的数据点之间构建满足所述第二函数关系的第四拟合数据;
所述第一替换子单元,还用于用所述第四拟合数据替换所述失真数据,得到所述校正后的音频数据。
11.根据权利要求7所述的装置,其特征在于,所述校正单元还包括:
第二分段子单元,用于若所述失真数据中的数据点的数量为偶数,将所述失真数据按数据点的数量均分成第三段失真数据和第四段失真数据;所述第三段失真数据包含所述失真数据的第一个数据点;所述第四段失真数据包含所述失真数据的最后一个数据点;
所述第二获取子单元,还用于获取第五函数关系;所述第五函数关系为所述失真数据前的s个未失真数据的幅度和时间的函数关系;所述s等于所述n;
所述构建子单元,还用于在所述第三段失真数据的第一个数据点和最后一个数据点之间构建满足所述第五函数关系的第九拟合数据;
所述第二获取子单元,还用于获取第六函数关系;所述第六函数关系为所述失真数据前的t个未失真数据的幅度和时间的函数关系;所述t等于所述n;
所述构建子单元,还用于在所述第四段失真数据的第一个数据点和最后一个数据点之间构建满足所述第六函数关系的第十拟合数据;
所述构建子单元,还用于若第一数据点与第二数据点的幅度差的绝对值小于第二阈值,在所述第九拟合数据的第一个数据点和最后一个数据点之间构建满足所述第五函数关系的第十一拟合数据;所述第一数据点为所述第九拟合数据的最后一个数据点;所述第二数据点为所述第十拟合数据的第一个数据点;
所述构建子单元,还用于在所述第十拟合数据的第一个数据点和最后一个数据点之间构建满足所述第六函数关系的第十二拟合数据;
所述第一替换子单元,还用于分别用所述第十一拟合数据替换和所述第十二拟合数据替换所述第三段失真数据和所述第四段失真数据,得到所述校正后的音频数据。
12.一种拟合失真音频数据的装置,其特征在于,包括:处理器、存储器;所述处理器被配置为支持所述装置执行如权利要求1至6任意一项所述的方法;所述存储器用于与处理器耦合,所述存储器保存所述装置运行所需的程序和数据。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如权利要求1至6任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910157116.9A CN109903784B (zh) | 2019-03-01 | 2019-03-01 | 一种拟合失真音频数据的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910157116.9A CN109903784B (zh) | 2019-03-01 | 2019-03-01 | 一种拟合失真音频数据的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109903784A CN109903784A (zh) | 2019-06-18 |
CN109903784B true CN109903784B (zh) | 2021-03-26 |
Family
ID=66946138
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910157116.9A Active CN109903784B (zh) | 2019-03-01 | 2019-03-01 | 一种拟合失真音频数据的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109903784B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101605111A (zh) * | 2009-06-25 | 2009-12-16 | 华为技术有限公司 | 一种削波控制的方法和装置 |
US8126578B2 (en) * | 2007-09-26 | 2012-02-28 | University Of Washington | Clipped-waveform repair in acoustic signals using generalized linear prediction |
CN108091352A (zh) * | 2017-12-27 | 2018-05-29 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种音频文件处理方法、装置及存储介质 |
CN109120245A (zh) * | 2017-06-26 | 2019-01-01 | 谷歌有限责任公司 | 基于混合模型的软削波检测 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8908882B2 (en) * | 2009-06-29 | 2014-12-09 | Audience, Inc. | Reparation of corrupted audio signals |
-
2019
- 2019-03-01 CN CN201910157116.9A patent/CN109903784B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8126578B2 (en) * | 2007-09-26 | 2012-02-28 | University Of Washington | Clipped-waveform repair in acoustic signals using generalized linear prediction |
CN101605111A (zh) * | 2009-06-25 | 2009-12-16 | 华为技术有限公司 | 一种削波控制的方法和装置 |
CN109120245A (zh) * | 2017-06-26 | 2019-01-01 | 谷歌有限责任公司 | 基于混合模型的软削波检测 |
CN108091352A (zh) * | 2017-12-27 | 2018-05-29 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种音频文件处理方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109903784A (zh) | 2019-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107393569A (zh) | 音视频剪辑方法及装置 | |
CN104954555A (zh) | 一种音量调节方法及系统 | |
CN106558314B (zh) | 一种混音处理方法和装置及设备 | |
CN110308888B (zh) | 一种音量控制方法、电子设备及计算机可读存储介质 | |
CN109817241B (zh) | 音频处理方法、装置及存储介质 | |
CN110503944B (zh) | 语音唤醒模型的训练和使用方法及装置 | |
CN105159979A (zh) | 好友推荐方法及装置 | |
CN111083289B (zh) | 音频播放方法、装置、存储介质及移动终端 | |
CN110688518A (zh) | 节奏点的确定方法、装置、设备及存储介质 | |
CN111415653B (zh) | 用于识别语音的方法和装置 | |
CN105355197A (zh) | 用于语音识别系统的增益处理方法及装置 | |
US9559658B2 (en) | Filter coefficient group computation device and filter coefficient group computation method | |
EP3159895A1 (en) | Method and apparatus for editing audio files | |
CN107682553B (zh) | 通话信号发送方法、装置、移动终端及存储介质 | |
CN110136735B (zh) | 一种音频修复方法、设备及可读存储介质 | |
CN110086941B (zh) | 语音播放方法、装置及终端设备 | |
CN106601268B (zh) | 一种多媒体数据处理方法及装置 | |
CN109903784B (zh) | 一种拟合失真音频数据的方法及装置 | |
CN104917994A (zh) | 音视频通话系统及方法 | |
CN104506631B (zh) | 一种音频文件缓存方法和设备 | |
CN112017622B (zh) | 一种音频数据的对齐方法、装置、设备和存储介质 | |
CN110400573A (zh) | 一种数据处理的方法及装置 | |
CN105161112A (zh) | 语音识别方法和装置 | |
CN103796145A (zh) | 听觉阈值确定方法、听觉阈值确定装置及助听器 | |
CN109510907B (zh) | 铃音设置方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |