多音符多基频估计方法及装置

文档序号:33398278发布日期:2023-03-08 14:48阅读:65来源:国知局
多音符多基频估计方法及装置

1.本发明涉及音符检测技术领域,具体涉及一种多音符多基频估计方法和一种多音符多基频估计装置。


背景技术:

2.自动音乐转谱(automatic music transcription,atm)技术就是将音乐的时域音频信号自动转化为符号音乐的技术。该技术广泛应用于音频内容检索、音频情景分析、音乐辅助创作、音乐自动编配等领域。作为atm技术核心内容之一的多音符多基频估计是指在一段音乐信号中估计出音符的基波频率和谐波频率,从而识别所包含的音符。目前,多音符多基频估计方法主要有基于特征分析的、基于统计模型的和基于矩阵分解的,其中,如图1所示,基于矩阵分解的多基频估计法是一种对目标乐器的单音符片段及待测音乐片段作数据处理与变换、滤波器组滤波、能量谱计算、非负矩阵分解、阈值限定筛选、音符估计与评价以识别待测音乐片段所包含音符的技术。
3.然而,相关技术中,在滤波器组滤波环节,多数构建滤波器组时使用实际采集的单音符音频片段,易受乐器类别、录制环境、演奏者习惯等影响,因而对于不同的音乐片段适应性较差会影响多基频估计精度;在能量谱计算环节,均根据音符片段或音乐片段的能量谱序列求得的滤波能量谱矩阵和滤波能量谱向量中的元素均为一维,忽略了多维分布特征从而会影响多基频估计精度。
4.综上所述,多音符多基频估计面临上述问题,相关技术中还没有好的解决方案。


技术实现要素:

