CN108268572A - 一种歌曲同步方法及系统 - Google Patents

一种歌曲同步方法及系统 Download PDF

Info

Publication number
CN108268572A
CN108268572A CN201710005186.3A CN201710005186A CN108268572A CN 108268572 A CN108268572 A CN 108268572A CN 201710005186 A CN201710005186 A CN 201710005186A CN 108268572 A CN108268572 A CN 108268572A
Authority
CN
China
Prior art keywords
song
fingerprint
fingerprint characteristic
time point
software
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.)
Granted
Application number
CN201710005186.3A
Other languages
English (en)
Other versions
CN108268572B (zh
Inventor
姚强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Kuwo Technology Co Ltd
Original Assignee
Beijing Kuwo Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Kuwo Technology Co Ltd filed Critical Beijing Kuwo Technology Co Ltd
Priority to CN201710005186.3A priority Critical patent/CN108268572B/zh
Publication of CN108268572A publication Critical patent/CN108268572A/zh
Application granted granted Critical
Publication of CN108268572B publication Critical patent/CN108268572B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/63Querying
    • G06F16/638Presentation of query results
    • G06F16/639Presentation of query results using playlists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/68Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/683Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content

Abstract

本发明实施例涉及一种歌曲同步方法及系统,该方法包括:确定用户收听的第一歌曲的指纹特征,其中,所述第一歌曲的指纹特征通过对所述第一歌曲的频谱特征采样得到,所述指纹特征包括至少一个指纹,每个指纹反映相邻两个采样时间点之间的频谱特征差异;根据所述第一歌曲的指纹特征和听歌软件的服务器中保存的歌曲指纹特征,将所述第一歌曲同步到所述用户在所述听歌软件的收听列表,其中,所述用户收听列表为所述用户在所述听歌软件中候选收听歌曲的列表。本发明实施例提供的歌曲同步方法及系统,可以使得用户在不同的设备上用同一款听歌软件进行听歌时,实现歌曲列表同步。不但增加了听歌软件库中歌曲的数量,同时提升了用户体验。

Description

一种歌曲同步方法及系统
技术领域
本发明涉及音乐检索技术领域,尤其涉及一种歌曲同步方法及系统。
背景技术
在用户收听的歌曲中,有很大一部分是用户经过千辛万苦收集到、并非常喜欢的;用户希望在不同的设备上用同一款软件进行听歌时,都能听到该歌曲。常用的听歌软件存在以下两个缺点:1、软件不识别的用户本地歌曲不能同步;2、软件识别用户本地歌曲错误,导致同步的不是同一首歌。
因此,常用的听歌软件不能满足用户的需求。
发明内容
本发明实施例提供一种歌曲同步方法及系统,可以使得用户在不同的设备上用同一款听歌软件进行听歌时,实现歌曲列表同步。
第一方面,本发明实施例提供了一种歌曲同步方法,该方法包括:确定用户收听的第一歌曲的指纹特征,其中,所述第一歌曲的指纹特征通过对所述第一歌曲的频谱特征采样得到,所述指纹特征包括至少一个指纹,每个指纹反映相邻两个采样时间点之间的频谱特征差异;根据所述第一歌曲的指纹特征和听歌软件的服务器中保存的歌曲指纹特征,将所述第一歌曲同步到所述用户在所述听歌软件的收听列表,其中,所述用户收听列表为所述用户在所述听歌软件中候选收听歌曲的列表。
可选地,所述确定用户收听的第一歌曲的指纹特征,包括:确定所述用户收听的第一歌曲的频谱特征;将所述第一歌曲的格式转换成wav格式,对所述wav格式的第一歌曲进行降采样,并对降采样后的wav格式的第一歌曲加入汉明窗处理,得到待采样第一歌曲信息;对所述待采样第一歌曲信息进行快速傅里叶变换FFT,并在预定时间范围内对FFT后的待采样第一歌曲信息的至少两个时间点采样,得到至少两个时间点的采样信息;对每个时间点按预定规则将频带划分为至少一个,根据所述至少两个时间点的采样信息确定每个时间点中各频带的能量信息;根据每个时间点中各频带的能量信息,确定所述至少两个时间点中相邻时间点之间对应频带的能量差信息;根据所述至少两个时间点中相邻时间点之间对应频带的能量差信息确定所述第一歌曲相邻两个时间点的指纹;根据所述第一歌曲相邻两个时间点的指纹确定所述第一歌曲的指纹特征。
可选地,所述听歌软件的服务器中的每首歌曲对应一个指纹特征;所述根据所述第一歌曲的指纹特征和听歌软件的服务器中保存的歌曲指纹特征,将所述第一歌曲同步到所述用户在所述听歌软件的收听列表,包括:将所述第一歌曲的指纹特征与所述保存的歌曲指纹特征中每首歌曲的指纹特征进行匹配对比;若所述第一歌曲的指纹特征与所述保存的歌曲指纹特征中的第二歌曲的指纹特征匹配成功,则将所述第二歌曲同步到所述用户在所述听歌软件的收听列表,其中,所述第二歌曲与所述第一歌曲相同。
可选地,所述听歌软件的服务器中的每首歌曲对应一个指纹特征;所述根据所述第一歌曲的指纹特征和听歌软件的服务器中保存的歌曲指纹特征,将所述第一歌曲同步到所述用户在所述听歌软件的收听列表,包括:将所述第一歌曲的指纹特征与所述保存的歌曲指纹特征中每首歌曲的指纹特征进行匹配对比;若所述第一歌曲的指纹特征与所述保存歌曲指纹特征中的每首歌曲的指纹特征均匹配失败,则将所述第一歌曲的指纹特征和所述第一歌曲上传到所述听歌软件的服务器,并将所述第一歌曲同步到所述用户在所述听歌软件的收听列表。
可选地,所述根据所述至少两个时间点中相邻时间点之间对应频带的能量差信息确定所述第一歌曲相邻两个时间点的指纹,包括:若所述相邻时间点之间对应频带的能量差大于或等于0,则对应的相邻时间点的特征值为1,若所述相邻时间点之间对应频带的能量差小于0,则对应的相邻时间点的特征值为0;根据相邻时间点各频带对应的特征值确定所述第一歌曲相邻两个时间点的指纹。
可选地,所述将所述第一歌曲的指纹特征与所述保存的歌曲指纹特征中每首歌曲的指纹特征进行匹配对比,包括:对保存的所有歌曲的指纹特征进行倒排索引,确定每首歌曲的指纹特征中每个指纹的偏移量与对应的歌曲的映射关系,以在所述第一歌曲的指纹特征和每首歌曲的指纹特征中找到第一个相同的指纹,所述每个指纹的偏移量指的是同一首歌曲的指纹特征中,每个指纹相对最后一个指纹的间隔指纹数;将所述第一歌曲的指纹特征与倒排索引后的保存的所有歌曲的指纹特征中进行对比匹配,得到至少一首第一候选匹配歌曲集合,其中,所述至少一首第一候选匹配歌曲的第一个指纹与所述第一歌曲的第一个指纹相同;在所述至少一首第一候选匹配歌曲集合中,除去第一个指纹的偏移量小于预设第一阈值的第一候选匹配歌曲,得到至少一首第二候选匹配歌曲集合;根据每首第二候选匹配歌曲的第一个指纹开始,第一阈值个数的指纹中,与所述第一歌曲第一个指纹开始的第一阈值个数的指纹中不同的指纹所占的比例,得到所述第一歌曲与每首第二候选匹配歌曲的差异度;在所述至少一首第二候选匹配歌曲集合中,根据所述第一歌曲与每首第二候选匹配歌曲的差异度,除去差异度大于预设第二阈值的第二候选匹配歌曲,得到至少一首第三候选匹配歌曲集合;根据所述至少一首第三候选匹配歌曲的至少一种歌曲信息和所述第一歌曲的至少一种歌曲信息,确定所述第一歌曲与每首第三候选匹配歌曲的每种歌曲信息的相似度,其中,所述至少一种歌曲信息包括:歌曲名、歌手名、专辑名中的至少一个;将所述第一歌曲与每首第三候选匹配歌曲的差异度、所述第一歌曲与每首第三候选匹配歌曲的每种歌曲信息的相似度按权重求和,得到所述第一歌曲与每首第三候选匹配歌曲的匹配值,选取其中匹配值最大的歌曲为所述第二歌曲,其中,所述第一歌曲的指纹特征与所述第二歌曲的指纹特征匹配成功。
第二方面,本发明实施例提供了一种歌曲同步系统,该系统包括:确定单元,用于确定用户收听的第一歌曲的指纹特征,其中,所述第一歌曲的指纹特征通过对所述第一歌曲的频谱特征采样得到,所述指纹特征包括至少一个指纹,每个指纹反映相邻两个采样时间点之间的频谱特征差异;同步单元,用于根据所述第一歌曲的指纹特征和听歌软件的服务器中保存的歌曲指纹特征,将所述第一歌曲同步到所述用户在所述听歌软件的收听列表,其中,所述用户收听列表为所述用户在所述听歌软件中候选收听歌曲的列表。
可选地,确定所述用户收听的第一歌曲的频谱特征;具体用于将所述第一歌曲的格式转换成wav格式,对所述wav格式的第一歌曲进行降采样,并对降采样后的wav格式的第一歌曲加入汉明窗处理,得到待采样第一歌曲信息;对所述待采样第一歌曲信息进行快速傅里叶变换FFT,并在预定时间范围内对FFT后的待采样第一歌曲信息的至少两个时间点采样,得到至少两个时间点的采样信息;对每个时间点按预定规则将频带划分为至少一个,根据所述至少两个时间点的采样信息确定每个时间点中各频带的能量信息;根据每个时间点中各频带的能量信息,确定所述至少两个时间点中相邻时间点之间对应频带的能量差信息;根据所述至少两个时间点中相邻时间点之间对应频带的能量差信息确定所述第一歌曲相邻两个时间点的指纹;根据所述第一歌曲相邻两个时间点的指纹确定所述第一歌曲的指纹特征。
可选地,所述听歌软件的服务器中保存的每首歌曲对应一个指纹特征;所述同步单元,具体用于将所述第一歌曲的指纹特征与所述保存的指纹特征中每个指纹特征进行匹配对比;若所述第一歌曲的指纹特征与所述保存歌曲指纹特征中的第二歌曲的指纹特征匹配成功,则将所述第二歌曲同步到所述用户在所述听歌软件的收听列表,其中,所述第二歌曲与所述第一歌曲相同;若所述第一歌曲的指纹特征与所述保存歌曲指纹特征中的每首歌曲的指和所述第一歌曲上传到所述听歌软件的服务器,并将所述第一歌曲同步到所述用户在所述听歌软件的收听列表。
可选地,所述同步单元,具体用于对保存的所有歌曲的指纹特征进行倒排索引,确定每首歌曲的指纹特征中每个指纹的偏移量与对应的歌曲的映射关系,以在所述第一歌曲的指纹特征和每首歌曲的指纹特征中找到第一个相同的指纹,所述每个指纹的偏移量指的是同一首歌曲的指纹特征中,每个指纹相对最后一个指纹的间隔指纹数;将所述第一歌曲的指纹特征与倒排索引后的保存的所有歌曲的指纹特征中进行对比匹配,得到至少一首第一候选匹配歌曲集合,其中,所述至少一首第一候选匹配歌曲的第一个指纹与所述第一歌曲的第一个指纹相同;在所述至少一首第一候选匹配歌曲集合中,除去第一个指纹的偏移量小于预设第一阈值的第一候选匹配歌曲,得到至少一首第二候选匹配歌曲集合;根据每首第二候选匹配歌曲的第一个指纹开始,第一阈值个数的指纹中,与所述第一歌曲第一个指纹开始的第一阈值个数的指纹中不同的指纹所占的比例,得到所述第一歌曲与每首第二候选匹配歌曲的差异度;在所述至少一首第二候选匹配歌曲集合中,根据所述第一歌曲与每首第二候选匹配歌曲的差异度,除去差异度大于预设第二阈值对应的第二候选匹配歌曲,得到至少一首第三候选匹配歌曲集合;根据所述至少一首第三候选匹配歌曲的至少一种歌曲信息和所述第一歌曲的至少一种歌曲信息,确定所述第一歌曲与每首第三候选匹配歌曲的每种歌曲信息的相似度,其中,所述至少一种歌曲信息包括:歌曲名、歌手名、专辑名中的至少一个;将所述第一歌曲与每首第三候选匹配歌曲的差异度、所述第一歌曲与每首第三候选匹配歌曲的每种歌曲信息的相似度按权重求和,得到所述第一歌曲与每首第三候选匹配歌曲的匹配值,选取其中匹配值最大的歌曲为所述第二歌曲,其中,所述第一歌曲的指纹特征与所述第二歌曲的指纹特征匹配成功。
基于上述技术方案,本发明实施例提供的歌曲同步方法及系统,可以对本地歌曲进行准确的识别,并对本地歌曲在各个设备端进行同步。本发明实施例对本地歌曲的识别,采用了一种新的指纹识别方法,保证识别的准确率。若本地歌曲和听歌软件库里的歌曲一样,则软件库里的歌曲代替本地歌曲,进行各个端的同步和收听。若本地歌曲和软件库里的歌曲不一样,生成用户歌曲指纹,并把用户歌曲上传到软件库里,并把歌曲信息(包括歌曲名、歌手名、专辑名等)保存下来,作为后续匹配的依据。本发明实施例提升了用户体验,增加用户所在设备同步所听歌曲列表及上传歌曲到软件服务器的功能。不但增加了软件库中歌曲的数量,同时提升了用户体验。
附图说明
图1为本发明实施例提供的一种歌曲同步方法流程示意图;
图2为本发明实施例提供的歌曲指纹特征提取过程示意图;
图3为本发明实施例提供的歌曲指纹特征计算示意图;
图4为本发明实施例提供的歌曲同步方法流程示意图;
图5为本发明实施例提供的歌曲同步系统结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
图1为本发明实施例提供的一种歌曲同步方法流程示意图。如图1所示,包括步骤S101至步骤S102:
在步骤S101,确定用户收听的第一歌曲的指纹特征,其中,所述第一歌曲的指纹特征通过对所述第一歌曲的频谱特征采样得到,所述指纹特征包括至少一个指纹,每个指纹反映相邻两个采样时间点之间的频谱特征差异。
具体地,所述确定用户收听的第一歌曲的指纹特征,包括:确定所述用户收听的第一歌曲的频谱特征;将所述第一歌曲的格式转换成wav格式,对所述wav格式的第一歌曲进行降采样,并对降采样后的wav格式的第一歌曲加入汉明窗处理,得到待采样第一歌曲信息;对所述待采样第一歌曲信息进行快速傅里叶变换FFT,并在预定时间范围内对FFT后的待采样第一歌曲信息的至少两个时间点采样,得到至少两个时间点的采样信息;对每个时间点按预定规则将频带划分为至少一个,根据所述至少两个时间点的采样信息确定每个频带的能量信息;根据每个时间点中频带的能量信息,确定所述至少两个时间点中相邻时间点之间对应频带的能量差信息;根据所述至少两个时间点中相邻时间点之间对应频带的能量差信息确定所述第一歌曲相邻两个时间点的指纹;根据所述第一歌曲相邻两个时间点的指纹确定所述第一歌曲的指纹特征。
具体地,所述根据所述至少两个时间点中相邻时间点之间对应频带的能量差信息确定所述第一歌曲相邻两个时间点的指纹,包括:若所述相邻时间点之间对应频带的能量差大于或等于0,则对应的相邻时间点的特征值为1,若所述相邻时间点之间对应频带的能量差小于0,则对应的相邻时间点的特征值为0;根据相邻时间点各频带对应的特征值确定所述第一歌曲相邻两个时间点的指纹。
在一个具体的示例中,图2为本发明实施例提供的歌曲指纹特征提取过程示意图。如图2所示,包括步骤201至步骤209:
在步骤201,把歌曲的格式转换成wav格式。
在步骤202,对转换后的wav格式的歌曲进行降采样。
需要说明的是,降采样是降低特定信号的采样率的过程,通常用于降低数据传输速率或者数据大小。
在步骤203,对降采样后的wav格式的歌曲加入汉明窗。
需要说明的是,采用汉明窗对降采样后的wav格式的歌曲进行加窗处理,可减小频谱泄漏,以提高线性预测的准确性。
在步骤204,进行快速傅里叶变换((Fast Fourier Transformation,FFT)。
在步骤205,在一定时间范围内,对某些时间点采样;在这些采样点上,按一定规则把频带划分为多份。例如,为方便理解本发明实施例,下面以把频带划分为32份为例,进行说明。
在步骤206,求每个频带的能量和。
在步骤207,求相邻采样点、同样频带的能量差,得到32个值。
在步骤208,对两个相邻采样时间点对应的32个能量值值进行相减,差值大于或等于0的,设为1;差值小于0的,设为0。则可以用32位表示这32个值,也即用一个整数int表示相邻采样时间点的指纹。
在步骤209,假设在3秒时间范围内,采了257个点,则共得到256个指纹。我们这里采集了6秒的特征,共得到512个指纹,这512个指纹就算该歌曲的指纹特征。本发明实施例以512个采样时间点为例,进行说明。
图3为本发明实施例提供的歌曲指纹特征计算示意图;如图3所示,301和302部分分别表示相邻两个采样时间点各频带(共划分为32分频带)的能量信息。303表示根据相邻两个采样时间点各频带能量差得到的各特征值。若相邻两个采样时间点的频带能量差大于或等于0,对应的相邻采样时间点的特征值为1;若相邻两个采样时间点的频带能量差小于0,对应的相邻采样时间点的特征值为0。304表示根据相邻两个采样时间点各频带对应的特征值,转换成一个int,对应相邻两个采样时间点的指纹。
需要说明的是,上述算法在歌曲指纹特征提取方面,由于加入了降采样和汉明窗,计算的速度比传统的算法更快,并且效果更好。由于采用了整数来表示相邻采样点之间的能量差异,保存和计算都比传统的方法更方便、快捷。
在步骤S102,根据所述第一歌曲的指纹特征和听歌软件的服务器中保存的歌曲指纹特征,将所述第一歌曲同步到所述用户在所述听歌软件的收听列表,其中,所述用户收听列表为所述用户在所述听歌软件中候选收听歌曲的列表。
具体地,所述听歌软件的服务器中保存至少一首歌曲,每首歌曲对应一个指纹特征;所述根据所述第一歌曲的指纹特征和听歌软件的服务器中保存的歌曲指纹特征,将所述第一歌曲同步到所述用户在所述听歌软件的收听列表,包括:将所述第一歌曲的指纹特征与所述保存的歌曲指纹特征中每首歌曲的指纹特征进行匹配对比;若所述第一歌曲的指纹特征与所述保存的歌曲指纹特征中的第二歌曲的指纹特征匹配成功,则将所述第二歌曲同步到所述用户在所述听歌软件的收听列表,其中,所述第二歌曲与所述第一歌曲相同。若所述第一歌曲的指纹特征与所述保存歌曲指纹特征中的每首歌曲的指纹特征均匹配失败,则将所述第一歌曲的指纹特征和所述第一歌曲上传到所述听歌软件的服务器,并将所述第一歌曲同步到所述用户在所述听歌软件的收听列表。
在一个具体的示例中,如果要同步一首歌曲,先提取该歌曲的指纹特征,然后和软件库里的指纹特征进行比对,如果找到了,则认为该歌曲是软件库里的歌曲,用软件库的该歌曲进行同步。如果找不到匹配的指纹,则认为该歌曲是用户本地歌曲,然后提取该用户本地歌曲的指纹特征,把该指纹特征存入软件库,并且把歌曲上传到软件服务器,后续的同步都是通过新的指纹特征进行同步。
需要说明的是,在后续其他设备相同听歌软件,该用户登录后,将会显示该用户的收听列表。同时,由于该听歌软件的服务器中已经保存对应的歌曲或者存在对应匹配的歌曲,则当设备可以连接该听歌软件的服务器时,用户可以同步收听其在其他设备听过的歌曲。
本发明实施例提供的歌曲同步方法,涉及歌曲指纹识别的两种算法:指纹提取算法和指纹匹配算法。其中,指纹提取算法已在步骤101中做了详细介绍。以下将介绍指纹匹配算法。
具体地,所述将所述第一歌曲的指纹特征与所述保存的歌曲指纹特征中每首歌曲的指纹特征进行匹配对比,包括:对保存的所有歌曲的指纹特征进行倒排索引,确定每首歌曲的指纹特征中每个指纹的偏移量与对应的歌曲的映射关系,以在所述第一歌曲的指纹特征和每首歌曲的指纹特征中找到第一个相同的指纹,所述每个指纹的偏移量指的是同一首歌曲的指纹特征中,每个指纹相对最后一个指纹的间隔指纹数;将所述第一歌曲的指纹特征与倒排索引后的保存的所有歌曲的指纹特征中进行对比匹配,得到至少一首第一候选匹配歌曲集合,其中,所述至少一首第一候选匹配歌曲的第一个指纹与所述第一歌曲的第一个指纹;在所述至少一首第一候选匹配歌曲集合中,除去第一个指纹的偏移量小于预设第一阈值的第一候选匹配歌曲,得到至少一首第二候选匹配歌曲集合;根据每首第二候选匹配歌曲的第一个指纹开始,第一阈值个数的指纹中,与所述第一歌曲第一个指纹开始的第一阈值个数的指纹中不同的指纹所占的比例,得到所述第一歌曲与每首第二候选匹配歌曲的差异度;在所述至少一首第一候选匹配歌曲集合中,根据所述第一歌曲与每首第二候选匹配歌曲的差异度,除去差异度大于预设第二阈值的第二候选匹配歌曲,得到至少一首第三候选匹配歌曲集合;根据所述至少一首第三候选匹配歌曲的至少一种歌曲信息和所述第一歌曲的至少一种歌曲信息,确定所述第一歌曲与每首第三候选匹配歌曲的每种歌曲信息的相似度,其中,所述至少一种歌曲信息包括:歌曲名、歌手名、专辑名中的至少一个;将所述第一歌曲与每首第三候选匹配歌曲的差异度、所述第一歌曲与每首第三候选匹配歌曲的每种歌曲信息的相似度按权重求和,得到所述第一歌曲与每首第三候选匹配歌曲的匹配值,选取其中匹配值最大的歌曲为所述第二歌曲,其中,所述第一歌曲的指纹特征与所述第二歌曲的指纹特征匹配成功。
在一个具体的示例中,图4为本发明实施例提供的歌曲同步方法流程示意图;如图4所示:包括步骤401至步骤407:
需要说明的是,当两首歌曲的指纹特征中,有超过预设阈值长度的指纹匹配成功,则认为这两首歌曲匹配成功。在本发明下面的实施例中,以匹配的两首歌曲的第一个指纹相同为例,进行说明。
在步骤401,把软件库里的所有指纹进行倒排索引,得到指纹int到歌曲id和歌曲offset的映射,以便从指纹int能快速找到歌曲id。
其中,歌曲id为歌曲在软件歌曲库中的id;歌曲offset指该指纹int在该歌曲指纹特征包括的所有指纹中相对最后一个指纹的偏移量。
在步骤402,用待匹配歌曲的第一个指纹int,在倒排索引中进行查找,得到所有可能匹配的歌曲id和相应的offset。
其中,所有可能匹配的歌曲的第一个指纹与待匹配歌曲的第一个指纹int相同。
在步骤403,在所有可能匹配的歌曲中,除去与待匹配歌曲的第一个指纹int相同的指纹开始的剩余指纹数小于64的歌曲。其中,这里剩余指纹数小于64即为上述偏移量小于预设第一阈值。本发明实施例以偏移量为64进行说明。所有可能匹配的歌曲,如果软件库中歌曲的指纹特征中与待匹配歌曲的第一个指纹int相同的指纹开始的剩余指纹数小于64的话,则认为该歌曲是不能与待匹配歌曲匹配的,从可能匹配集合中去除,以保证软件库中可能匹配的歌曲的可匹配的指纹数量充足。
在步骤404,计算可能匹配集合中的歌曲和待匹配歌曲指纹特征位不相同的位数,和指纹特征的总长度相除,得到差异度diff。
在步骤405,在所有可能匹配的歌曲中,除去差异度diff大于一定阈值歌曲。
其中,如果差异度diff大于一定阈值的认为该待匹配歌曲不在软件库中。若软件库中所有可能匹配的歌曲的差异度diff均大于一定阈值,则认为未在软件库中找到相似歌曲。即待匹配歌曲与软件库中的所有歌曲匹配失败。将上传待匹配歌曲和待匹配歌曲的指纹特征到软件库中,以实现待匹配的歌曲在不同设备同步。
在步骤406,把剩余可能匹配歌曲的歌曲信息(歌曲名、歌手名、专辑名等)和待匹配歌曲的歌曲信息进行比较,得到每种歌曲信息的相似度。
在步骤407,把差异度diff和各种歌曲信息的相似度按权重求和,确定权重值最大的歌曲与待匹配歌曲匹配成功。
其中,把差异度diff和各种歌曲信息的相似度按权重求和,然后进行排序,取最大的一个,认为该歌曲和待匹配歌曲是一样的。
需要说明的是,上述算法在歌曲指纹特征匹配方面,由于加入了倒排索引,查找速度比传统的更高效。并且通过匹配指纹长度和差异度diff两个阈值来进行筛选,保证能过滤掉差异较大的歌曲。最后加入歌曲信息权重的因素,保证匹配的精度。
本发明实施例提供的歌曲同步方法可广泛应用到听歌软件中,以酷我音乐听歌软件为例。使用本发明实施例提供的歌曲同步方法后,现在酷我音乐库中,用户上传的歌曲数目有700多万,不但增加了酷我音乐库中歌曲的数量,并且提升了用户体验。另外,试用阶段内,基本上没有收到用户反馈同步后歌曲出现错误的情况,说明该实施例提供的方法的匹配精确度是有保证的。
图5为本发明实施例提供的歌曲同步系统结构示意图。如图5所示,包括确定单元510和同步单元520。
该实施例提供的系统的确定单元510用于确定用户收听的第一歌曲的指纹特征,其中,所述第一歌曲的指纹特征通过对所述第一歌曲的频谱特征采样得到,所述指纹特征包括至少一个指纹,每个指纹反映相邻两个采样时间点之间的频谱特征差异。
同步单元520用于根据所述第一歌曲的指纹特征和听歌软件的服务器中保存的歌曲指纹特征,将所述第一歌曲同步到所述用户在所述听歌软件的收听列表,其中,所述用户收听列表为所述用户在所述听歌软件中候选收听歌曲的列表。
可选地,确定单元510具体用于确定所述用户收听的第一歌曲的频谱特征;将所述第一歌曲的格式转换成wav格式,对所述wav格式的第一歌曲进行降采样,并对降采样后的wav格式的第一歌曲加入汉明窗处理,得到待采样第一歌曲信息;对所述待采样第一歌曲信息进行快速傅里叶变换FFT,并在预定时间范围内对FFT后的待采样第一歌曲信息的至少一两时间点采样,得到至少两个时间点的采样信息;对每个时间点按预定规则将频带划分为至少一个,根据所述至少两个时间点采样信息确定每个时间点中各频带的能量信息;根据每个时间点中各频带的能量信息,确定所述至少两个时间点中相邻时间点之间对应频带的能量差信息;根据所述至少两个时间点中相邻时间点之间对应频带的能量差信息确定所述第一歌曲相邻两个时间点的指纹;根据所述第一歌曲相邻两个时间点的指纹确定所述第一歌曲的指纹特征。
可选地,所述听歌软件的服务器中的每首歌曲对应一个指纹特征;同步单元520,具体用于将所述第一歌曲的指纹特征与所述保存的指纹特征中每个指纹特征进行匹配对比;若所述第一歌曲的指纹特征与所述保存歌曲指纹特征中的第二歌曲的指纹特征匹配成功,则将所述第二歌曲同步到所述用户在所述听歌软件的收听列表,其中,所述第二歌曲与所述第一歌曲相同;若所述第一歌曲的指纹特征与所述保存歌曲指纹特征中的每首歌曲的指纹特征均匹配失败,则将所述第一歌曲的指纹特征和所述第一歌曲上传到所述听歌软件的服务器,并将所述第一歌曲同步到所述用户在所述听歌软件的收听列表。
可选地,同步单元520,具体用于对保存的所有歌曲的指纹特征进行倒排索引,确定每首歌曲的指纹特征中每个指纹的偏移量与对应的歌曲的映射关系,以在所述第一歌曲的指纹特征和每首歌曲的指纹特征中找到第一个相同的指纹,所述每个指纹的偏移量指的是同一首歌曲的指纹特征中,每个指纹相对最后一个指纹的间隔指纹数;将所述第一歌曲的指纹特征与倒排索引后的保存的所有歌曲的指纹特征中进行对比匹配,得到至少一首第一候选匹配歌曲集合,其中,所述至少一首第一候选匹配歌曲的第一个指纹与所述第一歌曲的第一个指纹相同;在所述至少一首第一候选匹配歌曲集合中,除去第一个指纹的偏移量小于预设第一阈值的第一候选匹配歌曲,得到至少一首第二候选匹配歌曲集合;根据每首第二候选匹配歌曲的第一个指纹开始,第一阈值个数的指纹中,与所述第一歌曲第一个指纹开始的第一阈值个数的指纹中不同的指纹所占的比例,得到所述第一歌曲与每首第二候选匹配歌曲的差异度;在所述至少一首第二候选匹配歌曲集合中,根据所述第一歌曲与每首第二候选匹配歌曲的差异度,除去差异度大于预设第二阈值对应的第二候选匹配歌曲,得到至少一首第三候选匹配歌曲集合;根据所述至少一首第三候选匹配歌曲的至少一种歌曲信息和所述第一歌曲的至少一种歌曲信息,确定所述第一歌曲与每首第三候选匹配歌曲的每种歌曲信息的相似度,其中,所述至少一种歌曲信息包括:歌曲名、歌手名、专辑名中的至少一个;将所述第一歌曲与每首第三候选匹配歌曲的差异度、所述第一歌曲与每首第三候选匹配歌曲的每种歌曲信息的相似度按权重求和,得到所述第一歌曲与每首第三候选匹配歌曲的匹配值,选取其中匹配值最大的歌曲为所述第二歌曲,其中,所述第一歌曲的指纹特征与所述第二歌曲的指纹特征匹配成功。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
最后应说明的是,以上实施例仅用以说明本申请的技术方案而非限制。尽管参照实施例对本申请进行了详细说明,本领域的普通技术人员应当理解,对本申请的技术方案进行修改或者等同替换,都不脱离本申请技术方案的精神和范围,其均应涵盖在本申请的权利要求范围当中。

Claims (10)

1.一种歌曲同步方法,其特征在于,包括:
确定用户收听的第一歌曲的指纹特征,其中,所述第一歌曲的指纹特征通过对所述第一歌曲的频谱特征采样得到,所述指纹特征包括至少一个指纹,每个指纹反映相邻两个采样时间点之间的频谱特征差异;
根据所述第一歌曲的指纹特征和听歌软件的服务器中保存的歌曲指纹特征,将所述第一歌曲同步到所述用户在所述听歌软件的收听列表,其中,所述用户收听列表为所述用户在所述听歌软件中候选收听歌曲的列表。
2.根据权利要求1所述的方法,其特征在于,所述确定用户收听的第一歌曲的指纹特征,包括:
确定所述用户收听的第一歌曲的频谱特征;
将所述第一歌曲的格式转换成wav格式,对所述wav格式的第一歌曲进行降采样,并对降采样后的wav格式的第一歌曲加入汉明窗处理,得到待采样第一歌曲信息;
对所述待采样第一歌曲信息进行快速傅里叶变换FFT,并在预定时间范围内对FFT后的待采样第一歌曲信息的至少两个时间点采样,得到至少两个时间点的采样信息;
对每个时间点按预定规则将频带划分为至少一个,根据所述至少两个时间点的采样信息确定每个时间点中各频带的能量信息;
根据每个时间点中各频带的能量信息,确定所述至少两个时间点中相邻时间点之间对应频带的能量差信息;
根据所述至少两个时间点中相邻时间点之间对应频带的能量差信息确定所述第一歌曲相邻两个时间点的指纹;
根据所述第一歌曲相邻两个时间点的指纹确定所述第一歌曲的指纹特征。
3.根据权利要求1或2所述的方法,其特征在于,所述听歌软件的服务器中的每首歌曲对应一个指纹特征;
所述根据所述第一歌曲的指纹特征和听歌软件的服务器中保存的歌曲指纹特征,将所述第一歌曲同步到所述用户在所述听歌软件的收听列表,包括:
将所述第一歌曲的指纹特征与所述保存的歌曲指纹特征中每首歌曲的指纹特征进行匹配对比;
若所述第一歌曲的指纹特征与所述保存的歌曲指纹特征中的第二歌曲的指纹特征匹配成功,则将所述第二歌曲同步到所述用户在所述听歌软件的收听列表,其中,所述第二歌曲与所述第一歌曲相同。
4.根据权利要求1或2所述的方法,其特征在于,所述听歌软件的服务器中的每首歌曲对应一个指纹特征;
所述根据所述第一歌曲的指纹特征和听歌软件的服务器中保存的歌曲指纹特征,将所述第一歌曲同步到所述用户在所述听歌软件的收听列表,包括:
将所述第一歌曲的指纹特征与所述保存的歌曲指纹特征中每首歌曲的指纹特征进行匹配对比;
若所述第一歌曲的指纹特征与所述保存歌曲指纹特征中的每首歌曲的指纹特征均匹配失败,则将所述第一歌曲的指纹特征和所述第一歌曲上传到所述听歌软件的服务器,并将所述第一歌曲同步到所述用户在所述听歌软件的收听列表。
5.根据权利要求2所述的方法,其特征在于,所述根据所述至少两个时间点中相邻时间点之间对应频带的能量差信息确定所述第一歌曲相邻两个时间点的指纹,包括:
若所述相邻时间点之间对应频带的能量差大于或等于0,则对应的相邻时间点的特征值为1,若所述相邻时间点之间对应频带的能量差小于0,则对应的相邻时间点的特征值为0;
根据相邻时间点各频带对应的特征值确定所述第一歌曲相邻两个时间点的指纹。
6.根据权利要求3所述的方法,其特征在于,所述将所述第一歌曲的指纹特征与所述保存的歌曲指纹特征中每首歌曲的指纹特征进行匹配对比,包括:
对保存的所有歌曲的指纹特征进行倒排索引,确定每首歌曲的指纹特征中每个指纹的偏移量与对应的歌曲的映射关系,以在所述第一歌曲的指纹特征和每首歌曲的指纹特征中找到第一个相同的指纹,所述每个指纹的偏移量指的是同一首歌曲的指纹特征中,每个指纹相对最后一个指纹的间隔指纹数;
将所述第一歌曲的指纹特征与倒排索引后的保存的所有歌曲的指纹特征中进行对比匹配,得到至少一首第一候选匹配歌曲集合,其中,所述至少一首第一候选匹配歌曲的第一个指纹与所述第一歌曲的第一个指纹相同;
在所述至少一首第一候选匹配歌曲集合中,除去第一个指纹的偏移量小于预设第一阈值的第一候选匹配歌曲,得到至少一首第二候选匹配歌曲集合;
根据每首第二候选匹配歌曲的第一个指纹开始,第一阈值个数的指纹中,与所述第一歌曲第一个指纹开始的第一阈值个数的指纹中不同的指纹所占的比例,得到每首第二候选匹配歌曲与所述第一歌曲的差异度;
在所述至少一首第二候选匹配歌曲集合中,根据每首第二候选匹配歌曲与所述第一歌曲的差异度,除去差异度大于预设第二阈值的第二候选匹配歌曲,得到至少一首第三候选匹配歌曲集合;
根据所述至少一首第三候选匹配歌曲的至少一种歌曲信息和所述第一歌曲的至少一种歌曲信息,确定所述第一歌曲与每首第三候选匹配歌曲的每种歌曲信息的相似度,其中,所述至少一种歌曲信息包括:歌曲名、歌手名、专辑名中的至少一个;
将所述每首第三候选匹配歌曲与第一歌曲的差异度、所述第一歌曲与每首第三候选匹配歌曲的每种歌曲信息的相似度按权重求和,得到所述第一歌曲与每首第三候选匹配歌曲的匹配值,选取其中匹配值最大的歌曲为所述第二歌曲,其中,所述第一歌曲的指纹特征与所述第二歌曲的指纹特征匹配成功。
7.一种歌曲同步系统,其特征在于,包括:
确定单元,用于确定用户收听的第一歌曲的指纹特征,其中,所述第一歌曲的指纹特征通过对所述第一歌曲的频谱特征采样得到,所述指纹特征包括至少一个指纹,每个指纹反映相邻两个采样时间点之间的频谱特征差异;
同步单元,用于根据所述第一歌曲的指纹特征和听歌软件的服务器中保存的歌曲指纹特征,将所述第一歌曲同步到所述用户在所述听歌软件的收听列表,其中,所述用户收听列表为所述用户在所述听歌软件中候选收听歌曲的列表。
8.根据权利要求7所述的系统,其特征在于,所述确定单元,具体用于确定所述用户收听的第一歌曲的频谱特征;将所述第一歌曲的格式转换成wav格式,对所述wav格式的第一歌曲进行降采样,并对降采样后的wav格式的第一歌曲加入汉明窗处理,得到待采样第一歌曲信息;对所述待采样第一歌曲信息进行快速傅里叶变换FFT,并在预定时间范围内对FFT后的待采样第一歌曲信息的至少两个时间点采样,得到至少两个时间点的采样信息;对每个时间点按预定规则将频带划分为至少一个,根据所述至少两个时间点的采样信息确定每个时间点中各频带的能量信息;根据每个时间点中各频带的能量信息,确定所述至少两个时间点中相邻时间点之间对应频带的能量差信息;根据所述至少两个时间点中相邻时间点之间对应频带的能量差信息确定所述第一歌曲相邻两个时间点的指纹;根据所述第一歌曲相邻两个时间点的指纹确定所述第一歌曲的指纹特征。
9.根据权利要求7或8所述的系统,其特征在于,所述听歌软件的服务器中的每首歌曲对应一个指纹特征;
所述同步单元,具体用于将所述第一歌曲的指纹特征与所述保存的指纹特征中每个指纹特征进行匹配对比;若所述第一歌曲的指纹特征与所述保存歌曲指纹特征中的第二歌曲的指纹特征匹配成功,则将所述第二歌曲同步到所述用户在所述听歌软件的收听列表,其中,所述第二歌曲与所述第一歌曲相同;若所述第一歌曲的指纹特征与所述保存歌曲指纹特征中的每首歌曲的指纹特征均匹配失败,则将所述第一歌曲的指纹特征和所述第一歌曲上传到所述听歌软件的服务器,并将所述第一歌曲同步到所述用户在所述听歌软件的收听列表。
10.根据权利要求9所述的系统,其特征在于,所述同步单元,具体用于对保存的所有歌曲的指纹特征进行倒排索引,确定每首歌曲的指纹特征中每个指纹的偏移量与对应的歌曲的映射关系,以在所述第一歌曲的指纹特征和每首歌曲的指纹特征中找到第一个相同的指纹,所述每个指纹的偏移量指的是同一首歌曲的指纹特征中,每个指纹相对最后一个指纹的间隔指纹数;将所述第一歌曲的指纹特征与倒排索引后的保存的所有歌曲的指纹特征中进行对比匹配,得到至少一首第一候选匹配歌曲集合,其中,所述至少一首第一候选匹配歌曲的第一个指纹与所述第一歌曲的第一个指纹相同;在所述至少一首第一候选匹配歌曲集合中,除去第一个指纹的偏移量小于预设第一阈值的第一候选匹配歌曲,得到至少一首第二候选匹配歌曲集合;根据每首第二候选匹配歌曲的第一个指纹开始,第一阈值个数的指纹中,与所述第一歌曲第一个指纹开始的第一阈值个数的指纹中不同的指纹所占的比例,得到每首第二候选匹配歌曲与所述第一歌曲的差异度;在所述至少一首第二候选匹配歌曲集合中,根据每首第二候选匹配歌曲与所述第一歌曲的差异度,除去差异度大于预设第二阈值对应的第二候选匹配歌曲,得到至少一首第三候选匹配歌曲集合;根据所述至少一首第三候选匹配歌曲的至少一种歌曲信息和所述第一歌曲的至少一种歌曲信息,确定所述第一歌曲与每首第三候选匹配歌曲的每种歌曲信息的相似度,其中,所述至少一种歌曲信息包括:歌曲名、歌手名、专辑名中的至少一个;将所述第一歌曲与每首第三候选匹配歌曲的差异度、所述第一歌曲与每首第三候选匹配歌曲的每种歌曲信息的相似度按权重求和,得到所述第一歌曲与每首第三候选匹配歌曲的匹配值,选取其中匹配值最大的歌曲为所述第二歌曲,其中,所述第一歌曲的指纹特征与所述第二歌曲的指纹特征匹配成功。
CN201710005186.3A 2017-01-04 2017-01-04 一种歌曲同步方法及系统 Active CN108268572B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710005186.3A CN108268572B (zh) 2017-01-04 2017-01-04 一种歌曲同步方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710005186.3A CN108268572B (zh) 2017-01-04 2017-01-04 一种歌曲同步方法及系统

Publications (2)

Publication Number Publication Date
CN108268572A true CN108268572A (zh) 2018-07-10
CN108268572B CN108268572B (zh) 2020-09-08

Family

ID=62770716

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710005186.3A Active CN108268572B (zh) 2017-01-04 2017-01-04 一种歌曲同步方法及系统

Country Status (1)

Country Link
CN (1) CN108268572B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101594527A (zh) * 2009-06-30 2009-12-02 成都艾索语音技术有限公司 从音频视频流中高精度检测模板的两阶段方法
CN102314875A (zh) * 2011-08-01 2012-01-11 北京百度网讯科技有限公司 一种音频文件的识别方法和装置
US8380518B2 (en) * 2005-11-11 2013-02-19 Samsung Electronics Co., Ltd. Device, method, and medium for generating audio fingerprint and retrieving audio data
CN103475731A (zh) * 2013-09-23 2013-12-25 网易(杭州)网络有限公司 一种媒体信息匹配、处理方法和设备
CN103853836A (zh) * 2014-03-14 2014-06-11 广州酷狗计算机科技有限公司 一种基于音乐指纹特征的音乐检索方法及系统
CN104050259A (zh) * 2014-06-16 2014-09-17 上海大学 一种基于som算法的音频指纹提取方法
CN105488068A (zh) * 2014-09-19 2016-04-13 阿里巴巴集团控股有限公司 搜索音乐和建立索引的方法及装置、搜索结果判断方法
CN106162321A (zh) * 2016-08-31 2016-11-23 成都广电视讯文化传播有限公司 一种声纹特征和音频水印相结合的音频信号识别方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8380518B2 (en) * 2005-11-11 2013-02-19 Samsung Electronics Co., Ltd. Device, method, and medium for generating audio fingerprint and retrieving audio data
CN101594527A (zh) * 2009-06-30 2009-12-02 成都艾索语音技术有限公司 从音频视频流中高精度检测模板的两阶段方法
CN102314875A (zh) * 2011-08-01 2012-01-11 北京百度网讯科技有限公司 一种音频文件的识别方法和装置
CN103475731A (zh) * 2013-09-23 2013-12-25 网易(杭州)网络有限公司 一种媒体信息匹配、处理方法和设备
CN103853836A (zh) * 2014-03-14 2014-06-11 广州酷狗计算机科技有限公司 一种基于音乐指纹特征的音乐检索方法及系统
CN104050259A (zh) * 2014-06-16 2014-09-17 上海大学 一种基于som算法的音频指纹提取方法
CN105488068A (zh) * 2014-09-19 2016-04-13 阿里巴巴集团控股有限公司 搜索音乐和建立索引的方法及装置、搜索结果判断方法
CN106162321A (zh) * 2016-08-31 2016-11-23 成都广电视讯文化传播有限公司 一种声纹特征和音频水印相结合的音频信号识别方法

Also Published As

Publication number Publication date
CN108268572B (zh) 2020-09-08

Similar Documents

Publication Publication Date Title
US9679579B1 (en) Systems and methods facilitating selective removal of content from a mixed audio recording
CN110047515B (zh) 一种音频识别方法、装置、设备及存储介质
EP2685450B1 (en) Device and method for recognizing content using audio signals
US20150286464A1 (en) Method, system and storage medium for monitoring audio streaming media
CN107918663A (zh) 音频文件检索方法及装置
CN105975568A (zh) 一种音频处理方法及装置
CN101663708A (zh) 用于按照索引信息搜索音频指纹的系统和方法
US10217469B2 (en) Generation of a signature of a musical audio signal
CN105825850A (zh) 一种音频处理方法及装置
CN105893548A (zh) 命名方法以及终端
Kamaladas et al. Fingerprint extraction of audio signal using wavelet transform
CN107018354A (zh) 一种支持案件标签的单兵设备、方法和系统
WO2016024172A1 (en) Method of and a system for matching audio tracks using chromaprints with a fast candidate selection routine
CN108268572A (zh) 一种歌曲同步方法及系统
CN108198573B (zh) 音频识别方法及装置、存储介质及电子设备
Luque-Suárez et al. Efficient speaker identification using spectral entropy
US10776420B2 (en) Fingerprint clustering for content-based audio recognition
WO2016024171A1 (en) Method of and a system for indexing audio tracks using chromaprints
CN108280085A (zh) 数据去重的方法及装置
CN103440270B (zh) 实现音频文件重复模式发现的系统和方法
CN112784100A (zh) 一种音频指纹的处理方法、装置、计算机设备和存储介质
CN105893463B (zh) 专辑录入方法及装置
Yadav et al. Real Time Audio Synchronization Using Audio Fingerprinting Techniques
CN110400578A (zh) 哈希码的生成及其匹配方法、装置、电子设备和存储介质
You et al. Using paired distances of signal peaks in stereo channels as fingerprints for copy identification

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