CN111161758B - 一种基于音频指纹的听歌识曲方法、系统及音频设备 - Google Patents
一种基于音频指纹的听歌识曲方法、系统及音频设备 Download PDFInfo
- Publication number
- CN111161758B CN111161758B CN201911229948.3A CN201911229948A CN111161758B CN 111161758 B CN111161758 B CN 111161758B CN 201911229948 A CN201911229948 A CN 201911229948A CN 111161758 B CN111161758 B CN 111161758B
- Authority
- CN
- China
- Prior art keywords
- audio
- template
- audio fingerprint
- fingerprint
- peak point
- 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
- 238000000034 method Methods 0.000 title claims abstract description 44
- 230000005055 memory storage Effects 0.000 claims description 3
- 230000011218 segmentation Effects 0.000 claims description 3
- 238000004422 calculation algorithm Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000033764 rhythmic process Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 241001178520 Stomatepia mongo Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000007789 gas Substances 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- QJGQUHMNIGDVPM-UHFFFAOYSA-N nitrogen group Chemical group [N] QJGQUHMNIGDVPM-UHFFFAOYSA-N 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000002123 temporal effect 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
-
- 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/61—Indexing; Data structures therefor; Storage structures
-
- 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
- G06F16/683—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- 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
-
- 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
-
- 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
- G10H2240/00—Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
- G10H2240/121—Musical libraries, i.e. musical databases indexed by musical parameters, wavetables, indexing schemes using musical parameters, musical rule bases or knowledge bases, e.g. for automatic composing methods
- G10H2240/131—Library retrieval, i.e. searching a database or selecting a specific musical piece, segment, pattern, rule or parameter set
- G10H2240/141—Library retrieval matching, i.e. any of the steps of matching an inputted segment or phrase with musical database contents, e.g. query by humming, singing or playing; the steps may include, e.g. musical analysis of the input, musical feature extraction, query formulation, or details of the retrieval process
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Acoustics & Sound (AREA)
- Signal Processing (AREA)
- Library & Information Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于音频指纹的听歌识曲方法、系统及音频设备,其收集歌曲音频作为模板音频,并获取所述模板音频对应的频谱图,从所述频谱图中提取峰值点作为所述模板音频对应的模板音频指纹,根据所述模板音频和所述模板音频指纹进行构建歌曲音频的模板音频指纹数据库;获取当前音乐的录制音频,并获取所述录制音频对应的频谱图,从所述频谱图中提取峰值点作为所述录制音频对应的录制音频指纹;将所述录制音频指纹与所述模板音频指纹数据库中的模板音频指纹进行匹配;若匹配度达到设定的阈值,则输出所述录制音频对应匹配的歌曲音频,从而能够自动识别歌曲,算法高效,识别准确,具有较高的便携性。
Description
技术领域
本发明涉及语音通信技术领域,特别是一种基于音频指纹的听歌识曲方法及其应用该方法的系统和音频设备。
背景技术
听歌识曲功能在国内众多的音乐类APP火热上线,比如网易云音乐,QQ音乐,当用户听到自己感兴趣的音频时,可以通过这个功能识别当前环境里正在播放的歌曲名字。
实现“听歌识曲”一般需要以下两个要素:
1.对歌曲进行特征提取:一般来说,鲁棒性高并且容易分别的特征存在于音频文件的频谱;从音乐的角度来讲,一首歌曲的旋律,节奏,韵律都属于这类特征;
2.构建歌曲库:对歌曲的识别应该是在一个音乐歌曲库里进行搜索,选择和待识别歌曲最相似的作为匹配歌曲输出。
但是,目前的听歌识曲功能存在识别速度慢,识别效果较差的问题,而用户希望得到的是高效又精准的结果。此时就需要通过新的音频指纹技术来进行歌曲的识别。
发明内容
本发明为解决上述问题,提供了一种基于音频指纹的听歌识曲方法、系统及音频设备通过将录制音频指纹与模板音频指纹数据库中的模板音频指纹进行匹配;若匹配度达到设定的阈值,则输出所述录制音频对应匹配的歌曲音频,能够自动识别歌曲,算法高效,识别准确,具有较高的便携性。
为实现上述目的,本发明采用的技术方案为:
一种基于音频指纹的听歌识曲方法,其包括以下步骤:
收集歌曲音频作为模板音频,并获取所述模板音频对应的频谱图,从所述频谱图中提取峰值点作为所述模板音频对应的模板音频指纹,根据所述模板音频和所述模板音频指纹进行构建歌曲音频的模板音频指纹数据库;
获取当前音乐的录制音频,并获取所述录制音频对应的频谱图,从所述频谱图中提取峰值点作为所述录制音频对应的录制音频指纹;
将所述录制音频指纹与所述模板音频指纹数据库中的模板音频指纹进行匹配;
若匹配度达到设定的阈值,则输出所述录制音频对应匹配的歌曲音频。
优选的,将所述录制音频指纹与所述模板音频指纹数据库中的模板音频指纹进行匹配,包括:
对所述录制音频指纹对应的频谱图中的峰值点和所述模板音频指纹对应的频谱图中的峰值点按照时间维度的顺序进行音频指纹的匹配;或者,
对所述录制音频指纹对应的频谱图中的峰值点和/或所述模板音频指纹对应的频谱图中的峰值点进行分组,得到峰值点组合,并计算每个峰值点组合对应的哈希值,根据所述哈希值进行音频指纹的匹配。
优选的,所述峰值点组合包括M个峰值点和一个锚点,所述锚点的频率小于或等于所述峰值点的频率,所述锚点用于获取所述峰值点组合中的每个峰值点相对所述锚点的时间差;根据所述峰值点的频率值、所述锚点的频率值、所述峰值点与所述锚点之间的时间差进行创建所述峰值点对应的三维数组;计算所述三维数组的哈希值,作为所述峰值点的哈希值。
优选的,根据所述哈希值进行音频指纹的匹配,是通过对所述峰值点组合中的每个峰值点的哈希值进行匹配实现音频指纹的匹配;或者,是根据每个峰值点的哈希值计算所述峰值点组合的总和哈希值,通过对所述峰值点组合的总和哈希值进行匹配实现音频指纹的匹配;或者,是根据每个峰值点的哈希值计算最大哈希值,将该最大哈希值作为所述峰值点组合的代表哈希值,通过对所述峰值点组合的代表哈希值进行匹配实现音频指纹的匹配。
优选的,将所述录制音频指纹与所述模板音频指纹数据库中的模板音频指纹进行匹配,进一步包括以下匹配步骤:
从所述模板音频指纹数据库中提取任一模板音频指纹,对所述当前音乐的录制音频指纹和所述模板音频指纹数据库中的模板音频指纹分别建立对应的音频指纹哈希表;
根据所述音频指纹哈希表确定所述任一模板音频指纹与所述当前音乐的录制音频指纹的相似度;
若所述相似度小于设定相似度阈值,提取所述任一模板音频指纹的下一模板音频指纹,并判断该下一模板音频指纹与所述当前音乐的录制音频指纹的相似度,如此循环;
判断是否存在与所述当前音乐的录制音频指纹的相似度大于设定相似度阈值的模板音频指纹,若存在,则输出所述录制音频对应匹配的歌曲音频。
或者,将所述录制音频指纹与所述模板音频指纹数据库中的模板音频指纹进行匹配,进一步包括以下匹配步骤:
对所述当前音乐的录制音频指纹和所述模板音频指纹数据库中的模板音频指纹分别建立对应的音频指纹哈希表;
计算所述录制音频的音频指纹哈希表中的峰值点哈希值在所述模板音频的音频指纹哈希表中出现的频次;
判断所述频次是否大于预设阈值,若是,则输出所述录制音频对应匹配的歌曲音频。
优选的,所述音频指纹哈希表包括所述录制音频指纹或所述模板音频指纹所包含每个峰值点的哈希值、每个峰值点所属的音频ID、每个峰值点所属的峰值点组合的对应的锚点的时间位置。
优选的,所述模板音频指纹数据库采用Redis内存存储方式,将哈希值作为键,将该哈希值所属的模板音频作为值,存储在Redis数据库中;并且,采用散列的方式将所述音频指纹分布存储在一个以上的Redis数据库中。
优选的,获取频谱图之前,还包括对所述模板音频或所述录制音频进行转码,将二进制数据文件转换为音频波形文件,并且采用在内存中进行转码的方式;然后将所述音频波形文件进行傅里叶变换的处理,得到对应的频谱图。
优选的,获取所述录制音频的频谱图之前,当所述录制音频的时长大于预设时长阈值时,还包括对所述录制音频进行分段处理,并选取其中一段进行匹配;若匹配失败再选取其中另一段进行匹配,直至得到最终匹配结果。
与所述方法相对应的,本发明还提供一种基于音频指纹的听歌识曲系统,其包括存储器和处理器,所述存储器中存储有指令,所述处理器通过执行所述存储器中存储的指令使得基于音频指纹的听歌识曲系统实现如上述任一项所述的基于音频指纹的听歌识曲方法。
并且,本发明还提过一种音频设备,其包括存储器和处理器,所述存储器中存储有指令,所述处理器通过执行所述存储器中存储的指令使得所述音频设备实现如上述任一项所述的基于音频指纹的听歌识曲方法。
本发明的有益效果是:
(1)本发明通过将录制音频指纹与模板音频指纹数据库中的模板音频指纹进行匹配;若匹配度达到设定的阈值,则输出所述录制音频对应匹配的歌曲音频,算法高效,识别准确,具有较高的便携性;
(2)本发明采用音频指纹技术具有较高的抗噪能力,并且,本发明还通过提取峰值点的方式进行匹配,可以避免受到噪声音频点的影响,从而避免因为环境噪声过大而导致检测错误,有较高的稳定性;
(3)本发明通过峰值点组合的方式进行计算哈希值,能够极大的减少峰值点的存储量和计算量,并减少匹配计算时间,从而减少用户的等待时间,实时效果好;
(4)本发明系统可以不断的更新歌曲模板库,不断的添加新的歌曲音频内容,实现识别最新的歌曲音频,从而实现音乐模板库具有抗时变的能力。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明的频谱图的示意图;
图2为本发明的频谱图的峰值点示意图;
图3为本发明具体实施例的录制音频的峰值点示意图;
图4为本发明具体实施例的模板音频的峰值点示意图;
图5为图3和图4的其中一实施方式的匹配过程示意图;
图6为图3和图4的另一实施方式的匹配过程示意图(对峰值点进行分组);
图7为图3和图4的另一实施方式的匹配过程示意图(对每个峰值点组合进行设置锚点)。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图及具体实施例对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明的一种基于音频指纹的听歌识曲方法,其包括以下步骤:
收集歌曲音频作为模板音频,并获取所述模板音频对应的频谱图,从所述频谱图中提取峰值点作为所述模板音频对应的模板音频指纹,根据所述模板音频和所述模板音频指纹进行构建歌曲音频的模板音频指纹数据库;
获取当前音乐的录制音频,并获取所述录制音频对应的频谱图,从所述频谱图中提取峰值点作为所述录制音频对应的录制音频指纹;
将所述录制音频指纹与所述模板音频指纹数据库中的模板音频指纹进行匹配;
若匹配度达到设定的阈值,则输出所述录制音频对应匹配的歌曲音频。
本发明中,所述模板音频指纹数据库采用Redis内存存储方式,将哈希值作为键,将该哈希值所属的模板音频作为值,存储在Redis数据库中;并且,采用散列的方式将所述音频指纹分布存储在一个以上的Redis数据库中。例如,在系统中部署6-10个的Redis数据库系统,采用散列的方式将指纹数据分布存储在各个Redis数据库当中,假设总的指纹数量有1w个,那么每台Redis将存储1000个左右的指纹,分布式的存储方案可以大幅提高指纹的检索和添加速度,从而降低单个音频的搜索时间,在大量音频检索并发的情况下,分布式的存储方案可以分担单个Redis数据库系统的存储压力,减少死锁的概率,提高了存储系统的稳定性,并且通过内存来进行存储的方式,速度上远高于通过磁盘来进行数据存储的方式,尽可能的减少了数据在磁盘之间传输的时间。
并且,所述的模板音频指纹数据库中,是从网络中采集的大量的歌曲音频作为模板音频,并获取所述模板音频对应的频谱图,从所述频谱图中提取峰值点作为所述模板音频对应的模板音频指纹,根据所述模板音频和所述模板音频指纹进行构建数据库。并且,在后续使用过程中,根据新增的歌曲音频对所述模板音频指纹数据库不断完善,识别能力越来越强。
本发明中,获取频谱图之前,还包括对所述模板音频或所述录制音频进行转码,将二进制数据文件转换为音频波形文件,并且采用在内存中进行转码的方式,整个转码过程不与磁盘进行交互,减少IO时间,提高了音频前端处理的速度,减少前端处理时间,在大量音频检索的情况下,转码的效率将会大幅的提高;所述模板音频指纹或所述录制音频指纹的提取,是通过将所述模板音频或所述录制音频的音频波形文件进行傅里叶变换的处理,得到对应的频谱图(如图1所示)。并且进一步从所述频谱图中提取峰值点(如图2所示),将所述峰值点作为所述模板音频指纹或所述录制音频指纹。
以下对具体匹配过程进行举例说明:
(1)按照时间维度的顺序对峰值点进行一一匹配
如图3、4、5所示,本实施例将所述录制音频指纹与所述模板音频指纹数据库中的模板音频指纹进行匹配,是通过对所述录制音频指纹对应的频谱图中的峰值点和所述模板音频指纹对应的频谱图中的峰值点按照时间维度的顺序进行音频指纹的匹配。
具体匹配过程如下:
a1.获取当前音乐的录制音频,将录制音频的音频波形文件转为Spectrogram(频谱图)形式,即,音频波形通过傅里叶变换从时域转为了频域,时间单位为毫秒转为以帧为单位;(模板音频的操作与a1同)
b1.从所述频谱图中提取峰值点(如图3所示),寻找峰值点的方式是通过卷积算子,找到固定时间范围内的局部频率最大点;(从所述模板音频指纹数据库中提取任一模板音频,模板音频的操作与b1同,并得到如图4所示的峰值点)
c1.将图3的录制音频的峰值点图与图4的模板音频的峰值点图进行对比,确定所述模板音频指纹与所述当前音乐的录制音频指纹的相似度;
d1.通过在时间维度上的不断移动,寻找匹配度最高的位置;本实施例中,模板音频指纹出现在了录制音频指纹的结尾部分(如图5所示)。
本实施例中,所述音频指纹的相似度,是通过对所述当前音乐的录制音频指纹和所述模板音频指纹数据库中的模板音频指纹分别建立对应的音频指纹哈希表,根据所述音频指纹哈希表计算两个所述音频指纹的相似度;具体的,所述的步骤c1进一步包括以下匹配步骤:
从所述模板音频指纹数据库中提取任一模板音频指纹,对所述当前音乐的录制音频指纹和所述模板音频指纹数据库中的模板音频指纹分别建立对应的音频指纹哈希表;
根据所述音频指纹哈希表确定所述任一模板音频指纹与所述当前音乐的录制音频指纹的相似度;
若所述相似度小于设定相似度阈值,提取所述任一模板音频指纹的下一模板音频指纹,并判断该下一模板音频指纹与所述当前音乐的录制音频指纹的相似度,如此循环;
判断是否存在与所述当前音乐的录制音频指纹的相似度大于设定相似度阈值的模板音频指纹,若存在,则输出所述录制音频对应匹配的歌曲音频。
(2)根据峰值点的哈希值进行音频指纹的匹配
a2.与a1同;
b2.与b1同;
c2.对所述录制音频指纹对应的频谱图中的峰值点和/或所述模板音频指纹对应的频谱图中的峰值点进行分组,得到峰值点组合;所述峰值点组合包括M个峰值点,M≥2,得到分组图(如图6所示),本实施例中将5个峰值点组合为一组,通过组合的方式来减少峰值点的存储量和计算量;
d2.在图6的基础上,对每组峰值点设置一个锚点;如图7所示,锚点0为峰值点3、4、5、6、7形成的峰值点组合对应的锚点,锚点3为峰值点6、7、8、9、10形成的峰值点组合对应的锚点;本实施例中,所述锚点用于获取所述峰值点组合中的每个峰值点相对所述锚点的时间差,并且,所述锚点的频率小于或等于所述峰值点的频率;
e2.为所述峰值点组合中的5个峰值点的每一个峰值点建立一个Address地址,建立Address地址的方式是根据所述峰值点的频率值、所述锚点的频率值、所述峰值点与所述锚点之间的时间差为所述峰值点创建一个三维数组,该三维数组包含3个信息:
1)该峰值点对应的锚点的频率;
2)该峰值点的频率;
3)该峰值点与对应锚点的时间差;
通过hash计算方式,将该三维数组转为一个hash哈希值,该哈希值就将会用于表示这个峰值点;
例如:图7中的6号峰值点的哈希值的计算过程如下:
1)该峰值点6对应的锚点3的频率为为10赫兹;
2)该峰值点6的频率为30赫兹;
3)该峰值点与对应锚点的时间差为1秒;
根据以上数据得出,所述6号峰值点对应的三维数组为[10;30;1],,再将这个三维数组转为哈希值。
f2.对所有峰值点重复步骤e2的操作,计算每个峰值点的哈希值,并建立所述模板音频或所述录制音频对应的音频指纹哈希表,所述音频指纹哈希表包括所述录制音频指纹或所述模板音频指纹所包含每个峰值点的哈希值、每个峰值点所属的音频ID、每个峰值点所属的峰值点组合的对应的锚点的时间位置;如下表所示:
峰值点的哈希值 | 所属音频ID | 锚点的时间位置 |
000006d1da09dfa4b439 | 5 | 993 |
0000086a06cacab9f295 | 2 | 1375 |
000014f77191e3f7a5d3 | 1 | 732 |
…… | …… | …… |
g2.将所述录制音频的所有峰值点的哈希值在所述模板音频指纹数据库中进行搜索,将所述录制音频指纹与所述模板音频指纹数据库中的模板音频指纹进行匹配,进一步包括以下匹配步骤:
对所述当前音乐的录制音频指纹和所述模板音频指纹数据库中的模板音频指纹分别建立对应的音频指纹哈希表;
计算所述录制音频的音频指纹哈希表中的峰值点哈希值在所述模板音频的音频指纹哈希表中出现的频次;
判断所述频次是否大于预设阈值,若是,则输出所述录制音频对应匹配的歌曲音频。
即,通过计算所述录制音频的哈希值在所述模板音频的哈希值中出现的频次,若出现的频次足够高(大于预设阈值),则输出所述录制音频对应匹配的歌曲音频。
其中,根据所述哈希值进行音频指纹的匹配,可通过对所述峰值点组合中的每个峰值点的哈希值进行匹配实现音频指纹的匹配;或者,根据每个峰值点的哈希值计算所述峰值点组合的总和哈希值,通过对所述峰值点组合的总和哈希值进行匹配实现音频指纹的匹配;或者,根据每个峰值点的哈希值计算最大哈希值,将该最大哈希值作为所述峰值点组合的代表哈希值,通过对所述峰值点组合的代表哈希值进行匹配实现音频指纹的匹配。
在音频的前端处理上,该系统可以通过一些参数的设置,提高检索的速度,降低检索的时间。对于较长的录制音频,在获取所述录制音频的频谱图之前,当所述录制音频的时长大于预设时长阈值时,还包括对所述录制音频进行分段处理,并选取其中一段进行匹配;若匹配失败再选取其中另一段进行匹配,直至得到最终匹配结果。比如20秒的音频会被分为4个5秒的音频,系统会先只对第一个5秒进行检索,当该检索结果大于原先设定的匹配阈值时,本发明将直接返回第一匹配结果,如果没有高于阈值,本发明将再传入第二个5秒,直到找到最匹配结果,如果4段音频都没有匹配到最佳结果,那么将会返回无匹配模板。
对于不同的检索应用场景,本发明可以通过调整参数来调整识别精度和识别速度,对于有些较安静环境下,因为音频的质量普遍较高,所以此时的音频特征提取精度可以相对降低,从而特征量减少,待检索特征量减少,检索时间也相应降低。
本发明还可以根据需求自定义参数,可以设置提取特征的窗口大小,单个窗口的指纹量限制,以及窗口与窗口之间的重叠率,通过调整参数,可以实现精度和速度的权衡,从而满足不同场景之下的需求。
本发明实施例提供的基于音频指纹的听歌识曲方法应用于服务器中。其中,服务器可以为一台或多台服务器;可选地,多台服务器可以以服务器集群的方式为终端提供数据库服务。一种可能实现,服务器中设置有所述模板音频指纹数据库,该模板音频指纹数据库可以为HBase、Mongo数据库(MongoDatabase,MongoDB)、分布型关系数据库服务(DistributeRelationalDatabaseService,DRDS)、Volt数据库(VoltDatabase,VoltDB)、和ScaleBase等分布式数据库。
与所述方法相对应的,本发明还提供一种基于音频指纹的听歌识曲系统,其包括存储器和处理器,所述存储器中存储有指令,所述处理器通过执行所述存储器中存储的指令使得基于音频指纹的听歌识曲系统实现如上述任一项所述的基于音频指纹的听歌识曲方法。
基于音频指纹的听歌识曲系统可以是计算机设备,该计算机设备可以是上述的服务器,基于音频指纹的听歌识曲系统包括至少一个处理器,通信总线,存储器以及至少一个通信接口。
处理器可以是一个通用中央处理器(CPU),微处理器,特定应用集成电路(application-specificintegratedcircuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。
存储器可以是只读存储器(read-onlymemory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(randomaccessmemory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(ElectricallyErasableProgrammableRead-OnlyMemory,EEPROM)、只读光盘(CompactDiscRead-OnlyMemory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,所述存储器用于存储执行本发明方案的程序代码,并由处理器来控制执行。所述处理器用于执行所述存储器中存储的程序代码。
在具体实现中,作为一种实施例,处理器可以包括一个或多个CPU。
在具体实现中,作为一种实施例,基于音频指纹的听歌识曲系统可以包括多个处理器,例如处理器和处理器。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
并且,本发明还提过一种音频设备,其包括存储器和处理器,所述存储器中存储有指令,所述处理器通过执行所述存储器中存储的指令使得所述音频设备实现如上述任一项所述的基于音频指纹的听歌识曲方法。
所述音频设备还可以包括输出设备和输入设备。输出设备和处理器通信,可以以多种方式来显示信息。例如,输入设备可以是麦克风;输出设备可以是液晶显示器(liquidcrystaldisplay,LCD),发光二级管(lightemittingdiode,LED)显示设备,阴极射线管(cathoderaytube,CRT)显示设备,或投影仪(projector)等。输入设备和处理器通信,可以以多种方式接受用户的输入。
所述音频设备可以是一个通用计算机设备或者是一个专用计算机设备。在具体实现中,所述音频设备可以是台式机、便携式电脑、网络服务器、掌上电脑(PersonalDigitalAssistant,PDA)、移动手机、平板电脑、无线终端设备、通信设备、嵌入式设备等。本发明实施例不限定用户口令管理的基于音频指纹的听歌识曲系统的类型。
所述音频设备的存储器中存储了一个或多个软件模块。所述音频设备可以通过处理器以及存储器中的程序代码来实现软件模块,实现上述实施例所说的基于音频指纹的听歌识曲方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。并且,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。另外,本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
上述说明示出并描述了本发明的优选实施例,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
Claims (8)
1.一种基于音频指纹的听歌识曲方法,其特征在于,包括以下步骤:
收集歌曲音频作为模板音频,并获取所述模板音频对应的频谱图,从所述频谱图中提取峰值点作为所述模板音频对应的模板音频指纹,根据所述模板音频和所述模板音频指纹进行构建歌曲音频的模板音频指纹数据库;
获取当前音乐的录制音频,并获取所述录制音频对应的频谱图,从所述频谱图中提取峰值点作为所述录制音频对应的录制音频指纹;
将所述录制音频指纹与所述模板音频指纹数据库中的模板音频指纹进行匹配;
若匹配度达到设定的阈值,则输出所述录制音频对应匹配的歌曲音频;
其中,将所述录制音频指纹与所述模板音频指纹数据库中的模板音频指纹进行匹配,包括以下匹配步骤:
对所述录制音频指纹对应的频谱图中的峰值点和/或所述模板音频指纹对应的频谱图中的峰值点进行分组,得到峰值点组合,并计算每个峰值点组合对应的哈希值:所述峰值点组合包括5个峰值点和一个锚点,所述锚点的频率小于或等于所述峰值点的频率,所述锚点用于获取所述峰值点组合中的每个峰值点相对所述锚点的时间差;根据所述峰值点的频率值、所述锚点的频率值、所述峰值点与所述锚点之间的时间差进行创建所述峰值点对应的三维数组;计算所述三维数组的哈希值,作为所述峰值点的哈希值;
对所述当前音乐的录制音频指纹和所述模板音频指纹数据库中的模板音频指纹分别建立对应的音频指纹哈希表;所述音频指纹哈希表包括所述录制音频指纹或所述模板音频指纹所包含每个峰值点的哈希值、每个峰值点所属的音频ID、每个峰值点所属的峰值点组合的对应的锚点的时间位置;
计算所述录制音频的音频指纹哈希表中的峰值点哈希值在所述模板音频的音频指纹哈希表中出现的频次;
判断所述频次是否大于预设阈值,若是,则输出所述录制音频对应匹配的歌曲音频。
2.根据权利要求1所述的基于音频指纹的听歌识曲方法,其特征在于:根据所述哈希值进行音频指纹的匹配,是通过对所述峰值点组合中的每个峰值点的哈希值进行匹配实现音频指纹的匹配;或者,是根据每个峰值点的哈希值计算所述峰值点组合的总和哈希值,通过对所述峰值点组合的总和哈希值进行匹配实现音频指纹的匹配;或者,是根据每个峰值点的哈希值计算最大哈希值,将该最大哈希值作为所述峰值点组合的代表哈希值,通过对所述峰值点组合的代表哈希值进行匹配实现音频指纹的匹配。
3.根据权利要求1所述的基于音频指纹的听歌识曲方法,其特征在于:将所述录制音频指纹与所述模板音频指纹数据库中的模板音频指纹进行匹配,进一步包括以下匹配步骤:
从所述模板音频指纹数据库中提取任一模板音频指纹,对所述当前音乐的录制音频指纹和所述模板音频指纹数据库中的模板音频指纹分别建立对应的音频指纹哈希表;
根据所述音频指纹哈希表确定所述任一模板音频指纹与所述当前音乐的录制音频指纹的相似度;
若所述相似度小于设定相似度阈值,提取所述任一模板音频指纹的下一模板音频指纹,并判断该下一模板音频指纹与所述当前音乐的录制音频指纹的相似度,如此循环;
判断是否存在与所述当前音乐的录制音频指纹的相似度大于设定相似度阈值的模板音频指纹,若存在,则输出所述录制音频对应匹配的歌曲音频。
4.根据权利要求1至3任一项所述的基于音频指纹的听歌识曲方法,其特征在于:所述模板音频指纹数据库采用Redis内存存储方式,将哈希值作为键,将该哈希值所属的模板音频作为值,存储在Redis数据库中;并且,采用散列的方式将所述音频指纹分布存储在一个以上的Redis数据库中。
5.根据权利要求1至3任一项所述的基于音频指纹的听歌识曲方法,其特征在于:获取频谱图之前,还包括对所述模板音频或所述录制音频进行转码,将二进制数据文件转换为音频波形文件,并且采用在内存中进行转码的方式;然后将所述音频波形文件进行傅里叶变换的处理,得到对应的频谱图。
6.根据权利要求1至3任一项所述的基于音频指纹的听歌识曲方法,其特征在于:获取所述录制音频的频谱图之前,当所述录制音频的时长大于预设时长阈值时,还包括对所述录制音频进行分段处理,并选取其中一段进行匹配;若匹配失败再选取其中另一段进行匹配,直至得到最终匹配结果。
7.一种基于音频指纹的听歌识曲系统,其特征在于:包括存储器和处理器,所述存储器中存储有指令,所述处理器通过执行所述存储器中存储的指令使得基于音频指纹的听歌识曲系统实现如权利要求1至6任一项所述的基于音频指纹的听歌识曲方法。
8.一种音频设备,其特征在于:包括存储器和处理器,所述存储器中存储有指令,所述处理器通过执行所述存储器中存储的指令使得所述音频设备实现如权利要求1至6任一项所述的基于音频指纹的听歌识曲方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911229948.3A CN111161758B (zh) | 2019-12-04 | 2019-12-04 | 一种基于音频指纹的听歌识曲方法、系统及音频设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911229948.3A CN111161758B (zh) | 2019-12-04 | 2019-12-04 | 一种基于音频指纹的听歌识曲方法、系统及音频设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111161758A CN111161758A (zh) | 2020-05-15 |
CN111161758B true CN111161758B (zh) | 2023-03-31 |
Family
ID=70556469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911229948.3A Active CN111161758B (zh) | 2019-12-04 | 2019-12-04 | 一种基于音频指纹的听歌识曲方法、系统及音频设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111161758B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111710348A (zh) * | 2020-05-28 | 2020-09-25 | 厦门快商通科技股份有限公司 | 一种基于音频指纹的发音评测方法及终端 |
CN111768782A (zh) * | 2020-06-30 | 2020-10-13 | 广州酷狗计算机科技有限公司 | 音频识别方法、装置、终端及存储介质 |
CN111597379B (zh) * | 2020-07-22 | 2020-11-03 | 深圳市声扬科技有限公司 | 音频搜索方法、装置、计算机设备和计算机可读存储介质 |
CN112256911A (zh) * | 2020-10-21 | 2021-01-22 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种音频匹配方法、装置和设备 |
CN112732972B (zh) * | 2020-12-24 | 2023-10-27 | 云境商务智能研究院南京有限公司 | 一种音频指纹生成系统及方法 |
CN113241098B (zh) * | 2021-06-02 | 2022-04-26 | 亿览在线网络技术(北京)有限公司 | 一种基于音频录制的目标推荐方法 |
CN114020958B (zh) * | 2021-09-26 | 2022-12-06 | 天翼爱音乐文化科技有限公司 | 一种音乐分享方法、设备及存储介质 |
CN116828535B (zh) * | 2023-08-30 | 2023-11-14 | 太一云境技术有限公司 | 一种基于无线传输的音频共享方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014117542A1 (en) * | 2013-02-04 | 2014-08-07 | Tencent Technology (Shenzhen) Company Limited | Method and device for audio recognition |
CN104023247A (zh) * | 2014-05-29 | 2014-09-03 | 腾讯科技(深圳)有限公司 | 获取、推送信息的方法和装置以及信息交互系统 |
CN105868397A (zh) * | 2016-04-19 | 2016-08-17 | 腾讯科技(深圳)有限公司 | 一种歌曲确定方法和装置 |
US9609397B1 (en) * | 2015-12-28 | 2017-03-28 | International Business Machines Corporation | Automatic synchronization of subtitles based on audio fingerprinting |
CN107293307A (zh) * | 2016-03-31 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 音频检测方法及装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9373336B2 (en) * | 2013-02-04 | 2016-06-21 | Tencent Technology (Shenzhen) Company Limited | Method and device for audio recognition |
CN103440313B (zh) * | 2013-08-27 | 2018-10-16 | 复旦大学 | 基于音频指纹特征的音乐检索系统 |
CN103794209A (zh) * | 2014-01-17 | 2014-05-14 | 王博龙 | 一种基于音频指纹识别技术的电影映前广告监播系统 |
CN103853836B (zh) * | 2014-03-14 | 2017-01-25 | 广州酷狗计算机科技有限公司 | 一种基于音乐指纹特征的音乐检索方法及系统 |
CN106802960B (zh) * | 2017-01-19 | 2020-07-14 | 湖南大学 | 一种基于音频指纹的分片音频检索方法 |
CN110136744B (zh) * | 2019-05-24 | 2021-03-26 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种音频指纹生成方法、设备及存储介质 |
CN110335625A (zh) * | 2019-07-08 | 2019-10-15 | 百度在线网络技术(北京)有限公司 | 背景音乐的提示及识别方法、装置、设备以及介质 |
CN110602303A (zh) * | 2019-08-30 | 2019-12-20 | 厦门快商通科技股份有限公司 | 一种基于音频指纹技术的防止电信诈骗的方法和系统 |
-
2019
- 2019-12-04 CN CN201911229948.3A patent/CN111161758B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014117542A1 (en) * | 2013-02-04 | 2014-08-07 | Tencent Technology (Shenzhen) Company Limited | Method and device for audio recognition |
CN104023247A (zh) * | 2014-05-29 | 2014-09-03 | 腾讯科技(深圳)有限公司 | 获取、推送信息的方法和装置以及信息交互系统 |
US9609397B1 (en) * | 2015-12-28 | 2017-03-28 | International Business Machines Corporation | Automatic synchronization of subtitles based on audio fingerprinting |
CN107293307A (zh) * | 2016-03-31 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 音频检测方法及装置 |
CN105868397A (zh) * | 2016-04-19 | 2016-08-17 | 腾讯科技(深圳)有限公司 | 一种歌曲确定方法和装置 |
Non-Patent Citations (3)
Title |
---|
"Audio fingerprint parameterizaiton for multimedia advertising identification";Jose Medina;《2017 ETCM》;20180108;全文 * |
"Movie Retrieval Based on Shazam Algorithm";Xiaoxue Sun;《2018 ITOEC》;20190621;全文 * |
"基于大数据平台的音频指纹检索系统的研究与实现";况鑫楠;《中国优秀硕士学位论文全文数据库(信息科技辑)》;20180315;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111161758A (zh) | 2020-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111161758B (zh) | 一种基于音频指纹的听歌识曲方法、系统及音频设备 | |
US10497378B2 (en) | Systems and methods for recognizing sound and music signals in high noise and distortion | |
CN103971689B (zh) | 一种音频识别方法及装置 | |
JP5813221B2 (ja) | オーディオ信号を用いたコンテンツ認識装置及び方法 | |
CN111145737B (zh) | 语音测试方法、装置和电子设备 | |
CN108197282B (zh) | 文件数据的分类方法、装置及终端、服务器、存储介质 | |
US8886635B2 (en) | Apparatus and method for recognizing content using audio signal | |
CN110047515B (zh) | 一种音频识别方法、装置、设备及存储介质 | |
CN112000776B (zh) | 基于语音语义的话题匹配方法、装置、设备及存储介质 | |
US20140219461A1 (en) | Method and device for audio recognition | |
CN110602303A (zh) | 一种基于音频指纹技术的防止电信诈骗的方法和系统 | |
CN108197319A (zh) | 一种基于时频局部能量的特征点的音频检索方法和系统 | |
CN111192601A (zh) | 音乐标注方法、装置、电子设备及介质 | |
CN104142831A (zh) | 应用程序搜索方法及装置 | |
CN111159334A (zh) | 用于房源跟进信息处理的方法及系统 | |
CN105404681A (zh) | 直播情感分类方法及装置 | |
CN111428078A (zh) | 音频指纹编码方法、装置、计算机设备及存储介质 | |
CN113420178A (zh) | 一种数据处理方法以及设备 | |
Luque-Suárez et al. | Efficient speaker identification using spectral entropy | |
CN114722234B (zh) | 基于人工智能的音乐推荐方法、装置、存储介质 | |
CN108777804B (zh) | 媒体播放方法及装置 | |
CN113515662B (zh) | 一种相似歌曲检索方法、装置、设备以及存储介质 | |
CN111125369A (zh) | 一种默契度检测方法、设备、服务器及可读存储介质 | |
CN110176227B (zh) | 一种语音识别的方法以及相关装置 | |
CN108198573B (zh) | 音频识别方法及装置、存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |