CN111782862B - 音频处理方法、装置及存储介质 - Google Patents
音频处理方法、装置及存储介质 Download PDFInfo
- Publication number
- CN111782862B CN111782862B CN202010590136.8A CN202010590136A CN111782862B CN 111782862 B CN111782862 B CN 111782862B CN 202010590136 A CN202010590136 A CN 202010590136A CN 111782862 B CN111782862 B CN 111782862B
- Authority
- CN
- China
- Prior art keywords
- data
- sub
- data frame
- frame
- frames
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 29
- 239000012634 fragment Substances 0.000 claims abstract description 49
- 238000012545 processing Methods 0.000 claims abstract description 20
- 238000000034 method Methods 0.000 claims description 23
- 230000006870 function Effects 0.000 description 20
- 238000001228 spectrum Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 230000005236 sound signal Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000000354 decomposition reaction Methods 0.000 description 4
- 230000008451 emotion Effects 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- PEDCQBHIVMGVHV-UHFFFAOYSA-N Glycerine Chemical compound OCC(O)CO PEDCQBHIVMGVHV-UHFFFAOYSA-N 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 241001342895 Chorus Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- HAORKNGNJCEJBX-UHFFFAOYSA-N cyprodinil Chemical compound N=1C(C)=CC(C2CC2)=NC=1NC1=CC=CC=C1 HAORKNGNJCEJBX-UHFFFAOYSA-N 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
- G06F16/65—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
- G06F16/63—Querying
- G06F16/632—Query formulation
- G06F16/634—Query by example, e.g. query by humming
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种音频处理方法、装置及存储介质。该方案可以获取目标歌曲的音频数据,并提取所述音频数据中的预设数据片段,以预设帧长将所述预设数据片段划分为多个数据帧,将所述多个数据帧中相匹配的数据帧归类至同一数据帧集合,以得到多个目标数据帧集合,根据所述多个目标数据帧集合,将所述预设数据片段划分为多个子片段。本申请实施例所提供的方案可以将歌曲中数据片段划分为多个数据帧,并归类为多个数据帧集合,然后将数据片段划分为多个子片段,从而划分出歌曲片段中反复咏唱的部分,进一步提升音乐分段的精确性。
Description
技术领域
本发明涉及数据处理技术领域,具体涉及一种音频处理方法、装置及存储介质。
背景技术
歌曲是人们用来表现生活、抒发情感的一种艺术。一首流行音乐可以主要分为主歌,副歌,桥段,插句等主要结构。
在现有的技术当中,对歌曲的结构进行分类通常有两种方法,一是通过Recurrence matrix对歌曲结构进行建模,recurrence matrix通过计算音乐各帧的相关性(根据不同算法有不同定义),将音乐结构展现为一张矩阵。Recurrence matrix能够确定任意帧与其他帧的相似程度,从而展示歌曲的重复模式,但无法明确指出歌曲各部分的分割时间点,也无法指出各段落的类型。二是通过对整首歌曲进行的结构分解通常只能将歌曲按功能分解,划分为主歌、副歌、插句、桥段等功能段落,但不能进一步做更细致的划分。也就是说,现有技术只能将歌曲的主歌副歌等段落划分开,不能对歌曲段落进行更细致的划分。
发明内容
本发明实施例提供一种音频处理方法、装置及存储介质,可以对歌曲片段中反复咏唱的子片段进行划分,进一步提升音乐分段的精确性。
本发明实施例提供一种音频处理方法,包括:
获取目标歌曲的音频数据,并提取所述音频数据中的预设数据片段;
以预设帧长将所述预设数据片段划分为多个数据帧;
将所述多个数据帧中相匹配的数据帧归类至同一数据帧集合,以得到多个目标数据帧集合;
根据所述多个目标数据帧集合,将所述预设数据片段划分为多个子片段。
本发明实施例还提供一种音频处理装置,包括:
确定单元,用于获取目标歌曲的音频数据,并提取所述音频数据中的预设数据片段;
第一划分单元,用于以预设帧长将所述预设数据片段划分为多个数据帧;
匹配单元,用于将所述多个数据帧中相匹配的数据帧归类至同一数据帧集合,以得到多个目标数据帧集合;
第二划分单元,用于根据所述多个目标数据帧集合,将所述预设数据片段划分为多个子片段。
本发明实施例还提供一种存储介质,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本发明实施例所提供的任一音频处理方法。
本发明实施例提供的音频处理方案,可以获取目标歌曲的音频数据,并提取所述音频数据中的预设数据片段,以预设帧长将所述预设数据片段划分为多个数据帧,将所述多个数据帧中相匹配的数据帧归类至同一数据帧集合,以得到多个目标数据帧集合,根据所述多个目标数据帧集合,将所述预设数据片段划分为多个子片段。本申请实施例所提供的方案可以将歌曲中数据片段划分为多个数据帧,并归类为多个数据帧集合,然后将数据片段划分为多个子片段,从而划分出歌曲片段中反复咏唱的部分,进一步提升音乐分段的精确性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的音频处理方法的第一流程示意图;
图1b是本发明实施例提供的一种对多个数据帧进行匹配的示意图;
图1c是本发明实施例提供的音频处理方法的第二流程示意图;
图2a是本发明实施例提供的音频处理装置的第一种结构示意图;
图2b是本发明实施例提供的音频处理装置的第二种结构示意图;
图3是本发明实施例提供的服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本发明实施例提供一种音频处理方法,该音频处理方法的执行主体可以是本发明实施例提供的音频处理装置,或者集成了该音频处理装置的服务器,其中该音频处理装置可以采用硬件或者软件的方式实现。
如图1a所示,图1a是本发明实施例提供的音频处理方法的第一流程示意图,该音频处理方法的具体流程可以如下:
101、确定目标歌曲,获取目标歌曲的音频数据并提取音频数据中的预设数据片段。
在一实施例中,上述目标歌曲可以为用户输入或选取的歌名,然后根据歌名获取对应的音频数据。该音频数据可以存储在终端(如:MP3、手机、电脑、平板电脑等)本地,即用户可直接从本地获取。该音频数据也可以存储于服务器上,用户可通过终端从服务器下载获取。
在实际使用过程中,比如某一歌曲在服务器中存储着多个不同音质的音频数据,其不同音质的歌曲所对应的音频数据的数据量大小也不相同。比如歌名为“ABC”的目标歌曲在服务器中存储着三个音频数据,分别为标准音质、极高音质、无损音质对应的音频数据,其中标准音质对应的音频数据大小为3MB,极高音质对应的音频数据大小为8MB,无损音质对应的音频数据大小为40MB。因此在一实施例中,若目标歌曲包括多个音频数据,可以进一步根据用户选择确定其中的目标音频数据,比如用户选择目标歌曲的无损音质,则可以从服务器下载目标歌曲的无损音质音频数据,大小为40MB。
在获取到上述目标歌曲的音频数据后,进一步提取音频数据中的预设数据片段。需要说明的是,预设数据片段为具有预设歌曲段落结构的音频数据段,例如歌曲结构可以划分为主歌、副歌等段落,从而预设数据片段可以为主歌、副歌等段落所对应的音频数据。
102、以预设帧长将预设数据片段划分为多个数据帧。
首先,本申请实施例是将预设数据片段划分为多个子片段,比如在主歌段落中找到多个反复咏唱的子片段,而这些子片段一般相似性比较高,比如歌曲《东风破》中的主歌部分“一盏离愁孤灯驻立在窗口,我在门后假装你人还没走,旧地如重游月圆更寂寞,夜半清醒的烛火不忍苛责我。一壶漂泊浪迹天涯难入喉,你走之后酒暖回忆思念瘦,水向东流时间怎么偷,花开就一次成熟我却错过”。可以看到,歌曲的主歌部分分为明显的两个子段落,两个子段落有明确的呼应关系,呼应关系表现为对应句的歌词句式、押韵及音乐的旋律均有对应关系。
为了找到上述预设数据片段主歌段落中相似的多个子片段,可以通过提取声音特征来进行分析,声音信号本是一维的时域信号,直观上很难看出频率变化规律。如果通过傅里叶变换把它变到频域上,虽然可以看出信号的频率分布,但是丢失了时域信息,无法看出频率分布随时间的变化。为了解决这个问题,就需要用到时频分析手段,在本实施例中,就可以通过在预设数据片段中查找相似的数据帧的方式,因此可以先将上述预设数据片段划分为多个数据帧。
在一实施例中,可以先设置预设帧长以及预设步长,该帧长不宜过短,可以取值为100ms或200ms,步长可以设置为1/2帧长,然后依据预设帧长以及预设步长对预设数据片段做短时傅里叶变换(STFT,short-time Fourier transform)。具体的,上述短时傅里叶变换就是把一段长信号分帧、加窗,再对每一帧做快速傅里叶变换(FFT,fast Fouriertransform),最后把每一帧的结果沿另一个维度堆叠起来,得到类似于一幅图的二维信号形式。如果原始信号是声音信号也即本实施例中的歌曲,那么通过STFT展开得到的二维信号就是声谱图。通过对预设数据片段做短时傅里叶变换,得到多个数据帧。
103、查找多个数据帧中相匹配的数据帧,并将相匹配的数据帧归类至同一数据帧集合,以得到多个目标数据帧集合。
在一实施例中,可以从首帧开始依次查找每一帧的匹配帧,然后将相匹配的数据帧归类至同一数据帧集合,当对上述多个数据帧遍历完成后,即可得到多个数据帧集合,为了便于描述,该数据帧集合可以称为目标数据帧集合。其中,每个数据帧集合中的帧数相同。
在一实施例中,为了进一步提高数据帧匹配的效率以及准确性,可以根据与前一数据帧相匹配的数据帧的位置,来确定后一数据帧相匹配的数据帧的开始遍历匹配的位置。
举例来说,若假设子片段数量为2,在查找多个数据帧中与第一帧相匹配的数据帧时,可以将除第一帧以外的所有数据帧都查找一遍,若查找到一个相匹配的数据帧,将第一帧和与其匹配的数据帧归类至第一数据帧集合中,也即数据帧集合中的帧数为2。那么为了保证时序,与第i帧匹配的数据帧不能出现在比与i-1帧匹配的数据帧更早的位置,比如在查找与第二帧匹配的数据帧时,可以在与第一帧匹配的数据帧之后来进行查找,从而进一步提升查找的效率以及准确性。
又如,若假设子片段数量为3,在查找多个数据帧中与第一帧相匹配的数据帧时,可以将除第一帧以外的所有数据帧都查找一遍,查找到两个相匹配的数据帧(为了便于区分,可以称为第一帧的第一匹配帧和第一帧的第二匹配帧),此时数据帧集合中的帧数为3。那么为了保证时序,在查找与第i帧匹配的数据帧时,第i帧的第一匹配帧应该位于第i-1帧的第一匹配帧与第i-1帧的第二匹配帧之间,第i帧的第二匹配帧则应该位于第i-1帧的第二匹配帧之后。比如,在查找与第二帧匹配的两个数据帧时,先查找第二帧的第一匹配帧,具体可以在第一帧的第一匹配帧之后第一帧的第二匹配帧之前来进行查找;再查找第二帧的第二匹配帧,具体可以在第一帧的第二匹配帧之后来进行查找。
在一实施例中,为进一步提升查找效率,还可以根据多个数据帧每两帧之间的距离设置一个距离最大值dmax,当两帧的距离超过dmax后,即可以认为该两帧绝不可能匹配,因此不再尝试以该两帧匹配为假设的后续所有搜索路径,从而省去了不必要的查找步骤。
104、根据多个数据帧集合将预设数据片段划分为多个子片段。
在一实施例中,上述数据帧集合中的帧数即为子片段的数量,比如每个数据帧集合中包括三个互相匹配的数据帧,则可以确定该预设数据片段可以划分为三个子片段,也即将上述歌曲段落划分为三个反复咏唱的子段落。子片段表示的是本申请对歌曲段落进一步划分后得到的数据单位。
在实际应用当中,本申请实施例允许多个数据帧当中存在不位于任何数据帧集合中的帧,也就是没有查找到与之匹配的数据帧,因此需要说明的是,上述三个子片段中的数据帧均来自于上述多个数据帧集合,且需要严格按照预设数据片段对应的多个数据帧的时序来进行划分。
本申请实施例在确定歌曲的主歌、副歌和插句等段落后,可进一步将其分解为情感反复咏唱的若干个段落。对歌曲的进一步分解能够更细致的解析出流行音乐的段落结构,为音乐分段和基于其上的特征抽取提供依据。
由上所述,本发明实施例提出的音频处理方法可以确定目标歌曲,获取目标歌曲的音频数据并提取音频数据中的预设数据片段,以预设帧长将预设数据片段划分为多个数据帧,查找多个数据帧中相匹配的数据帧,并将相匹配的数据帧归类至同一数据帧集合,以将多个数据帧划分为多个数据帧集合,根据多个数据帧集合将预设数据片段划分为多个子片段。本申请实施例所提供的方案可以将歌曲中数据片段划分为多个数据帧,并归类为多个数据帧集合,然后将数据片段划分为多个子片段,从而划分出歌曲片段中反复咏唱的部分,进一步提升音乐分段的精确性。
在实际应用中,由于事先不确定歌曲的预设音频片段包括多少个子片段,所以采取试探策略,分别将预设音频片段划分为多种不同数量的子片段,再从中确定最优的匹配结果。
具体地,歌曲的一个段落中不可能包含过多子片段,因此可以预先设置最大子片段数量,但该最大子片段数量是根据经验设置的子片段数量的最大值,一段具体的音频数据片段包括的子片段的数量并非一定为该最大值,因此,本申请实施例依次假设子片段的数量,然后通过数据帧的匹配算法得到不同子片段数量下数据帧的匹配结果,再计算不同数据帧匹配结果的匹配合适度指标。上述步骤依次执行,直至假设的子片段的数量为该最大子片段数量。得到不同子片段数量下数据帧的匹配合适度指标后,通过比较匹配度合适度指标确定出最优匹配结果。
比如,可以预先设置上述最大子片段数量为4,因此首先假设子片段数量为2,从而为每个数据帧查找一个相匹配的数据帧,以得到子片段数量为2的情况下的数据帧匹配结果。继续假设子片段数量为3,从而为每个数据帧查找两个相匹配的数据帧,以得到子片段数量为3的情况下的数据帧匹配结果。继续假设子片段数量为4,从而为每个数据帧查找三个相匹配的数据帧,以得到子片段数量为4的情况下的数据帧匹配结果。计算每种数据帧匹配结果对应的损失值,将损失值最小的数据帧匹配结果确定为最优匹配结果。假设,最优匹配结果为子片段数量为3对应的数据帧匹配结果,则可以确定出子片段数量为3。
也即,上述步骤S103中“将所述多个数据帧中相匹配的数据帧归类至同一数据帧集合,以得到多个目标数据帧集合”的一种具体实现方式可以包括:确定多个不同的子片段数量,并针对每个所述子片段数量,将所述多个数据帧中所述子片段数量个数的相匹配数据帧归类至同一数据帧集合,以得到每个所述子片段数量对应的备选数据帧集合;计算每个所述子片段数量对应的备选数据帧集合的匹配合适度指标;将最优匹配合适度指标对应的备选数据帧集合确定为目标数据帧集合。
其中,“确定多个不同的子片段数量,并针对每个所述子片段数量,将所述多个数据帧中所述子片段数量个数的相匹配数据帧归类至同一数据帧集合,以得到每个所述子片段数量对应的备选数据帧集合”的步骤,包括:获得预设的最大子片段数量以及预设的子片段数量初始值;将所述子片段数量初始值确定为子片段当前数量;在所述多个数据帧中,查找所述子片段当前数量个数的相匹配的数据帧,并将所述相匹配的数据帧归类至同一数据帧集合;若所述子片段当前数量小于所述最大子片段数量,将所述子片段当前数量加1后,作为新的子片段当前数量,并返回在所述多个数据帧中,查找新的子片段当前数量个数的相匹配的数据帧的步骤;若所述子片段当前数量等于所述最大子片段数量,将每个所述子片段当前数量对应的数据帧集合确定为每个所述子片段数量对应的备选数据帧集合。
在一实施例中,在查找与每个数据帧相匹配的数据帧时,可以通过匹配的相似度来进行查找,比如可以将每个数据帧相似度最高的数据帧作为该数据帧的匹配数据帧。但是该种方式也可能存在问题,即每个数据帧相似度最高的数据帧并不一定从整体上是最优的,因此在其他实施例中,还可以用维特比算法综合求解。比如,分别计算第一数据帧与每一数据帧的相似度、第二数据帧与每一数据帧的相似度、第N数据帧与每一数据帧的相似度等等,直至遍历完所有数据帧后,根据上面计算的相似度,通过维特比算法求解每个数据帧的匹配数据帧分别是哪一帧,从而将相匹配的数据帧归类至同一数据帧集合。
也即在所述多个数据帧中,查找所述子片段当前数量个数的相匹配的数据帧的步骤,包括:计算每个所述数据帧与其他所述数据帧的相似度;将每个所述数据帧与其他所述数据帧的相似度输入至维特比算法中,以求解每个所述数据帧所述子片段当前数量减一个数的匹配数据帧;将每个所述数据帧以及所述数据帧的匹配数据帧,确定为相匹配的数据帧。
进一步的,在查找子片段当前数量个数的相匹配的数据帧,并将相匹配的数据帧归类至同一数据帧集合的过程中,可以按照多个数据帧的前后时序排列关系,依次将各个数据帧确定为当前数据帧,然后在每个当前数据帧之后的数据帧中,确定当前数据帧的帧匹配范围,进一步在帧匹配范围内为当前数据帧查找子片段当前数量减1个数的匹配数据帧,并将匹配数据帧及当前数据帧归类至同一数据帧集合。
具体地,帧匹配范围的一种确定方式为:确定多个数据帧的总帧数,根据总帧数计算子片段的最小窗口值;根据总帧数以及子片段当前数量,确定帧匹配位置。将与当前数据帧相距至少最小窗口值且帧匹配位置预设附近范围的数据帧,确定为当前数据帧的帧匹配范围。
根据上述说明可知,当前数据帧的帧匹配范围可以由最小窗口值和帧匹配位置约束。为了便于理解,分别说明两个约束条件的具体含义,以及分别说明每个约束条件如何确定帧匹配范围。
首先说明帧匹配位置对于帧匹配范围的约束。假设歌曲速度是近似平稳的,设子片段数量为k,数据片段的总帧数为M,则与第i帧匹配的第一帧可以限制在歌曲的第[i+(M/k)*1]帧的预设附近位置,与第i帧匹配的第二帧可以限制在歌曲的第[i+(M/k)*2]帧附近,以此类推,可以确定出与第i帧匹配的各个帧的大致位置范围为第[i+(M/k)*a]帧附近,a表示的是与第i帧匹配的帧的序号,a最大值为k减一。例如,尝试子结构数目=2时,首帧(i=1)的匹配帧最有可能出现在片段的1/2附近。当尝试子结构数目=3时,首帧的匹配帧最可能出现在片段的1/3和2/3处。由此可进一步缩小搜索范围。其中预设附近范围可以通过预设数值进行量化。这种方式不必在所有的数据帧中查找当前数据帧的匹配数据帧,进而可以加快匹配流程。
其次说明最小窗口值对于帧匹配范围的约束。前已述及,最小窗口值即数据帧的查找范围,也就是说,在最小窗口值范围内查找当前数据帧的匹配数据帧。
上述两个约束条件共同来确定帧匹配范围,也即:将与当前数据帧相距至少最小窗口值并且在当前数据帧的帧匹配位置预设范围内的数据帧,确定为当前数据帧的帧匹配范围。
需要说明的是,若当前数据帧为首个当前数据帧的首个匹配数据帧,则说明当前数据帧及其该当前数据帧之后的数据帧已经被匹配为了前面某数据帧的匹配数据帧,例如以图1b为例,若当前数据帧为数据帧8,但根据匹配过程可知,数据帧8已经被匹配为了数据帧1的第一个匹配数据帧,同理可知后面的数据帧9已经匹配为了数据帧2的第一个匹配数据帧,……,数据帧21已经配匹配为了数据帧7的第三个匹配数据帧,因此数据帧8以及其后续的数据帧不必作为当前数据帧进行匹配,从而为了缩短匹配流程,可以结束在多个数据帧中,查找子片段当前数量个数的相匹配的数据帧,并将相匹配的数据帧归类至同一数据帧集合的步骤,也就是说,结束在当前子片段数量的情况下查找备选数据帧集合的流程,将下一子片段数量作为当前子片段数量重复上述查找备选数据帧集合的流程;若当前数据帧非首个当前数据帧的首个匹配数据帧,将当前数据帧的下一数据帧确定为新的当前数据帧,并返回在当前数据帧之后的数据帧中确定当前数据帧的帧匹配范围的步骤。
可以理解的是,在确定子片段数量的情况下,为每帧数据帧遍历查找相匹配的数据帧时,一旦相匹配的数据帧的数量为子片段数量减1,则停止为该帧数据帧的遍历,从而执行对下一帧的遍历匹配过程。例如,遍历上述多个数据帧时,若查找到与某一帧相匹配的三个数据帧,则可以不必继续查找该数据帧匹配的数据帧,从而提高了遍历的效率。
按照以上方式针对每个子片段数量情况划分得到备选数据帧集合后,需要根据备选数据帧集合的匹配合适度指标,选取某一子片段数据量下得到的备选数据帧集合作为目标数据帧集合。
其中,匹配合适度指标的一种实现方式可以具体为,通过损失函数计算得到的数据帧匹配结果的损失值,也就是说,通过比较不同匹配结果的损失值,将最小损失值对应的数据帧匹配结果确定为最优匹配结果。也就是说,若存在多种匹配结果均可将所述多个数据帧划分为多个数据帧集合,则分别确定所述多种匹配结果的损失值;根据所述多种匹配结果的损失值选取目标匹配结果,并根据所述目标匹配结果将所述多个数据帧划分为多个数据帧集合。
具体地,某个子片段数据量下的匹配结果的损失值的一种计算方式可以为:
其中,n为该子片段数量下得到的数据帧集合的个数,分别为[a1,b1,…k1],[a2,b2…k2],…[an,bn…kn];k为子片段数量,也即每个数据帧集合中数据帧的数量;d为两数据帧之间的距离,比如第i帧、j帧之间的距离为d(i,j),典型的距离定义有欧式距离、街区距离等,本申请对此不作进一步限定。需要说明的是,根据上述计算损失值的方式可知,第i帧产生的损失应当为第i帧与其他匹配帧之距离的均值,这样不同子片段数目情况下的损失值才有可比性。
或者,匹配合适度指标的另一种实现方式可以具体为,独立数据帧的个数。举例来说,请参阅图1b,图1b是本发明实施例提供的一种对多个数据帧进行匹配的示意图。在该示例中,预设数据片段划分为了21个数据帧,在依次查找到全部相匹配的数据帧后划分为7个数据帧集合,分别为:第1数据帧集合包括第1帧、第8帧和第15帧,第2数据帧集合包括第2帧、第9帧和第16帧,第3数据帧集合包括第3帧、第10帧和第17帧,第4数据帧集合包括第4帧、第11帧和第18帧,第5数据帧集合包括第5帧、第12帧和第19帧,第6数据帧集合包括第6帧、第13帧和第20帧,第7数据帧集合包括第7帧、第14帧和第21帧。每个数据帧集合当中的帧数为3,也即子片段的数量为3,且该例子中的匹配方式是子片段数目为3时的最佳匹配方式示意图,此图情况下每个数据帧都被搜索到两个最佳匹配帧,且没有数据帧不在数据帧集合当中,则损失函数最小。
或者,匹配合适度指标还可以是其他可以衡量数据帧匹配结果是否合适的指标项,本申请并不做具体限定。
根据前面实施例所描述的方法,以下将作进一步详细说明。
请参阅图1c,图1c是本发明实施例提供的音频处理方法的第二流程示意图。所述方法包括:
201、确定目标歌曲,获取目标歌曲的音频数据并提取音频数据中的预设数据片段。
在一实施例中,上述目标歌曲可以为用户输入或选取的歌名,然后根据歌名获取对应的音频数据。该音频数据可以存储在终端本地,即用户可直接从本地获取。该音频数据也可以存储于服务器上,用户可通过终端从服务器下载获取。
在获取到上述目标歌曲的音频数据后,进一步提取音频数据中的预设数据片段。其中,需要说明的是,本申请实施例还可以根据歌曲的结构进行划分,比如划分为主歌、副歌等段落,上述预设数据片段可以为上述某个段落所对应的音频数据,比如可以获取上述歌曲中主歌段落所对应的音频数据作为预设数据片段。
202、以预设帧长对预设数据片段进行短时傅里叶变换,得到预设数据片段对应的幅度谱。
203、将幅度谱转化为梅尔频谱,并对梅尔频谱归一化处理,针对归一化处理后的频谱将预设数据片段划分为多个数据帧。
在一实施例中,可以先设置预设帧长,该帧长不宜过短,比如可以取值为100ms或200ms,步长取可以为1/2帧长。然后对预设数据片段做短时傅里叶变换。具体的,将上述预设数据片段进行分帧、加窗,再对每一帧做快速傅里叶变换。最后把每一帧的结果沿另一个维度堆叠起来,得到类似于一幅图的二维信号形式。如果我们原始信号是声音信号也即本实施例中的歌曲,那么通过STFT展开得到的二维信号就是声谱图也即上述预设数据片段对应的幅度谱。其中,声谱图往往是很大的一张图,为了得到合适大小的声音特征,本申请实施例可以把它通过梅尔标度滤波器组(mel-scale filter banks),变换为梅尔频谱。在得到梅尔频谱之后进一步做归一化,针对归一化处理后的频谱将预设数据片段划分为多个数据帧。
204、确定多个数据帧的总帧数,根据总帧数计算子片段的最小窗口值,根据最小窗口值在多个数据帧中依次查找相匹配的数据帧。
在本申请实施例中,由于最后要划分的子片段不可能极短,而且歌曲一个段落中的子片段数量也不会过多,因此可以根据多个数据帧的总帧数计算子片段的最小窗口值,最小窗口值即为一个子片段中的最少数据帧数。换句话说,最小窗口值表示的是,一个子片段中至少有多少帧数的数据帧,也就是说,两个相匹配的数据帧至少相隔有最小窗口值数量的数据帧。最小窗口值的作用是,在查找某个数据帧相匹配的数据帧时,需要在相隔最小窗口值之后的数据帧中进行查找。
比如可以设置总帧数的1/5作为最小窗口值,举例来说,若多个数据帧的总帧数为100,则根据上述方式计算的最小窗口值为20,然后在多个数据帧中查找第i帧相匹配的数据帧时,相匹配的数据帧将不在最小窗口内查找,也即只需在第i+20帧之后的数据帧中查找即可,可以有效降低***的计算量。
205、将相匹配的数据帧归类至同一数据帧集合,以将多个数据帧划分为多个数据帧集合。
当对上述多个数据帧遍历完成后,即可得到多个数据帧集合。其中,每个数据帧集合中的帧数相同。
在一实施例中,在上述查找相匹配的数据帧时,假设歌曲速度是近似平稳的,设子片段数量为k,数据片段的总帧数为M,则与第i帧匹配的第一帧可以限制在歌曲的第[i+(M/k)*1]帧的预设附近位置,与第i帧匹配的第二帧可以限制在歌曲的第[i+(M/k)*2]帧附近,以此类推,可以确定出与第i帧匹配的各个帧的大致位置范围为第[i+(M/k)*a]帧附近,a表示的是与第i帧匹配的帧的序号,a最大值为k减一。例如,尝试子结构数目=2时,首帧(i=1)的匹配帧最有可能出现在片段的1/2附近。当尝试子结构数目=3时,首帧的匹配帧最可能出现在片段的1/3和2/3处。由此可进一步缩小搜索范围。其中预设附近位置可以通过预设数值进行量化。
206、获取多个数据帧中不在任意数据帧集合中的独立数据帧。
在实际应用当中,歌曲里存在一些反复咏唱的部分,往往也会存在只唱过一次的部分,同理在上述多个数据帧中,包括多个相互匹配的数据帧,同时也会存在一些没有与之匹配的数据帧,也即独立数据帧。由于相匹配的数据帧都归类至同一数据帧集合,因此上述独立数据帧不在任意数据帧集合当中。
207、判断独立数据帧的数量是否大于帧数阈值,若否则执行步骤208。
在本申请实施例中,***允许一部分帧不与任何帧匹配,但考虑到一些极端情况,比如片段首帧的匹配帧是最后一帧,则从第二帧开始,为了保持帧匹配的时序性,第二帧所所匹配的帧不能早于第一帧所匹配帧,因此第二帧将无帧可匹配,算法结束。这种情况下,当算法结束时,除了首尾两帧互相匹配构成一个数据帧集合之外,其余各帧均不能互相匹配,显然这是一种匹配失败的情况。因此本实施例可以设置未匹配的帧数目低于预设阈值即可,上述未匹配的帧也就是不在任意数据帧集合中的独立数据帧,当算法运行完毕后,需要检查上述独立数据帧的数目,若此数目大于帧数阈值,则匹配失败,然后重新执行204,计算子片段的最小窗口值,以及根据最小窗口值在多个数据帧中依次查找相匹配的数据帧的步骤,需要说明的是,若此数目大于帧数阈值也即匹配失败,则重新计算子片段的最小窗口值需要区别于上次计算得到的最小窗口值,也即不能与上一个最小窗口值相同。若上述独立数据帧的数量不大于帧数阈值,则匹配成功,可以进一步执行后续步骤。
在一实施例中,上述方法还包括:
若存在多种匹配方式均可将所述多个数据帧划分为多个数据帧集合,则分别获取所述多种匹配方式下所述独立数据帧的数量;
根据所述多种匹配方式下所述独立数据帧的数量选取目标匹配方式,并根据所述目标匹配方式将所述多个数据帧划分为多个数据帧集合。
在一实施例中,若存在多种匹配方式均可将所述多个数据帧划分为多个数据帧集合,还可以遍历所有的匹配方式,对每一种匹配方式计算下面的损失函数值,假设子片段数目为2,也即数据帧集合中的帧数为2,最后取损失函数最小的匹配方式作为子片段数目为2时的最佳匹配方式即可。其中,可以即子片段数量为K,匹配方式为构成N个数据帧集合分别为[[a1,b1,…k1],[a2,b2…k2],[an,bn…kn]],则该种匹配方式下的损失为:
其中,d为两帧之间的距离,比如第i帧、j帧之间的距离为d(i,j),典型的距离定义有欧式距离、街区距离等,本申请对此不作进一步限定。
需要说明的是,若子片段数目为3,则第i帧产生的损失应当为第i帧与其两个匹配帧之距离的均值,这样不同子片段数目情况下的损失函数值才有可比性。
举例来说,请参阅图1c,图1c是本发明实施例提供的一种对多个数据帧进行匹配的示意图。在该例子当中,预设数据片段划分为了21个数据帧,在依次查找到全部相匹配的数据帧后划分为7个数据帧集合,分别为:第1数据帧集合包括第1帧、第8帧和第15帧,第2数据帧集合包括第2帧、第9帧和第16帧,第3数据帧集合包括第3帧、第10帧和第17帧,第4数据帧集合包括第4帧、第11帧和第18帧,第5数据帧集合包括第5帧、第12帧和第19帧,第6数据帧集合包括第6帧、第13帧和第20帧,第7数据帧集合包括第7帧、第14帧和第21帧。没和数据帧集合当中的帧数为3,也即子片段的数量为3,且该例子中的匹配方式是子片段数目为3时的最佳匹配方式示意图,此图情况下每个数据帧都被搜索到两个最佳匹配帧,且没有数据帧不在数据帧集合当中,损失函数最小。
208、根据多个数据帧集合将预设数据片段划分为多个子片段。
在一实施例中,根据所述多个数据帧集合将所述预设数据片段划分为多个子片段的步骤,可以包括:
确定所述数据帧集合中的帧数;
将所述数据帧集合中的帧数设置为所述子片段的数量,并根据所述多个数据帧集合中每个数据帧的时序将所述预设数据片段划分为多个子片段。
在一实施例中,上述数据帧集合中的帧数即为子片段的数量,比如每个数据帧集合中包括三个互相匹配的数据帧,则可以确定该预设数据片段可以划分为三个子片段,也即将上述歌曲段落划分为三个反复咏唱的子段落。需要说明的是,上述三个子片段中的数据帧均来自于上述多个数据帧集合,且需要严格按照预设数据片段对应的多个数据帧的时序来进行划分。
本申请实施例在确定歌曲的主歌、副歌和插句等段落后,可进一步将其分解为情感反复咏唱的若干个段落。对歌曲的进一步分解能够更细致的解析出流行音乐的段落结构,为音乐分段和基于其上的特征抽取提供依据。
由上所述,本发明实施例提出的音频处理方法可以确定目标歌曲,获取目标歌曲的音频数据并提取音频数据中的预设数据片段,以预设帧长对预设数据片段进行短时傅里叶变换,得到预设数据片段对应的幅度谱,将幅度谱转化为梅尔频谱,并对梅尔频谱归一化处理,以将预设数据片段划分为多个数据帧,确定多个数据帧的总帧数,根据总帧数计算子片段的最小窗口值,根据最小窗口值在多个数据帧中依次查找相匹配的数据帧,将相匹配的数据帧归类至同一数据帧集合,以将多个数据帧划分为多个数据帧集合,获取多个数据帧中不在任意数据帧集合中的独立数据帧,判断独立数据帧的数量是否大于帧数阈值,若否则根据多个数据帧集合将预设数据片段划分为多个子片段。本申请实施例所提供的方案可以将歌曲中数据片段划分为多个数据帧,并归类为多个数据帧集合,然后将数据片段划分为多个子片段,从而划分出歌曲片段中反复咏唱的部分,进一步提升音乐分段的精确性。
为了实施以上方法,本发明实施例还提供一种音频处理装置,该音频处理装置具体可以集成在终端设备如手机、平板电脑等设备中。
例如,如图2a所示,是本发明实施例提供的音频处理装置的第一种结构示意图。该音频处理装置可以包括:
确定单元301,用于确定目标歌曲,获取所述目标歌曲的音频数据并提取所述音频数据中的预设数据片段。
在一实施例中,上述目标歌曲可以为用户输入或选取的歌名,然后根据歌名获取对应的音频数据。该音频数据可以存储在终端(如:MP3、手机、电脑、平板电脑等)本地,即用户可直接从本地获取。该音频数据也可以存储于服务器上,用户可通过终端从服务器下载获取。
在实际使用过程中,比如某一歌曲在服务器中存储着多个不同音质的音频数据,其不同音质的歌曲所对应的音频数据的数据量大小也不相同。比如歌名为“ABC”的目标歌曲在服务器中存储着三个音频数据,分别为标准音质、极高音质、无损音质对应的音频数据,其中标准音质对应的音频数据大小为3MB,极高音质对应的音频数据大小为8MB,无损音质对应的音频数据大小为40MB。因此在一实施例中,若目标歌曲包括多个音频数据,可以进一步根据用户选择确定其中的目标音频数据,比如用户选择目标歌曲的无损音质,则可以从服务器下载目标歌曲的无损音质音频数据,大小为40MB。
在获取到上述目标歌曲的音频数据后,进一步提取音频数据中的预设数据片段。需要说明的是,预设数据片段为具有预设歌曲段落结构的音频数据段,例如歌曲结构可以划分为主歌、副歌等段落,从而预设数据片段可以为主歌、副歌等段落所对应的音频数据。
第一划分单元302,用于以预设帧长将所述预设数据片段划分为多个数据帧。
首先,本申请实施例是将预设数据片段划分为多个子片段,比如在主歌段落中找到多个反复咏唱的子片段,而这些子片段一般相似性比较高,比如歌曲《东风破》中的主歌部分“一盏离愁孤灯驻立在窗口,我在门后假装你人还没走,旧地如重游月圆更寂寞,夜半清醒的烛火不忍苛责我。一壶漂泊浪迹天涯难入喉,你走之后酒暖回忆思念瘦,水向东流时间怎么偷,花开就一次成熟我却错过”。可以看到,歌曲的主歌部分分为明显的两个子段落,两个子段落有明确的呼应关系,呼应关系表现为对应句的歌词句式、押韵及音乐的旋律均有对应关系。
为了找到上述预设数据片段主歌段落中相似的多个子片段,可以通过提取声音特征来进行分析,声音信号本是一维的时域信号,直观上很难看出频率变化规律。如果通过傅里叶变换把它变到频域上,虽然可以看出信号的频率分布,但是丢失了时域信息,无法看出频率分布随时间的变化。为了解决这个问题,就需要用到时频分析手段,在本实施例中,就可以通过在预设数据片段中查找相似的数据帧的方式,因此可以先将上述预设数据片段划分为多个数据帧。
在一实施例中,可以先设置预设帧长以及预设步长,该帧长不宜过短,可以取值为100ms或200ms,步长可以设置为1/2帧长,然后依据预设帧长以及预设步长对预设数据片段做短时傅里叶变换(STFT,short-time Fourier transform)。具体的,上述短时傅里叶变换就是把一段长信号分帧、加窗,再对每一帧做快速傅里叶变换(FFT,fast Fouriertransform),最后把每一帧的结果沿另一个维度堆叠起来,得到类似于一幅图的二维信号形式。如果原始信号是声音信号也即本实施例中的歌曲,那么通过STFT展开得到的二维信号就是声谱图。通过对预设数据片段做短时傅里叶变换,得到多个数据帧。
匹配单元303,用于查找所述多个数据帧中相匹配的数据帧,并将所述相匹配的数据帧归类至同一数据帧集合,以将所述多个数据帧划分为多个数据帧集合。
在一实施例中,可以从首帧开始依次查找每一帧的匹配帧,然后将相匹配的数据帧归类至同一数据帧集合,当对上述多个数据帧遍历完成后,即可得到多个数据帧集合,为了便于描述,该数据帧集合可以称为目标数据帧集合。其中,每个数据帧集合中的帧数相同。
在一实施例中,为了进一步提高数据帧匹配的效率以及准确性,可以根据与前一数据帧相匹配的数据帧的位置,来确定后一数据帧相匹配的数据帧的开始遍历匹配的位置。
举例来说,若假设子片段数量为2,在查找多个数据帧中与第一帧相匹配的数据帧时,可以将除第一帧以外的所有数据帧都查找一遍,若查找到一个相匹配的数据帧,将第一帧和与其匹配的数据帧归类至第一数据帧集合中,也即数据帧集合中的帧数为2。那么为了保证时序,与第i帧匹配的数据帧不能出现在比与i-1帧匹配的数据帧更早的位置,比如在查找与第二帧匹配的数据帧时,可以在与第一帧匹配的数据帧之后来进行查找,从而进一步提升查找的效率以及准确性。
在一实施例中,上述“将所述多个数据帧中相匹配的数据帧归类至同一数据帧集合,以得到多个目标数据帧集合”的步骤可以包括:确定多个不同的子片段数量,并针对每个子片段数量,将多个数据帧中子片段数量个数的相匹配数据帧归类至同一数据帧集合,以得到每个子片段数量对应的备选数据帧集合,计算每个子片段数量对应的备选数据帧集合的匹配合适度指标,将最优匹配合适度指标对应的备选数据帧集合确定为目标数据帧集合。
其中,在计算计算每个子片段数量对应的备选数据帧集合的匹配合适度指标时,可以根据预设的损失函数公式,计算每个子片段数量对应的备选数据帧集合的损失值,将损失值确定为所述备选数据帧集合的匹配合适度指标。
进一步的,在确定多个不同的子片段数量,并针对每个子片段数量,将多个数据帧中子片段数量个数的相匹配数据帧归类至同一数据帧集合,以得到每个子片段数量对应的备选数据帧集合时,可以获得预设的最大子片段数量以及预设的子片段数量初始值,将子片段数量初始值确定为子片段当前数量,在多个数据帧中,查找子片段当前数量个数的相匹配的数据帧,并将相匹配的数据帧归类至同一数据帧集合,若子片段当前数量小于最大子片段数量,将子片段当前数量加1后,作为新的子片段当前数量,并返回在多个数据帧中,查找新的子片段当前数量个数的相匹配的数据帧的步骤,若子片段当前数量等于最大子片段数量,将每个子片段当前数量对应的数据帧集合确定为每个子片段数量对应的备选数据帧集合。
在一实施例中,在将相匹配的数据帧归类至同一数据帧集合的过程中,按照多个数据帧的前后时序排列关系,依次将各个数据帧确定为当前数据帧,每当确定当前数据帧后,在当前数据帧之后的数据帧中,确定当前数据帧的帧匹配范围,在帧匹配范围内为当前数据帧查找子片段当前数量减1个数的匹配数据帧,并将匹配数据帧及当前数据帧归类至同一数据帧集合。
其中,上述匹配范围的获取方式可以具体为:确定多个数据帧的总帧数,根据总帧数计算子片段的最小窗口值,根据总帧数以及子片段当前数量,确定帧匹配位置,将与当前数据帧相距至少最小窗口值且在帧匹配位置预设范围内的数据帧,确定为当前数据帧的帧匹配范围。
在一实施例中,上述在多个数据帧中,查找子片段当前数量个数的相匹配的数据帧的步骤,可以包括计算每个数据帧与其他数据帧的相似度,将每个数据帧与其他数据帧的相似度输入至维特比算法中,以求解每个数据帧子片段当前数量减1个数的匹配数据帧,将每个数据帧以及数据帧的匹配数据帧,确定为相匹配的数据帧。
第二划分单元304,用于根据所述多个数据帧集合将所述预设数据片段划分为多个子片段。
在一实施例中,上述“根据多个目标数据帧集合,将预设数据片段划分为多个子片段”的步骤可以包括:确定目标数据帧集合中的帧数,根据多个目标数据帧集合中每个数据帧的时序,将预设数据片段划分为多个子片段。
在一实施例中,上述数据帧集合中的帧数即为子片段的数量,比如每个数据帧集合中包括三个互相匹配的数据帧,则可以确定该预设数据片段可以划分为三个子片段,也即将上述歌曲段落划分为三个反复咏唱的子段落。子片段表示的是本申请对歌曲段落进一步划分后得到的数据单位。
在实际应用当中,本申请实施例允许多个数据帧当中存在不位于任何数据帧集合中的帧,也就是没有查找到与之匹配的数据帧,因此需要说明的是,上述三个子片段中的数据帧均来自于上述多个数据帧集合,且需要严格按照预设数据片段对应的多个数据帧的时序来进行划分。
本申请实施例在确定歌曲的主歌、副歌和插句等段落后,可进一步将其分解为情感反复咏唱的若干个段落。对歌曲的进一步分解能够更细致的解析出流行音乐的段落结构,为音乐分段和基于其上的特征抽取提供依据。
在一实施例中,请参阅图2b,所述匹配单元303可以包括;
归类子单元3031,用于确定多个不同的子片段数量,并针对每个所述子片段数量,将所述多个数据帧中所述子片段数量个数的相匹配数据帧归类至同一数据帧集合,以得到每个所述子片段数量对应的备选数据帧集合。
其中,上述归类子单元3031具体用于获得预设的最大子片段数量以及预设的子片段数量初始值,将子片段数量初始值确定为子片段当前数量,在多个数据帧中,查找子片段当前数量个数的相匹配的数据帧,并将相匹配的数据帧归类至同一数据帧集合,若子片段当前数量小于最大子片段数量,将子片段当前数量加1后,作为新的子片段当前数量,并返回在多个数据帧中,查找新的子片段当前数量个数的相匹配的数据帧的步骤,若子片段当前数量等于最大子片段数量,将每个子片段当前数量对应的数据帧集合确定为每个子片段数量对应的备选数据帧集合。
计算子单元3032,用于计算每个所述子片段数量对应的备选数据帧集合的匹配合适度指标。
其中,上述计算子单元3032具体根据预设的损失函数公式,计算每个所述子片段数量对应的备选数据帧集合的损失值,将所述损失值确定为所述备选数据帧集合的匹配合适度指标。
匹配子单元3033,用于将最优匹配合适度指标对应的备选数据帧集合确定为目标数据帧集合。
在一实施例中,所述第二划分单元304可以包括:
确定子单元3041,用于确定所述目标数据帧集合中的帧数。
划分子单元3042,用于根据所述多个目标数据帧集合中每个数据帧的时序,将所述预设数据片段划分为多个子片段。
本发明实施例提出的音频处理装置可以确定目标歌曲,获取目标歌曲的音频数据并提取音频数据中的预设数据片段,以预设帧长将预设数据片段划分为多个数据帧,查找多个数据帧中相匹配的数据帧,并将相匹配的数据帧归类至同一数据帧集合,以将多个数据帧划分为多个数据帧集合,根据多个数据帧集合将预设数据片段划分为多个子片段。本申请实施例所提供的方案可以将歌曲中数据片段划分为多个数据帧,并归类为多个数据帧集合,然后将数据片段划分为多个子片段,从而划分出歌曲片段中反复咏唱的部分,进一步提升音乐分段的精确性。
本发明实施例还提供一种终端,如图3所示,该终端可以包括射频(RF,RadioFrequency)电路301、包括有一个或一个以上计算机可读存储介质的存储器302、输入单元303、显示单元304、传感器305、音频电路306、无线保真(WiFi,Wireless Fidelity)模块307、包括有一个或者一个以上处理核心的处理器308、以及电源309等部件。本领域技术人员可以理解,图3中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路301可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器308处理;另外,将涉及上行的数据发送给基站。通常,RF电路301包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM,Subscriber Identity Module)卡、收发信机、耦合器、低噪声放大器(LNA,Low Noise Amplifier)、双工器等。此外,RF电路301还可以通过无线通信与网络和其他设备通信。无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯***(GSM,Global System of Mobile communication)、通用分组无线服务(GPRS,GeneralPacket Radio Service)、码分多址(CDMA,Code Division Multiple Access)、宽带码分多址(WCDMA,Wideband Code Division Multiple Access)、长期演进(LTE,Long TermEvolution)、电子邮件、短消息服务(SMS,Short Messaging Service)等。
存储器302可用于存储软件程序以及模块,处理器308通过运行存储在存储器302的软件程序以及模块,从而执行各种功能应用以及信息处理。存储器302可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器302可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器302还可以包括存储器控制器,以提供处理器308和输入单元303对存储器302的访问。
输入单元303可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元303可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器308,并能接收处理器308发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元303还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元304可用于显示由用户输入的信息或提供给用户的信息以及终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元304可包括显示面板,可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-Emitting Diode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器308以确定触摸事件的类型,随后处理器308根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图3中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。
终端还可包括至少一种传感器305,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板的亮度,接近传感器可在终端移动到耳边时,关闭显示面板和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路306、扬声器,传声器可提供用户与终端之间的音频接口。音频电路306可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路306接收后转换为音频数据,再将音频数据输出处理器308处理后,经RF电路301以发送给比如另一终端,或者将音频数据输出至存储器302以便进一步处理。音频电路306还可能包括耳塞插孔,以提供外设耳机与终端的通信。
WiFi属于短距离无线传输技术,终端通过WiFi模块307可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图3示出了WiFi模块307,但是可以理解的是,其并不属于终端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器308是终端的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器302内的软件程序和/或模块,以及调用存储在存储器302内的数据,执行终端的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器308可包括一个或多个处理核心;优选的,处理器308可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器308中。
终端还包括给各个部件供电的电源309(比如电池),优选的,电源可以通过电源管理***与处理器308逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。电源309还可以包括一个或一个以上的直流或交流电源、再充电***、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端中的处理器308会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器302中,并由处理器308来运行存储在存储器302中的应用程序,从而实现各种功能:
获取目标歌曲的音频数据,并提取所述音频数据中的预设数据片段;
以预设帧长将所述预设数据片段划分为多个数据帧;
将所述多个数据帧中相匹配的数据帧归类至同一数据帧集合,以得到多个目标数据帧集合;
根据所述多个目标数据帧集合,将所述预设数据片段划分为多个子片段。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对音频处理方法的详细描述,此处不再赘述。
由上可知,本发明实施例的终端可以确定目标歌曲,获取目标歌曲的音频数据并提取音频数据中的预设数据片段,以预设帧长将预设数据片段划分为多个数据帧,查找多个数据帧中相匹配的数据帧,并将相匹配的数据帧归类至同一数据帧集合,以将多个数据帧划分为多个数据帧集合,根据多个数据帧集合将预设数据片段划分为多个子片段。本申请实施例所提供的方案可以将歌曲中数据片段划分为多个数据帧,并归类为多个数据帧集合,然后将数据片段划分为多个子片段,从而划分出歌曲片段中反复咏唱的部分,进一步提升音乐分段的精确性。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本发明实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种音频处理方法中的步骤。例如,该指令可以执行如下步骤:
获取目标歌曲的音频数据,并提取所述音频数据中的预设数据片段;
以预设帧长将所述预设数据片段划分为多个数据帧;
将所述多个数据帧中相匹配的数据帧归类至同一数据帧集合,以得到多个目标数据帧集合;
根据所述多个目标数据帧集合,将所述预设数据片段划分为多个子片段。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一种音频处理方法中的步骤,因此,可以实现本发明实施例所提供的任一种音频处理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本发明实施例所提供的一种音频处理方法、装置、存储介质以及终端进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (9)
1.一种音频处理方法,其特征在于,包括:
获取目标歌曲的音频数据,并提取所述音频数据中的预设数据片段;
以预设帧长将所述预设数据片段划分为多个数据帧;
将所述多个数据帧中相匹配的数据帧归类至同一数据帧集合,以得到多个目标数据帧集合;
根据所述多个目标数据帧集合,将所述预设数据片段划分为多个子片段;
其中,将所述多个数据帧中相匹配的数据帧归类至同一数据帧集合,以得到多个目标数据帧集合的步骤,包括:
确定多个不同的子片段数量,并针对每个所述子片段数量,将所述多个数据帧中所述子片段数量个数的相匹配数据帧归类至同一数据帧集合,以得到每个所述子片段数量对应的备选数据帧集合,具体包括:获得预设的最大子片段数量以及预设的子片段数量初始值,将所述子片段数量初始值确定为子片段当前数量;在所述多个数据帧中,查找所述子片段当前数量个数的相匹配的数据帧,并将所述相匹配的数据帧归类至同一数据帧集合;
计算每个所述子片段数量对应的备选数据帧集合的匹配合适度指标;
将最优匹配合适度指标对应的备选数据帧集合确定为目标数据帧集合。
2.如权利要求1所述的音频处理方法,其特征在于,计算每个所述子片段数量对应的备选数据帧集合的匹配合适度指标的步骤,包括:
根据预设的损失函数公式,计算每个所述子片段数量对应的备选数据帧集合的损失值;
将所述损失值确定为所述备选数据帧集合的匹配合适度指标。
3.如权利要求1所述的音频处理方法,其特征在于,所述方法还包括:
若所述子片段当前数量小于所述最大子片段数量,将所述子片段当前数量加1后,作为新的子片段当前数量,并返回在所述多个数据帧中,查找新的子片段当前数量个数的相匹配的数据帧的步骤;
若所述子片段当前数量等于所述最大子片段数量,将每个所述子片段当前数量对应的数据帧集合确定为每个所述子片段数量对应的备选数据帧集合。
4.如权利要求3所述的音频处理方法,其特征在于,在所述多个数据帧中,查找所述子片段当前数量个数的相匹配的数据帧,并将所述相匹配的数据帧归类至同一数据帧集合的步骤,包括:
按照多个所述数据帧的前后时序排列关系,依次将各个所述数据帧确定为当前数据帧;
每当确定当前数据帧后,在所述当前数据帧之后的数据帧中,确定所述当前数据帧的帧匹配范围;
在所述帧匹配范围内为所述当前数据帧查找所述子片段当前数量减1个数的匹配数据帧,并将所述匹配数据帧及所述当前数据帧归类至同一数据帧集合。
5.如权利要求4所述的音频处理方法,其特征在于,在所述当前数据帧之后的数据帧中,确定所述当前数据帧的帧匹配范围的步骤,包括:
确定所述多个数据帧的总帧数,根据所述总帧数计算子片段的最小窗口值;
根据所述总帧数以及所述子片段当前数量,确定帧匹配位置;
将与所述当前数据帧相距至少所述最小窗口值且在所述帧匹配位置预设范围内的数据帧,确定为所述当前数据帧的帧匹配范围。
6.如权利要求3所述的音频处理方法,其特征在于,在所述多个数据帧中,查找所述子片段当前数量个数的相匹配的数据帧的步骤,包括:
计算每个所述数据帧与其他所述数据帧的相似度;
将每个所述数据帧与其他所述数据帧的相似度输入至维特比算法中,以求解每个所述数据帧所述子片段当前数量减1个数的匹配数据帧;
将每个所述数据帧以及所述数据帧的匹配数据帧,确定为相匹配的数据帧。
7.如权利要求1所述的音频处理方法,其特征在于,根据所述多个目标数据帧集合,将所述预设数据片段划分为多个子片段的步骤,包括:
确定所述目标数据帧集合中的帧数;
根据所述多个目标数据帧集合中每个数据帧的时序,将所述预设数据片段划分为多个子片段。
8.一种音频处理装置,其特征在于,包括:
确定单元,用于获取目标歌曲的音频数据,并提取所述音频数据中的预设数据片段;
第一划分单元,用于以预设帧长将所述预设数据片段划分为多个数据帧;
匹配单元,用于将所述多个数据帧中相匹配的数据帧归类至同一数据帧集合,以得到多个目标数据帧集合;
第二划分单元,用于根据所述多个目标数据帧集合,将所述预设数据片段划分为多个子片段;
其中,所述匹配单元包括归类子单元、计算子单元和匹配子单元;
所述归类子单元,用于确定多个不同的子片段数量,并针对每个所述子片段数量,将所述多个数据帧中所述子片段数量个数的相匹配数据帧归类至同一数据帧集合,以得到每个所述子片段数量对应的备选数据帧集合;
所述计算子单元,用于计算每个所述子片段数量对应的备选数据帧集合的匹配合适度指标;
所述匹配子单元,用于将最优匹配合适度指标对应的备选数据帧集合确定为目标数据帧集合;
其中,所述归类子单元,具体用于获得预设的最大子片段数量以及预设的子片段数量初始值,将子片段数量初始值确定为子片段当前数量,在多个数据帧中,查找子片段当前数量个数的相匹配的数据帧,并将相匹配的数据帧归类至同一数据帧集合。
9.一种存储介质,其特征在于,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至7任一项所述的音频处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010590136.8A CN111782862B (zh) | 2020-06-24 | 2020-06-24 | 音频处理方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010590136.8A CN111782862B (zh) | 2020-06-24 | 2020-06-24 | 音频处理方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111782862A CN111782862A (zh) | 2020-10-16 |
CN111782862B true CN111782862B (zh) | 2024-05-14 |
Family
ID=72760214
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010590136.8A Active CN111782862B (zh) | 2020-06-24 | 2020-06-24 | 音频处理方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111782862B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102467939A (zh) * | 2010-11-04 | 2012-05-23 | 北京彩云在线技术开发有限公司 | 一种歌曲音频切割装置及方法 |
CN102880648A (zh) * | 2012-08-24 | 2013-01-16 | 北京百度网讯科技有限公司 | 一种对歌曲进行分析的方法及装置 |
CN102903357A (zh) * | 2011-07-29 | 2013-01-30 | 华为技术有限公司 | 一种提取歌曲副歌的方法、装置和*** |
CN106528678A (zh) * | 2016-10-24 | 2017-03-22 | 腾讯音乐娱乐(深圳)有限公司 | 一种歌曲处理方法及装置 |
CN109979418A (zh) * | 2019-03-06 | 2019-07-05 | 腾讯音乐娱乐科技(深圳)有限公司 | 音频处理方法、装置、电子设备及存储介质 |
CN111309962A (zh) * | 2020-01-20 | 2020-06-19 | 北京字节跳动网络技术有限公司 | 提取音频片段的方法、装置以及电子设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6993535B2 (en) * | 2001-06-18 | 2006-01-31 | International Business Machines Corporation | Business method and apparatus for employing induced multimedia classifiers based on unified representation of features reflecting disparate modalities |
US7305133B2 (en) * | 2002-11-01 | 2007-12-04 | Mitsubishi Electric Research Laboratories, Inc. | Pattern discovery in video content using association rules on multiple sets of labels |
US7659471B2 (en) * | 2007-03-28 | 2010-02-09 | Nokia Corporation | System and method for music data repetition functionality |
US10134440B2 (en) * | 2011-05-03 | 2018-11-20 | Kodak Alaris Inc. | Video summarization using audio and visual cues |
US11023737B2 (en) * | 2014-06-11 | 2021-06-01 | Arris Enterprises Llc | Detection of demarcating segments in video |
-
2020
- 2020-06-24 CN CN202010590136.8A patent/CN111782862B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102467939A (zh) * | 2010-11-04 | 2012-05-23 | 北京彩云在线技术开发有限公司 | 一种歌曲音频切割装置及方法 |
CN102903357A (zh) * | 2011-07-29 | 2013-01-30 | 华为技术有限公司 | 一种提取歌曲副歌的方法、装置和*** |
CN102880648A (zh) * | 2012-08-24 | 2013-01-16 | 北京百度网讯科技有限公司 | 一种对歌曲进行分析的方法及装置 |
CN106528678A (zh) * | 2016-10-24 | 2017-03-22 | 腾讯音乐娱乐(深圳)有限公司 | 一种歌曲处理方法及装置 |
CN109979418A (zh) * | 2019-03-06 | 2019-07-05 | 腾讯音乐娱乐科技(深圳)有限公司 | 音频处理方法、装置、电子设备及存储介质 |
CN111309962A (zh) * | 2020-01-20 | 2020-06-19 | 北京字节跳动网络技术有限公司 | 提取音频片段的方法、装置以及电子设备 |
Non-Patent Citations (2)
Title |
---|
Measuring Structural Similarity in Music;Juan P,et al;IEEE TRANSACTIONS ON AUDIO, SPEECH, AND LANGUAGE PROCESSING;20110930;第19卷(第7期);第2013-2025页 * |
歌曲中相似片段的检测及其应用;沈迤淳;中国优秀硕士学位论文全文数据库 信息科技辑;20160115;I136-105 * |
Also Published As
Publication number | Publication date |
---|---|
CN111782862A (zh) | 2020-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200152177A1 (en) | Speech recognition method and apparatus, and storage medium | |
CN109166593B (zh) | 音频数据处理方法、装置及存储介质 | |
CN110890093B (zh) | 一种基于人工智能的智能设备唤醒方法和装置 | |
EP4064276A1 (en) | Method and device for speech recognition, terminal and storage medium | |
CN103440862B (zh) | 一种语音与音乐合成的方法、装置以及设备 | |
CN109903773B (zh) | 音频处理方法、装置及存储介质 | |
CN105190746B (zh) | 用于检测目标关键词的方法和设备 | |
CN106782600B (zh) | 音频文件的评分方法及装置 | |
CN108615526A (zh) | 语音信号中关键词的检测方法、装置、终端及存储介质 | |
CN108735209A (zh) | 唤醒词绑定方法、智能设备及存储介质 | |
CN110570840B (zh) | 一种基于人工智能的智能设备唤醒方法和装置 | |
CN108962241B (zh) | 位置提示方法、装置、存储介质及电子设备 | |
CN107229629B (zh) | 音频识别方法及装置 | |
US20230395051A1 (en) | Pitch adjustment method and device, and computer storage medium | |
CN110097895B (zh) | 一种纯音乐检测方法、装置及存储介质 | |
CN107680614B (zh) | 音频信号处理方法、装置和存储介质 | |
CN110830368B (zh) | 即时通讯消息发送方法及电子设备 | |
CN107798107A (zh) | 歌曲推荐的方法和移动设备 | |
CN108600559B (zh) | 静音模式的控制方法、装置、存储介质及电子设备 | |
CN110335629B (zh) | 音频文件的音高识别方法、装置以及存储介质 | |
CN107452361A (zh) | 歌曲分句方法及装置 | |
CN109684501B (zh) | 歌词信息生成方法及其装置 | |
CN111782862B (zh) | 音频处理方法、装置及存储介质 | |
CN109064720B (zh) | 位置提示方法、装置、存储介质及电子设备 | |
CN108231046B (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 |