5.本发明为解决相关技术中影响多基频估计精度的问题,提出了如下技术方案。
6.本发明第一方面实施例提出了一种多音符多基频估计方法,包括以下步骤:基于十二平均律构建待检测音乐信号对应的音色滤波器组;基于所述音色滤波器组构建所述待检测音乐信号对应的包含所有单音符信号的滤波能量谱元胞矩阵;基于所述音色滤波器组构建所述待检测音乐信号的滤波能量谱元胞向量;根据所述滤波能量谱元胞矩阵和所述滤波能量谱元胞向量得到所述待检测音乐信号的权系数向量;基于所述权系数向量得到所述待检测音乐信号的多基频估计结果。
7.另外,根据本发明上述实施例的多音符多基频估计方法还可以具有如下附加的技术特征。
8.根据本发明的一个实施例,基于十二平均律构建所述待检测音乐信号对应的音色滤波器组,包括:确定待检测音乐信号的目标打击乐器的单音符数量,根据所述目标打击乐器的单音符数量确定音色滤波器组的滤波器数量;对所述目标打击乐器采集的单音符信号依次进行采样、归一化处理和快速傅里叶变换,并确定每个滤波器的通带数量,及设置所有滤波器的通带形状为余弦形状,其中,每个所述单音符信号对应一个滤波器;根据十二平均律、所有滤波器的通带数量和所述目标打击乐器的单音符数量,计算每个滤波器的基波频
率和谐波频率,作为每个滤波器的所有通带的中心频率;基于十二平均律、所述中心频率和所有滤波器通带数量,计算每个滤波器通带的边界频率,其中,每个滤波器通带的边界频率为其与中心频率相邻的左半音频率和右半音频率。
9.根据本发明的一个实施例,根据以下公式计算所述边界频率:
[0010][0011][0012]
其中,h为标准单音符序号,fh为标准单音符音高频率,n为目标打击乐器的单音符数量,ni为单音符信号i对应的滤波器通带数量,为单音符信号i的基波频率,为单音符信号i的k-1次谐波频率,和分别为单音符信号i的k-1次谐波的上限频率、下限频率,log(
·
)为对数函数。
[0013]
根据本发明的一个实施例,基于所述音色滤波器组构建所述待检测音乐信号对应的包含所有单音符信号的滤波能量谱元胞矩阵,包括:确定所述待检测音乐信号的所有单音符信号,并将每个所述单音符信号进行快速傅里叶变换后取模平方,形成每个单音符信号的能量谱序列;将每个所述单音符信号的能量谱序列经过所述音色滤波器组,形成每个所述单音符信号的多个滤波能量谱序列;对所述单音符信号的每个所述滤波能量谱序列进行m等分,并分别对每等分滤波能量谱序列进行求和,形成每个所述单音符信号的多个长度为m的滤波能量谱序列,其中,m为大于1的整数;根据所有单音符信号的每个长度为m的滤波能量谱序列得到所述待检测音乐信号对应的包含所有单音符信号的滤波能量谱元胞矩阵。
[0014]
根据本发明的一个实施例,每个所述单音符信号的所述长度为m的滤波能量谱序列为:
[0015][0016]
其中,为单音符信号i经过滤波器j滤波后的滤波能量谱序列,m为单音符信号i的序列长度,γ表示第γ等分滤波能量谱序列,β为中间变量,为每等分滤波能量谱序列的长度,为取整函数,为单音符信号i经过滤波器j滤波后在频率点ω
β
处的通带形状系数,为单音符信号i经过滤波器j后在频率点ω
β
处的能量谱,n为目标打击乐器的单音符数量;
[0017]
所述滤波能量谱元胞矩阵为:
[0018][0019]
其中,ae
x
为所述滤波能量谱元胞矩阵。
[0020]
根据本发明的一个实施例,基于所述音色滤波器组构建所述待检测音乐信号的滤波能量谱元胞向量,包括:对所述待检测音乐信号进行采样、归一化处理、快速傅里叶变换和取模平方,形成所述待检测音乐信号的能量谱序列;将所述待检测音乐信号的能量谱序列经过所述音色滤波器组,形成所述待检测音乐信号的所有滤波能量谱序列;对所述待检测音乐信号的每个所述滤波能量谱序列进行m等分,并分别对每等分滤波能量谱序列进行求和,形成所述待检测音乐信号的所有长度为m的滤波能量谱序列,其中,m为大于1的整数;根据所述待检测音乐信号的所有长度为m的滤波能量谱序列得到所述待检测信号的滤波能量谱元胞向量。
[0021]
根据本发明的一个实施例,所述待检测音乐信号的每个长度为m的滤波能量谱序列为:
[0022][0023]
其中,为所述待检测音乐信号经滤波器j滤波后的滤波能量谱序列,n为所述待检测音乐信号的长度,为每等分滤波能量谱序列长度,为取整函数,β为中间变量,为所述待检测音乐信号经过滤波器j后在频率点ω
β
处的通带形状系数,为所述待检测音乐信号经过滤波器j后在频率点ω
β
处的能量谱,n为目标打击乐器的单音符数量;
[0024]
所述待检测音乐信号的滤波能量谱元胞向量为:
[0025]
[0026]
其中,pey为所述滤波能量谱元胞向量。
[0027]
根据本发明的一个实施例,根据所述滤波能量谱元胞矩阵和所述滤波能量谱元胞向量得到所述待检测音乐信号的权系数向量,包括:将所述滤波能量谱元胞向量分解为所述滤波能量谱元胞矩阵与权系数向量的乘积,以得到分解公式,并通过非负矩阵分解法对所述分解公式进行求解得到所述权系数向量,其中,所述权系数向量为:
[0028]
w=[w1,w2,

,wn]
t
[0029]
其中,w为权系数向量,w1为权系数向量中的第一个元素,t表示转置矩阵;
[0030]
所述分解公式为:
[0031][0032]
根据本发明的一个实施例,基于所述权系数向量得到所述待检测音乐信号的多基频估计结果,包括:
[0033]
获取多个音乐片段作为样本,并确定每个所述音乐片段的单音符数量;
[0034]
计算每个所述音乐片段的权系数向量;
[0035]
根据每个所述音乐片段的单音符数量和权系数向量得到阈值函数;
[0036]
根据所述阈值函数和所述待检测音乐信号的权系数向量,得到所述待检测音乐信号的多基频估计结果;
[0037]
其中,根据每个所述音乐片段的单音符数量和权系数向量得到阈值函数,具体包括:
[0038]
计算每个所述音乐片段的权系数向量并进行归一化处理;
[0039]
依次对每个所述音乐片段的权系数向量按照元素大小进行降序排序;
[0040]
按序提取每个所述音乐片段的权系数向量的第一个元素,以得到多个所述第一个元素构成的向量p
x

