一种音频处理方法、计算机设备及可读存储介质与流程

文档序号:27491281发布日期:2021-11-22 14:32阅读:215来源:国知局
一种音频处理方法、计算机设备及可读存储介质与流程

1.本技术涉及计算机技术领域,尤其涉及一种音频处理方法、计算机设备及可 读存储介质。


背景技术:

2.音乐的转场时间点大致可以理解为音乐的旋律发生变化的时间点,如歌曲 歌词的开始时间点,或者主歌进入副歌的时间点。在合适的音乐转场时间点和音 乐转场时间内,配合相应的图像或视频切换,可以使得用户对音乐的可视化感知 更好的体验。
3.通常,确定音乐转场时间点依赖于歌词,在没有歌词的情况下或者歌词的动 态和歌词位置不严格对应时,转场时间点的确定会受到不同程度的影响,虽然也 可以通过利用音乐节拍、和弦信息结合歌曲歌词检测转场时间点,但是这种方式 需要有效的音乐和弦节拍提取工具,对系统检测转场时间点的耗时较长以及系 统内存消耗大,不利用应用客户端的及时反馈。因此,如何高效且准确地提取转 场时间点是一个值得研究的问题。


技术实现要素:

4.本技术实施例提供一种音频处理方法、计算机设备及可读存储介质,可以基 于音频本身的动态特征,准确、高效地确定出音频的转场时间点。
5.本技术实施例一方面提供了一种音频处理方法,包括:
6.获取待处理音频,确定待处理音频对应的音符起始点序列;
7.根据音符起始点序列确定目标节拍时间,以及利用目标节拍时间对音符起 始点序列进行处理,得到重音时间点序列;
8.根据目标节拍时间确定转场时间点间隔参数,以及根据转场时间点间隔参 数构造成本转移函数;
9.利用成本转移函数对重音时间点序列进行处理,得到待处理音频对应的目 标转场时间点序列。
10.本技术实施例一方面提供了一种音频处理装置,包括:
11.获取模块,用于获取待处理音频,确定待处理音频对应的音符起始点序列;
12.处理模块,用于根据音符起始点序列确定目标节拍时间,以及利用目标节拍 时间对音符起始点序列进行处理,得到重音时间点序列;
13.确定模块,用于根据目标节拍时间确定转场时间点间隔参数,以及根据转场 时间点间隔参数构造成本转移函数;
14.处理模块,还用于利用成本转移函数对重音时间点序列进行处理,得到待处 理音频对应的目标转场时间点序列。
15.本技术实施例一方面提供了一种计算机设备,包括:处理器、存储器以及网 络接口;处理器与存储器、网络接口相连,其中,网络接口用于提供网络通信功 能,存储器用于存储程序代码,处理器用于调用程序代码,以执行本技术实施例 中的音频处理方法。
16.本技术实施例一方面提供了一种计算机可读存储介质,计算机可读存储介 质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时, 执行本技术实施例中的音频处理方法。
17.相应地,本技术实施例提供了一种计算机程序产品或计算机程序,该计算机 程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储 介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器 执行该计算机指令,使得该计算机设备执行本技术实施例中一方面提供的音频 处理方法。
18.在本技术实施例中,基于待处理音频本身的动态特征信息,如音符起始点序 列、重音时间点序列等,根据动态特征信息中的音符起始点序列确定目标节拍时 间,并基于该目标节拍时间得到合适的转场时间点间隔参数(可理解为转场时 间),利用该转场时间点间隔参数构造的成本转移函数,对重音时间点序列进行 处理,进行动态范围内的转场时间点估算,进而可以准确高效地得到目标转场时 间点序列中的转场时间点。可以发现,本方案确定转场时间点的方式不依赖于外 部工具或参考待处理音频的其他信息(如歌词)来检测转场时间,而是利用更加 贴合音频本身的动态特性,进而能够给出合理且有效的转场时间点。
附图说明
19.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施 例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中 的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性 劳动的前提下,还可以根据这些附图获得其他的附图。
20.图1是本技术实施例提供的一种音频处理系统的架构图;
21.图2是本技术实施例提供的一种音频处理方法的流程示意图;
22.图3是本技术实施例提供的一种成本转移函数沿y轴翻转之后的示意图;
23.图4是本技术实施例提供的一种处理重音时间点序列的动态示意图;
24.图5是本技术实施例提供的一种有效转场时间点序列的示意图;
25.图6是本技术实施例提供的一种音频处理方法的流程示意图;
26.图7是本技术实施例提供的一种90s的音符起始点序列的示意图;
27.图8是本技术实施例提供的一种4s的音符起始点序列对应的自相关序列;
28.图9是本技术实施例提供的一种第一窗函数的示意图;
29.图10是本技术实施例提供的一种对加窗处理前后的节拍周期序列对比的示 意图;
30.图11是本技术实施例提供的一种对音符起始点序列平滑处理前后对比的示 意图;
31.图12是本技术实施例提供的一种重音时间点序列的示意图;
32.图13是本技术实施例提供的一种音频处理方法的流程示意图;
33.图14是本技术实施例提供的一种目标转场时间点序列调整前后在重音时间 点序列中分布的示意图;
34.图15是本技术实施例提供的一种音频处理方法的流程示意图;
35.图16是本技术实施例提供的一种音频处理装置的结构示意图;
36.图17是本技术实施例提供的一种计算机设备的结构示意图。
具体实施方式
37.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清 楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的 实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前 提下所获得的所有其他实施例,都属于本技术保护的范围。
38.首先对本技术实施例中涉及的关键术语进行解释。
39.bpm:beat per minute,一分钟内的节拍数,描述歌曲稳定节拍时间的常用 参数。
40.onset:音符起始点,描述音乐动态中能量增大时的时间位置。
41.stft:short

time fourier transform,短时傅里叶变换。
42.语谱图:音频信号短时频谱变换后的二维能量图,横坐标为时间,纵坐标为 频率,坐标点值为语音数据能量。
43.请参见图1,是本技术实施例提供的一种音频处理系统的架构图,该架构图 包括用户终端101和音频处理设备102。用户终端101和音频处理设备102之间 通过有线或无线的方式进行通信连接。
44.用户终端101可以是智能手机、平板电脑、智能可穿戴设备、个人电脑等等 设备,在该设备中可以运行应用客户端,如音频播放软件。用户终端101可以用 于从音频处理设备102中获取待处理音频,也可以从本地获取待处理音频,对 获取到的待处理音频在时域进行分帧处理,得到音符起始点序列,进而得到重拍 时间点序列,依据目标节拍时间这一bpm信息在重拍时间点序列中提取满足条 件的转场时间点,从而确定目标转场时间点序列。转场时间点序列作为一种音频 特征,可以应用于需要使用音频转场时间点的各种音频处理场景中。例如,在音 频播放场景中结合转场时间点进行图片或视频的切换,可以向用户进行可视化 的音频节奏展示。又如,在音乐特征检索场景中可以使用音频转场时间点,对音 频结构进行分析。
45.音频处理设备102可以是独立的物理服务器,也可以是多个物理服务器构 成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云 函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、 以及大数据和人工智能平台等基础云计算服务的云服务器。可以用于存储其他 用户终端101上传的待处理音频,以及存储用户终端101对待处理音频处理得 到的音符起始点序列、重拍时间点序列、目标转场时间点序列等。可选地,音频 处理设备102也可以直接在音频处理设备端处理存储的待处理音频,进而得到 的目标转场时间点序列,并依据目标转场时间点序列将音频的转场时间点和图 片或视频进行结合,构成组合数据下发给用户终端设备101。
46.上述音频处理系统通过获取待处理音频本身的动态特征信息,基于该动态 特征信息确定目标转场时间点序列,在待处理音频为音乐时,能够提供长度符合 用户转场体验的时间位置,在对应的时间位置上进行图片或视频切换,使得音乐 的可视化感知更强烈。
47.请参见图2,图2是本技术实施例提供的一种音频处理方法的流程示意图。 该方法可以由用户终端(例如,上述图1所示的用户终端101)执行,也可以由 用户终端和服务器
(如上述图1所示的音频处理设备102)共同执行。为便于理 解,本实施例以该方法由上述用户终端执行为例进行说明。其中,该音频处理方 法至少可以包括以下步骤s201~s206:
48.s201,获取待处理音频,确定待处理音频对应的音符起始点序列。
49.在一实施例中,待处理音频可以是从终端设备中缓存的音频中获取,也可以 从服务器中缓存的音频获取,该待处理音频可以是属于音乐类的语音数据,例如 纯音乐,或人声配合乐器旋律组合的歌曲,或人声清唱的音频等等,在此对待处 理音频的获取方式和类型不做限制。音符起始点序列基于待处理音频得到,可选 的处理方式可以是对待处理音频进行时域分析或者频域分析,可参见下述实施 例对应的内容,在此不做详述。需要说明的是,音符起始点序列对应的纵坐标是 节拍强度值,节拍强度值中峰值的横坐标对应的则是所有可能的音符起始点,在 描述音乐动态中,音符起始点是能量增大的时间位置,在本实施例中将音符起始 点序列称为onset序列或onset,后续步骤的处理是基于音符起始点序列进行的。
50.s202,根据音符起始点序列确定目标节拍时间,以及利用目标节拍时间对音 符起始点序列进行处理,得到重音时间点序列。
51.在一实施例中,由于一拍的时间(即节拍或节拍时间)理论上是落在等间隔 的音符起始点上的,因此,音符起始点序列也是节拍时间的周期序列,可以通过 对该音符起始点序列进行自相关处理确定音符起始点序列的周期,进而确定目 标节拍时间,该目标节拍时间是属于待处理音频的bpm(beat per minute,一分 钟内的节拍数)信息。在一般情况下,由于非一拍时间内其他的onset幅度值会 对当前节拍时间内的onset幅度值有所影响,因此可以利用目标节拍时间设计窗 函数对音符起始点序列进行处理,抑制非一拍时段内的onset幅度值的影响,同 时可以增强有效节拍波峰位置,处理之后的序列即重音时间点序列,此步骤对应 的可选实现方式可参见下述实施例对应的内容,在此也不做详述。重音时间点序 列的横坐标为时间点,单位为帧,纵坐标为经过自相关处理之后的节拍强度,单 位为分贝,简单来说,重音时间点序列包括的是每个时间点和节拍强度的映射关 系,即onset(n),重音时间点序列也可以视为优化之后的音符起始点序列,重音 时间点序列可以当做onset包络,能够说明onset的节拍强度的峰值走向,根据 该onset包络可以进一步确定目标转场时间点序列,处理方式可以参见本实施例 的下述步骤中的内容。
52.s203,根据目标节拍时间确定转场时间点间隔参数,以及根据转场时间点间 隔参数构造成本转移函数。
53.在一实施例中,目标节拍时间是根据音符起始点序列确定出来的有效节拍 时间,属于音频的bpm信息。结合这个bpm信息,可以给出转场时间点间隔 参数,包括期望转场时间间隔、最大转场时间间隔以及最小转场时间间隔。可选 地,期望转场时间间隔是目标转场时间,是转场时间点之间的最佳间隔时间,也 即最佳转场时间,最小转场时间间隔是描述波峰间距的最小值,最大转场时间间 隔是描述波峰间距的最大值。假设目标节拍时间为t
b
,本方案认为最符合用户听 觉舒适感受的转场时间一般为5s(秒)左右,因此结合该目标节拍时间给出期 望转场时间间隔,具体表达式如下:
54.55.其中,[
·
]表示四舍五入取整,t
b
为目标节拍时间。
[0056]
设定最小的波峰间距值要满足在目标转场时间的一半附近,最大的波峰间 距为目标转场时间的1.2倍附近,有如下表达式:
[0057][0058]
其中,和分别表示向上取整和向下取整,t
b
为目标节拍时间。结合上 述转场时间点间隔参数,即期望转场时间间隔t
c
、最大转场时间间隔t
cmax
以及 最小转场时间间隔t
cmin
,可以构造出成本转移函数,即:
[0059][0060]
其中,m0=t
c
,表示目标转场时间,η
l
、η
r
分别表示左右紧致系数,此处 选择η
l
=2.5,η
r
=0.8。请参见图3,图3是本技术实施例提供的一种成本转移 函数沿y轴翻转之后的示意图,可以发现,该成本转移函数是一个服从偏态分 布的曲线(简称为偏态分布曲线),其对应的期望转场时间间隔(目标转场时 间)为5.24秒,原有的成本转移曲线沿y轴翻转之后,对应的自变量时间t的 取值在负半轴,但无论如何,该曲线中的期望转场时间间隔对应的成本转移函 数取值最大,大于该期望转场时间间隔所对应的成本转移函数值或小于该期望 转场时间间隔对应的成本转移函数值都是小于最大值1且呈递减的趋势。
[0061]
s204,利用成本转移函数对重音时间点序列进行处理,得到待处理音频对应 的目标转场时间点序列。
[0062]
在一实施例中,重音时间点序列(或重拍序列)可以作为参考序列进行分析 处理,可以利用成本转移函数对其进行处理,得到转场时间点,在此步骤中运用 的成本转移函数是如图3所示的沿y轴翻转之后的成本转移函数,翻转的作用 是对转场时间点有合理的动态时间估算,进而取得准确的转场时间点。利用成本 转移函数处理重音时间点序列的可选实现方式为:根据基准时间点对重音时间 点序列进行拆分处理,得到第一重音时间点序列和第二重音时间点序列;利用成 本转移函数对第一重音时间点序列进行处理,得到第一转场时间点序列;利用成 本转移函数对第二重音时间点序列进行处理,得到第二转场时间点序列;对第一 转场时间点序列和第二转场时间点序列进行拼接处理,得到待处理音频对应的 目标转场时间点序列。
[0063]
可选地,基准时间点为重音时间点序列中最大节拍强度值对应的时间点。将 重音时间点序列记为beat_onset,其对应的数学表达式记为o(n),n=1,2,

,q,q 表示总帧数,o(n)表示第n帧的beat_onset数值。基准时间点记为b
m
,对应的 是重音时间点序列中能量(即节拍强度值)最大的波峰对应的帧位置,以该位置 为基准将重音时间点序列o(n)拆分为前后两段,得到第一重音时间点序列和第 二重音时间点序列,此处,将第一重音时间点序列对应为前半段重音时间点序列, 记为o1(n),有将第二重音时间点序列对应为后半段重音时 间点序列,记为o2(n),有下述
为了方便描述,直接 将o2(n

b
m
)表示为o2(n),n=n

b
m
,表示n取值从0开始。
[0064]
首先对第二重音时间点序列进行分析,对于第二重音时间点序列o2(n),其 对应总帧数记为q2=q

b
m
,利用成本转移函数处理该第二重音时间点序列, 在本实施例中具体是利用动态规划的方式处理第二重音时间点序列,得到第二 转场时间点序列。可选地,实现过程如下:将第二重音时间点序列的第一个 点,即b
m
视为第一个有效转场位置,在第n个点时,查找其对应的上一个最佳 转场位置,即转场时间点。可选地,可以通过以下公式查找:
[0065]
[v
max
,k
max
]=argmax{c2(n+k)
·
f(k)|
k=∈[

u,

l]
}
[0066]
其中,v
max
,k
max
分别表示当前计算c(n+k)
·
f(k)得到的最大值以及最大值对 应的索引位置,argmax函数表示c(n+k)
·
f(k)取最大值时的k值,f(k)为成本 转移函数,c(n+k)为累计代价函数,l=[t
cmin
/t
hop
]和u=[t
cmax
/t
hop
]分别表示波峰 间距的最小帧数和波峰间距的最大帧数。
[0067]
根据上述表达式,上一个有效转场位置可记录为:p2(n)=n+k
max
,下标2表 示对第二重音时间点序列o2(n)做跟踪处理。需要说明的是,上述v和k之间的 关系为:
[0068]
v(k)=c2(n+k)
·
f(k)
[0069]
其中,累计代价函数的具体表达为:c2(n)=α
·
v
max
+o2(n),α表示成本转移 权重,此处选择α=0.2,o2(n)表示第二重音时间点序列,v
max
表示上一个转场 时间点对应的最大值。在记录第n点的上一个最佳转场位置,得到v
max
后需要 基于得到的v
max
对累计代价函数值进行更新,以运用到第n+1个点的计算中, 以此类推计算所有点的代价函数同时记录上一个有效转场点。
[0070]
对上述查找公式进行分析,有如下说明:k在[

u,

l]中取值,代表的是基于 当前第n点往x的负半轴查找l~u距离的时间点,也即以第n帧为准线,往时 间轴的左半轴距离l~u帧中确定转场时间点。在这个时间点范围内,成本转移 函数对重音节拍时间点序列的处理即是将成本转移函数的函数值作为对应的节 拍权重值,赋给重音节拍时间点序列的节拍强度值(即相乘),将计算得到的 最大值对应的时间点作为转场时间点。这样的方式下,第n个点记录的有效转 场位置n+k
max
作为候选的转场时间点,是在[n

u,n

l]这个范围中确定,但是 在距离第n帧的前t
c
/t
hop
个帧位置的时间点范围内,记录的转场时间点都是第 一个点,也就是后半段重音时间点序列的第一个帧位置即基准时间点b
m
,这是 因为成本转移函数在期望转场时间的时间点对应的函数值最大,而该期望转场 时间的时间点的两边都是小于该函数值的点。请参见图4,图4是本技术实施 例提供的一种处理重音时间点序列的动态示意图。在该图中以图3所示的成本 转移函数处理第二重音时间点序列,可以发现,随着n取值的变化,对应的成 本转移函数作用在重拍时间点序列上的时间点范围也在发生变化。
[0071]
举例来说,若k∈[

6,

3],将第二转场时间点序列中第1个点,也即b
m
作 为转场时间点,记录为p2(0)=0,此时b
m
对应的最大峰值即为v
max
,将累计代价 函数的函数值更新为c2(0)=0.2
×
o2(0)+o2(0);第2个点时,由于只有第1个点 有对应的v
max
,对比查找到对应的转场时间点还是b
m
,则记录p2(1)=0;第3个 点时,有第1个点和第2个点对应的节拍强度值,但由于k的取值,只有往前 找3个点才有大于0的值,而其余点对应的v
max
都为0,因此仍旧记录p2(2)=0; 第4个点时,往前找到第2或3个点的v
max
都是0,第1个点对应的值由于成本 转
[0081]
在一实施例中,除了上述的动态规划的方式确定目标转场时间点序列,基于 重音时间点序列(也即重拍序列)的有效转场时间检测也可以直接利用有效波峰 位置,例如提取重拍曲线上间隔大于2.5s的有效波峰位置作为最终的有效转场 时间,相比于动态规划的方案,这样的操作同样可以估算有效重拍时间,且计算 量更低。
[0082]
需要说明的是,本方案中的转场时间点是以“帧”这一概念进行表述的,所 涉及的具体时间参数也是以帧为单位,如第一重音时间点序列中的n,表示的是 第n帧。对于帧和时间t时间的转换关系如下:
[0083][0084]
其中,t表示时间,单位为秒(s),t
hop
表示帧移,单位为毫秒(ms)。本 申请实施例中涉及的字母n均表示帧位置索引,而t或t表示秒(s),在提供 的附图展示中涉及的时间则是将帧位置索引转换为秒进行绘制的,如图3所示 的成本转移函数的曲线图,其横坐标对应的时间单位即为秒,但是在具体用来 处理重拍时间点序列时,其对应的时间单位为帧位置索引。
[0085]
综上所述,本技术实施例至少具有以下优点:
[0086]
对待处理音频提取重音时间点序列,通过最大峰值对应的基准时间点将重 音时间点序列划分为前后两个序列分别处理,将第一个基准时间点视为第一个 有效的转场时间点,能够保证第一个转场时间点是准确的,进而得到准确的转场 时间点序列。整个过程中,利用成本转移函数进行动态规划,根据节拍强度值、 成本函数的函数值以及转场时间点间隔参数确定出目标转场时间点序列,在这 个过程中,通过合理的动态时间估算,提供长度符合用户转场体验的转场时间点, 准确高效地确定出目标转场时间点序列中的转场时间点。另外,直接利用在重音 时间点序列中提取转场时间间隔参数的有效波峰位置的时间点,将其作为目标 转场时间点序列,从计算代价的角度来看,也是一种快速高效的方式。
[0087]
请参见图6,图6是本技术实施例提供的一种音频处理方法的流程示意图。 该方法可以由用户终端(例如,上述图1所示的用户终端101)执行,也可以由 用户终端和服务器(如上述图1所示的音频处理设备102)共同执行。为便于理 解,本实施例以该方法由上述用户终端执行为例进行说明。其中,该音频处理方 法至少可以包括以下步骤s601~s606。
[0088]
s601,获取待处理音频,对待处理音频进行分帧处理,得到m帧音频数据。
[0089]
在一实施例中,当获取到的待处理音频为双声道时,为了计算简便节省算力, 可以对左右声道信号进行平均得到单路信息:
[0090][0091]
其中,x
l
(i),x
r
(i)分别表示左右声道信号,i表示样点索引。
[0092]
由于在检测时主要是针对人声发声的位置做检测,故主要关注人声能量主 要集中的频段,且由于人耳对低频重拍的感知更加敏感,同时也为了降低计算量, 提供运算效率,在本实施例中将原始音频采样率降为8khz,在此利用resample ()函数对该x
mono
(i)进行重采样:
[0093]
x(i)=resample(x
mono
(i))
[0094]
由于获取到的待处理音频(或称为音频信号)可能是很大的音频文件,或者 是实时的数据流,对音频信号进行分帧处理,也即对音频信号分段处理,是一种 能够提高音频信号处理效率的方法。需要说明的是,本实施例中音频信号、音频 数据、待处理音频都是同一对象的不同表达,具有相同的含义,均表示数字化的 声音数据。
[0095]
可选地,在本实施例中以t
hop
=4ms为帧移,20ms为帧长对信号做分帧处理, 得到多段音频数据,可以利用窗口长度为20ms的汉宁(hanning)窗在音频信号 上以4ms的步长往时间的正半轴方向进行移动,实现对音频信号的分帧处理, 得到m帧音频数据,这里的m为正整数。此处,定义输入信号为上述对待处理 音频降采样之后得到的x(i),i=0,1,2,

表示样点索引,将音频信号切分为若干帧, 即在音频信号上添加hanning窗,得到切分后的加窗帧信号序列,具体表达如下:
[0096]
x
w
(n,i)=x(l
·
n+i)
·
w
hann
(i)
[0097]
其中,n表示帧位置索引,i表示第i个样点,l表示帧移(此处为帧移4ms 对应的样点数),w
hann
(i)表示汉宁窗。
[0098]
对于汉宁窗w
hann
(i)的定义如下:
[0099][0100]
其中,i表示第i个样点,n表示窗长(此处为帧长20ms对应的样点总数)。 为了表示渐变,在此直接用x(ln+i)表示第n帧信号,也就是用x(ln+i)表示经过 汉宁窗处理之后的音频信号x
w
(n,i),n从0开始取值,一直取到分帧处理得到的 最后一帧,构成分帧处理后的m帧音频数据。
[0101]
s602,确定m帧音频数据中每帧音频数据的功率。
[0102]
在一实施例中,m帧音频数据也就是m段音频信号,可以通过计算各段音 频信号的幅度平方均值,将其作为该段音频信号的功率,对于各帧音频信号的功 率的计算表达式如下:
[0103][0104]
其中,l表示帧移(即4ms对应的样点数),n表示帧长(此处选择20ms对 应的样点数),p(n)表示第n帧信号的功率,x(ln+i)表示第n帧信号对应的幅度 值,此处,对幅度平方值进行10
·
log
10
的处理是为了进一步计算功率分贝值(db)。
[0105]
s603,对第一帧音频数据的功率和第二帧音频数据的功率进行差分处理,并 根据差分处理结果得到音符起始点序列。
[0106]
在一实施例中,第一帧音频数据为m帧音频数据中的任一帧音频数据,第 二帧音频数据为该第一帧音频数据的后一帧音频数据。进一步地,由于第一帧音 频数据和第二帧音频数据之间功率的差分处理,对应的,第二帧音频数据是从m 帧音频数据中的第2帧音频数据开始计算,对应的帧位置标记可以取值1,也即 p(1)表示第2帧音频数据的功率(值),此时,第一帧音频数据的功率对应为p(0), 表示m帧音频数据中的第1帧音频数据,第一帧音频数据和第二帧音频数据是 m帧音频数据中的相邻两帧音频数据。利用相邻两帧音频数据的功率差分对音 符起始点序列做初步估算,即:
[0107]
o
raw
(n)=p(n)

p(n

1)
[0108]
其中,o
raw
(n)表示第n帧估算得到的onset强度值,n=1,2,3

,n1,n1表示 帧数。对应的,p(n)表示第二帧音频数据的功率,p(n

1)表示第一帧音频数据的 功率,针对不同的n的取值,差分处理结果也就是o
raw
(1)、o
raw
(2)

