1.一种自动化批量音乐卡点视频生成的系统,其特征是,包括参数配置模块、beats检测模块、downbeats检测模块、鼓点检测模块、结尾点检测模块、决策模块、剪辑与渲染模块;其中,beats检测模块与downbeats检测模块连接,参数配置模块、beats检测模块、downbeats检测模块、鼓点检测模块、结尾点检测模块分别与决策模块连接,决策模块和剪辑与渲染模块连接;
参数配置模块被配置为能够对输入的视频进行参数配置,并将配置的参数信息发生至决策模块,beats检测模块被配置为能够对输入的音频进行检测,得到beats序列,并将beats序列分别发送至downbeats检测模块与决策模块,downbeats检测模块被配置为能够对beats序列进行检测,得到downbeats,并将downbeats发生至决策模块;鼓点检测模块、结尾点检测模块能够分别对输入的音频进行检测,得到鼓点与结尾点,并将检测得到的结果发送至决策模块;决策模块被配置为能够接收上述的检测结果与配置的参数信息进行决策,并将决策发送至剪辑与渲染模块,剪辑与渲染模块被配置为能够根据决策,对视频片段进行自动化编辑,最后把所有的视频片段拼接并加上音乐就得到了最终的视频。
2.一种自动化批量音乐卡点视频生成的方法,其特征是,采用权利要求1中所述的系统,包括以下步骤:
(1)输入音频与视频;
(2)参数配置模块对输入的视频进行参数配置;
(3)beats检测模块、鼓点检测模块、结尾点检测模块分别对输入的音频进行检测,得到beats序列、鼓点与结尾点;
(4)downbeats检测模块对步骤(3)得到的beats序列进行检测,得到downbeats;
(5)决策模块根据步骤(2)中用户配置的参数以及步骤(3)-(4)检测得到beats序列、鼓点、结尾点与downbeats进行决策;
(6)剪辑与渲染模块根据步骤(5)的决策,对视频片段进行自动化编辑,最后把所有的视频片段拼接并加上音乐就得到了最终的视频。
3.根据权利要求2所述的一种自动化批量音乐卡点视频生成的方法,其特征是,步骤(3)中,beats检测模块对输入的音频进行检测,包括以下步骤:
(3.1)计算onsets的能量包络o(t)
(3.11)对输入的音频进行短时傅立叶变换,得到频谱;然后将频谱转换到梅尔频谱上;
(3.12)把时间按4ms为最小单位分成时间片,然后在时间轴上做一阶差值,只保留正值,并把每个时间点上所有频率的正值求和;在求和时用高通滤波器过滤掉人耳难以感知的频段;此时的每一个峰值就是一个onset;
(3.13)最后用高斯窗对求和结果做平滑处理,得到onsets的能量包络o(t);
(3.2)计算全局的tempo
(3.21)基于onsets的能量包络o(t),对其做不同时间延迟下的加权自相关计算,其峰值便是估计的bpm即tempo;加权自相关函数为:
其中,t是时间点,τ为延迟的时间,o(t)为onsets的能量包络,w(τ)是高斯加权函数;
其中,τ0是默认偏向的tempo大小,στ是偏重程度系数;
(3.3)基于动态规划计算beats
(1)找到每个beats的具体时间点,同时进行微调;在寻找beats时,把目标设定为:
其中,{ti}是一个时间序列,即是要找的beats点,ti表示第i个beats点;o(t)为onsets的能量包络,α是平衡两个目标的系数,n为找到的beats点的个数,τp为上一步中计算得到的tempo,f(δt,τ)表示找到的两个beats点的距离和τp的差距,δt=ti-ti-1,表示任意两个相邻时间点的距离;
用动态规划的方法,找到使得c({ti})最大的序列{ti},就是最终的beats序列。
4.根据权利要求2所述的一种自动化批量音乐卡点视频生成的方法,其特征是,步骤(4)中,downbeats检测模块寻找downbeats的方法,包括以下步骤:
(4.1)将beats分组
步骤(3)中已经得到了beats序列为[t0,t1,t2,…,ti,…,tn],默认将beats分为4组,i%4={0,1,2,3}的分别为一组;
(4.2)计算每个beat的能量
采样,以每个beat为中心,计算采样窗口中音频信号能量大小,能量的计算公式为:
其中,en表示第n个beat的能量,
(4.3)计算每组beats的能量
将同一组beats能量相加,得到每组的beats能量大小;
(4.4)找能量最大的一组
在4组中取能量最大的一组就是downbeats。
5.根据权利要求3所述的一种自动化批量音乐卡点视频生成的方法,其特征是,步骤(3)中,鼓点检测模块采用一种基于音频分轨的鼓点检测方法,其步骤如下:
(s1)音频分轨
基于u-net网络架构,在musdb数据集和人为合成的数据集上进行训练,得到了可以将音频分为人声、鼓声、贝斯和其它这四类的音乐分轨模型;利用该模型提取输入音乐当中的鼓声轨;
(s2)计算鼓声轨的onsets
读取鼓声轨的音频信号,利用步骤(3.1)中计算onsets能量包络的方法,计算分离出来的鼓声轨的onsets能量包络,将包络的各个局部峰值点作为鼓声的onsets;
(s3)计算鼓点
先把所有的onsets平移到离其最近的音频信号峰值点,作为检测到的鼓点,并剔除掉平移到同一个峰值点的鼓点;再计算每个鼓点的能量,并把能量低的鼓点剔除,剩下的就是最终的鼓点。
6.根据权利要求1所述的一种自动化批量音乐卡点视频生成的方法,其特征是,步骤(3)中,结尾点检测模块采用一种寻找结尾重音点的方法,其步骤如下:
(3-1)读取音频文件;
(3-2)用汉宁窗对输入信号的能量做卷积平滑处理;寻找其中的波谷和波峰;
(3-3)计算每对波谷和波峰的差值,取差值的均值和中位数中较大的作为threshold,过滤掉差值小于threshold的波谷和波峰对;
(3-4)寻找音频的downbeats;将距离最后一个波峰最近的downbeats作为结尾点。
7.根据权利要求1所述的一种自动化批量音乐卡点视频生成的方法,其特征是,步骤(2)中,参数配置模块能够对输入的视频进行参数配置,包括(a)控制每个视频槽位在整条视频中所占的时间的比例,(b)控制每个视频槽位的起始点优先卡的点的类型,(c)控制在剪辑视频时是使用变速还是直接裁剪,(d)给某个槽位的视频加上渐进渐远或者左右平移的特效。
8.一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征是,所述处理器在执行所述计算机程序时能够实现权利要求2-7中任一项所述的自动化批量音乐卡点视频生成的方法中的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征是,所述计算机程序被处理器执行时能够实现权利要求2-7中任一项所述的自动化批量音乐卡点视频生成的方法中的步骤。