[0041]
按序提取每个所述音乐片段的权系数向量的第p个元素,其中,p比对应音乐片段的单音符数量大1,以得到多个所述第p个元素构成的向量qy;
[0042]
采用最小二乘法对所述向量p
x
和所述向量qy进行拟合得到以下阈值函数:
[0043]
δ
th
=g(w
max
)
[0044]
其中,g(
·
)为拟合函数,w
max
为权系数向量的最大元素,
δth
为阈值参数;
[0045]
根据所述阈值函数和所述待检测音乐信号的权系数向量,得到所述待检测音乐信号的多基频估计结果,具体包括:
[0046]
提取所述检测音乐信号的权系数向量的最大元素;
[0047]
将所述待检测音乐信号的权系数向量的最大元素代入所述阈值函数得到阈值参数;
[0048]
将所述待检测音乐信号的权系数向量中小于或等于所述阈值参数的元素置零,并提取所有非零元素对应的单音符序号作为多基频估计结果。
[0049]
本发明第二方面实施例提出了一种多音符多基频估计装置,包括:第一构建模块,用于基于十二平均律构建待检测音乐信号对应的音色滤波器组;第二构建模块,用于基于所述音色滤波器组构建所述待检测音乐信号对应的包含所有单音符信号的滤波能量谱元胞矩阵;第三构建模块,用于基于所述音色滤波器组构建所述待检测音乐信号的滤波能量谱元胞向量;第一确定模块,用于根据所述滤波能量谱元胞矩阵和所述滤波能量谱元胞向量得到所述待检测音乐信号的权系数向量;第二确定模块,用于基于所述权系数向量得到所述待检测音乐信号的多基频估计结果。
[0050]
本发明实施例的技术方案,首先基于十二平均律构建待音色滤波器组,基于音色滤波器组构建待检测音乐信号对应的包含所有单音符信号的滤波能量谱元胞矩阵,基于音色滤波器组构建待检测音乐信号的滤波能量谱元胞向量,最后根据滤波能量谱元胞矩阵和滤波能量谱元胞向量得到权系数向量,基于权系数向量得到待检测音乐信号的多基频估计结果。由此,基于十二平均律构建音色滤波器组,以基于音色滤波器组实现多音符多基频估计,能很好地应对谐波偏差,无需使用采集的单音符数据,克服了基于单音符数据对音色滤波器组的构建影响,而且,基于音色滤波器组得到滤波能量谱元胞矩阵和滤波能量谱元胞向量,可以考虑多维分布特征,从而提高了多音符多基频估计精度,且适用于不同的音乐片段,应用范围广泛。
附图说明
[0051]
图1为本发明实施例的多音符多基频估计方法的原理方框示意图。
[0052]
图2为本发明实施例的多音符多基频估计方法的流程图。
[0053]
图3为本发明一个示例的基于十二平均律的音色滤波器组。
[0054]
图4为本发明一个示例的由多个单音符构成的滤波能量谱转化矩阵。
[0055]
图5为本发明一个示例的待检测音乐信号的滤波能量谱转化向量。
[0056]
图6为本发明一个示例的向量p
x-qy散点图。
[0057]
图7为本发明一个示例的待检测音乐信号的归一化权系数向量图。
[0058]
图8为本发明一个示例的待检测音乐信号的多音符多基频估计结果。
[0059]
图9为本发明实施例中评价不同等分条件下600个待检测音乐信号的多音符多基频估计f值。
[0060]
图10为本发明实施例中评价不同等分条件下885个待检测音乐信号的多音符多基频估计f值。
[0061]
图11为本发明实施例的多音符多基频估计装置的方框示意图。
具体实施方式
[0062]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完
整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0063]
需要说明的是,相关技术中,在滤波器组滤波环节,多数构建滤波器组时使用实际采集的单音符音频片段,易受乐器类别、录制环境、演奏者习惯等影响,因而对于不同的音乐片段适应性较差会影响多基频估计精度;在能量谱计算环节,均将音符片段或音乐片段的能量谱序列求和为一值(而不是多值),仅使用了单值大小特征而忽略了多值分布特征从而会影响多基频估计精度;在阈值限定筛选环节,多用尝试法手动设置权系数阈值进行筛选,往往忽略权系数本身的特性会影响多基频估计精度。
[0064]
为此,本发明实施例提出了一种音符多基频估计方法,以提高多音符多基频的估计精度。
[0065]
图2为本发明实施例的多音符多基频估计方法的流程图。
[0066]
如图2所示,该多音符多基频估计方法包括以下步骤s1至s5。
[0067]
s1,基于十二平均律构建待检测音乐信号对应的音色滤波器组。
[0068]
具体地,在需要对待检测音乐信号进行多音符多基频估计,首先基于十二平均律构建待检测音乐信号对应的音色滤波器组。
[0069]
s2,基于音色滤波器组构建待检测音乐信号对应的包含所有单音符信号的滤波能量谱元胞矩阵。
[0070]
可以理解的是,待检测音乐信号由若干单音符信号组合而成,比如弹钢琴出来的每个音乐片段就是由1-88个键(即88个单音符)中的若干音符组成。
[0071]
具体地,在得到音色滤波器组后,可将待检测音乐信号的所有单音符信号进行处理后经音色滤波器组滤波得到每个单音符信号的滤波能量谱序列,并根据每个单音符信号的滤波能量谱序列得到滤波能量谱元胞矩阵,即该矩阵中的每个元素(元胞)不止是一维。
[0072]
s3,基于音色滤波器组构建待检测音乐信号的滤波能量谱元胞向量。
[0073]
具体地,在得到音色滤波器组后,可将待检测音乐信号进行处理后经音色滤波器组滤波得到待检测音乐信号的滤波能量谱序列,并根据待检测音乐信号的滤波能量谱序列得到滤波能量谱元胞向量,即该向量中的每个元素(元胞)不止是一维。
[0074]
s4,根据滤波能量谱元胞矩阵和滤波能量谱元胞向量得到待检测音乐信号的权系数向量。
[0075]
具体地,在得到滤波能量谱元胞矩阵和滤波能量谱元胞向量后,可根据滤波能量谱元胞矩阵和滤波能量谱元胞向量,通过非负矩阵分解法得到权系数向量。
[0076]
s5,基于权系数向量得到待检测音乐信号的多基频估计结果。
[0077]
具体地,可结合权系数向量和单音符信号的序号,得到待检测音乐信号的多基频估计结果。
[0078]
本发明实施例基于十二平均律构建音色滤波器组,相较于相关技术中构建滤波器组时使用实际采集的单音符音频片段的方案,本发明实施例构建了基于十二平均律的音色滤波器组,能很好地应对谐波偏差,无需采集使用单音符数据,克服了基于单音符数据构建滤波器组易受乐器类别、录制环境、演奏者习惯等影响的缺点,适用于不同的音乐片段,从而提高了多音符多基频估计精度。
[0079]
相较于相关技术中一维的滤波能量谱矩阵、滤波能量谱向量,本发明实施例基于音色滤波器组构建的滤波能量谱向量为元胞向量、滤波能量谱矩阵为元胞矩阵,将多维分布特征予以考虑,从而进一步提高了多音符多基频估计精度。
[0080]
由此,本发明实施例的多音符多基频估计方法,基于十二平均律构建音色滤波器组,以基于音色滤波器组实现多音符多基频估计,能很好地应对谐波偏差,无需使用采集的单音符数据,克服了基于单音符数据对音色滤波器组的构建影响,而且,基于音色滤波器组得到滤波能量谱元胞矩阵和滤波能量谱元胞向量,可以考虑多维分布特征,从而提高了多音符多基频估计精度,且适用于不同的音乐片段,应用范围广泛。
[0081]
在本发明的一个实施例中,步骤s1即基于十二平均律构建待检测音乐信号对应的音色滤波器组,可包括:确定待检测音乐信号的目标打击乐器的单音符数量,根据目标打击乐器的单音符数量确定音色滤波器组的滤波器数量;对目标打击乐器采集的单音符信号依次进行采样、归一化处理和快速傅里叶变换,并确定每个滤波器的通带数量,及设置所有滤波器的通带形状为余弦形状,其中,每个单音符信号对应一个滤波器;根据十二平均律、所有滤波器的通带数量和目标打击乐器的单音符数量,计算每个滤波器的基波频率和谐波频率,作为每个滤波器的所有通带的中心频率;基于十二平均律、中心频率和所有滤波器通带数量,计算每个滤波器通带的边界频率,其中,每个滤波器通带的边界频率为其与中心频率相邻的左半音频率和右半音频率。
[0082]
具体而言,根据目标打击乐器(如电钢琴、钢琴)的单音符数量确定音色滤波器组的滤波器数量(如88个),对目标打击乐器采集的单音符信号(如用midi aligned piano sounds数据库中maps_enstdkam_1\enstdkam\isol\no文件中音符强度为mezzo-forte的21-108号单音符样本,即对应第1-88个单音符样本)依次进行采样(如采样频率为44100hz)、归一化处理和快速傅里叶变换,并观察分析相应的频谱分布以确定每个滤波器的通带数量(如设置第1-20个音符的滤波器通带数为20、第21-40个为15、第41-60个为10、第61-88个为5),设置所有滤波器的通带形状为余弦形状。
[0083]
由十二平均律和每个滤波器的通带数量计算每个滤波器的基波频率和谐波频率,一起作为每个滤波器的所有通带的中心频率,即:
[0084][0085]
其中,h为标准单音符序号(如第49个),fh为标准单音符音高频率(如440hz),n为目标打击乐器的单音符信号的数量(如88个),ni为单音符信号i对应的滤波器通带数量,为单音符信号i的基波频率,为单音符信号i的k-1次谐波频率。
[0086]
之后,设置每个滤波器的通带边界频率为其中心频率相邻的左半音频率和右半音频率,即根据以下公式计算边界频率:
[0087][0088]
[0089]
其中,h为标准单音符序号,fh为标准单音符音高频率,n为目标打击乐器的单音符数量,ni为单音符信号i对应的滤波器通带数量,为单音符信号i的基波频率,为单音符信号i的k-1次谐波频率,和分别为单音符信号i的k-1次谐波的上限频率、下限频率,log(
·
)为对数函数。
[0090]
由此构建的基于十二平均律的音色滤波器组如图3所示,其中单音符序号为第1-88。
[0091]
在本发明的一个实施例中,步骤s2即基于音色滤波器组构建待检测音乐信号对应的包含所有单音符信号的滤波能量谱元胞矩阵,可包括:确定待检测音乐信号的所有单音符信号,并将每个单音符信号进行快速傅里叶变换后取模平方,形成每个单音符信号的能量谱序列;将每个单音符信号的能量谱序列经过音色滤波器组,形成每个单音符信号的多个滤波能量谱序列;对单音符信号的每个滤波能量谱序列进行m等分,并分别对每等分滤波能量谱序列进行求和,形成每个单音符信号的多个长度为m的滤波能量谱序列,其中,m为大于1的整数;根据所有单音符信号的每个长度为m的滤波能量谱序列得到待检测音乐信号对应的包含所有单音符信号的滤波能量谱元胞矩阵。
[0092]
具体而言,在得到音色滤波器后,确定待检测音乐信号的所有单音符信号,即目标打击乐器采集的单音符信号,并对所有单音符信号进行快速傅里叶变换后取模平方,形成每个单音符信号的能量谱序列,即:
[0093][0094]
其中,为单音符信号i的能量谱序列,为单音符信号i在频率点ωk处的能量谱,m为单音符信号i的序列长度,n为目标打击乐器的单音符数量。
[0095]
之后,将每个单音符信号的能量谱序列经过音色滤波器组,形成每个单音符信号对应的多个滤波能量谱序列即:
[0096][0097]
其中,为单音符信号i经过滤波器j滤波后的滤波能量谱序列,为单音符信号i经过滤波器j的通带形状系数,为单音符信号i经过滤波器j在频率点ωk处的能量谱,m为单音符信号i的序列长度,n为目标打击乐器的单音符数量。
[0098]
之后,对每个滤波能量谱序列进行m(m>1)等分,并分别对每等分滤波能量谱序列进行求和,即可得到每个滤波能量谱序列对应的m个和值即长度为m的滤波能量谱序列,从而得到了每个单音符信号的多个长度为m的滤波能量谱序列其中,每个长度为m的滤波能量谱序列为:
[0099][0100]
其中,为单音符信号i经过滤波器j滤波后的滤波能量谱序列,m为单音符信号i的序列长度,γ表示第γ等分滤波能量谱序列,β为中间变量,为每等分滤波能量谱序列的长度,为取整函数,为单音符信号i经过滤波器j滤波后在频率点ω
β
处的通带形状系数,为单音符信号i经过滤波器j后在频率点ω
β
处的能量谱,n为目标打击乐器的单音符数量。
[0101]
之后,将每个长度为m的滤波能量谱序列作为一个元素(元胞),即可构成待检测音乐信号对应的包含所有单音符信号的滤波能量谱元胞矩阵ae
x
,即滤波能量谱元胞矩阵ae
x
为:
[0102][0103]
由此得到了包含所有单音符信号的滤波能量谱元胞矩阵ae
x
,该矩阵为元胞矩阵,即每个元素(元胞)不止是一维。
[0104]
在本发明的一个实施例中,步骤s3即基于音色滤波器组构建待检测音乐信号的滤波能量谱元胞向量,可包括:对待检测音乐信号进行采样、归一化处理、快速傅里叶变换和取模平方,形成待检测音乐信号的能量谱序列;将待检测音乐信号的能量谱序列经过音色滤波器组,形成待检测音乐信号的所有滤波能量谱序列;对待检测音乐信号的每个滤波能量谱序列进行m等分,并分别对每等分滤波能量谱序列进行求和,形成待检测音乐信号的所有长度为m的滤波能量谱序列,其中,m为大于1的整数;根据待检测音乐信号的所有长度为m的滤波能量谱序列得到待检测信号的滤波能量谱元胞向量。
[0105]
具体而言,对待检测音乐信号(如从midi aligned piano sounds数据库中maps_enstdkam_1\enstdkam\rand文件中m21-108\i60-68文件和m36-95\i60-68文件中的600个
音乐样本中任选一音乐片段maps_rand_p5_m36-95_i60-68_s1_n2_enstdkam.wav)进行采样(如采样频率为44100hz)、归一化处理、快速傅里叶变换和取模平方,形成待检测音乐信号的能量谱序列,即:
[0106][0107]
其中,为待检测音乐信号在频率点ωk处的能量谱,n为待检测音乐信号长度。
[0108]
之后,将待检测音乐信号能量谱序列经过音色滤波器组,形成多个滤波能量谱序列(待检测音乐信号的所有滤波能量谱序列),即:
[0109][0110]
其中,为待检测音乐信号经滤波器j滤波后的滤波能量谱序列,n为待检测音乐信号的长度,为待检测音乐信号经过滤波器j的通带形状系数,为待检测音乐信号在频率点ωk处的能量谱。
[0111]
之后,对待检测音乐信号的每个滤波能量谱序列进行m等分(须与单音符信号的每个滤波能量谱序列的等分数量保持一致),并分别对每等分滤波能量谱序列进行求和,形成多个长度为m的待检测音乐信号的滤波能量谱序列,即:
[0112][0113]
其中,为待检测音乐信号经滤波器j滤波后的滤波能量谱序列,n为待检测音乐信号的长度,为每等分滤波能量谱序列长度,为取整函数,β为中间变量,为待检测音乐信号经过滤波器j后在频率点ω
β
处的通带形状系数,为待检测音乐信号经过滤波器j后在频率点ω
β
处的能量谱,n为目标打击乐器的单音符数量。
[0114]
之后,将待检测音乐信号的每个长度为m的滤波能量谱序列看作一个元素(元胞),则可构建待检测音乐信号的滤波能量谱元胞向量,即:
[0115][0116]
由此得到了待检测音乐信号的滤波能量谱元胞向量pey。
[0117]
需要说明的是,相关技术中在能量谱计算环节,均将音符片段或音乐片段的能量
谱序列求和为一值(而不是多值),仅使用了单值大小特征而忽略了多值分布特征从而会影响多基频估计精度;而相较于相关技术,本发明实施例构建了由多个单音符构成的滤波能量谱元胞矩阵和待检测音乐信号的滤波能量谱元胞向量,将音符片段或音乐片段的滤波能量谱序列等分若干段后进行求和得到多个和值,从而在后续非负矩阵分解中利用了多值分布特征考虑了更多信息,从而进一步提高了多音符多基频估计精度。
[0118]
在得到滤波能量谱元胞矩阵和滤波能量谱元胞向量后,执行步骤s4,步骤s4具体包括:将滤波能量谱元胞向量pey分解为滤波能量谱元胞矩阵与权系数向量的乘积,即ae
x
×
w的形式,其中权系数向量w为:
[0119]
w=[w1,w2,

,wn]
t
[0120]
其中,w1为权系数向量中的第一个元素,t表示转置矩阵。
[0121]
通过非负矩阵分解法对以下分解公式进行矩阵分解、求解,以得到权系数向量w:
[0122][0123]
其中,在进行矩阵分解时,由于和均为向量(元胞),在将上式进行矩阵分解,则须将滤波能量谱元胞矩阵和滤波能量谱元胞向量转化为:
[0124][0125]
其中,表示滤波能量谱转化向量,y
j1
表示待检测音乐信号经滤波器j滤波后的第1等分滤波能量谱序列进行求和得到的和值,
表示滤波能量谱转化矩阵,xi
j1
表示单音符信号i经滤波器j滤波后的第1等分滤波能量谱序列进行求和得到的和值。
[0126]
由此,构建的由多个单音符构成的滤波能量谱转化矩阵,如图4所示,其中m=10,矩阵维数为880
×
88。构建的某待检测音乐信号(如maps_rand_p5_m36-95_i60-68_s1_n2_enstdkam.wav)的滤波能量谱转化向量如图5所示,其中m=10,向量维数为880
×
1。
[0127]
之后,执行步骤s5,即基于权系数向量得到待检测音乐信号的多基频估计结果。
[0128]
在本发明的一个实施例中,步骤s5可包括:获取多个音乐片段作为样本,并确定每个音乐片段的单音符数量;计算每个音乐片段的权系数向量;根据每个音乐片段的单音符数量和权系数向量得到阈值函数;根据阈值函数和待检测音乐信号的权系数向量,得到待检测音乐信号的多基频估计结果。
[0129]
进一步地,根据每个所述音乐片段的单音符数量和权系数向量得到阈值函数,具体可包括:计算每个所述音乐片段的权系数向量并进行归一化处理;依次对每个所述音乐片段的权系数向量按照元素大小进行降序排序;按序提取每个所述音乐片段的权系数向量的第一个元素,以得到多个所述第一个元素构成的向量p
x
;按序提取每个所述音乐片段的权系数向量的第p个元素,其中,p比对应音乐片段的单音符数量大1,以得到多个所述第p个元素构成的向量qy;采用最小二乘法对所述向量p
x
和所述向量qy进行拟合得到以下阈值函数:
[0130]
δ
th
=g(w
max
)
[0131]
其中,g(
·
)为拟合函数,w
max
为权系数向量的最大元素,
δth
为阈值参数;
[0132]
更进一步地,根据所述阈值函数和所述待检测音乐信号的权系数向量,得到所述待检测音乐信号的多基频估计结果,具体可包括:提取所述检测音乐信号的权系数向量的最大元素;将所述待检测音乐信号的权系数向量的最大元素代入所述阈值函数得到阈值参
数;将所述待检测音乐信号的权系数向量中小于或等于所述阈值参数的元素置零,并提取所有非零元素对应的单音符序号作为多基频估计结果。
[0133]
具体而言,首先收集大量音乐片段作为样本(如midi aligned piano sounds数据库中maps_enstdkam_1\enstdkam\rand文件中m21-108\i60-68文件和m36-95\i60-68文件中的600个音乐样本,即随机音符组合集),依次计算样本中每个音乐片段的权系数向量并归一化处理,记录对应单音符数(如样本中每个音乐片段的单音符个数在2-7之间)。依次对样本中每个音乐片段的权系数向量按元素大小进行降序排序,依次提取每个音乐片段的权系数向量的第一个元素(最大元素)一起构成向量p
x
,依次提取每个音乐片段的权系数向量的第p个元素(比对应单音符数大1)一起构成向量qy(如由样本提取的向量p
x-qy散点图,如图6所示),采用最小二乘法对向量p
x
和qy拟合得到以下阈值函数,比如阈值函数可以为:
[0134]
δ
th
=-0.0285w
max
+0.0532
[0135]
需要说明的是,在收集样本计算其权系数向量,其中m=1,也就是说拟合阈值函数时只用到了m=1时的600个权系数向量样本。
[0136]
之后,对于待检测音乐信号的权系数向量进行归一化处理,以得到归一化权系数向量(如音乐片段maps_rand_p5_m36-95_i60-68_s1_n2_enstdkam.wav的归一化权系数向量如图7所示),将其中的最大元素(如w
max
=0
.
2767)代入上述阈值函数得到阈值参数(如δ
th
=0
.
0453)。将待检测音乐片段的权系数向量中小于或等于阈值参数的元素置零,提取所有非零元素对应的单音符序号作为多基频估计结果(如某音乐片段maps_rand_p5_m36-95_i60-68_s1_n2_enstdkam.wav的多基频估计结果如图8所示,该音乐片段由第26、27、44、57、75个音符构成,即对应由46、47、64、77、95号音符构成)。
[0137]
需要说明的是,相关技术中,在阈值限定筛选环节,采用尝试法手动设置权系数阈值进行筛选,往往忽略权系数本身的特性会影响多基频估计精度。而本发明实施例根据音乐片段样本拟合得到阈值函数,即对大量的权系数数据本身进行规律挖掘得到阈值函数,根据阈值函数构建了权系数阈值限定筛选,更多地利用了权系数数据本身的特性,从而进一步提高了多音符多基频估计精度。
[0138]
为了验证本发明实施例的有效性,计算相应的f值评价待检测音乐的多音符多基频估计效果,如某待检测音乐信号(maps_rand_p5_m36-95_i60-68_s1_n2_enstdkam.wav)的多音符多基频估计评价f值为1,其中m=10。进一步地,评价不同等分条件下(如m=1、5、10、15、20、25、30、35、40、45、50、55、60、65、70、75、80、85、90、95、100)600个待检测音乐信号(如midi aligned piano sounds数据库中maps_enstdkam_1\enstdkam\rand文件中m21-108\i60-68文件和m36-95\i60-68文件中的600个音乐样本,即随机音符组合集)的多音符多基频估计评价f值如图9所示,与m=1时(不进行等分划分)的f值相比,m=60时的f值提高了1.7%,且等分数须选取合适,并非越大越好或越小越好,即验证了本发明实施例所提方法是有效的。
[0139]
另外,在阈值函数δ
th
=-0.0285w
max
+0.0532下,评价不同等分条件下(如m=1、5、10、15、20、25、30、35、40、45、50、55、60、65、70、75、80、85、90、95、100)885个待检测音乐信号(如midi aligned piano sounds数据库中maps_enstdkam_1\enstdkam\ucho\i60-68文件中的885个音乐样本,即常用和弦集)的多音符多基频估计评价f值如图10所示。与m=1时的f值相比,m=70时的f值提高了2.18%,同样验证了本发明实施例所提方法是有效的。
[0140]
综上所述,本发明实施例的多音符多基频估计方法,相较于现有技术具有如下的优点及效果:(1)构建了基于十二平均律的音色滤波器组,能很好地应对谐波偏差,无需采集使用单音符数据,克服了基于单音符数据构建滤波器组易受乐器类别、录制环境、演奏者习惯等影响的缺点,适用于不同的音乐片段,从而提高了多音符多基频估计精度;(2)构建了由多个单音符构成的滤波能量谱元胞矩阵和待检测音乐信号的滤波能量谱元胞向量,将音符片段或音乐片段的滤波能量谱序列等分若干段后进行求和为多值,在非负矩阵分解中利用了多值分布特征考虑了更多信息,从而提高了多音符多基频估计精度;(3)根据音乐片段样本拟合得到阈值函数,即对大量的权系数数据本身进行规律挖掘得到阈值函数,根据阈值函数构建了权系数阈值限定筛选,更多地利用了权系数数据本身的特性,从而进一步提高了多音符多基频估计精度。
[0141]
对应上述实施例的多音符多基频估计方法,本发明还提出一种多音符多基频估计装置。
[0142]
图11为本发明实施例的多音符多基频估计装置的方框示意图。
[0143]
如图11所示,该多音符多基频估计装置包括第一构建模块10、第二构建模块20、第三构建模块30、第一确定模块40和第二确定模块50。
[0144]
其中,第一构建模块10用于基于十二平均律构建所述待检测音乐信号对应的音色滤波器组;第二构建模块20用于基于所述音色滤波器组构建所述待检测音乐信号对应的包含所有单音符信号的滤波能量谱元胞矩阵;第三构建模块30用于基于所述音色滤波器组构建所述待检测音乐信号的滤波能量谱元胞向量;第一确定模块40用于根据所述滤波能量谱元胞矩阵和所述滤波能量谱元胞向量得到所述待检测音乐信号的权系数向量;第二确定模块50用于基于所述权系数向量得到所述待检测音乐信号的多基频估计结果。
[0145]
需要说明的是,该多音符多基频估计装置的具体实施方式及实施原理可参见上述多音符多基频估计方法的具体实施方式,为避免冗余,此处不再详细赘述。
[0146]
本发明实施例的多音符多基频估计装置,基于十二平均律构建音色滤波器组,以基于音色滤波器组实现多音符多基频估计,能很好地应对谐波偏差,无需使用采集的单音符数据,克服了基于单音符数据对音色滤波器组的构建影响,而且,基于音色滤波器组得到滤波能量谱元胞矩阵和滤波能量谱元胞向量,可以考虑多维分布特征从而提高了多音符多基频估计精度,且适用于不同的音乐片段,应用范围广泛。
[0147]
在本发明的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。“多个”的含义是两个或两个以上,除非另有明确具体的限定。
[0148]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0149]
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
[0150]
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
[0151]
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0152]
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1