CN107293307B - 音频检测方法及装置 - Google Patents
音频检测方法及装置 Download PDFInfo
- Publication number
- CN107293307B CN107293307B CN201610201533.5A CN201610201533A CN107293307B CN 107293307 B CN107293307 B CN 107293307B CN 201610201533 A CN201610201533 A CN 201610201533A CN 107293307 B CN107293307 B CN 107293307B
- Authority
- CN
- China
- Prior art keywords
- audio
- audio file
- fingerprint
- tested
- sample
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 36
- 238000000034 method Methods 0.000 claims abstract description 52
- 238000005070 sampling Methods 0.000 claims description 43
- 238000012545 processing Methods 0.000 claims description 12
- 239000011159 matrix material Substances 0.000 claims description 9
- 238000012163 sequencing technique Methods 0.000 claims description 7
- 238000010606 normalization Methods 0.000 claims description 2
- 238000012360 testing method Methods 0.000 claims description 2
- 230000015654 memory Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 15
- 230000005540 biological transmission Effects 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 230000005236 sound signal Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 241000084490 Esenbeckia delta Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010008 shearing Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/48—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
- G10L25/51—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
- G10L25/54—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination for retrieval
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种音频检测方法及装置。其中,该方法包括:获取待测音频文件的音频指纹;对于所述待测音频文件的每个音频指纹,从与所述音频指纹对应的倒排列表中查找所述待测音频文件的相似音频文件;其中,所述倒排列表中的每条记录包括:样本音频文件标识,以及样本指纹在样本音频文件中出现的位置,所述样本音频文件为所述样本音频文件标识所指示的音频文件;获取所述待测音频文件与所述相似音频文件的相似度,并根据所述相似度确定所述待测音频文件是否为指定类型的音频。
Description
技术领域
本发明涉及音频检测领域,具体而言,涉及一种音频检测方法及装置。
背景技术
目前,针对违规音频的检测,一般采用MD5值比对和音频数字水印等音频检索算法,其中,
MD5值比对:任何音频文件的MD5值都是一个文本串,长度为32。相同音频文件的MD5值必然相同;即使两个文件只有一个比特的差异,MD5值也不相同。也就是说,哪怕是同一首歌曲,其不同采样率下的文件MD5值也不同。我们可以把两个音频文件是否相同的判断问题变为比较两者MD5值是否一致的问题。MD5值比对法的优点是计算简单、正确率100%,但是漏检率很高,只能检出与索引中完全一样的音频文件。
音频数字水印:在数字水印技术中有一种用于盗版源头跟踪的经过特殊设计的水印信息,对音频文件的每个拷贝嵌入不同的水印,在发现盗版时即可据此发现盗版分发的源头,其主要理论基础是通信理论中各种具有正交性的码字设计。然而,针对特定业务场景,违规音频往往并不会嵌入水印来帮助监管方追查其来源。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
根据本申请实施例的一个方面,提供了一种音频检测方法,包括:获取所述待测音频文件的音频指纹;对于所述待测音频文件的每个音频指纹,从与所述音频指纹对应的倒排列表中查找所述待测音频文件的相似音频文件;其中,所述倒排列表中的每条记录包括:样本音频文件标识,以及样本指纹在样本音频文件中出现的位置,所述样本音频文件为所述样本音频文件标识所指示的音频文件;获取所述待测音频文件与所述相似音频文件的相似度,并根据所述相似度确定所述待测音频文件是否为指定类型的音频。
可选地,对于所述待测音频文件的每个音频指纹,从与所述待测音频文件的音频指纹对应的所述倒排列表中查找所述待测音频文件的音频指纹出现的时间集合,其中,所述时间集合的组成元素为:所述待测音频文件的音频指纹在所有所述样本音频文件中出现的位置所指示的时间;
对于所述待测音频文件的每个音频指纹,将所述待测音频文件的音频指纹在所述待测音频文件中出现的时间作为基准时间,与所述时间集合中的元素进行取差运算,并依据得到的时间差生成中间结果;其中,所述中间结果由所述样本音频文件标识,以及与所述样本音频文件标识对应的所述时间差组成;
对于所述倒排列表中的每个样本音频文件标识,依据所述中间结果统计与所述样本音频文件标识所指示的样本音频文件中所有相同时间差的个数,并按照所述个数从多至少的顺序对所述倒排列表中的样本音频文件进行排序,得到前M个样本音频文件,并将所述前M个样本音频文件作为所述相似音频文件,其中,M为自然数。
可选地,获取所述待测音频文件与所述相似音频文件的相似度,包括:依据所述待测音频文件中的指纹数N1与所述M个音频文件中的每个音频文件的指纹数N2,以及特征点对的个数N,获取所述待测音频文件与所述M个音频文件中的每个音频文件的相似度,其中,N1、N2和N均为自然数;其中,所述特征点对通过以下方式获取:所述M个音频文件中每个音频文件的每一帧在频谱图上的局部极大值所对应的锚点与预设矩阵目标区域中的锚点进行两两组合,将每个组合作为一个所述特征点对;其中,所述锚点为每一帧频谱图中的局部极大值所对应的采样点。
可选地,所述音频文件的每一帧所对应采样点的取值通过以下方式确定:[2048k,2048k+4095],其中,k为自然数。
根据本申请实施例的另一方面,还提供了一种音频检测装置,包括:获取模块,用于获取所述待测音频文件的音频指纹;查询模块,用于对于所述待测音频文件的每个音频指纹,从与所述音频指纹对应的倒排列表中查找所述待测音频文件的相似音频文件;其中,所述倒排列表中的每条记录包括:样本音频文件标识,以及样本指纹在样本音频文件中出现的位置,所述样本音频文件为所述样本音频文件标识所指示的音频文件;识别模块,用于获取所述待测音频文件与所述相似音频文件的相似度,并根据所述相似度确定所述待测音频文件是否为指定类型的音频。
在本申请实施例中,采用按照音频指纹查找与待测音频文件的相似音频文件,并根据待测音频文件与相似音频文件的相似度确定待测音频文件是否为指定类型的音频文件的方式对待测音频文件进行检测,其中,由于其是依据的音频指纹进行检测,因此,可以实现对待测音频文件的准确检测,降低音频检测的漏检率;并且,由于从新设计的倒排列表(又称为倒排文档)中查找相似音频文件,因此,本申请实施例中提供的方案可以适用于大规模样本集的检索,适用范围比较广;另外,由于其是针对整个待测音频文件的所有音频指纹进行检测,因此,可以为追踪违规音频来源提供更多地线索,进而为违规音频来源的追踪提供有力支撑,进而解决了漏检率较高、以及无法更有效地追踪违规音频来源的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本申请实施例的一种用于执行音频检测方法的计算机终端的硬件结构框图;
图2是根据本申请实施例的一种可选的音频检测方法的流程示意图;
图3为根据本申请实施例的一种可选的音频指纹倒排文档结构示意图;
图4为根据本申请实施例的一种可选的音频指纹正排文档示意图;
图5为根据本申请实施例的一种可选的音频指纹示意图;
图6为根据本申请实施例的一种可选的频谱图中局部极大值示意图;
图7为根据本申请实施例的一种可选的锚点和目标窗示意图;
图8是根据本申请实施例的一种可选的违规音频的检测流程示意图;
图9是根据本申请实施例的一种可选的违规音频索引的建立流程示意图;
图10为根据本申请实施例的一种可选的检索过程中间结果表示意图;
图11为根据本申请实施例的一种可选的音频检测装置的结构框图;
图12为根据本申请实施例的一种可选的计算机终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例的主要目的是建立一种有效机制来比较两个音频数据的感知听觉相似性。需要注意的是,本申请实施例中不是直接比较通常很大的音频数据本身,而是比较其相应通常较小的数字指纹。大量音频数据的指纹和其相应的元数据比如歌曲名称、词曲作者、歌词等内容一起存储在一个数据库中,并采用指纹作为相应元数据的索引。
其中,对于音频指纹的检索通常包括两部分:一个计算听觉重要特征的指纹提取算法和一个在指纹数据库中进行有效搜索的比对算法。当需要检索一段未知视频时,首先按照指纹提取算法计算其音频指纹,然后和数据库中存储的大量音频指纹相比对寻找相似音频。一个有效的指纹提取算法和指纹比对算法能够在数据库中正确识别出可能经受各种信号处理失真的未知音频的原始版本。
其中,音频指纹检测算法的衡量指标如下:
a)准确性:包括正确识别率、漏检率(False negat ive)和误检率(Falsepositive)。
b)鲁棒性:指未知音频能在一定强度的信号处理后仍然能够被识别出来。这些处理包括有损压缩、由于剪切或错位引起的失同步、变调、均衡化、噪声、D/A-A/D转换等。为了提高鲁棒性,指纹必须基于听觉重要内容的音频特征提取,从而在一定程度上实现对信号处理的不变性。
c)区分性:即不同内容音频之间的指纹应该具有较大的差异,而同一内容音频不同版本之间的指纹应该具有很小的差异。
d)可靠性:即一首歌曲被正确识别的几率,通常用误检率(False pos it ive)来衡量.误检率越小,该***可靠性就越高。音频检索***中,False pos it ive是最重要的参数,因为它把本来在数据库中没有相似性的指纹说成是相似的,这会严重影响检索***的可信度。
e)指纹尺寸:为了提高检索速度,指纹一般存于内存中,大小用比特数/秒表示。指纹的尺寸在很大程度上决定指纹数据库的内存容量。
f)粒度:粒度是一个依赖于具体应用场景的参数,即需要多少秒的未知音频片段来识别整首音频。
g)检索速度:对实际商用的音频指纹***来说,这是一个关键的参数。通常要求使用有限计算资源,如普通PC机,在10万首歌曲构成的指纹数据库中搜索速度在秒量级。
h)通用性:能够对不同音频格式进行识别和使用同样数据库进行不同应用的能力。
以上因素互相间可能存在较强的相关性。例如,如果采用较小的粒度,那么就要在一个粒度内提取更大的指纹来得到相同的检索可靠性。因为粒度变小会使可靠性降低,而指纹尺寸增大会使可靠性上升。再比如,当采用鲁棒性更强的指纹时会加快搜索速度,这是因为指纹搜索是一种近似性搜索,指纹越鲁棒,在相同的信号处理环境中未知指纹和原始指纹之间距离就越小,从而会加快搜索速度。
以下结合具体实施例详细说明。
实施例1
根据本申请实施例,还提供了一种音频检测方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本申请实施例的一种用于执行音频检测方法的计算机终端的硬件结构框图。如图1所示,计算机终端10可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的音频检测方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的音频检测方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Control ler,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
在上述运行环境下,本申请提供了如图2所示的音频检测方法。图2是根据本申请实施例的一种可选的音频检测方法的流程示意图。如图2所示,该方法包括步骤S202-S206,其中:
步骤S202,获取待测音频文件的音频指纹;
需要说明的是,在步骤S202之前,可以先确定需要进行检测的待测音频文件,例如,从互联网下载各种音频文件,在人工听取音频文件的内容或通过终端上的应用识别内容后,将认定的违规音频作为上述待测音频文件进行检测,此处的违规音频可以是人为认定的违规音频或应用认定的违规音频。
另外,为了兼顾数据处理量和漏检率要求,可以根据实际情况,在获取上述待测音频文件的音频指纹之前,先将上述待测音频文件的音频格式转换为指定格式并对上述待测音频文件的音频采样率进行归一化处理。这样,便可以从多个角度采集音频指纹,提高音频检测准确度。例如,可以根据样本音频库中的音频格式进行格式转换,这样便可以依据不同音频格式的样本音频库进行检测,进一步降低漏检率。
例如,目前最常见的音频格式是高级音频编码(Advanced Audio Coding,简称为AAC)和动态影像专家压缩标准音频层面3(Moving Picture Experts Group Audio Layer,简称为MP3)。
其中,MP3被用来大幅度地降低音频文件的数据量,可以将音频以1:10甚至1:12的比例压缩,同时保障压缩后的音质与不压缩音频相比没有明显的下降。ACC是基于MPEG-2的音频编码技术。在同码率的情况下,ACC品质比MP3更好。但是由于目前MP3格式的音频占据数量上的绝对优势,因此可以优先选择将音频格式统一到MP3。音频采样率是指录音设备在一秒钟内对声音信号的采样次数,采样频率越高声音的还原就越真实越自然。在当今的主流采集卡上,采样频率一般共分为22050Hz、44100Hz、48000Hz三个等级,44100KHz是理论上的CD音质界限,也是比较主流的音频采样率,因此,可以根据实际情况灵活选择采样率和需要转换的音频格式。
步骤S204,对于上述待测音频文件的每个音频指纹,从与上述音频指纹对应的倒排列表中查找上述待测音频文件的相似音频文件;其中,上述倒排列表中的每条记录包括:样本音频文件标识,以及样本指纹在样本音频文件中出现的位置,该样本音频文件为上述样本音频文件标识所指示的音频文件。可选地,该倒排列表可以通过以下方式生成:直接分配一个音频指纹集合来存放所有的样本指纹(例如,该集合可以以数组的形式出现,但不限于此),然后每一个样本指纹均指向一个出现过该样本指纹的所有音频文件的列表,列表中存储的是音频文件标识(id)和该样本指纹在该样本音频文件中出现的位置。
其中,对于倒排文档的结构可以参见图3所示:如图3所示,样本指纹包括:指纹1、指纹2、指纹3、……指纹224-1,其中,(id1,pos1)表示指纹1所对应的音频文件标识(id1)和指纹1在id1所标识的音频文件中的位置(pos1),其余列表中的信息所表示的含义和指纹1类似,此处不再赘述。
其中,样本音频文件为待测音频文件的参考音频,即判断待测音频文件是否为指定类型(例如违规音频)的参考音频文件。音频指纹集合中的样本指纹是指上述参考音频文件(即样本音频文件)的音频指纹。
可选地,对于上述待测音频的查询过程,可以通过以下处理过程实现,但不限于此:
1)对于上述待测音频文件的每个音频指纹,从与上述待测音频文件的音频指纹对应的上述倒排列表中查找上述待测音频文件的音频指纹出现的时间集合,其中,上述时间集合的组成元素为:上述待测音频文件的音频指纹在所有上述样本音频文件中出现的位置所指示的时间;
2)对于上述待测音频文件的每个音频指纹,将上述待测音频文件的音频指纹在上述待测音频文件中出现的时间作为基准时间,与上述时间集合中的元素进行取差运算,并依据得到的时间差生成中间结果;每个上述中间结果由样本音频文件标识,以及与上述音频文件标识对应的上述时间差组成;
3)对于上述倒排列表中的每个样本音频文件标识,依据上述中间结果统计与上述音频文件标识所指示的上述样本音频文件中所有相同时间差的个数,并按照上述个数从多至少的顺序对上述倒排列表中的样本音频文件进行排序,得到前M个样本音频文件,并将上述前M个样本音频文件作为上述相似音频文件,其中,M为自然数。
为便于理解上述相似音频文件的确定方式以下结合一个具体实例详细说明。
首先说明一下正排列表和倒排列表(又称为倒排文档或倒排索引)中组成元素的来源:三个音频文件(以乐曲为例):r1.acc,r2.mp3,r3.wav。需要检索的乐曲(即待测音频文件)为t1.mp3。
建立正排文档和倒排文档的过程如下:
步骤一:
将3首乐曲转换为mp3格式,采样率归一化到44100Hz,并重命名为r1.mp3,r2.mp3,r3.mp3。
步骤二:
对每一首乐曲做傅里叶变换。
具体做法是:每隔46毫秒,取92毫秒的时间窗口取音频信号做傅里叶变换。假如r1.mp3长度为1秒,则一共会产生(1000-92)/46+1=20个窗口。
步骤三:
计算音频指纹。每个窗口产生10个局部极大值(也称为anchor point)(局部极大值的产生方式会在下文进行详细描述,此处不再赘述)。每个anchor point在其右边都有一个矩阵目标区(target zone),每个矩阵目标区有1个或者多个(不会超过10个)anchorpoint。假如某个anchor point记为P1,其对应的target zone中存在2个anchor point,分别记为P21、P22。
则,从P1点出发会产生2个音频指纹。一个由P1与P21构成,另一个由P1与P22构成。假如P1在乐曲r1中出现的时间t1是第100ms,频率是500Hz;P21在乐曲r1中出现的时间是第120ms,频率是600Hz,(参考:人的声音的频率范围大约250Hz-5000Hz。)然后将上述时间归入不同的时间集合。此时,P1与P21构成的音频指纹为hash([f1:f21:delta_t]):t1=hash([500:600:120-100]):100=6781d3bdbfcb20b73e34e0e5:100。假如P22在乐曲r1中出现的时间是第125ms,频率是700Hz,然后将上述时间归入不同的时间集合。此时P1与P22构成的音频指纹为:hash([f1:f22:delta_t]):t1=hash([500:700:125-100]):100=715ff0eaccbd75decb48aa80:100。
步骤四:
建立索引。其中,对于正排文档,例如,r1.mp3的正排文档是:
r1;指纹1|指纹2|……|指纹n。
假如在步骤三中的举例是第10个、第11个指纹,则r1.mp3的正排文档为:
r1;指纹1|……|指纹9|6781d3bdbfcb20b73e34e0e5:100|715ff0eaccbd75decb48aa80:100|指纹12|……|指纹n。
对于倒排索引(又称为倒排文档或倒排列表)。假如,在r2.mp3中存在一个anchorpoint,记为P3,在r2.mp3中出现时间是200ms,频率是500Hz。P3对应的target zone中存在3个anchor point,分别记为P41、P42、P43。其中,点P41的频率为600Hz,在r2.mp3中出现的时间为220ms,则P3与P41构成的音频指纹为hash([f1:f21:delta_t]):t1=hash([500:600:220-200]):200=6781d3bdbfcb20b73e34e0e5:200。
那么,倒排文档中必然包含以下记录:
……
指纹(6781d3bdbfcb20b73e34e0e5):(r1.mp3,100)|(r2.mp3,200)|……
……
指纹(715ff0eaccbd75decb48aa80):(r1.mp3,100)|……
……
假如r1.mp3有1000个指纹,r2.mp3有2000个指纹,r3.mp3有3000个指纹,则倒排文档中会一共有1000+2000+3000=6000条记录。
至此,入库过程结束,即完成了正排文档和倒排文档的建立。
其次,说明一下相似音频文件的检索过程。
假设检索r4.mp3(以下简称为r4)的相似音频文件,具体过程如下:
步骤一:获取r4的音频指纹。
将r4.mp3中某个anchor point记为P5,其对应的target zone中存在2个anchorpoint,分别记为P61、P62。
则,从P5点出发会产生2个音频指纹。一个由P5与P61构成,另一个由P5与P62构成。假如P5在乐曲r4中出现的时间t5是第150ms,频率f5是500Hz;P61在乐曲r4中出现的时间是第170ms,频率是600Hz。则,P5与P61构成的音频指纹为hash([f5:f61:delta_t]):t5=hash([500:600:170-150]):150=6781d3bdbfcb20b73e34e0e5:150。假如P62在乐曲r4中出现的时间是第195ms,频率是700Hz。则,P5与P62构成的音频指纹为hash([f5:f61:delta_t]):t5=hash([500:700:195-150]):150=715ff0eaccbd75decb48aa80:150。
r4.mp3可能还有其他指纹,假设一共有1200个指纹,则其指纹列表为:
r4;指纹1|……|指纹m-1|6781d3bdbfcb20b73e34e0e5:200|715ff0eaccbd75decb48aa80:200|指纹m+2|……|指纹1200。
步骤二:
查倒排索引。
对r4.mp3的每一个指纹都查找之前生成的倒排索引。例如,对r4.MP3的第m个指纹6781d3bdbfcb20b73e34e0e5:150,取出24位的hash值6781d3bdbfcb20b73e34e0e5,在倒排索引中发现这一行是:
指纹(6781d3bdbfcb20b73e34e0e5):(r1.mp3,100)|(r2.mp3,200)|……,
涉及到两段音频r1.mp3和r2.mp3,时间差分别是150-100=50,以及150-200=-50.记录在中间结果表里面,即针对r1.mp3增添一个记录50,r2.mp3增添一个结果-50.
对r4.MP3的第m个指纹715ff0eaccbd75decb48aa80:150,取出24位的hash值715ff0eaccbd75decb48aa80,在倒排索引中发现这一行是:
指纹(715ff0eaccbd75decb48aa80):(r1.mp3,100)|……
涉及到一段音频r1.mp3,时间差分别是150-100=50。记录在中间结果表里面,就是r1.mp3再增添一个记录50.
则,现在中间结果表里r1.mp3有两条50的记录,r2.mp3里面有一条-50的记录,
步骤三:计算相似度。
现在假定,r4.mp3的音频指纹与库中其他指纹都未匹配上,则r4.mp3与r1.mp3匹配上的指纹数量是2,与r2.mp3匹配上的指纹数为1,与r3.mp3匹配上的指纹数为0.即通过步骤二的处理过程查找到r1.mp3中相同时间差(50)的个数为2,r2.mp3中只有一个时间差-50。
则,r1.mp3与r4.mp3的相似度为similarity=N*N/N1/N2=2*2/1000/1200.
r2.mp3与r4.mp3的相似度为s imi larity=N*N/N1/N2=1*1/2000/1200.
r3.mp3与r4.mp3的相似度为similarity=N*N/N1/N2=0*0/3000/1200.
此时,按照相同时间差个数从多到少的排列顺序进行排列:r1,r2,r3。将排序列表中前1个音频文件(即排在首位的r1)作为待测音频文件(r4.mp3)的相似音频文件。当然选择相似音频文件的规则并不限于此:例如,在样本音频文件为r1,r2,r3,r5,r6,r7,且存在相同时间差的个数从多到少的顺序为r1,r2,r3,r5,r6,r7,此时可以将前三个音频文件(r1,r2,r3)作为相似音频文件。
需要说明的是,在本申请的一个可选实施例中,对于相似度的计算,可以仅计算选定的相似音频文件的相似度,也可以计算所有与待测音频文件比较的音频文件的相似度,具体根据实际情况决定。
由上述描述也可以看出,由于在相似音频的查找过程中考虑了时间差的概念,因此,可以避免对待测音频进行了修改(包括裁剪和增加)后而导致不能识别出相似音频文件。
步骤S206,获取上述待测音频文件与上述相似音频文件的相似度,并根据该相似度确定待测音频文件是否为指定类型的音频。可选地,确定待测音频文件是否为指定类型的音频的方式有多种,例如,可以直接依据预先建立的相似度的取值范围与音频的类型的对应关系确定,此时,可以先确定相似度所落入的取值范围,并依据取值范围确定与该取值范围对应的音频的类型,从而确定待测音频文件的类型。在本申请的一个可选实施例中,还可以依据相似度与预设阈值的比较结果来确定,具体可以通过以下处理过程实现:判断上述相似度是否大于预设阈值,其中,在上述相似度大于预设阈值时,确定所述待测音频文件为所述指定类型的音频。可选地,上述指定类型的音频可以为网络中存在的违规音频。
对于上述相似度,可以采用相关技术中的技术确定,例如可以采用相似度的相关计算软件实现,在本申请的一个可选实施例中,可以通过以下方式确定,但不限于此:
依据上述待测音频文件中的指纹数N1与上述M个音频文件中的每个音频文件的指纹数N2,以及特征点对的个数N,获取上述待测音频文件与上述M个音频文件中的每个音频文件的相似度,其中,N1、N2和N均为自然数;其中,上述特征点对通过以下方式获取:上述M个音频文件中每个音频文件的每一帧在频谱图上的局部极大值所对应的锚点与预设矩阵目标区域中的锚点进行两两组合,将每个组合作为一个上述特征点对;其中,上述锚点为每一帧频谱图中的局部极大值所对应的采样点。需要说明的是,M、N、N1、N2取值可以根据实验数据或经验预先确定,但不限于此。
其中,对于上述频谱图,可以通过快速傅里叶变换(FFT)进行时间-频率的转换。傅里叶变换作为信号从时域(音频信号)到频域(频谱图)的转换工具,其实质是将原始信号分解成由不同频率的正弦波的叠加之和。傅里叶变换不能刻画时域信号的局部特性,对非平稳信号的处理效果不好。为了克服这一局限,将信号划分为许多小的时间间隔,假定信号在某一个窗函数的短时间间隔内是平稳的。例如,可以将窗口时间跨度为约92ms,可以认为这期间音频信号是平稳的。以4096个采样点作为一帧数据进行FFT变换进行时间-频率的计算,然后向后滑动2048个点再进行计算,以此类推,即进行频谱图计算的帧为[2048k,2048k+4095],k=0,1,…,n。在采样率44100Hz的情况下,相当于每隔约46ms计算一段时长约为92ms的音频的频谱图。由此也可以看出,对于上述音频文件的每一帧所对应采样点的取值可以通过以下方式确定:[2048k,2048k+4095],其中,k为自然数。
其中,对于上述M个音频文件中的每个音频文件的指纹数N2,可以依据正排文档获取,对于正排文档的结构可以参见图4所示:如图4所示,正排文档中的每条记录包括音频文件id,以及该音频文件的指纹列表,例如,对于id1对应的记录,该记录包括:与id1对应的音频文件的标识(id1),以及该音频文件中的所有指纹(指纹1、指纹2、指纹3、……)。基于正排文档,可以快速确定样本音频文件的指纹数量,提高检测效率。
其中,上述局部极大值通过以下方式获取:
将上述每一帧的频谱图在二维坐标系的X轴上每隔A个采样点,在Y轴上每隔B个采样点进行区域划分,将每个区域中能量值最大的采样点作为局部极大值候选点;将划分得到的所有区域的局部极大值候选点进行降序排列,将排名靠前的指定数量个局部极大值候选点作为上述局部极大值所对应的采样点,其中,A和B为自然数。
如图6所示,首先设定每一帧频谱图上局部极大值的数量为10。将频谱图按照横轴每64个采样点、纵轴每1000Hz做划分,每个小格子内取能量最大的点作为一个局部极大值候选点,所有的候选点按照能量值降序排列,排名靠前的10个即为这一帧频谱图的局部极大值,也称为锚点(anchor point)。如图7所示,针对每一个anchor point,在其右边都有一个矩阵目标区(target zone)(即上面所提及的划分后的区域),其大小为横轴128个采样点,纵轴1000Hz,左侧距离锚点32个采样点。然后,将anchor point和target zone中的所有anchor point两两组合,利用每个组合生成一个指纹。如图5所示,每个指纹由三部分构成:两个anchor point的频率和时间差,以及在音频中出现的时间(可以使用采样点的编号来表示),当然也可以将上述三部分进行哈希运算,将运算结果作为指纹,即:hash([f1:f2:delta_t]):t1。其中f1为anchor point所在的频率,f2为与anchor point对应的局部极大值所在的频率,delta_t(即Δt)为两个采样点之间的时间差,t1为anchor point点所在的时间,hash([f1:f2:delta_t])长度为24bit。
可选地,上述相似度可以通过以下公式确定,但不限于此:P=N*N/N1/N2,其中,P表示上述相似度。
为了更好地理解上述指定类型的音频文件的检测过程,以下结合具体实施例详细说明。图8是根据本申请实施例的一种可选的违规音频的检测流程示意图。如图8所示,该检测流程包括:
步骤S802,输入音频并提前建立音频索引(包括正排文档和倒排文档,其具体结构形式参见上面实施例所示),即收集业务上定义的违规音频,将编码方式转为mp3,采样率归一化到44100Hz。
其中,建立索引的过程如图9所示:
步骤S902,对违规音频统一音频格式和采样率。具体地,以4096个样本点作为一帧进行FFT变换进行时间-频率的计算,然后向后滑动2048个点再进行计算,以此类推,即进行频谱图计算的帧为[2048k,2048k+4095],k=0,1,…,n。相当于每隔约46ms计算一段时长约为92ms的音频的频谱图。
在频谱图中,按照事先选定的数目(即局部极大值的数量),计算每一帧频谱图中的所有局部极大值,如图6所示。
步骤S904,提取音频文件的音频指纹;
步骤S906,利用上述音频指纹建立索引(即建立正排文档和倒排文档)。基于指纹的音频检索工作原理和搜索引擎非常相似,也是构造一个倒排索引结构。每一个指纹都是一个长度24bit的字符串和时间标记的组合。分配一个大数组来存放所有的指纹,然后每一个指纹都指向一个该指纹对应的音频文件倒排列表,如图3所示。
正排表结构较简单,每条记录格式为:音频文件id–该音频的指纹列表。如图7所示。
步骤S804,提取待测音频文件的音频指纹;
步骤S806,按照音频指纹在上述索引中查找相似音频文件,并计算相似度。具体地:
对每一个提取的指纹都查找倒排索引表,获得该指纹对应的倒排列表。倒排列表中出现的音频都写入图10所示的中间结果表;
将倒排列表中每一个音频对应的时间(即待测音频文件的音频指纹在倒排列表中的音频文件中出现的时间)和提取的指纹对应的时间(即待测音频文件的音频指纹在待测音频文件中出现的时间)进行相减,保存该时间差到图10所示的中间结果表中;
对图10所示中间结果表中的每个音频的时间差进行排序。
统计每个音频中时间差相同的个数,并返回排名靠前的10个音频。
将两个音频各自的指纹数N1与N2、匹配上的特征点对的个数N输入相似性度量公式:P=N*N/N1/N2,得到两个音频文件的相似度(即相似概率)。
步骤S808,判断相似度是否超过预设阈值(例如0.08,具体可以根据实际情况灵活设定),如果是,转步骤S810,否则转步骤S812;
步骤S810,人工判断是否为违规音频,如果是转步骤S814,否则转步骤S812;
步骤S812,确定待测音频文件为非违规音频;
步骤S814,确定待测音频文件为违规音频,提示用户删除。
综上所述,在本申请实施例中,采用按照音频指纹查找与待测音频文件的相似音频文件,并在待测音频文件与相似音频文件的相似度大于预设阈值时,确定待测音频文件为指定类型的音频文件的方式对待测音频文件进行检测,其中,由于其是依据的音频指纹进行检测,因此,可以实现对待测音频文件的准确检测,降低音频检测的漏检率;并且,由于从新设计的倒排文档中查找相似音频文件,因此,本申请实施例中提供的方案可以适用于大规模样本集的检索,适用范围比较广;另外,由于其是针对整个待测音频文件的所有音频指纹进行检测,因此,可以为追踪违规音频来源提供更多地线索,进而为违规音频来源的追踪提供有力支撑,进而解决了漏检率较高、以及无法更有效地追踪违规音频来源的技术问题。
需要说明的是,本申请实施例中音频检测方法可以适用于用户侧违规音频的检测,例如,检测用户侧本地的音频是否属于违规音频。如果是,则提示用户删除,从而净化互联网环境,避免违规音频传播。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例上述的方法。
实施例2
根据本申请实施例,还提供了一种用于实施上述音频检测方法的装置,如图11所示,该装置包括:
获取模块110,用于获取待测音频文件的音频指纹;
可选地,获取模块110,还用于依据上述待测音频文件中的指纹数N1与上述M个音频文件中的每个音频文件的指纹数N2,以及特征点对的个数N,获取上述待测音频文件与上述M个音频文件中的每个音频文件的相似度,其中,N1、N2和N均为自然数;其中,上述特征点对通过以下方式获取:上述M个音频文件中每个音频文件的每一帧在频谱图上的局部极大值所对应的锚点与预设矩阵目标区域中的锚点进行两两组合,将每个组合作为一个上述特征点对;其中,上述锚点为每一帧频谱图中的局部极大值所对应的采样点。
其中,上述局部极大值可以通过以下方式获取,但不限于此:将上述每一帧的频谱图在二维坐标系的X轴上每隔A个采样点,在Y轴上每隔B个采样点进行区域划分,将每个区域中能量值最大的采样点作为局部极大值候选点;将划分得到的所有区域的局部极大值候选点进行降序排列,将排名靠前的指定数量个局部极大值候选点作为上述局部极大值所对应的采样点,其中,A和B为自然数。
查询模块112,连接至获取模块110,用于对于上述待测音频文件的每个音频指纹,从与上述音频指纹对应的倒排列表中查找上述待测音频文件的相似音频文件;其中,上述倒排列表中的每条记录包括:样本音频文件标识,以及样本指纹在样本音频文件中出现的位置,该样本音频文件为上述样本音频文件标识所指示的音频文件;可选地,该倒排列表可以通过以下方式生成:直接分配一个音频指纹集合来存放所有的样本指纹(例如,该集合可以以数组的形式出现,但不限于此),然后每一个样本指纹均指向一个出现过该样本指纹的所有音频文件的列表,列表中存储的是音频文件标识(id)和该样本指纹在该样本音频文件中出现的位置。
可选地,查询模块112,还用于对于上述待测音频文件的每个音频指纹,从与上述待测音频文件的音频指纹对应的上述倒排列表中查找上述待测音频文件的音频指纹出现的时间集合,其中,上述时间集合的组成元素为:上述待测音频文件的音频指纹在所有上述样本音频文件中出现的位置所指示的时间;对于上述待测音频文件的每个音频指纹,将上述待测音频文件的音频指纹在上述待测音频文件中出现的时间作为基准时间,与上述时间集合中的时间进行取差运算,并依据得到的时间差生成中间结果;每个上述中间结果由音频文件标识,以及与上述音频文件标识对应的上述时间差组成;对于上述倒排列表中的每个样本音频文件,依据上述中间结果统计与上述音频文件标识所指示的上述样本音频文件中所有相同时间差的个数,并按照上述个数从多至少的顺序对上述倒排列表中的样本音频文件进行排序,得到前M个样本音频文件,并将上述前M个样本音频文件作为上述相似音频文件,其中,M为自然数。
识别模块114,连接至查询模块112,用于获取上述待测音频文件与上述相似音频文件的相似度,并在上述相似度大于预设阈值的情况下,确定上述待测音频为指定类型的音频。
可选地,基于获取模块110获取的N、N1和N2中,上述相似度可以通过以下公式确定:P=N*N/N1/N2,其中,P表示上述相似度。
在一个可选实施例中,上述音频指纹由以下三部分构成:上述特征点对中两个锚点的时间差和频率、以及在音频文件中出现的时间。
需要说明的是,上述各个模块是可以通过软件或硬件的形式来实现的,其中,对于后者,可以通过以下方式实现但不限于此:获取模块110、查询模块112和识别模块114位于同一处理器中;或者获取模块110、查询模块112和识别模块114分别位于第一处理器、第二处理器和第三处理器中;或者获取模块110、查询模块112和识别模块114以其他任意组合的形式位于不同的处理器中。
实施例3
本申请的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算机终端可以执行音频检测方法中以下步骤的程序代码:获取上述待测音频文件的音频指纹;对于上述待测音频文件的每个音频指纹,按照上述音频指纹从倒排列表中查找上述待测音频文件的相似音频文件;其中,上述倒排列表中的每条记录包括:样本音频文件标识和音频指纹集合中的样本指纹在上述样本音频文件标识所对应样本音频文件中出现的位置,并且上述音频指纹集合中的每个样本指纹均指向上述倒排列表中的一条记录;获取上述待测音频文件与上述相似音频文件的相似度,并在上述相似度大于预设阈值的情况下,确定上述待测音频为指定类型的音频。
可选地,图12是根据本申请实施例的一种计算机终端的结构框图。如图12所示,该计算机终端A可以包括:一个或多个(图中仅示出一个)处理器121、存储器123、以及与网站服务器连接的传输装置125。
其中,存储器123可用于存储软件程序以及模块,如本申请实施例中的音频检测方法和装置对应的程序指令/模块,处理器121通过运行存储在存储器123内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的***漏洞攻击的检测方法。存储器123可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器123可进一步包括相对于处理器121远程设置的存储器,这些远程存储器可以通过网络连接至终端A。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置125用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置125包括一个网络适配器(NetworkInterface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置125为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
其中,具体地,存储器123用于存储预设动作条件和预设权限用户的信息、以及应用程序。
处理器121可以通过传输装置调用存储器123存储的信息及应用程序,以执行下述步骤:获取上述待测音频文件的音频指纹;对于上述待测音频文件的每个音频指纹,按照上述音频指纹从倒排列表中查找上述待测音频文件的相似音频文件;其中,上述倒排列表中的每条记录包括:样本音频文件标识,以及样本指纹在样本音频文件中出现的位置,该样本音频文件为上述样本音频文件标识所指示的音频文件;获取上述待测音频文件与上述相似音频文件的相似度,并在上述相似度大于预设阈值的情况下,确定上述待测音频为指定类型的音频。
可选的,上述处理器121还可以执行如下步骤的程序代码:对于上述待测音频文件的每个音频指纹,从与上述待测音频文件的音频指纹对应的上述倒排列表中查找上述待测音频文件的音频指纹出现的时间集合,其中,上述时间集合的组成元素为:上述待测音频文件的音频指纹在所有上述样本音频文件中出现的位置所指示的时间;对于上述待测音频文件的每个音频指纹,将上述待测音频文件的音频指纹在上述待测音频文件中出现的时间作为基准时间,与上述时间集合中的时间进行取差运算,并依据得到的时间差生成中间结果;每个上述中间结果由音频文件标识,以及与上述音频文件标识对应的上述时间差组成;对于上述倒排列表中的每个样本音频文件,依据上述中间结果统计与上述音频文件标识所指示的上述样本音频文件中所有相同时间差的个数,并按照上述个数从多至少的顺序对上述倒排列表中的样本音频文件进行排序,得到前M个样本音频文件,并将上述前M个样本音频文件作为上述相似音频文件,其中,M为自然数。
可选的,上述处理器121还可以执行如下步骤的程序代码:依据上述待测音频文件中的指纹数N1与上述M个音频文件中的每个音频文件的指纹数N2,以及特征点对的个数N,获取上述待测音频文件与上述M个音频文件中的每个音频文件的相似度,其中,N1、N2和N均为自然数;其中,上述特征点对通过以下方式获取:上述M个音频文件中每个音频文件的每一帧在频谱图上的局部极大值所对应的锚点与预设矩阵目标区域中的锚点进行两两组合,将每个组合作为一个上述特征点对;其中,上述锚点为每一帧频谱图中的局部极大值所对应的采样点。
可选的,上述处理器121还可以执行如下步骤的程序代码:将上述待测音频文件的音频格式转换为指定格式并对上述待测音频文件的音频采样率进行归一化处理。
本领域普通技术人员可以理解,图12所示的结构仅为示意,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等终端设备。图12其并不对上述电子装置的结构造成限定。例如,计算机终端A还可包括比图12中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图12所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例4
本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的音频检测方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取上述待测音频文件的音频指纹;对于上述待测音频文件的每个音频指纹,从与上述音频指纹对应的倒排列表中查找上述待测音频文件的相似音频文件;其中,上述倒排列表中的每条记录包括:样本音频文件标识,以及样本指纹在样本音频文件中出现的位置,该样本音频文件为上述样本音频文件标识所指示的音频文件;获取上述待测音频文件与上述相似音频文件的相似度,并在上述相似度大于预设阈值的情况下,确定上述待测音频为指定类型的音频。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:对于所述待测音频文件的每个音频指纹,从与所述待测音频文件的音频指纹对应的所述倒排列表中查找所述待测音频文件的音频指纹出现的时间集合,其中,所述时间集合的组成元素为:所述待测音频文件的音频指纹在所有所述样本音频文件中出现的位置所指示的时间;对于所述待测音频文件的每个音频指纹,将所述待测音频文件的音频指纹在所述待测音频文件中出现的时间作为基准时间,与所述时间集合中的时间进行取差运算,并依据得到的时间差生成中间结果;每个所述中间结果由音频文件标识,以及与所述音频文件标识对应的所述时间差组成;对于所述倒排列表中的每个样本音频文件,依据所述中间结果统计与所述音频文件标识所指示的所述样本音频文件中所有相同时间差的个数,并按照所述个数从多至少的顺序对所述倒排列表中的样本音频文件进行排序,得到前M个样本音频文件,并将所述前M个样本音频文件作为所述相似音频文件,其中,M为自然数。
此处需要说明的是,上述计算机终端群中的任意一个可以与网站服务器建立通信关系。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (15)
1.一种音频检测方法,其特征在于,包括:
获取待测音频文件的音频指纹;
对于所述待测音频文件的每个音频指纹,从与所述音频指纹对应的倒排列表中查找所述待测音频文件的相似音频文件;其中,所述倒排列表中的每条记录包括:样本音频文件标识,以及样本指纹在样本音频文件中出现的位置,所述样本音频文件为所述样本音频文件标识所指示的音频文件;
依据所述待测音频文件与所述相似音频文件中每个音频文件的指纹数及特征点对的个数,确定所述待测音频文件与所述相似音频文件的相似度,并根据所述相似度确定所述待测音频文件是否为指定类型的音频。
2.根据权利要求1所述的方法,其特征在于,按照所述音频指纹从倒排列表中查找所述待测音频的相似音频文件,包括:
对于所述待测音频文件的每个音频指纹,从与所述待测音频文件的音频指纹对应的所述倒排列表中查找所述待测音频文件的音频指纹出现的时间集合,其中,所述时间集合的组成元素为:所述待测音频文件的音频指纹在所有所述样本音频文件中出现的位置所指示的时间;
对于所述待测音频文件的每个音频指纹,将所述待测音频文件的音频指纹在所述待测音频文件中出现的时间作为基准时间,与所述时间集合中的元素进行取差运算,并依据得到的时间差生成中间结果;其中,所述中间结果由所述样本音频文件标识,以及与所述样本音频文件标识对应的所述时间差组成;
对于所述倒排列表中的每个样本音频文件标识,依据所述中间结果统计与所述样本音频文件标识所指示的样本音频文件中所有相同时间差的个数,并按照所述个数从多至少的顺序对所述倒排列表中的样本音频文件进行排序,得到前M个样本音频文件,并将所述前M个样本音频文件作为所述相似音频文件,其中,M为自然数。
3.根据权利要求2所述的方法,其特征在于,获取所述待测音频文件与所述相似音频文件的相似度,包括:
依据所述待测音频文件中的指纹数N1与所述前M个样本音频文件中的每个音频文件的指纹数N2,以及特征点对的个数N,获取所述待测音频文件与所述前M个样本音频文件中的每个音频文件的相似度,其中,N1、N2和N均为自然数;
其中,所述特征点对通过以下方式获取:所述前M个样本音频文件中每个音频文件的每一帧在频谱图上的局部极大值所对应的锚点与预设矩阵目标区域中的锚点进行两两组合,将每个组合作为一个所述特征点对;其中,所述锚点为每一帧频谱图中的局部极大值所对应的采样点。
4.根据权利要求3所述的方法,其特征在于,所述局部极大值通过以下方式获取:
将所述每一帧的频谱图在二维坐标系的X轴上每隔A个采样点,在Y轴上每隔B个采样点进行区域划分,将每个区域中能量值最大的采样点作为局部极大值候选点;将划分得到的所有区域的局部极大值候选点进行降序排列,将排名靠前的指定数量个局部极大值候选点作为所述局部极大值所对应的采样点,其中,A和B为自然数。
5.根据权利要求3所述的方法,其特征在于,所述相似度通过以下公式确定:
P=N*N/N1/N2,其中,P表示所述相似度。
6.根据权利要求3所述的方法,其特征在于,所述音频指纹由以下三部分构成:所述特征点对中两个锚点的时间差和频率、以及在音频文件中出现的时间。
7.根据权利要求1至6中任一项所述的方法,其特征在于,获取待测音频文件的音频指纹之前,所述方法还包括:
将所述待测音频文件的音频格式转换为指定格式并对所述待测音频文件的音频采样率进行归一化处理。
8.根据权利要求1至6中任一项所述的方法,其特征在于,根据所述相似度确定所述待测音频文件是否为指定类型的音频,包括:
在所述相似度大于预设阈值时,确定所述待测音频文件为所述指定类型的音频。
9.一种音频检测装置,其特征在于,包括:
获取模块,用于获取待测音频文件的音频指纹;
查询模块,用于对于所述待测音频文件的每个音频指纹,从与所述音频指纹对应的倒排列表中查找所述待测音频文件的相似音频文件;其中,所述倒排列表中的每条记录包括:样本音频文件标识,以及样本指纹在样本音频文件中出现的位置,所述样本音频文件为所述样本音频文件标识所指示的音频文件;
识别模块,用于依据所述待测音频文件与所述相似音频文件中每个音频文件的指纹数及特征点对的个数,确定所述待测音频文件与所述相似音频文件的相似度,并根据所述相似度确定所述待测音频文件是否为指定类型的音频。
10.根据权利要求9所述的装置,其特征在于,所述查询模块,还用于对于所述待测音频文件的每个音频指纹,从与所述待测音频文件的音频指纹对应的所述倒排列表中查找所述待测音频文件的音频指纹出现的时间集合,其中,所述时间集合的组成元素为:所述待测音频文件的音频指纹在所有所述样本音频文件中出现的位置所指示的时间;对于所述待测音频文件的每个音频指纹,将所述待测音频文件的音频指纹在所述待测音频文件中出现的时间作为基准时间,与所述时间集合中的元素进行取差运算,并依据得到的时间差生成中间结果;其中,所述中间结果由所述样本音频文件标识,以及与所述样本音频文件标识对应的所述时间差组成;对于所述倒排列表中的每个样本音频文件标识,依据所述中间结果统计与所述样本音频文件标识所指示的样本音频文件中所有相同时间差的个数,并按照所述个数从多至少的顺序对所述倒排列表中的样本音频文件进行排序,得到前M个样本音频文件,并将所述前M个样本音频文件作为所述相似音频文件,其中,M为自然数。
11.根据权利要求10所述的装置,其特征在于,所述获取模块,还用于依据所述待测音频文件中的指纹数N1与所述前M个样本音频文件中的每个音频文件的指纹数N2,以及特征点对的个数N,获取所述待测音频文件与所述前M个样本音频文件中的每个音频文件的相似度,其中,N1、N2和N均为自然数;其中,所述特征点对通过以下方式获取:所述前M个样本音频文件中每个音频文件的每一帧在频谱图上的局部极大值所对应的锚点与预设矩阵目标区域中的锚点进行两两组合,将每个组合作为一个所述特征点对;其中,所述锚点为每一帧频谱图中的局部极大值所对应的采样点。
12.根据权利要求11所述的装置,其特征在于,所述局部极大值通过以下方式获取:
将所述每一帧的频谱图在二维坐标系的X轴上每隔A个采样点,在Y轴上每隔B个采样点进行区域划分,将每个区域中能量值最大的采样点作为局部极大值候选点;将划分得到的所有区域的局部极大值候选点进行降序排列,将排名靠前的指定数量个局部极大值候选点作为所述局部极大值所对应的采样点,其中,A和B为自然数。
13.根据权利要求11所述的装置,其特征在于,所述相似度通过以下公式确定:
P=N*N/N1/N2,其中,P表示所述相似度。
14.根据权利要求11所述的装置,其特征在于,所述音频指纹由以下三部分构成:所述特征点对中两个锚点的时间差和频率、以及在音频文件中出现的时间。
15.根据权利要求9至14中任一项所述的装置,其特征在于,所述识别模块,还用于在所述相似度大于预设阈值时,确定所述待测音频文件为所述指定类型的音频。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610201533.5A CN107293307B (zh) | 2016-03-31 | 2016-03-31 | 音频检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610201533.5A CN107293307B (zh) | 2016-03-31 | 2016-03-31 | 音频检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107293307A CN107293307A (zh) | 2017-10-24 |
CN107293307B true CN107293307B (zh) | 2021-07-16 |
Family
ID=60086944
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610201533.5A Active CN107293307B (zh) | 2016-03-31 | 2016-03-31 | 音频检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107293307B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108428457B (zh) * | 2018-02-12 | 2021-03-23 | 北京百度网讯科技有限公司 | 音频去重方法及装置 |
CN108509558B (zh) * | 2018-03-23 | 2021-11-05 | 太原理工大学 | 一种抗变速干扰的采样计数音频检索方法 |
CN108447501B (zh) * | 2018-03-27 | 2020-08-18 | 中南大学 | 一种云存储环境下基于音频字的盗版视频检测方法与*** |
CN110322897B (zh) * | 2018-03-29 | 2021-09-03 | 北京字节跳动网络技术有限公司 | 一种音频检索识别方法及装置 |
US10887031B2 (en) * | 2018-08-03 | 2021-01-05 | Gracenote, Inc. | Vehicle-based media system with audio ad and navigation-related action synchronization feature |
CN109658939B (zh) * | 2019-01-26 | 2020-12-01 | 北京灵伴即时智能科技有限公司 | 一种电话录音未接通原因识别方法 |
CN110047515B (zh) * | 2019-04-04 | 2021-04-20 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种音频识别方法、装置、设备及存储介质 |
CN110335598A (zh) * | 2019-06-26 | 2019-10-15 | 重庆金美通信有限责任公司 | 一种基于语音识别的无线窄带信道话音通信方法 |
CN110992983B (zh) * | 2019-11-26 | 2023-04-18 | 腾讯音乐娱乐科技(深圳)有限公司 | 识别音频指纹的方法、装置、终端及存储介质 |
CN111161758B (zh) * | 2019-12-04 | 2023-03-31 | 厦门快商通科技股份有限公司 | 一种基于音频指纹的听歌识曲方法、***及音频设备 |
CN113129855A (zh) * | 2019-12-30 | 2021-07-16 | 阿里巴巴集团控股有限公司 | 音频指纹提取和建库方法、及音频识别和检索方法与*** |
CN111816170B (zh) * | 2020-07-29 | 2024-01-19 | 杭州网易智企科技有限公司 | 一种音频分类模型的训练和垃圾音频识别方法和装置 |
CN113836346B (zh) * | 2021-09-08 | 2023-08-08 | 网易(杭州)网络有限公司 | 为音频文件生成摘要的方法、装置、计算设备及存储介质 |
CN114020958B (zh) * | 2021-09-26 | 2022-12-06 | 天翼爱音乐文化科技有限公司 | 一种音乐分享方法、设备及存储介质 |
CN114255741B (zh) * | 2022-02-28 | 2022-06-10 | 腾讯科技(深圳)有限公司 | 重复音频检测方法、设备、存储介质 |
CN114900726B (zh) * | 2022-05-09 | 2024-05-07 | 深圳创维-Rgb电子有限公司 | 音频交互识别方法、电子设备及可读存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102314875A (zh) * | 2011-08-01 | 2012-01-11 | 北京百度网讯科技有限公司 | 一种音频文件的识别方法和装置 |
CN102411578A (zh) * | 2010-09-25 | 2012-04-11 | 盛乐信息技术(上海)有限公司 | 一种多媒体播放***和方法 |
CN102737135A (zh) * | 2012-07-10 | 2012-10-17 | 北京大学 | 基于变形敏感的软级联模型的视频拷贝检测方法及*** |
US8492633B2 (en) * | 2011-12-02 | 2013-07-23 | The Echo Nest Corporation | Musical fingerprinting |
CN103440313A (zh) * | 2013-08-27 | 2013-12-11 | 复旦大学 | 基于音频指纹特征的音乐检索*** |
CN103440330A (zh) * | 2013-09-03 | 2013-12-11 | 网易(杭州)网络有限公司 | 一种音乐节目信息获取方法和设备 |
CN103853836A (zh) * | 2014-03-14 | 2014-06-11 | 广州酷狗计算机科技有限公司 | 一种基于音乐指纹特征的音乐检索方法及*** |
CN104715033A (zh) * | 2015-03-16 | 2015-06-17 | 太原理工大学 | 一种阶梯式音频检索方法 |
US20150302086A1 (en) * | 2014-04-22 | 2015-10-22 | Gracenote, Inc. | Audio identification during performance |
WO2016024171A1 (en) * | 2014-08-14 | 2016-02-18 | Yandex Europe Ag | Method of and a system for indexing audio tracks using chromaprints |
-
2016
- 2016-03-31 CN CN201610201533.5A patent/CN107293307B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102411578A (zh) * | 2010-09-25 | 2012-04-11 | 盛乐信息技术(上海)有限公司 | 一种多媒体播放***和方法 |
CN102314875A (zh) * | 2011-08-01 | 2012-01-11 | 北京百度网讯科技有限公司 | 一种音频文件的识别方法和装置 |
US8492633B2 (en) * | 2011-12-02 | 2013-07-23 | The Echo Nest Corporation | Musical fingerprinting |
CN102737135A (zh) * | 2012-07-10 | 2012-10-17 | 北京大学 | 基于变形敏感的软级联模型的视频拷贝检测方法及*** |
CN103440313A (zh) * | 2013-08-27 | 2013-12-11 | 复旦大学 | 基于音频指纹特征的音乐检索*** |
CN103440330A (zh) * | 2013-09-03 | 2013-12-11 | 网易(杭州)网络有限公司 | 一种音乐节目信息获取方法和设备 |
CN103853836A (zh) * | 2014-03-14 | 2014-06-11 | 广州酷狗计算机科技有限公司 | 一种基于音乐指纹特征的音乐检索方法及*** |
US20150302086A1 (en) * | 2014-04-22 | 2015-10-22 | Gracenote, Inc. | Audio identification during performance |
WO2016024171A1 (en) * | 2014-08-14 | 2016-02-18 | Yandex Europe Ag | Method of and a system for indexing audio tracks using chromaprints |
CN104715033A (zh) * | 2015-03-16 | 2015-06-17 | 太原理工大学 | 一种阶梯式音频检索方法 |
Non-Patent Citations (1)
Title |
---|
"音频指纹提取方法在多媒体信息识别中的应用研究";宋文喆等;《广播电视信息》;20141031(第270期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN107293307A (zh) | 2017-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107293307B (zh) | 音频检测方法及装置 | |
US10497378B2 (en) | Systems and methods for recognizing sound and music signals in high noise and distortion | |
US10261965B2 (en) | Audio generation method, server, and storage medium | |
Anguera et al. | Mask: Robust local features for audio fingerprinting | |
US9612791B2 (en) | Method, system and storage medium for monitoring audio streaming media | |
EP2657884B1 (en) | Identifying multimedia objects based on multimedia fingerprint | |
Nucci et al. | A phylogenetic analysis of near-duplicate audio tracks | |
George et al. | Scalable and robust audio fingerprinting method tolerable to time-stretching | |
CN109271501A (zh) | 一种音频数据库的管理方法及*** | |
US11860934B2 (en) | Device and method for detecting partial matches between a first time varying signal and a second time varying signal | |
Xiao et al. | Fast Hamming Space Search for Audio Fingerprinting Systems. | |
Kekre et al. | A review of audio fingerprinting and comparison of algorithms | |
US10223529B2 (en) | Indexing apparatus and method for search of security monitoring data | |
CN103870476A (zh) | 检索方法及设备 | |
CN113053393B (zh) | 音频标注处理装置 | |
CN112784100A (zh) | 一种音频指纹的处理方法、装置、计算机设备和存储介质 | |
CN113420178A (zh) | 一种数据处理方法以及设备 | |
CN108268572B (zh) | 一种歌曲同步方法及*** | |
Maksimovic et al. | Copy-move forgery detection and localization via partial audio matching | |
Qian et al. | A novel algorithm for audio information retrieval based on audio fingerprint | |
CN103065661A (zh) | 录制媒体的信号侦测方法 | |
KR101002731B1 (ko) | 오디오 데이터의 특징 벡터 추출방법과 그 방법이 기록된컴퓨터 판독 가능한 기록매체 및 이를 이용한 오디오데이터의 매칭 방법 | |
Subramanian et al. | Concert Stitch: Organization and Synchronization of Crowd Sourced Recordings. | |
Radhakrishnan et al. | Repeating segment detection in songs using audio fingerprint matching | |
CN117807564A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1245986 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |