CN110399522A - 一种基于lstm与分层匹配的音乐哼唱检索方法及装置 - Google Patents
一种基于lstm与分层匹配的音乐哼唱检索方法及装置 Download PDFInfo
- Publication number
- CN110399522A CN110399522A CN201910595792.4A CN201910595792A CN110399522A CN 110399522 A CN110399522 A CN 110399522A CN 201910595792 A CN201910595792 A CN 201910595792A CN 110399522 A CN110399522 A CN 110399522A
- Authority
- CN
- China
- Prior art keywords
- pitch
- inquiry
- curve
- vector
- pitch curve
- 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
Links
Classifications
-
- 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/63—Querying
- G06F16/632—Query formulation
- G06F16/634—Query by example, e.g. query by humming
-
- 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/65—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Auxiliary Devices For Music (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种基于LSTM与分层匹配的音乐哼唱检索方法,包括:获取哼唱文件,并从哼唱文件中提取音高信息;采用基于LSTM训练得到的神经网络模型对提取的音高信息进行分类,并根据分类结果从标准歌曲数据库中获取音高信息的检索结果;对音高信息和检索结果进行匹配,输出候选歌曲列表。本申请提供的音乐哼唱检索方法可以提高哼唱检索的准确率。
Description
技术领域
本文涉及数字信号处理技术领域,尤指一种基于长短期记忆网络(LSTM,LongShort-Term Memory)与分层匹配的音乐哼唱检索方法及装置。
背景技术
在信息化时代的背景下,网络上的音乐资源日益增多,人们对音乐的检索方式已经不再局限于传统的文本检索方式,基于内容的音乐信息检索开始逐渐进入人们的视野。哼唱检索是音乐信息检索的一个分支,它可以使用户在遗忘歌曲文本信息的情况下,通过哼唱歌曲中的某一段旋律来检索歌曲,是一种比较方便的音乐检索技术。
在传统的哼唱检索技术中,分类模型的训练过程复杂,需要大量真实哼唱数据进行训练,数据收集难度较大,而且模型缺乏时序建模能力,无法有效提取出哼唱数据中的时序信息;另外,采用的匹配算法层次较为简单,匹配精度较低。
发明内容
本申请提供了一种基于LSTM与分层匹配的音乐哼唱检索方法及装置,可以提高哼唱检索的准确率。
一方面,本申请提供了一种基于LSTM与分层匹配的音乐哼唱检索方法,包括:获取哼唱文件,并从所述哼唱文件中提取音高信息;采用LSTM训练得到的神经网络模型对所述音高信息进行分类,并根据分类结果从标准歌曲数据库中获取所述音高信息的检索结果;对所述音高信息和所述检索结果进行匹配,输出候选歌曲列表。
另一方面,本申请提供一种基于LSTM与分层匹配的音乐哼唱检索装置,包括:特征提取模块,适于获取哼唱文件,并从所述哼唱文件中提取音高信息;第一特征匹配模块,适于采用基于LSTM训练得到的神经网络模型对所述音高信息进行分类,并根据分类结果从标准歌曲数据库中获取所述音高信息的检索结果;第二特征匹配模块,适于对所述音高信息和所述检索结果进行匹配,输出候选歌曲列表。
另一方面,本申请提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述的音乐哼唱检索方法的步骤。
在本申请中,获取哼唱文件,并从哼唱文件中提取音高信息;采用基于LSTM训练得到的神经网络模型对提取到的音高信息进行分类,并根据分类结果从标准歌曲数据库中获取音高信息的检索结果;对提取到的音高信息和获取的检索结果进行匹配,输出候选歌曲列表。本申请采用基于LSTM训练得到的神经网络模型,并结合多层次匹配的方式,可以提高哼唱检索的准确率,从而提升用户体验。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的其他优点可通过在说明书、权利要求书以及附图中所描述的方案来实现和获得。
附图说明
附图用来提供对本申请技术方案的理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1为本申请实施例提供的基于LSTM与分层匹配的音乐哼唱检索方法的流程图;
图2为本申请实施例中标准歌曲数据库建立过程和模型训练过程的示例图;
图3为本申请实施例的神经网络模型的结构示意图;
图4为本申请实施例中从哼唱文件中提取音高曲线的过程示例图;
图5为本申请实施例提供的基于LSTM与分层匹配的音乐哼唱检索方法的一种示例流程图;
图6为本申请实施例中的音高曲线的线性伸缩的一种示例图;
图7为本申请实施例中的模板音高向量的扩展示意图;
图8为本申请实施例中第一候选歌曲列表的获取流程示例图;
图9为本申请实施例中第二候选歌曲列表的获取流程示例图;
图10为本申请实施例提供的一种基于LSTM与分层匹配的音乐哼唱检索装置的示意图;
图11为本申请实施例提供的基于LSTM与分层匹配的音乐哼唱检索装置的一种示例图;
图12为本申请实施例中音高曲线提取单元的一种示例图。
具体实施方式
本申请描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本申请所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在具体实施方式中进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结合使用,或可以替代任何其它实施例中的任何其他特征或元件。
本申请包括并设想了与本领域普通技术人员已知的特征和元件的组合。本申请已经公开的实施例、特征和元件也可以与任何常规特征或元件组合,以形成由权利要求限定的独特的发明方案。任何实施例的任何特征或元件也可以与来自其它发明方案的特征或元件组合,以形成另一个由权利要求限定的独特的发明方案。因此,应当理解,在本申请中示出和/或讨论的任何特征可以单独地或以任何适当的组合来实现。因此,除了根据所附权利要求及其等同替换所做的限制以外,实施例不受其它限制。此外,可以在所附权利要求的保护范围内进行各种修改和改变。
此外,在描述具有代表性的实施例时,说明书可能已经将方法和/或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对权利要求的限制。此外,针对该方法和/或过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本申请实施例的精神和范围内。
本申请实施例提供一种基于LSTM与分层匹配的音乐哼唱检索方法及装置,采用基于LSTM(Long Short-Term Memory,长短期记忆网络)训练得到的神经网络模型,并结合多层次匹配的方式进行音乐哼唱检索,从而提高哼唱检索准确率,进而提升用户体验。
图1为本申请实施例提供的基于LSTM与分层匹配的音乐哼唱检索方法的流程图。如图1所示,本实施例提供的音乐哼唱检索方法,包括以下处理过程:
S101、获取哼唱文件,并从哼唱文件中提取音高信息;
S102、采用基于LSTM训练得到的神经网络模型对提取的音高信息进行分类,并根据分类结果从标准歌曲数据库中获取提取的音高信息的检索结果;
S103、对提取的音高信息和获取的检索结果进行匹配,输出候选歌曲列表。
在一示例性实施方式中,本实施例的音乐哼唱检索方法还可以包括:从模板文件中提取模板音高信息,建立标准歌曲数据库;根据提取的模板音高信息对LSTM进行训练,得到用于对音高信息进行分类的神经网络模型。本实施例基于LSTM训练得到用于分类的神经网络模型,可以降低模型训练过程的复杂度,而且具有时序建模能力,可以有效提取出哼唱数据中的时序信息。
图2为本申请实施例中标准歌曲数据库建立过程和模型训练过程的示例图。其中,以MIDI(Music Instrument Digital Interface)文件作为模板文件,从中提取模板音高信息,建立标准歌曲数据库,并基于提取的模板音高信息进行模型训练。
如图2所示,本实施例中标准数据库的建立过程以及模型训练过程可以包括以下处理:
S201、从MIDI文件中提取出模板音高曲线;其中,MIDI文件中的音符记录格式如下所示:
其中,pi为音符的音高值,ti为音符的持续时间长度,di为音符的持续帧数。其中,di的计算公式如式(1)所示:
上式中,frame length(帧长)可以取为40ms。
S202、从模板音高曲线中提取若干等长的模板音高向量。
在本步骤中,可以使用滑动窗,将提取的模板音高曲线切分为若干等长的模板音高向量;比如,截取模板音高向量的窗长可以为60帧,帧移为15帧,并且对60帧的模板音高向量进行3帧的采样,最终得到20帧的模板音高向量。
S203、对模板音高向量构建索引,记录模板音高向量所属歌曲的歌曲名、所属歌曲的音高曲线长度、在所属歌曲的起始位置等信息。
S204、使用聚类算法对模板音高向量进行聚类,并根据聚类结果给模板音高向量打上标签。
在本步骤中,可以采用K-mean++聚类算法对模板音高向量进行聚类,并根据聚类结果给模板音高向量打上标签;比如,聚类数选择为2,通过使用K-means++聚类算法,可以给模板音高向量打上0或者1的标签。
S205、对模板音高向量进行归一化处理。
在本步骤中,为了保证音高向量的音高分布范围一致,可以使用Z-score对模板音高向量进行归一化处理。其中,模板音高向量的Z-score计算公式如式(2)所示:
其中,x为模板音高向量,μ为全部模板音高向量的均值,σ为全部模板音高向量的方差。
S206、使用归一化的模板音高向量来对LSTM进行训练,得到一个可以对音高向量进行分类的神经网络模型。
如图3所示,本示例中的神经网络模型可以包括:输入层、两个LSTM以及Softmax分类器;其中,每个LSTM可以包括64个隐藏单元(Hidden Unit)。
在本实施例中,基于通过S201至S203得到的模板音高向量,可以建立标准歌曲数据库,基于通过S201至S205得到的归一化的模板音高向量可以进行神经网络模型训练。
需要说明的是,本实施例中哼唱检索所需的标准歌曲数据库和神经网络模型可以预先建立或训练得到,在进行哼唱检索时可以直接使用。
基于图1所示的音乐哼唱检索方法,在一示例性实施方式中,在S101中,从哼唱文件中提取音高信息,可以包括:从哼唱文件中提取音高曲线;对提取的音高曲线进行线性伸缩处理,得到查询音高曲线;将查询音高曲线切分为多个等长的查询音高向量;构建查询音高向量的索引,记录查询音高向量的信息;对多个等长的查询音高向量进行归一化处理。
在本示例性实施方式中,从哼唱文件中提取的音高信息可以包括:查询音高曲线、多个等长且归一化的查询音高向量。
在一示例性实施方式中,从哼唱文件中提取音高曲线,可以包括:对哼唱文件进行去噪处理,并使用自相关算法(Autocorrelation Function,ACF)提取哼唱文件的基频;将提取的基频转换为MIDI文件中的半高音;对得到的音高曲线依次进行静音帧删除处理、野点删除处理、音符平滑处理、首尾不稳定帧删除处理以及去均值处理。
图4为本申请实施例中从哼唱文件中提取音高曲线的过程示例图。在本示例性实施例中,哼唱文件可以为WAV格式文件。如图4所示,在本示例性实施例中,从哼唱文件中提取音高曲线的过程可以包括以下处理:
S401、对WAV格式文件进行去噪处理,并使用自相关算法提取WAV格式文件的基频。
其中,去噪公式可以如式(3)所示:
θ=Amean+0.35Adelta (3)
其中,θ为噪声门限,若WAV波形幅值低于噪声门限,则判定为噪声;Amean为一帧内的幅值均值,Adelta为一帧内的幅值方差。
其中,自相关算法可以如式(4)所示:
其中,N为音频信号的采样点数。
S402、将自相关算法提取出的基频(Hz)转换为MIDI文件中的半音高。
本步骤的转换公式可以如式(5)所示:
其中,freq为自相关算法得到的基频。
S403、对S402处理得到的音高曲线进行静音帧删除处理;其中,可以将S402处理得到的音高曲线中低于噪声门限的帧删除。
S404、对S403处理后的音高曲线进行野点删除处理。
在本步骤中,计算S403处理得到的音高曲线中每一帧与该音高曲线的音高中值的差值,如果差值大于差值阈值(比如,15),则判断该帧为野点,并将其删除。
S405、对S404处理后的音高曲线进行音符平滑处理。
在本步骤中,首先对S404得到的音高曲线进行中值滤波处理,其中,中值滤波器的窗长可以设置为7;然后,判断音高曲线中相邻音高的音高差是否小于音高差阈值(比如,0.17),以及音符的持续时间长度是否大于持续时间长度阈值(比如,2帧),如果上述两个条件都不满足,则将该帧删除。
S406、对S405处理后的音高曲线进行首尾不稳定帧删除处理。
由于用户一般在哼唱的开始和结尾的音高与节奏并不是十分稳定,因此可以将音高曲线的首尾若干帧删除掉,以提取得到较为稳定的音高曲线。比如,在本示例中,可以删除音高曲线的起始13帧和末尾31帧。
S407、对S406处理后的音高曲线进行去均值处理。
由于不同的用户哼唱具有不同的调性,因此,为了统一调性,可以对用户的音高曲线进行去均值处理。
在本示例性实施方式中,在从哼唱文件提取到音高曲线之后,为了解决用户哼唱快慢不一致的问题,会对提取的音高曲线进行线性伸缩处理,得到查询音高曲线,并从中提取到多个等长的查询音高向量;然后,构建查询音高向量的索引,记录查询音高向量所属查询音高曲线的长度、查询音高曲线的伸缩因子以及在所属查询音高曲线的起始位置等信息;然后,可以使用Z-score对查询音高向量进行归一化处理。归一化处理得到的查询音高向量可以输入神经网络模型,得到分类结果。
基于图1所示的音乐哼唱检索方法,在一示例性实施方式中,在S102获得的检索结果可以包括:与任一查询音高向量属于同一分类类别的一组模板音高向量;
相应地,S103可以包括:对任一查询音高向量的任一候选的模板音高向量进行扩展,得到与查询音高曲线等长的扩展模板音高曲线;对查询音高曲线和扩展模板音高曲线进行边界对齐处理;对边界对齐处理后的扩展模板音高曲线进行乐句过滤,将乐句过滤剩下的扩展模板音高曲线确定为第一匹配结果;对查询音高曲线进行重音移位处理,并根据查询音高曲线以及重音移位处理后的查询音高曲线与第一匹配结果中的任一扩展模板音高曲线之间的曼哈顿距离计算结果,从第一匹配结果中筛选出第二匹配结果;确定查询音高曲线与第二匹配结果中任一扩展模板音高曲线之间的动态时间规整(DTW,Dynamic TimeWarping)距离、量化DTW距离以及量化重音移位DTW距离的DTW融合计算结果;根据曼哈顿距离计算结果和DTW融合计算结果,从第二匹配结果中匹配得到第一候选歌曲列表。
在一示例性实施方式中,S103还可以包括:计算查询音高曲线与第一候选歌曲列表中任一候选歌曲的全曲音高曲线之间的全曲距离;根据全曲距离,从第一候选歌曲列表中匹配得到第二候选歌曲列表。
在本申请实施例中,采用基于LSTM训练得到的神经网络模型,可以快速得到哼唱文件的检索结果;然后,通过乐句过滤、重音移位后的曼哈顿距离计算结果、多种DTW距离的融合计算结果依次进行匹配,或者,通过乐句过滤、重音移位后的曼哈顿距离计算结果、多种DTW距离的融合计算结果以及全曲距离依次进行匹配,进而从检索结果中匹配得到最终的候选歌曲列表,从而可以提高哼唱检索的准确率。
图5为本申请实施例提供的基于LSTM与分层匹配的音乐哼唱检索方法的一种示例流程图。如图5所示,本示例性实施例提供的音乐哼唱检索方法包括以下处理过程:
S501、获取用户的哼唱文件,并从哼唱文件中提取音高信息。
在本示例中,哼唱文件为WAV格式文件。关于S501的实现过程可以参照图4所示,故于此不再赘述。
S502、使用线性伸缩算法(linear scaling,LS)处理提取的音高曲线。
在本步骤中,为了解决用户哼唱速度与原曲速度存在差异的问题,可以对提取的音高曲线进行线性伸缩处理,并将线性伸缩处理后的音高曲线作为查询音高曲线,以便进行后续处理。
在本示例中,线性伸缩因子的范围可以设置为0.37至1.17,步长为0.08。图6所示为本实施例中的线性伸缩的一种示意图。在图6中,示意出了同一音高曲线在不同伸缩因子下的图示。
S503、将S502得到的查询音高曲线切分为若干等长的查询音高向量。
在本步骤中,可以使用滑动窗,将查询音高曲线切分为若干等长的查询音高向量;比如,截取查询音高向量的窗长可以为60帧,帧移为15帧,并且对60帧的查询音高向量进行3帧的采样,最终得到20帧的查询音高向量。
S504、构建查询音高向量的索引,记录查询音高向量所属查询音高曲线的长度、伸缩因子、在所属查询音高曲线的起始位置等信息。
S505、对查询音高向量进行归一化处理。
在本步骤中,为了保证音高向量的音高分布范围一致,可以使用Z-score对模板音高向量进行归一化处理。关于Z-score的计算方式可以参照图2中的S205的描述,故于此不再赘述。
S506、采用基于LSTM训练得到的神经网络模型对归一化的查询音高向量进行分类,并根据分类结果从标准歌曲数据库中获取检索结果。
在本步骤中,可以将S505得到的归一化的查询音高向量分别输入基于图2所示过程训练得到的神经网络模型,由神经网络模型对输入的查询音高向量进行分类,并得到查询音高向量的分类结果;然后,针对任一查询音高向量,根据分类结果可以从标准歌曲数据库中筛选出与该查询音高向量属于同一分类类别的模板音高向量,并过滤掉标准歌曲数据库中其余类别的模板音高向量。
本示例中,通过基于LSTM训练得到的神经网络模型,可以提取出音高向量中更为抽象的特征,忽略掉因哼唱不准确导致的跑调、节奏不稳定等问题,从而具有更好的鲁棒性。
本步骤得到的检索结果可以包括:与任一查询音高向量属于同一分类类别的一组模板音高向量。
S507、对查询音高向量的候选模板音高向量进行扩展。
在本步骤中,将通过S506得到的查询音高向量的每个候选模板音高向量进行扩展,将每个候选的模板音高向量扩展为与查询音高曲线等长的音高曲线,即可以得到一组与查询音高曲线等长的扩展模板音高曲线。
图7所示为本实施例中的模板音高向量的扩展示意图。如图7所示,A为查询音高向量在查询音高曲线中的起始位置,B为候选的模板音高向量在模板音高曲线中的起始位置,len为查询音高曲线的长度。
基于图7可以得到模板音高向量的扩展公式如式(6)所示:
其中,C为扩展模板音高曲线的起始位置,D为扩展模板音高曲线的结束位置。
S508、对查询音高曲线和扩展模板音高曲线进行边界对齐处理。
在本示例中,由于在截取音高向量的过程中,使用的滑动窗的窗移为0.6s,因此,查询音高曲线和扩展模板音高曲线之间存在的最大误差是0.3s;在本步骤中,可以使用边界对齐算法(boundary alignment algorithm,BA)对扩展模板音高曲线进行左右平移,来弥补误差。
在本示例中,平移的帧数可以设置为:0、4、-4、8、-8。
S509、对S508处理后的一组扩展模板音高曲线进行乐句过滤,并将乐句过滤剩下的扩展模板音高曲线确定为第一匹配结果。
在本示例中,考虑到用户哼唱一般是从歌曲中某一乐句的起始位置进行,因此,可以使用乐句过滤算法来过滤掉不是完整乐句的候选的扩展模板音高曲线,从而进一步缩小匹配范围。
在本步骤中,可以计算候选的扩展模板音高曲线与原曲对应乐句起始位置的差距,如果差距大于差距阈值(比如,0.1%),则舍弃该候选的扩展模板音高曲线。通过本步骤的处理,可以从S506得到的检索结果中过滤掉大约90%的候选音高曲线,从而缩小匹配范围。
S510、对查询音高曲线进行重音移位处理,根据查询音高曲线、重音移位处理后的查询音高曲线与第一匹配结果中的任一扩展模板音高曲线之间的曼哈顿(manhattan)距离计算结果,从第一匹配结果中筛选出第二匹配结果。
在本示例中,考虑到用户哼唱的音调不同,可以对提取的查询音高曲线进行重音移位处理(transposition algorithm,KT),从而来寻找与扩展模板音高曲线最接近的音调。
在本步骤中,针对查询音高曲线和第一匹配结果中的任一扩展模板音高曲线,可以根据如式(7)所示的计算公式计算三个距离:
其中,manhattandistance=∑|pi-qi|。
其中,P为扩展模板音高曲线,Q为查询音高曲线,Q-k和Q+k为重音移位之后的查询音高曲线,k为音调调整幅度。
在本步骤中,可以使用迭代算法,每次计算式(7)中的三个距离,选出计算得到的最小距离,并记录对应的P;在经过若干轮迭代后,可得到最小的manhattan距离。在本示例中,k的初始值可以设置为0.455,迭代次数可以设置为1。然而,本申请对此并不限定。
在本步骤中,基于式(7)的计算结果,可以记录P以及对应计算得到的最小manhattan距离,然后,可以从第一匹配结果中筛选出最小manhattan距离小于或等于阈值的多个扩展模板音高曲线,并将筛选出的扩展模板音高曲线记录为第二匹配结果。
S511、确定查询音高曲线与第二匹配结果中任一扩展模板音高曲线之间的DTW距离、量化DTW距离以及量化重音移位DTW距离的DTW融合计算结果。
在本步骤中,可以先计算查询音高曲线与第二匹配结果中的任一扩展模板音高曲线之间的标准DTW距离、量化DTW距离以及量化重音移位DTW距离,然后对标准DTW距离、量化DTW距离以及量化重音移位DTW距离进行融合,得到DTW融合计算结果。
在本步骤中,针对第二匹配结果中的任一扩展模板音高曲线,可以采用动态时间规整(Dynamic Time Warping,DTW)算法计算查询音高曲线与该扩展模板音高曲线之间的标准DTW距离,采用量化动态时间规整(Quantized Dynamic Time Warping,QDTW)算法计算查询音高曲线与该扩展模板音高曲线之间的量化DTW距离,采用重音移位动态规整(KeyTransposition Dynamic Time Warping,KTDTW)算法计算查询音高曲线与该扩展模板音高曲线之间的量化重音移位DTW距离。
其中,DTW算法是用来计算两个不等长序列的相似度,可以计算用户哼唱的查询音高曲线和扩展模板音高曲线之间的欧式距离。在DTW算法的基础上,通过对音高曲线进行量化和重音移位处理,可以得到量化动态时间规整算法和重音移位动态规整算法。
在本步骤中,标准DTW距离的计算公式如式(8)所示:
其中,d(i,j)为音高qi和音高pj之间的欧式距离,D(i,j)为累加距离。
本示例中,量化DTW距离和量化重音移位DTW距离对音高曲线进行了量化处理,将音高曲线的音高值都映射到了1至15之间。量化重音移位DTW距离可以将式(7)中的manhattan distance替换为DTW距离,且k可以设置为0.495,迭代次数设置为1。
在本步骤中,可以采用式(9)对计算得到的标准DTW距离、量化DTW距离以及量化重音移位DTW距离进行融合。
其中,和分别代表计算得到的标准DTW距离、量化DTW距离和量化重音移位DTW距离;w21、w22和w23分别是这些距离的权重,在本示例中,可以分别设置为1、1.3和0.1。len表示查询音高曲线的长度。
S512、根据曼哈顿距离计算结果和DTW融合计算结果,从第二匹配结果中匹配得到第一候选歌曲列表。
在本步骤中,可以参照图8所示的流程来对曼哈顿距离计算结果(即扩展模板音高曲线对应的与查询音高曲线之间的最小曼哈顿距离)和DTW融合计算结果进行统计和融合。在图8中,i代表候选的扩展模板音高曲线的编号,N代表候选的扩展模板音高曲线的数目;resultnum和resultdis是Python中的一种称为词典的数据结构,其分别记录候选歌名的出现次数和距离的累加。songnamei为第i条候选的扩展模板音高曲线的候选歌名,和分别代表第i条候选的扩展模板音高曲线对应的与查询音高曲线之间的最小曼哈顿距离以及通过S511得到的与查询音高曲线之间的DTW距离融合计算结果。其中,w2是的权重,在本示例中可以设置为1。
如图8所示,针对第二匹配结果中的扩展模板音高曲线,依次判断resultnum和resultdis中是否已统计该条扩展模板音高曲线对应的候选歌曲;若resultnum和resultdis中没有包含该条扩展模板音高曲线的候选歌曲,则在resultnum和resultdis中记录该候选歌曲的出现次数和距离均为0,并检查下一条扩展模板音高曲线;若resultnum和resultdis中已包含该条扩展模板音高曲线的候选歌曲,则分别对该候选歌曲的出现次数和距离进行累加,然后检查下一条扩展模板音高曲线。在统计完N条扩展模板音高曲线之后,可以得到各个候选歌曲的出现次数和距离的统计结果。然后,可以根据统计结果,确定出第一候选歌曲列表;比如,可以综合各个候选歌曲的出现次数和距离的统计结果,挑选出与查询音高曲线最相似的若干个候选歌曲,得到第一候选歌曲列表(例如,挑选出现次数大于次数阈值且累加距离小于距离阈值的候选歌曲)。
在一种示例中,可以从第二匹配结果中匹配出最相似的十首歌曲作为最终输出的候选歌曲列表。然而,本申请对此并不限定。
在本示例性实施例中,在S512之后还会再进行一次匹配过程,才得到最终的候选歌曲列表。
S513、计算查询音高曲线与S512得到的第一候选歌曲列表中任一候选歌曲的全曲音高曲线之间的全曲距离。
在本步骤中,通过计算查询音高曲线与第一候选歌曲列表中的候选歌曲的全曲音高曲线之间的全曲距离,可以得到更为全局的距离结果。在本步骤中,重音移位的参数可以设置如下:k为5.8,迭代次数为5。
S514、根据全曲距离,从第一候选歌曲列表中匹配得到第二候选歌曲列表。
在本步骤中,可以参照图9从第一候选歌曲列表中匹配得到第二候选歌曲列表。在图9中,M为resultdis(对应第一候选歌曲列表)中的候选歌曲数目,j表示第j首候选歌曲,songnamej为第j首歌曲的歌名,dis2和num2为第j首歌曲的累加距离和出现次数(对应S512中计算得到的累加距离和出现次数),mean_dis2是第j首候选歌曲的平均距离,是第j首候选歌曲的全曲音高曲线与查询音高曲线之间的全曲距离,w3是mean_dis2的权重,在本示例中可以设置为1.8。resultfina1为Python中的词典,记录了候选歌曲及其与查询音高曲线之间对应的距离,该距离反映了候选歌曲旋律和用户哼唱旋律之间的相似度,其中,距离越小,代表候选歌曲旋律与用户哼唱旋律之间的相似度越高。最终可以对resultfinal中的候选歌曲按照对应的距离进行升序排序,取排序的前十首候选歌曲作为最终的检索结果。
如图9所示,依次对第一候选歌曲列表中的每一首候选歌曲进行统计融合处理;其中,针对任一首候选歌曲,从resultnum和resultdis获取该首候选歌曲的累加距离和出现次数,然后,根据该首候选歌曲的累加距离和出现次数,计算该首候选歌曲的平均距离;然后,根据该首候选歌曲的全曲音高曲线与查询音高曲线之间的全曲距离以及上述计算得到的平均距离,计算该首候选歌曲与用户哼唱旋律之间的距离。在统计完第一候选歌曲列表中的全部候选歌曲之后,可以按照最终计算得到的距离,将候选歌曲按照升序排序(即距离由小到大的顺序),然后,取排序的前十首候选歌曲作为最终输出的检索结果。
采用上述示例性实施例中的基于LSTM与分层匹配的音乐哼唱检索方法,在2009MIR-QbSH corpus数据库上进行实验,其中,该数据库包含48首标准MIDI文件与4431首哼唱音频。采用本实施例的音乐哼唱检索方法后,在该数据库的前十候选歌曲的检索准确率为97.16%,前五候选歌曲的检索准确率为95.89%,前一候选歌曲的准确率为88.69%。由此可见,本实施例提供的哼唱检索方法可以提高检索准确率,从而提升用户体验。
图10为本申请实施例提供的一种基于LSTM与分层匹配的音乐哼唱检索装置的示意图。如图10所示,本实施例提供的音乐哼唱检索装置,包括:特征提取模块20,适于获取哼唱文件,并从哼唱文件中提取音高信息;第一特征匹配模块30,适于采用基于LSTM训练得到的神经网络模型对音高信息进行分类,并根据分类结果从标准歌曲数据库中获取音高信息的检索结果;第二特征匹配模块40,适于对音高信息和检索结果进行匹配,输出候选歌曲列表。
在一示例性实施方式中,本实施例提供的音乐哼唱检索装置还包括:数据库建立模块,适于从模板文件中提取模板音高信息,建立标准歌曲数据库;模型训练模块,适于根据提取的模板音高信息对LSTM进行训练,得到用于对音高信息进行分类的神经网络模型。
图11为本申请实施例提供的基于LSTM与分层匹配的音乐哼唱检索装置的一种示例图。如图11所示,本实施例提供的音乐哼唱检索装置包括:数据库建立模块50、模型训练模块60、特征提取模块20、第一特征匹配模块30以及第二特征匹配模块40。
如图11所示,数据库建立模块50可以包括:模板音高曲线提取单元501、模板音高向量提取单元502以及模板音高向量索引构建单元503;模型训练模块60可以包括:聚类单元601、模板音高向量归一化单元602以及LSTM模型训练单元603。
其中,模板音高曲线提取单元501,适于从MIDI文件中提取出音高曲线。模板音高向量提取单元502,适于从模板音高曲线中提取出若干等长的音高向量。模板音高向量索引构建单元503,适于对模板音高向量构建索引,记录模板音高向量所属歌曲的歌曲名、所属歌曲的音高曲线长度、在所属歌曲的起始位置等信息。聚类单元601,适于使用聚类算法(比如,K-means++聚类算法)对模板音高向量进行聚类,并根据聚类结果给模板音高向量打上标签。模板音高向量归一化单元602,适于对模板音高向量进行归一化处理,比如,使用Z-score对模板音高向量进行归一化处理。LSTM模型训练单元604,适于使用归一化的音高向量对LSTM进行训练,得到一个可以对音高向量进行分类的神经网络模型。
关于数据库建立模块50和模型训练模块60的相关细节描述可以参照图2所示的实施例描述,故于此不再赘述。
如图11所示,特征提取模块20可以包括:音高曲线提取单元201、线性伸缩单元202、查询音高向量提取单元203、查询音高向量索引构建单元204以及查询音高向量归一化单元205。
其中,音高曲线提取单元201,适于从哼唱文件中提取音高曲线。线性伸缩单元202,适于对提取的音高曲线进行线性伸缩处理,得到查询音高曲线。查询音高向量提取单元203的原理与模板音高向量提取单元502的原理相同。查询音高向量索引构建单元204的原理与模板音高向量索引构建单元503的原理相同。查询音高向量归一化单元205的原理与模板音高向量归一化单元602的原理相同。故于此不再赘述。
如图12所示,音高曲线提取单元201可以包括:基频提取单元2011、半高音转换单元2012、静音帧删除单元2013、野点删除单元2014、音符平滑单元2015、首尾不稳定帧删除单元2016以及去均值单元2017。
其中,基频提取单元2011适于对哼唱文件(WAV格式文件)进行了去噪处理,并使用自相关算法提取哼唱文件的基频。半音高转换单元2012,适于将自相关算法提取出的基频(Hz)转换为MIDI文件中的半音高。静音帧删除单元2013适于将低于噪声门限的帧删除掉。野点删除单元2014适于删除野点,其中,通过计算音高曲线中每一帧与该音高曲线的音高中值的差值,如果差值大于差值阈值(比如,15),则判断该点为野点,并将其删除。音符平滑单元2014适于进行音符平滑处理,其中,先将音高曲线进行中值滤波处理,然后判断音高曲线中相邻音高的音高差是否小于音高差阈值(比如,0.17),以及音符的持续长度是否大于持续长度阈值(比如,2帧),如果上述两个条件都不满足,则将该帧删除。首尾不稳定帧删除单元2016适于将音高曲线的首尾若干帧删除掉。去均值单元2017适于进行去均值处理。
关于音高曲线提取单元201的相关实现细节可以参照图4对应实施例的描述,故于此不再赘述。
如图11所示,第一特征匹配模块30可以包括:神经网络模型单元301以及检索单元302。其中,神经网络模型单元301适于对输入的查询音高向量进行分类,得到分类结果;检索单元302适于按照分类结果,从标准歌曲数据库中得到该分类类别下的所有候选模板音高向量,并过滤掉其他类别的候选模板音高向量。
如图11所示,第二特征匹配模块40可以包括:音高向量扩展单元401、边界对齐单元402、乐句过滤单元403、重音移位距离单元404、DTW融合计算单元405、第一距离融合单元406、全曲距离单元407以及第二距离融合单元408。
其中,音高向量扩展单元401,适于对任一查询音高向量的任一候选的模板音高向量进行扩展,得到与查询音高曲线等长的扩展模板音高曲线。边界对齐单元402,适于对查询音高向量和扩展模板音高曲线进行边界对齐处理。乐句过滤单元403,适于对边界对齐处理后的扩展模板音高曲线进行乐句过滤,将乐句过滤剩下的扩展模板音高曲线确定为第一匹配结果。重音移位距离单元404,适于对查询音高曲线进行重音移位处理,并根据查询音高曲线以及重音移位处理后的查询音高曲线与第一匹配结果中的任一扩展模板音高曲线之间的曼哈顿距离计算结果,从第一匹配结果中筛选出第二匹配结果。DTW融合计算单元405,适于确定查询音高曲线与第二匹配结果中任一扩展模板音高曲线之间的DTW距离、量化DTW距离以及量化重音移位DTW距离的DTW融合计算结果。第一距离融合单元406,适于根据曼哈顿距离计算结果和DTW融合计算结果,从第二匹配结果中匹配得到第一候选歌曲列表。全曲距离单元407适于计算查询音高曲线与第一候选歌曲列表中任一候选歌曲的全曲音高曲线之间的全曲距离。第二距离融合单元408适于根据全曲距离,从第一候选歌曲列表中匹配得到第二候选歌曲列表。
关于第二特征匹配模块40的相关细节描述可以参照图5所示的实施例的描述,故于此不再赘述。
此外,本申请实施例还提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现如上实施例提供的音乐哼唱检索方法的步骤。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
Claims (10)
1.一种基于长短期记忆网络LSTM与分层匹配的音乐哼唱检索方法,其特征在于,包括:
获取哼唱文件,并从所述哼唱文件中提取音高信息;
采用基于LSTM训练得到的神经网络模型对所述音高信息进行分类,并根据分类结果从标准歌曲数据库中获取所述音高信息的检索结果;
对所述音高信息和所述检索结果进行匹配,输出候选歌曲列表。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
从模板文件中提取模板音高信息,建立标准歌曲数据库;
根据提取的模板音高信息对LSTM进行训练,得到用于对音高信息进行分类的神经网络模型。
3.根据权利要求1所述的方法,其特征在于,所述从所述哼唱文件中提取音高信息,包括:
从所述哼唱文件中提取音高曲线;
对提取的音高曲线进行线性伸缩处理,得到查询音高曲线;
将所述查询音高曲线切分为多个等长的查询音高向量;
构建所述查询音高向量的索引,记录所述查询音高向量的信息;
对所述多个等长的查询音高向量进行归一化处理。
4.根据权利要求3所述的方法,其特征在于,所述从所述哼唱文件中提取音高曲线,包括:
对所述哼唱文件进行去噪处理,并使用自相关算法提取所述哼唱文件的基频;
将提取的基频转换为MIDI文件中的半高音;
对得到的音高曲线依次进行静音帧删除处理、野点删除处理、音符平滑处理、首尾不稳定帧删除处理以及去均值处理。
5.根据权利要求3或4所述的方法,其特征在于,所述音高信息的检索结果包括:与任一查询音高向量属于同一分类类别的一组模板音高向量;
所述对所述音高信息和所述检索结果进行匹配,输出候选歌曲列表,包括:
对任一查询音高向量的任一候选的模板音高向量进行扩展,得到与所述查询音高曲线等长的扩展模板音高曲线;
对所述查询音高曲线和所述扩展模板音高曲线进行边界对齐处理;
对边界对齐处理后的扩展模板音高曲线进行乐句过滤,将乐句过滤剩下的扩展模板音高曲线确定为第一匹配结果;
对所述查询音高曲线进行重音移位处理,并根据所述查询音高曲线以及重音移位处理后的查询音高曲线与所述第一匹配结果中的任一扩展模板音高曲线之间的曼哈顿距离计算结果,从所述第一匹配结果中筛选出第二匹配结果;
确定所述查询音高曲线与所述第二匹配结果中任一扩展模板音高曲线之间的动态时间规整DTW距离、量化DTW距离以及量化重音移位DTW距离的DTW融合计算结果;
根据所述曼哈顿距离计算结果和所述DTW融合计算结果,从所述第二匹配结果中匹配得到第一候选歌曲列表。
6.根据权利要求5所述的方法,其特征在于,所述对所述音高信息和所述检索结果进行匹配,输出候选歌曲列表,还包括:
计算所述查询音高曲线与所述第一候选歌曲列表中任一候选歌曲的全曲音高曲线之间的全曲距离;
根据所述全曲距离,从所述第一候选歌曲列表中匹配得到第二候选歌曲列表。
7.一种基于长短期记忆网络LSTM与分层匹配的音乐哼唱检索装置,其特征在于,包括:
特征提取模块,适于获取哼唱文件,并从所述哼唱文件中提取音高信息;
第一特征匹配模块,适于采用基于LSTM训练得到的神经网络模型对所述音高信息进行分类,并根据分类结果从标准歌曲数据库中获取所述音高信息的检索结果;
第二特征匹配模块,适于对所述音高信息和所述检索结果进行匹配,输出候选歌曲列表。
8.根据权利要求7所述的装置,其特征在于,所述特征提取模块,包括:
音高曲线提取单元,适于从所述哼唱文件中提取音高曲线;
线性伸缩单元,适于对提取的音高曲线进行线性伸缩处理,得到查询音高曲线;
查询音高向量提取单元,适于将所述查询音高曲线切分为多个等长的查询音高向量;
查询音高向量索引构建单元,适于构建所述查询音高向量的索引,记录所述查询音高向量的信息;
查询音高向量归一化单元,适于对所述多个等长的查询音高向量进行归一化处理。
9.根据权利要求8所述的装置,其特征在于,所述音高信息的检索结果包括:与任一查询音高向量属于同一分类类别的一组模板音高向量;
所述第二特征匹配模块,包括:
音高向量扩展单元,适于对任一查询音高向量的任一候选的模板音高向量进行扩展,得到与所述查询音高曲线等长的扩展模板音高曲线;
边界对齐单元,适于对所述查询音高向量和所述扩展模板音高曲线进行边界对齐处理;
乐句过滤单元,适于对边界对齐处理后的扩展模板音高曲线进行乐句过滤,将乐句过滤剩下的扩展模板音高曲线确定为第一匹配结果;
重音移位距离单元,适于对所述查询音高曲线进行重音移位处理,并根据所述查询音高曲线以及重音移位处理后的查询音高曲线与所述第一匹配结果中的任一扩展模板音高曲线之间的曼哈顿距离计算结果,从所述第一匹配结果中筛选出第二匹配结果;
动态时间规整DTW融合计算单元,适于确定所述查询音高曲线与所述第二匹配结果中任一扩展模板音高曲线之间的DTW距离、量化DTW距离以及量化重音移位DTW距离的DTW融合计算结果;
第一距离融合单元,适于根据所述曼哈顿距离计算结果和所述DTW融合计算结果,从所述第二匹配结果中匹配得到第一候选歌曲列表。
10.一种计算机可读存储介质,其特征在于,存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的音乐哼唱检索方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910595792.4A CN110399522B (zh) | 2019-07-03 | 2019-07-03 | 一种基于lstm与分层匹配的音乐哼唱检索方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910595792.4A CN110399522B (zh) | 2019-07-03 | 2019-07-03 | 一种基于lstm与分层匹配的音乐哼唱检索方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110399522A true CN110399522A (zh) | 2019-11-01 |
CN110399522B CN110399522B (zh) | 2020-05-15 |
Family
ID=68323786
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910595792.4A Active CN110399522B (zh) | 2019-07-03 | 2019-07-03 | 一种基于lstm与分层匹配的音乐哼唱检索方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110399522B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111309965A (zh) * | 2020-03-20 | 2020-06-19 | 腾讯科技(深圳)有限公司 | 音频匹配方法、装置、计算机设备及存储介质 |
CN111309966A (zh) * | 2020-03-20 | 2020-06-19 | 腾讯科技(深圳)有限公司 | 音频匹配方法、装置、设备及存储介质 |
CN111613246A (zh) * | 2020-05-28 | 2020-09-01 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种音频分类提示方法以及相关设备 |
CN111737513A (zh) * | 2020-05-06 | 2020-10-02 | 华南理工大学 | 一种针对海量音乐数据的哼唱检索系统 |
Citations (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101149630A (zh) * | 2007-09-28 | 2008-03-26 | 电子科技大学 | Dds信号源幅频特性补偿方法及相应的dds信号源 |
CN101364222A (zh) * | 2008-09-02 | 2009-02-11 | 浙江大学 | 一种两阶段的音频检索方法 |
CN101364238A (zh) * | 2008-09-17 | 2009-02-11 | 清华大学 | 分层递阶的歌曲旋律检索方法 |
US20090132077A1 (en) * | 2007-11-16 | 2009-05-21 | National Institute Of Advanced Industrial Science And Technology | Music information retrieval system |
CN101471068A (zh) * | 2007-12-26 | 2009-07-01 | 三星电子株式会社 | 通过哼唱音乐旋律搜索基于波形的音乐文件的方法和系统 |
CN101866427A (zh) * | 2010-07-06 | 2010-10-20 | 西安电子科技大学 | 织物瑕疵检测与分类方法 |
CN102053998A (zh) * | 2009-11-04 | 2011-05-11 | 周明全 | 一种利用声音方式检索歌曲的方法及系统装置 |
US20110214556A1 (en) * | 2010-03-04 | 2011-09-08 | Paul Greyson | Rhythm explorer |
CN102664017A (zh) * | 2012-04-25 | 2012-09-12 | 武汉大学 | 一种3d音频质量客观评价方法 |
CN102693311A (zh) * | 2012-05-28 | 2012-09-26 | 中国人民解放军信息工程大学 | 基于随机化视觉词典组和上下文语义信息的目标检索方法 |
CN103324698A (zh) * | 2013-06-08 | 2013-09-25 | 北京航空航天大学 | 一种基于数据级并行gpu加速的大规模哼唱旋律匹配系统 |
CN103559232A (zh) * | 2013-10-24 | 2014-02-05 | 中南大学 | 一种基于二分逼近动态时间归整匹配的音乐哼唱检索方法 |
CN103823867A (zh) * | 2014-02-26 | 2014-05-28 | 深圳大学 | 一种基于音符建模的哼唱式音乐检索方法及系统 |
CN104462575A (zh) * | 2014-12-29 | 2015-03-25 | 北京奇虎科技有限公司 | 音乐综合搜索的实现方法和装置 |
CN104573114A (zh) * | 2015-02-04 | 2015-04-29 | 苏州大学 | 一种音乐分类方法及装置 |
US20160160294A1 (en) * | 2014-12-08 | 2016-06-09 | Tesaro | Methods and materials for predicting response to niraparib |
CN105678297A (zh) * | 2015-12-29 | 2016-06-15 | 南京大学 | 一种基于标签转移及lstm模型的人像语义分析的方法及系统 |
CN106328122A (zh) * | 2016-08-19 | 2017-01-11 | 深圳市唯特视科技有限公司 | 一种利用长短期记忆模型递归神经网络的语音识别方法 |
CN106528858A (zh) * | 2016-11-29 | 2017-03-22 | 北京百度网讯科技有限公司 | 歌词生成方法及装置 |
CN106598948A (zh) * | 2016-12-19 | 2017-04-26 | 杭州语忆科技有限公司 | 基于长短期记忆神经网络结合自动编码器的情绪识别方法 |
CN106599933A (zh) * | 2016-12-26 | 2017-04-26 | 哈尔滨工业大学 | 一种基于联合深度学习模型的文本情感分类方法 |
CN107220281A (zh) * | 2017-04-19 | 2017-09-29 | 北京协同创新研究院 | 一种音乐分类方法及装置 |
CN108334617A (zh) * | 2018-02-07 | 2018-07-27 | 大连大学 | 基于语义的音乐检索的方法 |
CN108363769A (zh) * | 2018-02-07 | 2018-08-03 | 大连大学 | 基于语义的音乐检索数据集的建立方法 |
CN108597535A (zh) * | 2018-03-29 | 2018-09-28 | 华南理工大学 | 一种融合伴奏的midi钢琴曲风格分类方法 |
CN109271550A (zh) * | 2018-07-27 | 2019-01-25 | 华南理工大学 | 一种基于深度学习的音乐个性化分类推荐方法 |
US10249292B2 (en) * | 2016-12-14 | 2019-04-02 | International Business Machines Corporation | Using long short-term memory recurrent neural network for speaker diarization segmentation |
-
2019
- 2019-07-03 CN CN201910595792.4A patent/CN110399522B/zh active Active
Patent Citations (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101149630A (zh) * | 2007-09-28 | 2008-03-26 | 电子科技大学 | Dds信号源幅频特性补偿方法及相应的dds信号源 |
US20090132077A1 (en) * | 2007-11-16 | 2009-05-21 | National Institute Of Advanced Industrial Science And Technology | Music information retrieval system |
CN101471068A (zh) * | 2007-12-26 | 2009-07-01 | 三星电子株式会社 | 通过哼唱音乐旋律搜索基于波形的音乐文件的方法和系统 |
CN101364222A (zh) * | 2008-09-02 | 2009-02-11 | 浙江大学 | 一种两阶段的音频检索方法 |
CN101364238A (zh) * | 2008-09-17 | 2009-02-11 | 清华大学 | 分层递阶的歌曲旋律检索方法 |
CN102053998A (zh) * | 2009-11-04 | 2011-05-11 | 周明全 | 一种利用声音方式检索歌曲的方法及系统装置 |
US20110214556A1 (en) * | 2010-03-04 | 2011-09-08 | Paul Greyson | Rhythm explorer |
CN101866427A (zh) * | 2010-07-06 | 2010-10-20 | 西安电子科技大学 | 织物瑕疵检测与分类方法 |
CN102664017A (zh) * | 2012-04-25 | 2012-09-12 | 武汉大学 | 一种3d音频质量客观评价方法 |
CN102693311A (zh) * | 2012-05-28 | 2012-09-26 | 中国人民解放军信息工程大学 | 基于随机化视觉词典组和上下文语义信息的目标检索方法 |
CN103324698A (zh) * | 2013-06-08 | 2013-09-25 | 北京航空航天大学 | 一种基于数据级并行gpu加速的大规模哼唱旋律匹配系统 |
CN103559232A (zh) * | 2013-10-24 | 2014-02-05 | 中南大学 | 一种基于二分逼近动态时间归整匹配的音乐哼唱检索方法 |
CN103823867A (zh) * | 2014-02-26 | 2014-05-28 | 深圳大学 | 一种基于音符建模的哼唱式音乐检索方法及系统 |
US20160160294A1 (en) * | 2014-12-08 | 2016-06-09 | Tesaro | Methods and materials for predicting response to niraparib |
CN104462575A (zh) * | 2014-12-29 | 2015-03-25 | 北京奇虎科技有限公司 | 音乐综合搜索的实现方法和装置 |
CN104573114A (zh) * | 2015-02-04 | 2015-04-29 | 苏州大学 | 一种音乐分类方法及装置 |
CN105678297A (zh) * | 2015-12-29 | 2016-06-15 | 南京大学 | 一种基于标签转移及lstm模型的人像语义分析的方法及系统 |
CN106328122A (zh) * | 2016-08-19 | 2017-01-11 | 深圳市唯特视科技有限公司 | 一种利用长短期记忆模型递归神经网络的语音识别方法 |
CN106528858A (zh) * | 2016-11-29 | 2017-03-22 | 北京百度网讯科技有限公司 | 歌词生成方法及装置 |
US10249292B2 (en) * | 2016-12-14 | 2019-04-02 | International Business Machines Corporation | Using long short-term memory recurrent neural network for speaker diarization segmentation |
CN106598948A (zh) * | 2016-12-19 | 2017-04-26 | 杭州语忆科技有限公司 | 基于长短期记忆神经网络结合自动编码器的情绪识别方法 |
CN106599933A (zh) * | 2016-12-26 | 2017-04-26 | 哈尔滨工业大学 | 一种基于联合深度学习模型的文本情感分类方法 |
CN107220281A (zh) * | 2017-04-19 | 2017-09-29 | 北京协同创新研究院 | 一种音乐分类方法及装置 |
CN108334617A (zh) * | 2018-02-07 | 2018-07-27 | 大连大学 | 基于语义的音乐检索的方法 |
CN108363769A (zh) * | 2018-02-07 | 2018-08-03 | 大连大学 | 基于语义的音乐检索数据集的建立方法 |
CN108597535A (zh) * | 2018-03-29 | 2018-09-28 | 华南理工大学 | 一种融合伴奏的midi钢琴曲风格分类方法 |
CN109271550A (zh) * | 2018-07-27 | 2019-01-25 | 华南理工大学 | 一种基于深度学习的音乐个性化分类推荐方法 |
Non-Patent Citations (1)
Title |
---|
郭琛: "基于深度学习的哼唱音频乐谱识别技术研究", 《中国优秀硕士学位论文全文数据库 哲学与人文科学辑》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111309965A (zh) * | 2020-03-20 | 2020-06-19 | 腾讯科技(深圳)有限公司 | 音频匹配方法、装置、计算机设备及存储介质 |
CN111309966A (zh) * | 2020-03-20 | 2020-06-19 | 腾讯科技(深圳)有限公司 | 音频匹配方法、装置、设备及存储介质 |
CN111309966B (zh) * | 2020-03-20 | 2023-10-10 | 腾讯科技(深圳)有限公司 | 音频匹配方法、装置、设备及存储介质 |
CN111309965B (zh) * | 2020-03-20 | 2024-02-13 | 腾讯科技(深圳)有限公司 | 音频匹配方法、装置、计算机设备及存储介质 |
CN111737513A (zh) * | 2020-05-06 | 2020-10-02 | 华南理工大学 | 一种针对海量音乐数据的哼唱检索系统 |
CN111737513B (zh) * | 2020-05-06 | 2022-03-25 | 华南理工大学 | 一种针对海量音乐数据的哼唱检索系统 |
CN111613246A (zh) * | 2020-05-28 | 2020-09-01 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种音频分类提示方法以及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110399522B (zh) | 2020-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Typke | Music retrieval based on melodic similarity | |
Burred et al. | Hierarchical automatic audio signal classification | |
CN110399522A (zh) | 一种基于lstm与分层匹配的音乐哼唱检索方法及装置 | |
Bello | Measuring structural similarity in music | |
KR20080054393A (ko) | 음악 분석 | |
WO2003005242A1 (en) | Method and system of representing musical information in a digital representation for use in content-based multimedia information retrieval | |
CN106328121A (zh) | 基于深度置信网络的中国传统乐器分类方法 | |
CN101292280A (zh) | 导出音频输入信号的一个特征集的方法 | |
CN103823867A (zh) | 一种基于音符建模的哼唱式音乐检索方法及系统 | |
CN102723079B (zh) | 基于稀疏表示的音乐和弦自动识别方法 | |
CN109308912A (zh) | 音乐风格识别方法、装置、计算机设备及存储介质 | |
US11271993B2 (en) | Streaming music categorization using rhythm, texture and pitch | |
JP2010054802A (ja) | 音楽音響信号からの単位リズムパターン抽出法、該方法を用いた楽曲構造の推定法、及び、音楽音響信号中の打楽器パターンの置換法 | |
Seyerlehner et al. | Frame level audio similarity-a codebook approach | |
CN111428074A (zh) | 音频样本生成方法、装置、计算机设备及存储介质 | |
CN106951474B (zh) | 一种基于lda模型的歌曲分类方法 | |
KR100974871B1 (ko) | 특징 벡터 선택 방법 및 장치, 그리고 이를 이용한 음악장르 분류 방법 및 장치 | |
Sarkar et al. | Raga identification from Hindustani classical music signal using compositional properties | |
Gao et al. | Vocal melody extraction via dnn-based pitch estimation and salience-based pitch refinement | |
Rizzi et al. | Genre classification of compressed audio data | |
Van Balen | Audio description and corpus analysis of popular music | |
Ghosal et al. | Musical genre and style recognition using deep neural networks and transfer learning | |
Nagavi et al. | Content based audio retrieval with MFCC feature extraction, clustering and sort-merge techniques | |
CN110189768B (zh) | 一种基于条件随机场的中国民歌地域分类方法 | |
CN114817622A (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 |