o
raw
(n1),进 而构成的音符起始点序列,也可称为onset序列。其具体的图形表达可以参见图7,图7是本技术实施例提供的一种90s的onset序列,横坐标表示时间,单位 为秒(s),纵坐标表示onset强度值,单位可以采用和功率相同的度量,即分贝。 需要说明的是,本方案针对音频数据的处理均是在时域完成的,不涉及频域的转 换,无论是上述待处理音频、音频数据、音符起始点序列,还是下述的重音时间 点序列、转场时间点序列等均是以帧为单位进行分析的,若以秒为单位,则需要 根据帧和秒之间的关系(秒=帧帧移)进行转换。本技术提供的相关图形(如下 述音符起始点序列、偏态窗等对应的图形)均是将帧转换为秒之后的图形。
[0109]
本技术实施例中待处理音频对应的音符起始点序列是从时域确定的,而在 不计系统算力的情况下,可以进一步通过频谱特征,比如利用短时傅里叶变换 stft得到语谱图,或者计算mel频谱(梅尔频谱),bark谱(巴克谱,音频处 理的一种尺度衡量)甚至是chroma特征(色度特征,包括色度向量和色度图谱) 来计算帧间差分,利用频谱差分能够得到更加准确的onset强度特性,更加准确 的描述音乐动态,让最终的转场检测效果更好。
[0110]
s604,根据音符起始点序列确定目标节拍时间,以及利用目标节拍时间对音 符起始点序列进行处理,得到重音时间点序列。
[0111]
在一实施例中,根据音符起始点序列确定目标节拍时间的可选实现方式可 以为:对音符起始点序列进行自相关处理,得到节拍周期序列;利用第一窗函数 对节拍周期序列进行加窗处理,得到加窗处理后的节拍周期序列;其中,第一窗 函数为服从偏态分布的窗函数;将加窗处理后的节拍周期序列中的最大波峰值 对应的时间点确定为目标节拍时间。
[0112]
可选地,以待处理音频为歌曲对应的语音数据为例进行说明,由于歌曲的节 拍理论上是落在等间隔的音符起点上的,音符起点序列也可以视为周期性的节 拍序列,因此基于常见的节拍信息可以从音符起始点序列中确定出有效的目标 节拍时间。本实施例中首先假定歌曲的节拍为恒定值,为节省计算时间,仅对音 频信号中90s的onset序列做自相关处理,同时,绝大多数歌曲的bpm在40~220 之间,对应的时长为1.5s~0.2727s,具体计算方式为60s/bpm,这里即60s/40=1.5s, 60/220s≈0.2727s。为了更方便的计算,可以观察例如4s内的自相关结果,来找 出歌曲的节拍。故可以通过计算获取长度为4s的onset自相关序列,也就是对 onset序列进行自相关处理后得到的节拍周期序列,处理过程如下:
[0113]
rawxcr(n)=autocorr(o
raw
(n))
[0114]
其中,autocorr(
·
)表示自相关处理,o
raw
(n)为音符起始点序列。
[0115]
节拍周期序列可以参见图8,图8是本技术实施例提供的一种4s的onset自 相关序列,横坐标表示时间,单位为秒,纵坐标是onset序列自相关得到的幅度 值,可以理解为能量值。
[0116]
进一步地,根据流行音乐的节奏特点,一般常见音乐节拍在60bpm~200bpm 左右。为此,可以将rawxcr通过宽度范围在0.3s~1s的偏态窗,该偏态窗是服从 偏态分布的函数,作为第一窗函数可以对节拍周期序列进行加窗处理,用以降低 远离120bpm的自相关峰值点影响,对于第一窗函数的定义如下:
[0117][0118]
其中,m0表示理想一拍时间(即0.5s对应的帧数),α用来控制偏态窗宽 度,此处选择α=3。该第一窗函数对应的是服从偏态分布的曲线,可参见图 9,图9是本技术实施例提供的一种第一窗函数的示意图。可以发现,该偏态 窗幅度大于0值的范围是在0.3s~1s,超出该范围的均取值为0。
[0119]
将rawxcr通过宽度范围在0.3s~1s的偏态窗后得到的自相关序列表示为:
[0120]
xcr(n)=rawxcr(n)
·
w(n)
[0121]
其中,rawxcr(n)表示节拍周期序列(即onset自相关序列),w(n)表示第一窗 函数,xcr(n)表示加窗处理后的节拍周期序列。
[0122]
请参见图10,图10是本技术实施例提供的一种对加窗处理前后的节拍周期 序列对比的示意图,可以发现,相比于自相关的节拍周期序列,该加窗处理后的 节拍周期序列在0.5秒左右的峰值被进一步放大,而其周围的峰值被进一步减 小,这样就容易确定出目标节拍时间,即加窗后自相关序列的最大波峰对应的时 间,也可称之为有效节拍时间,根据图10所示出的图形,估算出的有效波峰位 置在0.5240s附近,以该时间位置作为有效的节拍时间,记为pd=0.5240s。
[0123]
在一实施例中,利用目标节拍时间对音符起始点序列进行处理,得到重音时 间点序列的可选实现方式可以是:根据目标节拍时间确定的第二窗函数对音符 起始点序列进行平滑处理,得到初始重音时间点序列;确定初始重音时间点序列 的节拍强度均值;根据节拍强度均值对初始重音时间点序列进行筛选处理,得到 重音时间点序列。
[0124]
可选地,为了尽量抑制音符起始点序列中非一拍时段内的其他onset幅度对 当前onset的影响,同时增强有有效beat波峰位置,因此可以基于目标节拍时间 构造合适的第二窗函数对音符起始点序列处理,得到重音时间点序列。在本实施 中,利用高斯窗卷积实现对onset序列做平滑(卷积)处理,用t
b
作为半窗长设 计高斯窗,即:
[0125][0126]
其中,t∈[

t
b
,t
b
],σ表示标准差,t
b
表示目标节拍时间,即一拍的时间, 在此选择t
b
=pd=0.5240s,此处标准差选择σ=t
b
/32。
[0127]
利用上述构造的高斯窗对音符起始点序列进行卷积平滑处理后,得到初始 重音时间点序列onset_env,记为o
env
(n),公式表示如下:
[0128]
o
env
(n)=conv(o
raw
(n),g(n)),
[0129]
其中,t
hop
表示帧移,此处仍旧采用前述步骤s601中分帧处理中的帧移 4ms。
[0130]
请参见图11,图11是本技术实施例提供的一种对音符起始点序列平滑处 理前后对比的示意图,经过两倍节拍间隔长度的高斯滤波之后,得到onset_env 即onset包络,也即初始重音时间点序列,该onset包络的音频信息十分丰富, 因此后续的处理也是基于处理后的onset包络。进一步地,利用平滑处理后得 到的onset_env序列响应幅度值大于0的
峰值点位置作为可能的重音位置点, 也就是重音时间点,将该过程得到的曲线作为节拍曲线beat_onset,也即上述 提及的重音时间点序列。可选地,可以对onset_env曲线做整流处理,得到节 拍osnet序列,也就是beat_onset,用o(n)表示,处理过程如下:
[0131]
其中,q表示总帧数。
[0132]
将初始重音时间点序列的节拍强度均值即各个响应幅度值的平均值作 为参考的标准,根据该节拍强度均值调整初始重音时间点序列,按照上述规则是 将大于该节拍强度均值的节拍强度值调整为小于或等于该节拍强 度值的节拍强度值调整为0,进而得到重音时间点序列beat_onset,请参见图12, 图12是本技术实施例提供的一种重音时间点序列的示意图,该重音时间点序列 是基于图11示例的初始重音时间点序列处理得到的,可以发现,经过整流处理 后相应的峰值有些减小。另外,需要说明的是,在本技术实施例中,上述示出的 重音时间点序列、目标节拍时间等均可以用于下述步骤,进而可以根据前述实施 例描述对重音时间点具体的处理方式得到目标转场时间点序列。
[0133]
s605,根据目标节拍时间确定转场时间点间隔参数,以及根据转场时间点间 隔参数构造成本转移函数。
[0134]
s606,利用成本转移函数对重音时间点序列进行处理,得到待处理音频对应 的目标转场时间点序列。
[0135]
上述步骤s605~s606的可选实现方式可参见上述图2对应实施例中的 s203~s204,这里不再进行赘述。
[0136]
综上,本技术实施例至少具有以下优点:
[0137]
本实施例通过直接在时域做分帧处理和差分处理,基于待处理音频构造 onset曲线,相比于将待处理音频从时域变换到频域,是一种更加快速高效的获 取音符起始点序列的实现方式,通过对音符起始点序列进行平滑处理,抑制其他 峰值的影响,增强有效波峰,得到重音时间点序列,基于该重音时间点序列能够 保证获取更准确的转场时间点序列。
[0138]
请参见图13,图13是本技术实施例提供的一种音频处理方法的流程示意 图。该方法可以由用户终端(例如,上述图1所示的用户终端101)执行,也可 以由用户终端和服务器(如上述图1所示的音频处理设备102)共同执行。为便 于理解,本实施例以该方法由上述用户终端执行为例进行说明。其中,该音频处 理方法至少可以包括以下步骤s1301~s1306:
[0139]
s1301,获取待处理音频,确定待处理音频对应的音符起始点序列。
[0140]
s1302,根据音符起始点序列确定目标节拍时间,以及利用目标节拍时间对 音符起始点序列进行处理,得到重音时间点序列。
[0141]
s1303,根据目标节拍时间确定转场时间点间隔参数,以及根据转场时间点 间隔参数构造成本转移函数。
[0142]
s1304,利用成本转移函数对重音时间点序列进行处理,得到待处理音频对 应的目标转场时间点序列。
[0143]
上述步骤的s1301~s1304的可选实现方式可参见上述图2对应实施例中的 s201~s204,这里不再进行赘述。
[0144]
s1305,从重音时间点序列中获取第一转场时间点对应的第一节拍强度值, 以及
获取第二转场时间点对应的第二节拍强度值。
[0145]
在一实施例中,重音时间点序列是对待处理音频对应的音符起始点序列处 理之后得到的,可参见前述实施例中对应得到beat_onset的处理方式。可选地, 第一转场时间点为目标转场时间点序列中的任一转场时间点,第二转场时间点 为目标转场时间点序列中与第一转场时间点相邻的转场时间点。因此,第二转场 时间点序列既可以是与第一转场时间点左相邻,也可以与第一转场时间点右相 邻,由于目标转场时间点序列中的转场时间点是从重音时间点序列中筛选出来 的,目标时间点序列可视为重音时间点序列的横坐标的子集,因此,在重音时间 点序列中,根据时间点和节拍强度值的映射关系是可以找到与目标转场时间点 序列中的转场时间点对应的节拍强度值,进而得到第一转场时间点对应第一节 拍强度值以及第二转场时间点对应第二节拍强度值,这两个节拍强度值可能相 同,也可能不同,在此对其大小不做限定。
[0146]
s1306,若在重音时间点序列中第一转场时间点和第二转场时间点之间,存 在节拍强度值大于第一节拍强度值且大于第二节拍强度值的参考时间点,则根 据参考时间点对目标转场时间点序列进行调整,得到调整后的目标转场时间点 序列。
[0147]
在一实施例中,从重音时间点序列中查找第一转场时间点和第二转场时间 点之间是否存在这样一个参考时间点:其对应的节拍强度值是大于第一转场时 间点对应的第一节拍强度值,并且大于第二转场时间点对应的第二节拍强度值。 如果存在,那么说明目标转场时间点序列中的第一转场时间点或第二转场时间 点需要根据该参考时间点进行调整。
[0148]
在一实施例中,调整的规则可以是:将参考时间点作为目标转场时间点序列 中的转场时间点,并将第一转场时间点和第二转场时间点中的一个或多个从目 标转场时间点序列中删除。可选地,可以确定第一转场时间点和参考时间点之间 的时间差值,以及确定第二转场时间点和参考时间点之间的时间差值;若第一转 场时间点和参考时间点之间的时间差值,小于或等于第二转场时间点和参考时 间点之间的时间差值,则将第一转场时间点从目标转场时间点序列中删除;若第 一转场时间点和参考时间点之间的时间差值,大于第二转场时间点和参考时间 点之间的时间差值,则将第二转场时间点从目标转场时间点序列中删除。
[0149]
上述针对当前转场时间(即目标转场时间点序列)是通过onset的峰值信息 做进一步修正。当相邻两个转场时间点c(l)(对应第一转场时间点),c(l+1)(对 应第二转场时间点)内出现的onset峰值点,该点位置记为l
p
(对应参考时间点), 若出现:o(l
p
)>o(c(l))且o(l
p
)>o(c(l+1)),也即对应参考时间点的节拍强度值大 于相邻两个转场时间点,则对转场时间点做进一步更新。更新规则如下:当 时,修改c(l+1)=l
p
,否则修改c(l)=l
p

