CN113674723B - 一种音频处理方法、计算机设备及可读存储介质 - Google Patents
一种音频处理方法、计算机设备及可读存储介质 Download PDFInfo
- Publication number
- CN113674723B CN113674723B CN202110937586.4A CN202110937586A CN113674723B CN 113674723 B CN113674723 B CN 113674723B CN 202110937586 A CN202110937586 A CN 202110937586A CN 113674723 B CN113674723 B CN 113674723B
- Authority
- CN
- China
- Prior art keywords
- time point
- sequence
- transition time
- point sequence
- audio
- 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 25
- 238000003860 storage Methods 0.000 title claims abstract description 25
- 230000007704 transition Effects 0.000 claims abstract description 362
- 238000012545 processing Methods 0.000 claims abstract description 123
- 238000000034 method Methods 0.000 claims abstract description 52
- 238000012546 transfer Methods 0.000 claims abstract description 51
- 230000006870 function Effects 0.000 claims description 93
- 238000004590 computer program Methods 0.000 claims description 14
- 238000009826 distribution Methods 0.000 claims description 11
- 238000009499 grossing Methods 0.000 claims description 10
- 238000009432 framing Methods 0.000 claims description 8
- 238000004891 communication Methods 0.000 claims description 7
- 238000012216 screening Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 24
- 230000008569 process Effects 0.000 description 19
- 230000005236 sound signal Effects 0.000 description 16
- 238000004364 calculation method Methods 0.000 description 13
- 230000037433 frameshift Effects 0.000 description 7
- 230000014509 gene expression Effects 0.000 description 7
- 238000001228 spectrum Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000016776 visual perception Effects 0.000 description 3
- 230000001755 vocal effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000007654 immersion Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000033764 rhythmic process Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 108010076504 Protein Sorting Signals Proteins 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/0008—Associated control or indicating means
-
- 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/68—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2210/00—Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
- G10H2210/031—Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal
- G10H2210/076—Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal for extraction of timing, tempo; Beat detection
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Acoustics & Sound (AREA)
- Library & Information Science (AREA)
- Algebra (AREA)
- Software Systems (AREA)
- Auxiliary Devices For Music (AREA)
Abstract
本申请实施例公开了一种音频处理方法、计算机设备及可读存储介质,该方法包括:获取待处理音频,确定所述待处理音频对应的音符起始点序列;根据所述音符起始点序列确定目标节拍时间,以及利用所述目标节拍时间对所述音符起始点序列进行处理,得到重音时间点序列;根据所述目标节拍时间确定转场时间点间隔参数,以及根据所述转场时间点间隔参数构造成本转移函数;利用所述成本转移函数对所述重音时间点序列进行处理,得到所述待处理音频对应的目标转场时间点序列。采用本方案,可以基于音频本身的动态特征,准确、高效地确定出音频的转场时间点。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种音频处理方法、计算机设备及可读存储介质。
背景技术
音乐的转场时间点大致可以理解为音乐的旋律发生变化的时间点,如歌曲歌词的开始时间点,或者主歌进入副歌的时间点。在合适的音乐转场时间点和音乐转场时间内,配合相应的图像或视频切换,可以使得用户对音乐的可视化感知更好的体验。
通常,确定音乐转场时间点依赖于歌词,在没有歌词的情况下或者歌词的动态和歌词位置不严格对应时,转场时间点的确定会受到不同程度的影响,虽然也可以通过利用音乐节拍、和弦信息结合歌曲歌词检测转场时间点,但是这种方式需要有效的音乐和弦节拍提取工具,对系统检测转场时间点的耗时较长以及系统内存消耗大,不利用应用客户端的及时反馈。因此,如何高效且准确地提取转场时间点是一个值得研究的问题。
发明内容
本申请实施例提供一种音频处理方法、计算机设备及可读存储介质,可以基于音频本身的动态特征,准确、高效地确定出音频的转场时间点。
本申请实施例一方面提供了一种音频处理方法,包括:
获取待处理音频,确定待处理音频对应的音符起始点序列;
根据音符起始点序列确定目标节拍时间,以及利用目标节拍时间对音符起始点序列进行处理,得到重音时间点序列;
根据目标节拍时间确定转场时间点间隔参数,以及根据转场时间点间隔参数构造成本转移函数;
利用成本转移函数对重音时间点序列进行处理,得到待处理音频对应的目标转场时间点序列。
本申请实施例一方面提供了一种音频处理装置,包括:
获取模块,用于获取待处理音频,确定待处理音频对应的音符起始点序列;
处理模块,用于根据音符起始点序列确定目标节拍时间,以及利用目标节拍时间对音符起始点序列进行处理,得到重音时间点序列;
确定模块,用于根据目标节拍时间确定转场时间点间隔参数,以及根据转场时间点间隔参数构造成本转移函数;
处理模块,还用于利用成本转移函数对重音时间点序列进行处理,得到待处理音频对应的目标转场时间点序列。
本申请实施例一方面提供了一种计算机设备,包括:处理器、存储器以及网络接口;处理器与存储器、网络接口相连,其中,网络接口用于提供网络通信功能,存储器用于存储程序代码,处理器用于调用程序代码,以执行本申请实施例中的音频处理方法。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时,执行本申请实施例中的音频处理方法。
相应地,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例中一方面提供的音频处理方法。
在本申请实施例中,基于待处理音频本身的动态特征信息,如音符起始点序列、重音时间点序列等,根据动态特征信息中的音符起始点序列确定目标节拍时间,并基于该目标节拍时间得到合适的转场时间点间隔参数(可理解为转场时间),利用该转场时间点间隔参数构造的成本转移函数,对重音时间点序列进行处理,进行动态范围内的转场时间点估算,进而可以准确高效地得到目标转场时间点序列中的转场时间点。可以发现,本方案确定转场时间点的方式不依赖于外部工具或参考待处理音频的其他信息(如歌词)来检测转场时间,而是利用更加贴合音频本身的动态特性,进而能够给出合理且有效的转场时间点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种音频处理系统的架构图;
图2是本申请实施例提供的一种音频处理方法的流程示意图;
图3是本申请实施例提供的一种成本转移函数沿y轴翻转之后的示意图;
图4是本申请实施例提供的一种处理重音时间点序列的动态示意图;
图5是本申请实施例提供的一种有效转场时间点序列的示意图;
图6是本申请实施例提供的一种音频处理方法的流程示意图;
图7是本申请实施例提供的一种90s的音符起始点序列的示意图;
图8是本申请实施例提供的一种4s的音符起始点序列对应的自相关序列;
图9是本申请实施例提供的一种第一窗函数的示意图;
图10是本申请实施例提供的一种对加窗处理前后的节拍周期序列对比的示意图;
图11是本申请实施例提供的一种对音符起始点序列平滑处理前后对比的示意图;
图12是本申请实施例提供的一种重音时间点序列的示意图;
图13是本申请实施例提供的一种音频处理方法的流程示意图;
图14是本申请实施例提供的一种目标转场时间点序列调整前后在重音时间点序列中分布的示意图;
图15是本申请实施例提供的一种音频处理方法的流程示意图;
图16是本申请实施例提供的一种音频处理装置的结构示意图;
图17是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
首先对本申请实施例中涉及的关键术语进行解释。
BPM:Beat Per Minute,一分钟内的节拍数,描述歌曲稳定节拍时间的常用参数。
Onset:音符起始点,描述音乐动态中能量增大时的时间位置。
STFT:Short-Time Fourier Transform,短时傅里叶变换。
语谱图:音频信号短时频谱变换后的二维能量图,横坐标为时间,纵坐标为频率,坐标点值为语音数据能量。
请参见图1,是本申请实施例提供的一种音频处理系统的架构图,该架构图包括用户终端101和音频处理设备102。用户终端101和音频处理设备102之间通过有线或无线的方式进行通信连接。
用户终端101可以是智能手机、平板电脑、智能可穿戴设备、个人电脑等等设备,在该设备中可以运行应用客户端,如音频播放软件。用户终端101可以用于从音频处理设备102中获取待处理音频,也可以从本地获取待处理音频,对获取到的待处理音频在时域进行分帧处理,得到音符起始点序列,进而得到重拍时间点序列,依据目标节拍时间这一BPM信息在重拍时间点序列中提取满足条件的转场时间点,从而确定目标转场时间点序列。转场时间点序列作为一种音频特征,可以应用于需要使用音频转场时间点的各种音频处理场景中。例如,在音频播放场景中结合转场时间点进行图片或视频的切换,可以向用户进行可视化的音频节奏展示。又如,在音乐特征检索场景中可以使用音频转场时间点,对音频结构进行分析。
音频处理设备102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。可以用于存储其他用户终端101上传的待处理音频,以及存储用户终端101对待处理音频处理得到的音符起始点序列、重拍时间点序列、目标转场时间点序列等。可选地,音频处理设备102也可以直接在音频处理设备端处理存储的待处理音频,进而得到的目标转场时间点序列,并依据目标转场时间点序列将音频的转场时间点和图片或视频进行结合,构成组合数据下发给用户终端设备101。
上述音频处理系统通过获取待处理音频本身的动态特征信息,基于该动态特征信息确定目标转场时间点序列,在待处理音频为音乐时,能够提供长度符合用户转场体验的时间位置,在对应的时间位置上进行图片或视频切换,使得音乐的可视化感知更强烈。
请参见图2,图2是本申请实施例提供的一种音频处理方法的流程示意图。该方法可以由用户终端(例如,上述图1所示的用户终端101)执行,也可以由用户终端和服务器(如上述图1所示的音频处理设备102)共同执行。为便于理解,本实施例以该方法由上述用户终端执行为例进行说明。其中,该音频处理方法至少可以包括以下步骤S201~S206:
S201,获取待处理音频,确定待处理音频对应的音符起始点序列。
在一实施例中,待处理音频可以是从终端设备中缓存的音频中获取,也可以从服务器中缓存的音频获取,该待处理音频可以是属于音乐类的语音数据,例如纯音乐,或人声配合乐器旋律组合的歌曲,或人声清唱的音频等等,在此对待处理音频的获取方式和类型不做限制。音符起始点序列基于待处理音频得到,可选的处理方式可以是对待处理音频进行时域分析或者频域分析,可参见下述实施例对应的内容,在此不做详述。需要说明的是,音符起始点序列对应的纵坐标是节拍强度值,节拍强度值中峰值的横坐标对应的则是所有可能的音符起始点,在描述音乐动态中,音符起始点是能量增大的时间位置,在本实施例中将音符起始点序列称为onset序列或onset,后续步骤的处理是基于音符起始点序列进行的。
S202,根据音符起始点序列确定目标节拍时间,以及利用目标节拍时间对音符起始点序列进行处理,得到重音时间点序列。
在一实施例中,由于一拍的时间(即节拍或节拍时间)理论上是落在等间隔的音符起始点上的,因此,音符起始点序列也是节拍时间的周期序列,可以通过对该音符起始点序列进行自相关处理确定音符起始点序列的周期,进而确定目标节拍时间,该目标节拍时间是属于待处理音频的BPM(Beat Per Minute,一分钟内的节拍数)信息。在一般情况下,由于非一拍时间内其他的onset幅度值会对当前节拍时间内的onset幅度值有所影响,因此可以利用目标节拍时间设计窗函数对音符起始点序列进行处理,抑制非一拍时段内的onset幅度值的影响,同时可以增强有效节拍波峰位置,处理之后的序列即重音时间点序列,此步骤对应的可选实现方式可参见下述实施例对应的内容,在此也不做详述。重音时间点序列的横坐标为时间点,单位为帧,纵坐标为经过自相关处理之后的节拍强度,单位为分贝,简单来说,重音时间点序列包括的是每个时间点和节拍强度的映射关系,即onset(n),重音时间点序列也可以视为优化之后的音符起始点序列,重音时间点序列可以当做onset包络,能够说明onset的节拍强度的峰值走向,根据该onset包络可以进一步确定目标转场时间点序列,处理方式可以参见本实施例的下述步骤中的内容。
S203,根据目标节拍时间确定转场时间点间隔参数,以及根据转场时间点间隔参数构造成本转移函数。
在一实施例中,目标节拍时间是根据音符起始点序列确定出来的有效节拍时间,属于音频的BPM信息。结合这个BPM信息,可以给出转场时间点间隔参数,包括期望转场时间间隔、最大转场时间间隔以及最小转场时间间隔。可选地,期望转场时间间隔是目标转场时间,是转场时间点之间的最佳间隔时间,也即最佳转场时间,最小转场时间间隔是描述波峰间距的最小值,最大转场时间间隔是描述波峰间距的最大值。假设目标节拍时间为Tb,本方案认为最符合用户听觉舒适感受的转场时间一般为5s(秒)左右,因此结合该目标节拍时间给出期望转场时间间隔,具体表达式如下:
其中,[·]表示四舍五入取整,Tb为目标节拍时间。
设定最小的波峰间距值要满足在目标转场时间的一半附近,最大的波峰间距为目标转场时间的1.2倍附近,有如下表达式:
其中,和/>分别表示向上取整和向下取整,Tb为目标节拍时间。结合上述转场时间点间隔参数,即期望转场时间间隔Tc、最大转场时间间隔/>以及最小转场时间间隔可以构造出成本转移函数,即:
其中,M0=Tc,表示目标转场时间,ηL、ηR分别表示左右紧致系数,此处选择ηL=2.5,ηR=0.8。请参见图3,图3是本申请实施例提供的一种成本转移函数沿y轴翻转之后的示意图,可以发现,该成本转移函数是一个服从偏态分布的曲线(简称为偏态分布曲线),其对应的期望转场时间间隔(目标转场时间)为5.24秒,原有的成本转移曲线沿y轴翻转之后,对应的自变量时间t的取值在负半轴,但无论如何,该曲线中的期望转场时间间隔对应的成本转移函数取值最大,大于该期望转场时间间隔所对应的成本转移函数值或小于该期望转场时间间隔对应的成本转移函数值都是小于最大值1且呈递减的趋势。
S204,利用成本转移函数对重音时间点序列进行处理,得到待处理音频对应的目标转场时间点序列。
在一实施例中,重音时间点序列(或重拍序列)可以作为参考序列进行分析处理,可以利用成本转移函数对其进行处理,得到转场时间点,在此步骤中运用的成本转移函数是如图3所示的沿y轴翻转之后的成本转移函数,翻转的作用是对转场时间点有合理的动态时间估算,进而取得准确的转场时间点。利用成本转移函数处理重音时间点序列的可选实现方式为:根据基准时间点对重音时间点序列进行拆分处理,得到第一重音时间点序列和第二重音时间点序列;利用成本转移函数对第一重音时间点序列进行处理,得到第一转场时间点序列;利用成本转移函数对第二重音时间点序列进行处理,得到第二转场时间点序列;对第一转场时间点序列和第二转场时间点序列进行拼接处理,得到待处理音频对应的目标转场时间点序列。
可选地,基准时间点为重音时间点序列中最大节拍强度值对应的时间点。将重音时间点序列记为beat_onset,其对应的数学表达式记为O(n),n=1,2,…,Q,Q表示总帧数,O(n)表示第n帧的beat_onset数值。基准时间点记为BM,对应的是重音时间点序列中能量(即节拍强度值)最大的波峰对应的帧位置,以该位置为基准将重音时间点序列O(n)拆分为前后两段,得到第一重音时间点序列和第二重音时间点序列,此处,将第一重音时间点序列对应为前半段重音时间点序列,记为O1(n),有将第二重音时间点序列对应为后半段重音时间点序列,记为O2(n),有/>下述为了方便描述,直接将O2(n-BM)表示为O2(n),n=n-BM,表示n取值从0开始。
首先对第二重音时间点序列进行分析,对于第二重音时间点序列O2(n),其对应总帧数记为Q2=Q-BM,利用成本转移函数处理该第二重音时间点序列,在本实施例中具体是利用动态规划的方式处理第二重音时间点序列,得到第二转场时间点序列。可选地,实现过程如下:将第二重音时间点序列的第一个点,即BM视为第一个有效转场位置,在第n个点时,查找其对应的上一个最佳转场位置,即转场时间点。可选地,可以通过以下公式查找:
[vmax,kmax]=argmax{C2(n+k)·f(k)|k=∈[-U,-L]}
其中,vmax,kmax分别表示当前计算C(n+k)·f(k)得到的最大值以及最大值对应的索引位置,argmax函数表示C(n+k)·f(k)取最大值时的k值,f(k)为成本转移函数,C(n+k)为累计代价函数,和/>分别表示波峰间距的最小帧数和波峰间距的最大帧数。
根据上述表达式,上一个有效转场位置可记录为:p2(n)=n+kmax,下标2表示对第二重音时间点序列O2(n)做跟踪处理。需要说明的是,上述v和k之间的关系为:
v(k)=C2(n+k)·f(k)
其中,累计代价函数的具体表达为:C2(n)=α·vmax+O2(n),α表示成本转移权重,此处选择α=0.2,O2(n)表示第二重音时间点序列,vmax表示上一个转场时间点对应的最大值。在记录第n点的上一个最佳转场位置,得到vmax后需要基于得到的vmax对累计代价函数值进行更新,以运用到第n+1个点的计算中,以此类推计算所有点的代价函数同时记录上一个有效转场点。
对上述查找公式进行分析,有如下说明:k在[-U,-L]中取值,代表的是基于当前第n点往x的负半轴查找L~U距离的时间点,也即以第n帧为准线,往时间轴的左半轴距离L~U帧中确定转场时间点。在这个时间点范围内,成本转移函数对重音节拍时间点序列的处理即是将成本转移函数的函数值作为对应的节拍权重值,赋给重音节拍时间点序列的节拍强度值(即相乘),将计算得到的最大值对应的时间点作为转场时间点。这样的方式下,第n个点记录的有效转场位置n+kmax作为候选的转场时间点,是在[n-U,n-L]这个范围中确定,但是在距离第n帧的前Tc/thop个帧位置的时间点范围内,记录的转场时间点都是第一个点,也就是后半段重音时间点序列的第一个帧位置即基准时间点BM,这是因为成本转移函数在期望转场时间的时间点对应的函数值最大,而该期望转场时间的时间点的两边都是小于该函数值的点。请参见图4,图4是本申请实施例提供的一种处理重音时间点序列的动态示意图。在该图中以图3所示的成本转移函数处理第二重音时间点序列,可以发现,随着n取值的变化,对应的成本转移函数作用在重拍时间点序列上的时间点范围也在发生变化。
举例来说,若k∈[-6,-3],将第二转场时间点序列中第1个点,也即BM作为转场时间点,记录为p2(0)=0,此时BM对应的最大峰值即为vmax,将累计代价函数的函数值更新为C2(0)=0.2×O2(0)+O2(0);第2个点时,由于只有第1个点有对应的vmax,对比查找到对应的转场时间点还是BM,则记录p2(1)=0;第3个点时,有第1个点和第2个点对应的节拍强度值,但由于k的取值,只有往前找3个点才有大于0的值,而其余点对应的vmax都为0,因此仍旧记录p2(2)=0;第4个点时,往前找到第2或3个点的vmax都是0,第1个点对应的值由于成本转移函数对应的函数值小于1,相比于最开始得到的vmax会减小,但仍旧是其中最大的,因此p2(3)=0,以此类推,直到第7个点时,往前看3~6个点,即在第1个点至第4个点中取vmax,由于vmax是由成本转移函数的函数值和节拍强度值共同决定的,因此即使节拍强度值取值最大,仍旧可能由于成本转移函数赋给该节拍强度值的权重值不够大,而无法将第1个点对应的v值确定为vmax,此时可能确定出来的是p2(7)=3,表示第3个点是取到vmax的转场时间点,以此类推,得到的p2(n)是一个阶梯上升折线,是当前转场时间点记录上一个有效转场时间点的序列,还需要进一步处理得到第二转场时间点序列。
请参见图5,图5是本申请实施例提供的一种有效转场时间点序列的示意图,逆序遍历该初始转场点序列p2(n),得到最终的有效转场点,即第二转场时间点序列,用c2(m-1)表示,即表示第m个转场位置的转场时间点,m从1开始取值,有如下表达式:
其中,M2表示第二转场时间点序列的转场点总数,Q2表示第二重音时间点序列的最后一帧。
对上述公式进行如下说明:根据该公式对根据当前时间点追踪记录的上一个有效转场时间点进行回溯,从第二转场时间点序列的最后一个转场时间点开始启动回溯的过程。举例来说,如果M2=4,P2(Q2)=15,将初始转场点序列的最后一帧位置对应记录的转场时间点赋值给c2(m-1),也就是c2(m-1)=p2(Q2),有c2(3)=p2(Q2),表示第二转场时间点序列中第4个转场时间点为第二重音时间点序列第Q2帧记录的转场时间点,进一步地,根据c2(m-1)=p2(c2(m)),有c2(2)=p2(c2(3))=p2(15),表示第3个转场时间点为第二重音时间点序列第15帧记录的转场时间点,以此类推,当c2(0)=p2(c2(1))时,对初始转场点序列的回溯结束,得到第二转场时间点序列。采用当前时间点记录上一有效转场时间点进行回溯的方式,可以直接利用帧位置能够更方便快捷地确定相应的转场时间点,进而能够在更小的计算代价之下快速获取转场时间点,实现高效的处理。
对于第一重音时间点序列的处理,即前半段序列,可选地处理方式如下:首先为了保证第一个转场点是准确且有效的转场点,会对第一重音时间点序列做前后翻转,得到翻转后序列:然后采用上述成本转移函数处理第二重音时间点序列的相同方式来处理翻转之后的第一重音时间点序列,利用动态规划的步骤做相似处理,即:
[vmax,kmax]=argmax{C1(n+k)·f(k)|k=∈[-U,-L]}
其中,C1(n)=α·vmax+O1(n),表示翻转后的第一重音时间点序列。按照相同的处理原理得到翻转信号的转场时间点序列为p1(n),进一步得到/>即第一转场时间点序列,记录前半段有效转场点总数为M1。
最终将第一转场时间点序列和第二转场时间点序列进行拼接,得到所有有效转场时间,即待处理音频对应的目标转场时间点序列,标记为:
总有效点数为:Lc=M1+M2-1
在一实施例中,除了上述的动态规划的方式确定目标转场时间点序列,基于重音时间点序列(也即重拍序列)的有效转场时间检测也可以直接利用有效波峰位置,例如提取重拍曲线上间隔大于2.5s的有效波峰位置作为最终的有效转场时间,相比于动态规划的方案,这样的操作同样可以估算有效重拍时间,且计算量更低。
需要说明的是,本方案中的转场时间点是以“帧”这一概念进行表述的,所涉及的具体时间参数也是以帧为单位,如第一重音时间点序列中的n,表示的是第n帧。对于帧和时间t时间的转换关系如下:
其中,t表示时间,单位为秒(s),Thop表示帧移,单位为毫秒(ms)。本申请实施例中涉及的字母n均表示帧位置索引,而t或T表示秒(s),在提供的附图展示中涉及的时间则是将帧位置索引转换为秒进行绘制的,如图3所示的成本转移函数的曲线图,其横坐标对应的时间单位即为秒,但是在具体用来处理重拍时间点序列时,其对应的时间单位为帧位置索引。
综上所述,本申请实施例至少具有以下优点:
对待处理音频提取重音时间点序列,通过最大峰值对应的基准时间点将重音时间点序列划分为前后两个序列分别处理,将第一个基准时间点视为第一个有效的转场时间点,能够保证第一个转场时间点是准确的,进而得到准确的转场时间点序列。整个过程中,利用成本转移函数进行动态规划,根据节拍强度值、成本函数的函数值以及转场时间点间隔参数确定出目标转场时间点序列,在这个过程中,通过合理的动态时间估算,提供长度符合用户转场体验的转场时间点,准确高效地确定出目标转场时间点序列中的转场时间点。另外,直接利用在重音时间点序列中提取转场时间间隔参数的有效波峰位置的时间点,将其作为目标转场时间点序列,从计算代价的角度来看,也是一种快速高效的方式。
请参见图6,图6是本申请实施例提供的一种音频处理方法的流程示意图。该方法可以由用户终端(例如,上述图1所示的用户终端101)执行,也可以由用户终端和服务器(如上述图1所示的音频处理设备102)共同执行。为便于理解,本实施例以该方法由上述用户终端执行为例进行说明。其中,该音频处理方法至少可以包括以下步骤S601~S606。
S601,获取待处理音频,对待处理音频进行分帧处理,得到M帧音频数据。
在一实施例中,当获取到的待处理音频为双声道时,为了计算简便节省算力,可以对左右声道信号进行平均得到单路信息:
其中,xL(i),xR(i)分别表示左右声道信号,i表示样点索引。
由于在检测时主要是针对人声发声的位置做检测,故主要关注人声能量主要集中的频段,且由于人耳对低频重拍的感知更加敏感,同时也为了降低计算量,提供运算效率,在本实施例中将原始音频采样率降为8kHz,在此利用resample()函数对该xmono(i)进行重采样:
x(i)=resample(xmono(i))
由于获取到的待处理音频(或称为音频信号)可能是很大的音频文件,或者是实时的数据流,对音频信号进行分帧处理,也即对音频信号分段处理,是一种能够提高音频信号处理效率的方法。需要说明的是,本实施例中音频信号、音频数据、待处理音频都是同一对象的不同表达,具有相同的含义,均表示数字化的声音数据。
可选地,在本实施例中以Thop=4ms为帧移,20ms为帧长对信号做分帧处理,得到多段音频数据,可以利用窗口长度为20ms的汉宁(hanning)窗在音频信号上以4ms的步长往时间的正半轴方向进行移动,实现对音频信号的分帧处理,得到M帧音频数据,这里的M为正整数。此处,定义输入信号为上述对待处理音频降采样之后得到的x(i),i=0,1,2,…表示样点索引,将音频信号切分为若干帧,即在音频信号上添加hanning窗,得到切分后的加窗帧信号序列,具体表达如下:
xw(n,i)=x(L·n+i)·whann(i)
其中,n表示帧位置索引,i表示第i个样点,L表示帧移(此处为帧移4ms对应的样点数),whann(i)表示汉宁窗。
对于汉宁窗whann(i)的定义如下:
其中,i表示第i个样点,N表示窗长(此处为帧长20ms对应的样点总数)。为了表示渐变,在此直接用x(Ln+i)表示第n帧信号,也就是用x(Ln+i)表示经过汉宁窗处理之后的音频信号xw(n,i),n从0开始取值,一直取到分帧处理得到的最后一帧,构成分帧处理后的M帧音频数据。
S602,确定M帧音频数据中每帧音频数据的功率。
在一实施例中,M帧音频数据也就是M段音频信号,可以通过计算各段音频信号的幅度平方均值,将其作为该段音频信号的功率,对于各帧音频信号的功率的计算表达式如下:
其中,L表示帧移(即4ms对应的样点数),N表示帧长(此处选择20ms对应的样点数),P(n)表示第n帧信号的功率,x(Ln+i)表示第n帧信号对应的幅度值,此处,对幅度平方值进行10·log10的处理是为了进一步计算功率分贝值(dB)。
S603,对第一帧音频数据的功率和第二帧音频数据的功率进行差分处理,并根据差分处理结果得到音符起始点序列。
在一实施例中,第一帧音频数据为M帧音频数据中的任一帧音频数据,第二帧音频数据为该第一帧音频数据的后一帧音频数据。进一步地,由于第一帧音频数据和第二帧音频数据之间功率的差分处理,对应的,第二帧音频数据是从M帧音频数据中的第2帧音频数据开始计算,对应的帧位置标记可以取值1,也即P(1)表示第2帧音频数据的功率(值),此时,第一帧音频数据的功率对应为P(0),表示M帧音频数据中的第1帧音频数据,第一帧音频数据和第二帧音频数据是M帧音频数据中的相邻两帧音频数据。利用相邻两帧音频数据的功率差分对音符起始点序列做初步估算,即:
Oraw(n)=P(n)-P(n-1)
其中,Oraw(n)表示第n帧估算得到的onset强度值,n=1,2,3…,N1,N1表示帧数。对应的,P(n)表示第二帧音频数据的功率,P(n-1)表示第一帧音频数据的功率,针对不同的n的取值,差分处理结果也就是Oraw(1)、Oraw(2)…Oraw(N1),进而构成的音符起始点序列,也可称为onset序列。其具体的图形表达可以参见图7,图7是本申请实施例提供的一种90s的onset序列,横坐标表示时间,单位为秒(s),纵坐标表示onset强度值,单位可以采用和功率相同的度量,即分贝。需要说明的是,本方案针对音频数据的处理均是在时域完成的,不涉及频域的转换,无论是上述待处理音频、音频数据、音符起始点序列,还是下述的重音时间点序列、转场时间点序列等均是以帧为单位进行分析的,若以秒为单位,则需要根据帧和秒之间的关系(秒=帧帧移)进行转换。本申请提供的相关图形(如下述音符起始点序列、偏态窗等对应的图形)均是将帧转换为秒之后的图形。
本申请实施例中待处理音频对应的音符起始点序列是从时域确定的,而在不计系统算力的情况下,可以进一步通过频谱特征,比如利用短时傅里叶变换STFT得到语谱图,或者计算Mel频谱(梅尔频谱),bark谱(巴克谱,音频处理的一种尺度衡量)甚至是chroma特征(色度特征,包括色度向量和色度图谱)来计算帧间差分,利用频谱差分能够得到更加准确的onset强度特性,更加准确的描述音乐动态,让最终的转场检测效果更好。
S604,根据音符起始点序列确定目标节拍时间,以及利用目标节拍时间对音符起始点序列进行处理,得到重音时间点序列。
在一实施例中,根据音符起始点序列确定目标节拍时间的可选实现方式可以为:对音符起始点序列进行自相关处理,得到节拍周期序列;利用第一窗函数对节拍周期序列进行加窗处理,得到加窗处理后的节拍周期序列;其中,第一窗函数为服从偏态分布的窗函数;将加窗处理后的节拍周期序列中的最大波峰值对应的时间点确定为目标节拍时间。
可选地,以待处理音频为歌曲对应的语音数据为例进行说明,由于歌曲的节拍理论上是落在等间隔的音符起点上的,音符起点序列也可以视为周期性的节拍序列,因此基于常见的节拍信息可以从音符起始点序列中确定出有效的目标节拍时间。本实施例中首先假定歌曲的节拍为恒定值,为节省计算时间,仅对音频信号中90s的onset序列做自相关处理,同时,绝大多数歌曲的BPM在40~220之间,对应的时长为1.5s~0.2727s,具体计算方式为60s/BPM,这里即60s/40=1.5s,60/220s≈0.2727s。为了更方便的计算,可以观察例如4s内的自相关结果,来找出歌曲的节拍。故可以通过计算获取长度为4s的onset自相关序列,也就是对onset序列进行自相关处理后得到的节拍周期序列,处理过程如下:
rawxcr(n)=autocorr(Oraw(n))
其中,autocorr(·)表示自相关处理,Oraw(n)为音符起始点序列。
节拍周期序列可以参见图8,图8是本申请实施例提供的一种4s的onset自相关序列,横坐标表示时间,单位为秒,纵坐标是onset序列自相关得到的幅度值,可以理解为能量值。
进一步地,根据流行音乐的节奏特点,一般常见音乐节拍在60BPM~200BPM左右。为此,可以将rawxcr通过宽度范围在0.3s~1s的偏态窗,该偏态窗是服从偏态分布的函数,作为第一窗函数可以对节拍周期序列进行加窗处理,用以降低远离120BPM的自相关峰值点影响,对于第一窗函数的定义如下:
其中,M0表示理想一拍时间(即0.5s对应的帧数),α用来控制偏态窗宽度,此处选择α=3。该第一窗函数对应的是服从偏态分布的曲线,可参见图9,图9是本申请实施例提供的一种第一窗函数的示意图。可以发现,该偏态窗幅度大于0值的范围是在0.3s~1s,超出该范围的均取值为0。
将rawxcr通过宽度范围在0.3s~1s的偏态窗后得到的自相关序列表示为:
xcr(n)=rawxcr(n)·w(n)
其中,rawxcr(n)表示节拍周期序列(即onset自相关序列),w(n)表示第一窗函数,xcr(n)表示加窗处理后的节拍周期序列。
请参见图10,图10是本申请实施例提供的一种对加窗处理前后的节拍周期序列对比的示意图,可以发现,相比于自相关的节拍周期序列,该加窗处理后的节拍周期序列在0.5秒左右的峰值被进一步放大,而其周围的峰值被进一步减小,这样就容易确定出目标节拍时间,即加窗后自相关序列的最大波峰对应的时间,也可称之为有效节拍时间,根据图10所示出的图形,估算出的有效波峰位置在0.5240s附近,以该时间位置作为有效的节拍时间,记为pd=0.5240s。
在一实施例中,利用目标节拍时间对音符起始点序列进行处理,得到重音时间点序列的可选实现方式可以是:根据目标节拍时间确定的第二窗函数对音符起始点序列进行平滑处理,得到初始重音时间点序列;确定初始重音时间点序列的节拍强度均值;根据节拍强度均值对初始重音时间点序列进行筛选处理,得到重音时间点序列。
可选地,为了尽量抑制音符起始点序列中非一拍时段内的其他onset幅度对当前onset的影响,同时增强有有效beat波峰位置,因此可以基于目标节拍时间构造合适的第二窗函数对音符起始点序列处理,得到重音时间点序列。在本实施中,利用高斯窗卷积实现对onset序列做平滑(卷积)处理,用Tb作为半窗长设计高斯窗,即:
其中,t∈[-Tb,Tb],σ表示标准差,Tb表示目标节拍时间,即一拍的时间,在此选择Tb=pd=0.5240s,此处标准差选择σ=Tb/32。
利用上述构造的高斯窗对音符起始点序列进行卷积平滑处理后,得到初始重音时间点序列onset_env,记为Oenv(n),公式表示如下:
其中,Thop表示帧移,此处仍旧采用前述步骤S601中分帧处理中的帧移4ms。
请参见图11,图11是本申请实施例提供的一种对音符起始点序列平滑处理前后对比的示意图,经过两倍节拍间隔长度的高斯滤波之后,得到onset_env即onset包络,也即初始重音时间点序列,该onset包络的音频信息十分丰富,因此后续的处理也是基于处理后的onset包络。进一步地,利用平滑处理后得到的onset_env序列响应幅度值大于0的峰值点位置作为可能的重音位置点,也就是重音时间点,将该过程得到的曲线作为节拍曲线beat_onset,也即上述提及的重音时间点序列。可选地,可以对onset_env曲线做整流处理,得到节拍osnet序列,也就是beat_onset,用O(n)表示,处理过程如下:
其中,/>Q表示总帧数。
将初始重音时间点序列的节拍强度均值即各个响应幅度值的平均值作为参考的标准,根据该节拍强度均值调整初始重音时间点序列,按照上述规则是将大于该节拍强度均值的节拍强度值调整为/>小于或等于该节拍强度值的节拍强度值调整为0,进而得到重音时间点序列beat_onset,请参见图12,图12是本申请实施例提供的一种重音时间点序列的示意图,该重音时间点序列是基于图11示例的初始重音时间点序列处理得到的,可以发现,经过整流处理后相应的峰值有些减小。另外,需要说明的是,在本申请实施例中,上述示出的重音时间点序列、目标节拍时间等均可以用于下述步骤,进而可以根据前述实施例描述对重音时间点具体的处理方式得到目标转场时间点序列。
S605,根据目标节拍时间确定转场时间点间隔参数,以及根据转场时间点间隔参数构造成本转移函数。
S606,利用成本转移函数对重音时间点序列进行处理,得到待处理音频对应的目标转场时间点序列。
上述步骤S605~S606的可选实现方式可参见上述图2对应实施例中的S203~S204,这里不再进行赘述。
综上,本申请实施例至少具有以下优点:
本实施例通过直接在时域做分帧处理和差分处理,基于待处理音频构造onset曲线,相比于将待处理音频从时域变换到频域,是一种更加快速高效的获取音符起始点序列的实现方式,通过对音符起始点序列进行平滑处理,抑制其他峰值的影响,增强有效波峰,得到重音时间点序列,基于该重音时间点序列能够保证获取更准确的转场时间点序列。
请参见图13,图13是本申请实施例提供的一种音频处理方法的流程示意图。该方法可以由用户终端(例如,上述图1所示的用户终端101)执行,也可以由用户终端和服务器(如上述图1所示的音频处理设备102)共同执行。为便于理解,本实施例以该方法由上述用户终端执行为例进行说明。其中,该音频处理方法至少可以包括以下步骤S1301~S1306:
S1301,获取待处理音频,确定待处理音频对应的音符起始点序列。
S1302,根据音符起始点序列确定目标节拍时间,以及利用目标节拍时间对音符起始点序列进行处理,得到重音时间点序列。
S1303,根据目标节拍时间确定转场时间点间隔参数,以及根据转场时间点间隔参数构造成本转移函数。
S1304,利用成本转移函数对重音时间点序列进行处理,得到待处理音频对应的目标转场时间点序列。
上述步骤的S1301~S1304的可选实现方式可参见上述图2对应实施例中的S201~S204,这里不再进行赘述。
S1305,从重音时间点序列中获取第一转场时间点对应的第一节拍强度值,以及获取第二转场时间点对应的第二节拍强度值。
在一实施例中,重音时间点序列是对待处理音频对应的音符起始点序列处理之后得到的,可参见前述实施例中对应得到beat_onset的处理方式。可选地,第一转场时间点为目标转场时间点序列中的任一转场时间点,第二转场时间点为目标转场时间点序列中与第一转场时间点相邻的转场时间点。因此,第二转场时间点序列既可以是与第一转场时间点左相邻,也可以与第一转场时间点右相邻,由于目标转场时间点序列中的转场时间点是从重音时间点序列中筛选出来的,目标时间点序列可视为重音时间点序列的横坐标的子集,因此,在重音时间点序列中,根据时间点和节拍强度值的映射关系是可以找到与目标转场时间点序列中的转场时间点对应的节拍强度值,进而得到第一转场时间点对应第一节拍强度值以及第二转场时间点对应第二节拍强度值,这两个节拍强度值可能相同,也可能不同,在此对其大小不做限定。
S1306,若在重音时间点序列中第一转场时间点和第二转场时间点之间,存在节拍强度值大于第一节拍强度值且大于第二节拍强度值的参考时间点,则根据参考时间点对目标转场时间点序列进行调整,得到调整后的目标转场时间点序列。
在一实施例中,从重音时间点序列中查找第一转场时间点和第二转场时间点之间是否存在这样一个参考时间点:其对应的节拍强度值是大于第一转场时间点对应的第一节拍强度值,并且大于第二转场时间点对应的第二节拍强度值。如果存在,那么说明目标转场时间点序列中的第一转场时间点或第二转场时间点需要根据该参考时间点进行调整。
在一实施例中,调整的规则可以是:将参考时间点作为目标转场时间点序列中的转场时间点,并将第一转场时间点和第二转场时间点中的一个或多个从目标转场时间点序列中删除。可选地,可以确定第一转场时间点和参考时间点之间的时间差值,以及确定第二转场时间点和参考时间点之间的时间差值;若第一转场时间点和参考时间点之间的时间差值,小于或等于第二转场时间点和参考时间点之间的时间差值,则将第一转场时间点从目标转场时间点序列中删除;若第一转场时间点和参考时间点之间的时间差值,大于第二转场时间点和参考时间点之间的时间差值,则将第二转场时间点从目标转场时间点序列中删除。
上述针对当前转场时间(即目标转场时间点序列)是通过onset的峰值信息做进一步修正。当相邻两个转场时间点c(l)(对应第一转场时间点),c(l+1)(对应第二转场时间点)内出现的onset峰值点,该点位置记为lp(对应参考时间点),若出现:O(lp)>O(c(l))且O(lp)>O(c(l+1)),也即对应参考时间点的节拍强度值大于相邻两个转场时间点,则对转场时间点做进一步更新。更新规则如下:当时,修改c(l+1)=lp,否则修改c(l)=lp。
换而言之,参考时间点是出现在相邻转场时间点之间且具有onset峰值的时间点,将两个相邻时间点的平均值作为标准,比较参考时间点和平均值的大小关系,从另一个角度来看,也即比较参考时间点距离两个相邻转场时间点之间的时间差值,简单来说,参考时间点距离哪一个转场时间点更近,就将哪个转场时间点调整为参考时间点。示例性地,第一转场时间点和第二转场时间点分别为5和9,其出现onset峰值的参考时间点为6,相邻两个转场时间点的均值为7,通过比较可以发现,参考时间点偏向第一转场时间点5,因此可以将第一转场时间点5替换为参考时间点6,这个过程也就是将第一转场时间点从目标转场时间点序列中删除,而参考时间点作为新的目标转场时间点添加到目标转场时间点序列中的过程。
请参见图14,该图是本申请实施例提供的一种目标转场时间点序列调整前后在重音时间点序列中分布的示意图,图14是将前述实施例中的重音时间点序列beat_onset作为示例进行绘制得到的,对应的目标转场时间点序列也是基于beat_onset序列得到的。可以发现,在该图中的第四个转场时间点和第五个转场时间点之间存在大于两边与之相邻的转场时间点对应的onset峰值的参考时间点,根据上述规则将第四个转场时间点调整为参考时间点,得到如图14中修正后的转场时间点在重拍时间点序列中的分布曲线,在该分布曲线中,转场时间点对应的onset峰值基本都是onset中较大的峰值点,能够保证转场时间点的准确性和有效性。
根据本实施例提供的方案,其流程可以简要概括为如图15所示的获取转场时间点的流程示意图。首先,输入音频x,该音频x即待处理音频,然后对音频数据进行降采样处理,得到降采样之后的音频。接着基于该降采样的音频提取onset序列,也就是音符起始点序列,进而能够根据音符起始点序列进行BPM估算。随后,可以根据估算出来的BPM信息和提取的onset序列这两个信息来提取onset包络,也即重音时间点序列,进而根据重音时间点序列等信息动态规划有效转场时间点,得到目标转场时间点序列,最终根据onset序列调整有效转场时间点,也即调整目标转场时间点序列,进一步提升转场时间点的准确性。针对待处理音频为音乐类的语音数据,在得到音乐的转场时间点以及转场时间之后,可以配合在转场时间点出现时,做出对应的视频或者图像切换,如一些踩点视频的制作,其视频的转场随着鼓点变换而变换的,如果应用在音乐播放类软件上,可以加深用户的音乐战场感知,增强音乐的沉浸感受和娱乐性。本方案给到的音乐转场时间可以作为音乐音频的一个典型特征应用到MIR(音乐特征检索,宽泛定义为从音频内容中提取信息以及相关应用)的多个方面,比如音乐结构分析等。同时当前工具作为一个快速高效音乐转场感知特征,可应用到应用客户端,结合视频展示,让用户具有更加和谐的音视频感官体验,可以作为音乐播放类软件的一个趣味模块,增加用户粘性,吸引新用户。
综上所述,本申请实施例至少有以下优点:
在获取目标转场时间点序列后,根据onset的峰值调整目标转场时间点,将onset峰值对应对参考时间点替换掉一些不精确的转场时间点,进而保证转场时间点的有效性。在动态规划获取转场时间点的基础上,调整目标转场时间点,可以使得目标转场时间点序列的准确性得到进一步提升,而基于准确合适的转场时间点以及转场时间,配合相应的图片或视频切换,可以使得音乐的可视化感知更形象,音乐的沉浸感受更强烈。
请参见图16,图16是本申请实施例提供的一种音频处理装置的结构示意图。上述音频处理装置可以是运行于服务器中的一个计算机程序(包括程序代码),例如该音频处理装置为一个应用软件;该音频处理装置可以用于执行本申请实施例提供的方法中的相应步骤。如图16所示,该音频处理装置160可以包括:获取模块1601、处理模块1602、确定模块1603,其中:
获取模块1601,用于获取待处理音频,确定待处理音频对应的音符起始点序列;
处理模块1602,用于根据音符起始点序列确定目标节拍时间,以及利用目标节拍时间对音符起始点序列进行处理,得到重音时间点序列;
确定模块1603,用于根据目标节拍时间确定转场时间点间隔参数,以及根据转场时间点间隔参数构造成本转移函数;
处理模块1602,还用于利用成本转移函数对重音时间点序列进行处理,得到待处理音频对应的目标转场时间点序列。
在一实施例中,确定模块1603,具体用于对待处理音频进行分帧处理,得到M帧音频数据,其中,M为正整数;确定M帧音频数据中每帧音频数据的功率;对第一帧音频数据的功率和第二帧音频数据的功率进行差分处理,并根据差分处理结果得到音符起始点序列;其中,第一帧音频数据为M帧音频数据中的任一帧音频数据,第二帧音频数据为第一帧音频数据的后一帧音频数据。
在一实施例中,确定模块1603,具体还用于对音符起始点序列进行自相关处理,得到节拍周期序列;利用第一窗函数对节拍周期序列进行加窗处理,得到加窗处理后的节拍周期序列,其中,第一窗函数为服从偏态分布的窗函数;将加窗处理后的节拍周期序列中的最大波峰值对应的时间点确定为目标节拍时间。
在一实施例中,处理模块1602,具体用于根据目标节拍时间确定的第二窗函数对音符起始点序列进行平滑处理,得到初始重音时间点序列;确定初始重音时间点序列的节拍强度均值;根据节拍强度均值对初始重音时间点序列进行筛选处理,得到重音时间点序列。
在一实施例中,处理模块1602,具体用于根据基准时间点对重音时间点序列进行拆分处理,得到第一重音时间点序列和第二重音时间点序列,基准时间点为重音时间点序列中最大节拍强度值对应的时间点;利用成本转移函数对第一重音时间点序列进行处理,得到第一转场时间点序列;利用成本转移函数对第二重音时间点序列进行处理,得到第二转场时间点序列;对第一转场时间点序列和第二转场时间点序列进行拼接处理,得到待处理音频对应的目标转场时间点序列。
在一实施例中,该音频处理装置160还包括:调整模块1604,用于从重音时间点序列中获取第一转场时间点对应的第一节拍强度值,以及获取第二转场时间点对应的第二节拍强度值,其中,第一转场时间点为目标转场时间点序列中的任一转场时间点,第二转场时间点为目标转场时间点序列中与第一转场时间点相邻的转场时间点;若在重音时间点序列中第一转场时间点和第二转场时间点之间,存在节拍强度值大于第一节拍强度值且大于第二节拍强度值的参考时间点,则根据参考时间点对目标转场时间点序列进行调整,得到调整后的目标转场时间点序列。
在一实施例中,调整模块1604,具体用于将参考时间点作为目标转场时间点序列中的转场时间点,并将第一转场时间点和第二转场时间点中的一个或多个从目标转场时间点序列中删除。
在一实施例中,调整模块1604,具体用于确定第一转场时间点和参考时间点之间的时间差值,以及确定第二转场时间点和参考时间点之间的时间差值;若第一转场时间点和参考时间点之间的时间差值,小于或等于第二转场时间点和参考时间点之间的时间差值,则将第一转场时间点从目标转场时间点序列中删除;若第一转场时间点和参考时间点之间的时间差值,大于第二转场时间点和参考时间点之间的时间差值,则将第二转场时间点从目标转场时间点序列中删除。
本申请提供的音频处理装置中各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
请参见图17,是本申请实施例提供的一种计算机设备的结构示意图,该计算机设备170可以包括处理器1701、存储器1702、网络接口1703和至少一个通信总线1704。其中,处理器1701用于调度计算机程序,可以包括中央处理器、控制器、微处理器;存储器1702用于存储计算机程序,可以包括高速随机存取存储器RAM,非易失性存储器,例如磁盘存储器件、闪存器件;网络接口1703可选的可以包括标准的有线接口、无线接口(如WI-FI接口),提供数据通信功能,通信总线1704负责连接各个通信元件。该计算机设备170可以对应于前文的用户终端101。
其中,处理器1701可以用于调用存储器中的计算机程序,以执行如下操作:获取待处理音频,确定待处理音频对应的音符起始点序列;根据音符起始点序列确定目标节拍时间,以及利用目标节拍时间对音符起始点序列进行处理,得到重音时间点序列;根据目标节拍时间确定转场时间点间隔参数,以及根据转场时间点间隔参数构造成本转移函数;利用成本转移函数对重音时间点序列进行处理,得到待处理音频对应的目标转场时间点序列。
在一实施例中,处理器1701具体用于:对待处理音频进行分帧处理,得到M帧音频数据,其中,M为正整数;确定M帧音频数据中每帧音频数据的功率;对第一帧音频数据的功率和第二帧音频数据的功率进行差分处理,并根据差分处理结果得到音符起始点序列;其中,第一帧音频数据为M帧音频数据中的任一帧音频数据,第二帧音频数据为第一帧音频数据的后一帧音频数据。
在一实施例中,处理器1701具体用于:对音符起始点序列进行自相关处理,得到节拍周期序列;利用第一窗函数对节拍周期序列进行加窗处理,得到加窗处理后的节拍周期序列,其中,第一窗函数为服从偏态分布的窗函数;将加窗处理后的节拍周期序列中的最大波峰值对应的时间点确定为目标节拍时间。
在一实施例中,处理器1701具体用于:根据目标节拍时间确定的第二窗函数对音符起始点序列进行平滑处理,得到初始重音时间点序列;确定初始重音时间点序列的节拍强度均值;根据节拍强度均值对初始重音时间点序列进行筛选处理,得到重音时间点序列。
在一实施例中,处理器1701具体用于:根据基准时间点对重音时间点序列进行拆分处理,得到第一重音时间点序列和第二重音时间点序列,基准时间点为重音时间点序列中最大节拍强度值对应的时间点;利用成本转移函数对第一重音时间点序列进行处理,得到第一转场时间点序列;利用成本转移函数对第二重音时间点序列进行处理,得到第二转场时间点序列;对第一转场时间点序列和第二转场时间点序列进行拼接处理,得到待处理音频对应的目标转场时间点序列。
在一实施例中,处理器1701还用于:从重音时间点序列中获取第一转场时间点对应的第一节拍强度值,以及获取第二转场时间点对应的第二节拍强度值,其中,第一转场时间点为目标转场时间点序列中的任一转场时间点,第二转场时间点为目标转场时间点序列中与第一转场时间点相邻的转场时间点;若在重音时间点序列中第一转场时间点和第二转场时间点之间,存在节拍强度值大于第一节拍强度值且大于第二节拍强度值的参考时间点,则根据参考时间点对目标转场时间点序列进行调整,得到调整后的目标转场时间点序列。
在一实施例中,处理器1701具体用于:将参考时间点作为目标转场时间点序列中的转场时间点,并将第一转场时间点和第二转场时间点中的一个或多个从目标转场时间点序列中删除。
在一实施例中,处理器1701具体用于:确定第一转场时间点和参考时间点之间的时间差值,以及确定第二转场时间点和参考时间点之间的时间差值;若第一转场时间点和参考时间点之间的时间差值,小于或等于第二转场时间点和参考时间点之间的时间差值,则将第一转场时间点从目标转场时间点序列中删除;若第一转场时间点和参考时间点之间的时间差值,大于第二转场时间点和参考时间点之间的时间差值,则将第二转场时间点从目标转场时间点序列中删除。
应当理解,本申请实施例中所描述的计算机设备170可执行前文图2、图6以及图13所对应实施例中对该音频处理方法的描述,也可执行前文图16所对应实施例中对该音频处理装置160的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且上述计算机可读存储介质中存储有前文提及的音频处理的计算机设备170所执行的计算机程序,且上述计算机程序包括程序指令,当上述处理器执行上述程序指令时,能够执行前文图2、图6以及图13所对应实施例中对上述音频处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
上述计算机可读存储介质可以是前述任一实施例提供的音频处理装置或者上述计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例中一方面提供的音频处理方法。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (9)
1.一种音频处理方法,其特征在于,所述方法包括:
获取待处理音频,确定所述待处理音频对应的音符起始点序列;
根据所述音符起始点序列确定目标节拍时间,以及利用所述目标节拍时间对所述音符起始点序列进行处理,得到重音时间点序列;
根据所述目标节拍时间确定转场时间点间隔参数,以及根据所述转场时间点间隔参数构造成本转移函数;
根据基准时间点对所述重音时间点序列进行拆分处理,得到第一重音时间点序列和第二重音时间点序列,所述基准时间点为所述重音时间点序列中最大节拍强度值对应的时间点;
利用所述成本转移函数对所述第一重音时间点序列进行处理,得到第一转场时间点序列;
利用所述成本转移函数对所述第二重音时间点序列进行处理,得到第二转场时间点序列;
对所述第一转场时间点序列和所述第二转场时间点序列进行拼接处理,得到所述待处理音频对应的目标转场时间点序列。
2.如权利要求1所述的方法,其特征在于,所述确定所述待处理音频对应的音符起始点序列,包括:
对所述待处理音频进行分帧处理,得到M帧音频数据,其中,所述M为正整数;
确定所述M帧音频数据中每帧音频数据的功率;
对第一帧音频数据的功率和第二帧音频数据的功率进行差分处理,并根据差分处理结果得到音符起始点序列;
其中,所述第一帧音频数据为所述M帧音频数据中的任一帧音频数据,所述第二帧音频数据为所述第一帧音频数据的后一帧音频数据。
3.如权利要求1所述的方法,其特征在于,所述根据所述音符起始点序列确定目标节拍时间,包括:
对所述音符起始点序列进行自相关处理,得到节拍周期序列;
利用第一窗函数对所述节拍周期序列进行加窗处理,得到加窗处理后的节拍周期序列,其中,所述第一窗函数为服从偏态分布的窗函数;
将所述加窗处理后的节拍周期序列中的最大波峰值对应的时间点确定为目标节拍时间。
4.如权利要求1所述的方法,其特征在于,所述利用所述目标节拍时间对所述音符起始点序列进行处理,得到重音时间点序列,包括:
根据所述目标节拍时间确定的第二窗函数对所述音符起始点序列进行平滑处理,得到初始重音时间点序列;
确定所述初始重音时间点序列的节拍强度均值;
根据所述节拍强度均值对所述初始重音时间点序列进行筛选处理,得到重音时间点序列。
5.如权利要求1~4任一项所述的方法,其特征在于,所述方法还包括:
从所述重音时间点序列中获取第一转场时间点对应的第一节拍强度值,以及获取第二转场时间点对应的第二节拍强度值,其中,所述第一转场时间点为所述目标转场时间点序列中的任一转场时间点,所述第二转场时间点为所述目标转场时间点序列中与所述第一转场时间点相邻的转场时间点;
若在所述重音时间点序列中所述第一转场时间点和所述第二转场时间点之间,存在节拍强度值大于所述第一节拍强度值且大于所述第二节拍强度值的参考时间点,则根据所述参考时间点对目标转场时间点序列进行调整,得到调整后的目标转场时间点序列。
6.如权利要求5所述的方法,其特征在于,所述根据所述参考时间点对目标转场时间点序列进行调整,得到调整后的目标转场时间点序列,包括:
将所述参考时间点作为所述目标转场时间点序列中的转场时间点,并将所述第一转场时间点和所述第二转场时间点中的一个或多个从所述目标转场时间点序列中删除。
7.如权利要求6所述的方法,其特征在于,所述将所述第一转场时间点和所述第二转场时间点中的一个或多个从所述目标转场时间点序列中删除,包括:
确定第一转场时间点和所述参考时间点之间的时间差值,以及确定所述第二转场时间点和所述参考时间点之间的时间差值;
若所述第一转场时间点和所述参考时间点之间的时间差值,小于或等于所述第二转场时间点和所述参考时间点之间的时间差值,则将所述第一转场时间点从所述目标转场时间点序列中删除;
若所述第一转场时间点和所述参考时间点之间的时间差值,大于所述第二转场时间点和所述参考时间点之间的时间差值,则将所述第二转场时间点从所述目标转场时间点序列中删除。
8.一种计算机设备,其特征在于,包括:处理器、存储器以及网络接口;
所述处理器与所述存储器、所述网络接口相连,其中,所述网络接口用于提供网络通信功能,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行权利要求1~7任一项所述的音频处理方法。
9.一种计算机可读存储介质,其特征在于,包括:
所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执行权利要求1~7任一项所述的音频处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110937586.4A CN113674723B (zh) | 2021-08-16 | 2021-08-16 | 一种音频处理方法、计算机设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110937586.4A CN113674723B (zh) | 2021-08-16 | 2021-08-16 | 一种音频处理方法、计算机设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113674723A CN113674723A (zh) | 2021-11-19 |
CN113674723B true CN113674723B (zh) | 2024-05-14 |
Family
ID=78543180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110937586.4A Active CN113674723B (zh) | 2021-08-16 | 2021-08-16 | 一种音频处理方法、计算机设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113674723B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114115792A (zh) * | 2021-11-25 | 2022-03-01 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种音频处理方法、服务器及电子设备 |
CN114897157A (zh) * | 2022-04-28 | 2022-08-12 | 北京达佳互联信息技术有限公司 | 节拍重拍联合检测模型的训练及节拍重拍联合检测方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101916564A (zh) * | 2008-12-05 | 2010-12-15 | 索尼株式会社 | 信息处理装置、旋律线提取方法、低音线提取方法及程序 |
CN104620313A (zh) * | 2012-06-29 | 2015-05-13 | 诺基亚公司 | 音频信号分析 |
WO2015114216A2 (en) * | 2014-01-31 | 2015-08-06 | Nokia Corporation | Audio signal analysis |
CN108280165A (zh) * | 2018-01-18 | 2018-07-13 | 四川大学 | 基于状态转移的奖励值音乐推荐算法 |
CN110233976A (zh) * | 2019-06-21 | 2019-09-13 | 广州酷狗计算机科技有限公司 | 视频合成的方法及装置 |
CN110890083A (zh) * | 2019-10-31 | 2020-03-17 | 北京达佳互联信息技术有限公司 | 音频数据的处理方法、装置、电子设备及存储介质 |
CN111064992A (zh) * | 2019-12-10 | 2020-04-24 | 懂频智能科技(上海)有限公司 | 一种根据音乐节拍自动进行视频内容切换的方法 |
CN112233691A (zh) * | 2020-09-15 | 2021-01-15 | 复旦大学 | 一种歌唱评价方法及系统 |
CN112435687A (zh) * | 2020-11-25 | 2021-03-02 | 腾讯科技(深圳)有限公司 | 一种音频检测方法、装置、计算机设备和可读存储介质 |
CN113223485A (zh) * | 2021-04-28 | 2021-08-06 | 北京达佳互联信息技术有限公司 | 节拍检测模型的训练方法、节拍检测方法及装置 |
-
2021
- 2021-08-16 CN CN202110937586.4A patent/CN113674723B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101916564A (zh) * | 2008-12-05 | 2010-12-15 | 索尼株式会社 | 信息处理装置、旋律线提取方法、低音线提取方法及程序 |
CN104620313A (zh) * | 2012-06-29 | 2015-05-13 | 诺基亚公司 | 音频信号分析 |
WO2015114216A2 (en) * | 2014-01-31 | 2015-08-06 | Nokia Corporation | Audio signal analysis |
CN108280165A (zh) * | 2018-01-18 | 2018-07-13 | 四川大学 | 基于状态转移的奖励值音乐推荐算法 |
CN110233976A (zh) * | 2019-06-21 | 2019-09-13 | 广州酷狗计算机科技有限公司 | 视频合成的方法及装置 |
CN110890083A (zh) * | 2019-10-31 | 2020-03-17 | 北京达佳互联信息技术有限公司 | 音频数据的处理方法、装置、电子设备及存储介质 |
CN111064992A (zh) * | 2019-12-10 | 2020-04-24 | 懂频智能科技(上海)有限公司 | 一种根据音乐节拍自动进行视频内容切换的方法 |
CN112233691A (zh) * | 2020-09-15 | 2021-01-15 | 复旦大学 | 一种歌唱评价方法及系统 |
CN112435687A (zh) * | 2020-11-25 | 2021-03-02 | 腾讯科技(深圳)有限公司 | 一种音频检测方法、装置、计算机设备和可读存储介质 |
CN113223485A (zh) * | 2021-04-28 | 2021-08-06 | 北京达佳互联信息技术有限公司 | 节拍检测模型的训练方法、节拍检测方法及装置 |
Non-Patent Citations (2)
Title |
---|
J. Laroche et al..Estimating tempo, swing and beat locations in audio recordings.Proceedings of the 2001 IEEE Workshop on the Applications of Signal Processing to Audio and Acoustics (Cat. No.01TH8575).2002,全文. * |
桂学哲 ; 涂中方 ; .转场技术在影视后期制作中的应用.明日风尚.2018,(第17期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN113674723A (zh) | 2021-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9653056B2 (en) | Evaluation of beats, chords and downbeats from a musical audio signal | |
JP6017687B2 (ja) | オーディオ信号分析 | |
US9324330B2 (en) | Automatic conversion of speech into song, rap or other audible expression having target meter or rhythm | |
WO2017113973A1 (zh) | 一种音频识别方法和装置 | |
CN113674723B (zh) | 一种音频处理方法、计算机设备及可读存储介质 | |
EP2854128A1 (en) | Audio analysis apparatus | |
US12027165B2 (en) | Computer program, server, terminal, and speech signal processing method | |
CN110675886B (zh) | 音频信号处理方法、装置、电子设备及存储介质 | |
US9646592B2 (en) | Audio signal analysis | |
CN111640411B (zh) | 音频合成方法、装置及计算机可读存储介质 | |
CN111680187A (zh) | 乐谱跟随路径的确定方法、装置、电子设备及存储介质 | |
CN111798821B (zh) | 声音转换方法、装置、可读存储介质及电子设备 | |
CN109922268B (zh) | 视频的拍摄方法、装置、设备及存储介质 | |
CN112399247A (zh) | 一种音频处理方法、音频处理设备及可读存储介质 | |
JP2012108451A (ja) | 音声処理装置および方法、並びにプログラム | |
CN111888765A (zh) | 多媒体文件的处理方法、装置、设备及介质 | |
CN113823323A (zh) | 一种基于卷积神经网络的音频处理方法、装置及相关设备 | |
CN112885318A (zh) | 多媒体数据生成方法、装置、电子设备及计算机存储介质 | |
CN108538309B (zh) | 一种歌声侦测的方法 | |
CN107025902B (zh) | 数据处理方法及装置 | |
WO2017164216A1 (ja) | 音響処理方法および音響処理装置 | |
CN113744721B (zh) | 模型训练方法、音频处理方法、设备及可读存储介质 | |
CN115206345B (zh) | 基于时频结合的音乐人声分离方法、装置、设备及介质 | |
US11495200B2 (en) | Real-time speech to singing conversion | |
US20210030348A1 (en) | Systems and methods to improve a user's mental state |
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 |