[0150]
换而言之,参考时间点是出现在相邻转场时间点之间且具有onset峰值的时 间点,将两个相邻时间点的平均值作为标准,比较参考时间点和平均值的大小关 系,从另一个角度来看,也即比较参考时间点距离两个相邻转场时间点之间的时 间差值,简单来说,参考时间点距离哪一个转场时间点更近,就将哪个转场时间 点调整为参考时间点。示例性地,第一转场时间点和第二转场时间点分别为5和 9,其出现onset峰值的参考时间点为6,
相邻两个转场时间点的均值为7,通过 比较可以发现,参考时间点偏向第一转场时间点5,因此可以将第一转场时间点 5替换为参考时间点6,这个过程也就是将第一转场时间点从目标转场时间点序 列中删除,而参考时间点作为新的目标转场时间点添加到目标转场时间点序列 中的过程。
[0151]
请参见图14,该图是本技术实施例提供的一种目标转场时间点序列调整前 后在重音时间点序列中分布的示意图,图14是将前述实施例中的重音时间点序 列beat_onset作为示例进行绘制得到的,对应的目标转场时间点序列也是基于 beat_onset序列得到的。可以发现,在该图中的第四个转场时间点和第五个转场 时间点之间存在大于两边与之相邻的转场时间点对应的onset峰值的参考时间 点,根据上述规则将第四个转场时间点调整为参考时间点,得到如图14中修正 后的转场时间点在重拍时间点序列中的分布曲线,在该分布曲线中,转场时间点 对应的onset峰值基本都是onset中较大的峰值点,能够保证转场时间点的准确 性和有效性。
[0152]
根据本实施例提供的方案,其流程可以简要概括为如图15所示的获取转场 时间点的流程示意图。首先,输入音频x,该音频x即待处理音频,然后对音频 数据进行降采样处理,得到降采样之后的音频。接着基于该降采样的音频提取 onset序列,也就是音符起始点序列,进而能够根据音符起始点序列进行bpm估 算。随后,可以根据估算出来的bpm信息和提取的onset序列这两个信息来提 取onset包络,也即重音时间点序列,进而根据重音时间点序列等信息动态规划 有效转场时间点,得到目标转场时间点序列,最终根据onset序列调整有效转场 时间点,也即调整目标转场时间点序列,进一步提升转场时间点的准确性。针对 待处理音频为音乐类的语音数据,在得到音乐的转场时间点以及转场时间之后, 可以配合在转场时间点出现时,做出对应的视频或者图像切换,如一些踩点视频 的制作,其视频的转场随着鼓点变换而变换的,如果应用在音乐播放类软件上, 可以加深用户的音乐战场感知,增强音乐的沉浸感受和娱乐性。本方案给到的音 乐转场时间可以作为音乐音频的一个典型特征应用到mir(音乐特征检索,宽泛 定义为从音频内容中提取信息以及相关应用)的多个方面,比如音乐结构分析等。 同时当前工具作为一个快速高效音乐转场感知特征,可应用到应用客户端,结合 视频展示,让用户具有更加和谐的音视频感官体验,可以作为音乐播放类软件的 一个趣味模块,增加用户粘性,吸引新用户。
[0153]
综上所述,本技术实施例至少有以下优点:
[0154]
在获取目标转场时间点序列后,根据onset的峰值调整目标转场时间点,将 onset峰值对应对参考时间点替换掉一些不精确的转场时间点,进而保证转场时 间点的有效性。在动态规划获取转场时间点的基础上,调整目标转场时间点,可 以使得目标转场时间点序列的准确性得到进一步提升,而基于准确合适的转场 时间点以及转场时间,配合相应的图片或视频切换,可以使得音乐的可视化感知 更形象,音乐的沉浸感受更强烈。
[0155]
请参见图16,图16是本技术实施例提供的一种音频处理装置的结构示意 图。上述音频处理装置可以是运行于服务器中的一个计算机程序(包括程序代 码),例如该音频处理装置为一个应用软件;该音频处理装置可以用于执行本申 请实施例提供的方法中的相应步骤。如图16所示,该音频处理装置160可以包 括:获取模块1601、处理模块1602、确定模块1603,其中:
[0156]
获取模块1601,用于获取待处理音频,确定待处理音频对应的音符起始点 序列;
[0157]
处理模块1602,用于根据音符起始点序列确定目标节拍时间,以及利用目 标节拍时间对音符起始点序列进行处理,得到重音时间点序列;
[0158]
确定模块1603,用于根据目标节拍时间确定转场时间点间隔参数,以及根 据转场时间点间隔参数构造成本转移函数;
[0159]
处理模块1602,还用于利用成本转移函数对重音时间点序列进行处理,得 到待处理音频对应的目标转场时间点序列。
[0160]
在一实施例中,确定模块1603,具体用于对待处理音频进行分帧处理,得 到m帧音频数据,其中,m为正整数;确定m帧音频数据中每帧音频数据的功 率;对第一帧音频数据的功率和第二帧音频数据的功率进行差分处理,并根据差 分处理结果得到音符起始点序列;其中,第一帧音频数据为m帧音频数据中的 任一帧音频数据,第二帧音频数据为第一帧音频数据的后一帧音频数据。
[0161]
在一实施例中,确定模块1603,具体还用于对音符起始点序列进行自相关 处理,得到节拍周期序列;利用第一窗函数对节拍周期序列进行加窗处理,得到 加窗处理后的节拍周期序列,其中,第一窗函数为服从偏态分布的窗函数;将加 窗处理后的节拍周期序列中的最大波峰值对应的时间点确定为目标节拍时间。
[0162]
在一实施例中,处理模块1602,具体用于根据目标节拍时间确定的第二窗 函数对音符起始点序列进行平滑处理,得到初始重音时间点序列;确定初始重音 时间点序列的节拍强度均值;根据节拍强度均值对初始重音时间点序列进行筛 选处理,得到重音时间点序列。
[0163]
在一实施例中,处理模块1602,具体用于根据基准时间点对重音时间点序 列进行拆分处理,得到第一重音时间点序列和第二重音时间点序列,基准时间点 为重音时间点序列中最大节拍强度值对应的时间点;利用成本转移函数对第一 重音时间点序列进行处理,得到第一转场时间点序列;利用成本转移函数对第二 重音时间点序列进行处理,得到第二转场时间点序列;对第一转场时间点序列和 第二转场时间点序列进行拼接处理,得到待处理音频对应的目标转场时间点序 列。
[0164]
在一实施例中,该音频处理装置160还包括:调整模块1604,用于从重音 时间点序列中获取第一转场时间点对应的第一节拍强度值,以及获取第二转场 时间点对应的第二节拍强度值,其中,第一转场时间点为目标转场时间点序列中 的任一转场时间点,第二转场时间点为目标转场时间点序列中与第一转场时间 点相邻的转场时间点;若在重音时间点序列中第一转场时间点和第二转场时间 点之间,存在节拍强度值大于第一节拍强度值且大于第二节拍强度值的参考时 间点,则根据参考时间点对目标转场时间点序列进行调整,得到调整后的目标转 场时间点序列。
[0165]
在一实施例中,调整模块1604,具体用于将参考时间点作为目标转场时间 点序列中的转场时间点,并将第一转场时间点和第二转场时间点中的一个或多 个从目标转场时间点序列中删除。
[0166]
在一实施例中,调整模块1604,具体用于确定第一转场时间点和参考时间 点之间的时间差值,以及确定第二转场时间点和参考时间点之间的时间差值;若 第一转场时间点和参考时间点之间的时间差值,小于或等于第二转场时间点和 参考时间点之间的时间差值,则将第一转场时间点从目标转场时间点序列中删 除;若第一转场时间点和参考时间点
之间的时间差值,大于第二转场时间点和参 考时间点之间的时间差值,则将第二转场时间点从目标转场时间点序列中删除。
[0167]
本技术提供的音频处理装置中各功能模块的功能可根据上述方法实施例中 的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不 再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
[0168]
请参见图17,是本技术实施例提供的一种计算机设备的结构示意图,该计 算机设备170可以包括处理器1701、存储器1702、网络接口1703和至少一个 通信总线1704。其中,处理器1701用于调度计算机程序,可以包括中央处理器、 控制器、微处理器;存储器1702用于存储计算机程序,可以包括高速随机存取 存储器ram,非易失性存储器,例如磁盘存储器件、闪存器件;网络接口1703 可选的可以包括标准的有线接口、无线接口(如wi

fi接口),提供数据通信功 能,通信总线1704负责连接各个通信元件。该计算机设备170可以对应于前文 的用户终端101。
[0169]
其中,处理器1701可以用于调用存储器中的计算机程序,以执行如下操 作:获取待处理音频,确定待处理音频对应的音符起始点序列;根据音符起始 点序列确定目标节拍时间,以及利用目标节拍时间对音符起始点序列进行处 理,得到重音时间点序列;根据目标节拍时间确定转场时间点间隔参数,以及 根据转场时间点间隔参数构造成本转移函数;利用成本转移函数对重音时间点 序列进行处理,得到待处理音频对应的目标转场时间点序列。
[0170]
在一实施例中,处理器1701具体用于:对待处理音频进行分帧处理,得到 m帧音频数据,其中,m为正整数;确定m帧音频数据中每帧音频数据的功率; 对第一帧音频数据的功率和第二帧音频数据的功率进行差分处理,并根据差分 处理结果得到音符起始点序列;其中,第一帧音频数据为m帧音频数据中的任 一帧音频数据,第二帧音频数据为第一帧音频数据的后一帧音频数据。
[0171]
在一实施例中,处理器1701具体用于:对音符起始点序列进行自相关处理, 得到节拍周期序列;利用第一窗函数对节拍周期序列进行加窗处理,得到加窗处 理后的节拍周期序列,其中,第一窗函数为服从偏态分布的窗函数;将加窗处理 后的节拍周期序列中的最大波峰值对应的时间点确定为目标节拍时间。
[0172]
在一实施例中,处理器1701具体用于:根据目标节拍时间确定的第二窗函 数对音符起始点序列进行平滑处理,得到初始重音时间点序列;确定初始重音时 间点序列的节拍强度均值;根据节拍强度均值对初始重音时间点序列进行筛选 处理,得到重音时间点序列。
[0173]
在一实施例中,处理器1701具体用于:根据基准时间点对重音时间点序列 进行拆分处理,得到第一重音时间点序列和第二重音时间点序列,基准时间点为 重音时间点序列中最大节拍强度值对应的时间点;利用成本转移函数对第一重 音时间点序列进行处理,得到第一转场时间点序列;利用成本转移函数对第二重 音时间点序列进行处理,得到第二转场时间点序列;对第一转场时间点序列和第 二转场时间点序列进行拼接处理,得到待处理音频对应的目标转场时间点序列。
[0174]
在一实施例中,处理器1701还用于:从重音时间点序列中获取第一转场时 间点对应的第一节拍强度值,以及获取第二转场时间点对应的第二节拍强度值, 其中,第一转场
时间点为目标转场时间点序列中的任一转场时间点,第二转场时 间点为目标转场时间点序列中与第一转场时间点相邻的转场时间点;若在重音 时间点序列中第一转场时间点和第二转场时间点之间,存在节拍强度值大于第 一节拍强度值且大于第二节拍强度值的参考时间点,则根据参考时间点对目标 转场时间点序列进行调整,得到调整后的目标转场时间点序列。
[0175]
在一实施例中,处理器1701具体用于:将参考时间点作为目标转场时间点 序列中的转场时间点,并将第一转场时间点和第二转场时间点中的一个或多个 从目标转场时间点序列中删除。
[0176]
在一实施例中,处理器1701具体用于:确定第一转场时间点和参考时间点 之间的时间差值,以及确定第二转场时间点和参考时间点之间的时间差值;若第 一转场时间点和参考时间点之间的时间差值,小于或等于第二转场时间点和参 考时间点之间的时间差值,则将第一转场时间点从目标转场时间点序列中删除; 若第一转场时间点和参考时间点之间的时间差值,大于第二转场时间点和参考 时间点之间的时间差值,则将第二转场时间点从目标转场时间点序列中删除。
[0177]
应当理解,本技术实施例中所描述的计算机设备170可执行前文图2、图6 以及图13所对应实施例中对该音频处理方法的描述,也可执行前文图16所对 应实施例中对该音频处理装置160的描述,在此不再赘述。另外,对采用相同方 法的有益效果描述,也不再进行赘述。
[0178]
此外,这里需要指出的是:本技术实施例还提供了一种计算机可读存储介质, 且上述计算机可读存储介质中存储有前文提及的音频处理的计算机设备170所 执行的计算机程序,且上述计算机程序包括程序指令,当上述处理器执行上述程 序指令时,能够执行前文图2、图6以及图13所对应实施例中对上述音频处理 方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描 述,也不再进行赘述。对于本技术所涉及的计算机可读存储介质实施例中未披露 的技术细节,请参照本技术方法实施例的描述。
[0179]
上述计算机可读存储介质可以是前述任一实施例提供的音频处理装置或者 上述计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读 存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的 插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital, sd)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包 括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质 用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可 读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
[0180]
本技术的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程 序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介 质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执 行该计算机指令,使得该计算机设备执行本技术实施例中一方面提供的音频处 理方法。
[0181]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示 例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为 了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描 述了各示例的组成及步
骤。这些功能究竟以硬件还是软件方式来执行,取决于技 术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使 用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0182]
以上所揭露的仅为本技术较佳实施例而已,当然不能以此来限定本技术之 权利范围,因此依本技术权利要求所作的等同变化,仍属本技术所涵盖的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1