复调音乐多音高估计方法及伪双谱在多音高估计中的应用转让专利

申请号 : CN201710301314.9

文献号 : CN107103908B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张维维陈喆殷福亮

申请人 : 大连民族大学

摘要 :

复调音乐多音高估计方法及伪双谱在多音高估计中的应用,属于数字语音信号处理领域,用于解决复调音乐的多个音高估计问题,技术要点是:对输入的音乐音频分帧;求每帧信号的伪双谱,根据二维模板与伪双谱的匹配互相关函数值从大到小排列,取出前若干个频率作为候选音高;计算各候选音高的加权谐波能量和,并选择具有最大加权谐波能量和的候选音高作为该次迭代输出的最显著估计音高。效果是:在具有较少谐波成分的情况下也能正常工作,可区分具有重叠谐波频率成分的音符,该方法具有较小的运算量,易于实现,且可用于除复调音乐以外的谐波信号的基频提取。

权利要求 :

1.一种复调音乐多音高估计方法,其特征在于,

S1.对输入的音乐音频分帧;

S2.求每帧信号的伪双谱;

S3.根据二维模板与伪双谱的匹配互相关函数值从大到小排列,取出前若干个频率作为候选音高;

S4.计算各候选音高的加权谐波能量和,并选择具有最大加权谐波能量和的候选音高作为该次迭代输出的最显著估计音高;

S5.移除所述最显著估计音高的二维谐波成分;

S6.重复步骤S3-S5,直至本次输出最显著估计音高的加权谐波能量和比前一音高的加权谐波能量和小于设定值,输出所有迭代过程中估计的音高;

所述伪双谱由下式表示:

其中X(f1)和X(f2)为x(t)的一维傅里叶变换,(·)*代表共轭转置运算,f1和f2为二维频率域中的自变量,t和τ分别为时间域信号x(t)和x(τ)的自变量;Px为输入复调音乐伪双谱的离散化矩阵,每八度有Noct个对数分布离散频点,使用每个音符的前Hr个谐波成分,令Q=(qi,j)是一个维度为Rq×Rq的稀疏矩阵,其中 是向正无穷方向取整,当且仅当基频频点索引平移i和j个索引值后都对应谐波分量时,qi,j=1,由下式计算二维模板与伪双谱的匹配互相关函数值:选择具有最大谐波加权能量和的频率作为最显著估计音高,由下式求得:其中α为常数,φk为音高fk的显著函数值,|X(hfk)|为fk的第h次谐波幅度;

当输入信号为具有H个谐波分量的音符时,可表示为:其中al为第l次谐波幅度,f0为基频;

当输入信号为M个音符的混合信号时,可表示为:

其中Hm和f0,m分别为第m个音符的谐波数和基频, 为第m个音符的第lm次谐波幅度。

2.如权利要求1所述的复调音乐多音高估计方法,其特征在于,当输入信号为具有H个谐波分量的音符时,z(t)的伪双谱为:其中δ(·)为狄拉克函数,l和m为谐波次数,al和am分别为第l次和第m次谐波幅度;

由上述,对于具有H个谐波分量的音符作伪双谱变换生成H×H的二维模式,由下式作二维模式匹配:

3.如权利要求1所述的复调音乐多音高估计方法,其特征在于,当输入信号为M个音符的混合信号时,z(t)的伪双谱为:其中 为第m个音符的伪双谱, 为zm(t)和zn(t)的交叉项,且其中(m,n)∈{1,2,...,M},且m≠n;Hm和f0,m分别为第m个音符的谐波数和基频, 为第m个音符的第lm次谐波幅度;Hn和f0,n分别为第n个音符的谐波数和基频, 为第n个音符的第kn次谐波幅度;

对于具有M个音符的混合信号,由下式作二维模式匹配,匹配次数为M:

说明书 :

复调音乐多音高估计方法及伪双谱在多音高估计中的应用

技术领域

[0001] 本发明属于数字语音信号处理领域,涉及一种音乐信号处理方法。

背景技术

[0002] 以算法原理为依据,复调音乐多音高估计方法可分为基于特征,基于统计模型和基于谱分解的方法,其中大部分方法都基于一维傅里叶变换谱。当不同音符具有相同的谐波频率成分时,一维傅里叶变换谱无法将这些重叠的谐波频率成分分离。和声是音乐的基本要素之一,从而在音乐信号中具有重叠谐波频率分量的情况普遍存在,因此准确分离具有重叠谐波频率的音符具有重要意义。
[0003] 最近,Argenti等人提出基于双谱的多音高估计方法,该方法将输入一维时间域信号映射到二维双谱域,在二维双谱平面上,谐波信号形成一个典型的二维双谱模板,可独立分离具有相同谐波频率成分的两音符而互不影响。然而,信号的双谱幅度是一维傅里叶变换谱三个频率分量幅度的乘积,故其中任一分量为0都会导致双谱幅度为0,进而使二维模板匹配失败。另外,由于频谱泄露也会导致基于双谱的多音高估计方法产生较多的低八度误差。

发明内容

[0004] 为了解决复调音乐多音高估计问题,准确分离具有相同谐波频率成分的音符,本发明构建一个全新的二维谱变换,以下称其为“伪双谱”,并将其应用于复调音乐多音高估计。
[0005] 本发明提出如下技术方案:一种复调音乐多音高估计方法,对输入的音乐音频分帧;求每帧信号的伪双谱,根据二维模板与伪双谱的匹配互相关函数值从大到小排列,取出前若干个频率作为候选音高;计算各候选音高的加权谐波能量和,并选择具有最大加权谐波能量和的候选音高作为该次迭代输出的最显著估计音高。
[0006] 进一步的,移除所述最显著估计音高的二维谐波成分,迭代上述过程,直至本次输出最显著估计音高的加权谐波能量和比前一音高的加权谐波能量和小于设定值。
[0007] 进一步的,所述伪双谱由下式表示:
[0008]
[0009] 其中X(f1)和X(f2)为x(t)的一维傅里叶变换,(·)*代表共轭转置运算,f1和f2为二维频率域中的自变量,t和τ分别为时间域信号x(t)和x(τ)的自变量。
[0010] 进一步的,Px为输入复调音乐伪双谱的离散化矩阵,每八度有Noct个对数分布离散频点,使用每个音符的前Hr个谐波成分,令Q=(qi,j)是一个维度为Rq×Rq的稀疏矩阵,其中是向正无穷方向取整,当且仅当基频频点索引平移i和j个索引值后都对应谐波分量时,qi,j=1,由下式计算二维模板与伪双谱的匹配互相关函数值:
[0011]
[0012] 进一步的,选择具有最大谐波加权能量和的频率作为最显著估计音高,由下式求得:
[0013]
[0014] 其中α为常数,φk为音高fk的显著函数值,|X(hfk)|为fk的第h次谐波幅度。
[0015] 进一步的,输入信号为具有H个谐波分量的音符,表示为:
[0016]
[0017] 其中al为第l次谐波幅度,f0为基频;
[0018] z(t)的伪双谱为:
[0019]
[0020] 其中δ(·)为狄拉克函数,l和m为谐波次数,al和am分别为第l次和第m次谐波幅度;
[0021] 由上述,对于具有H个谐波分量的音符作伪双谱变换生成H×H的二维模式,由下式作二维模式匹配:
[0022]
[0023] 进一步的,输入信号为M个音符的混合信号,表示为:
[0024]
[0025] 其中Hm和f0,m分别为第m个音符的谐波数和基频, 为第m个音符的第lm次谐波幅度;
[0026] 由上述,z(t)的伪双谱为:
[0027]
[0028] 其中 为第m个音符的伪双谱, 为zm(t)和zn(t)的交叉项,且
[0029]
[0030] 其中(m,n)∈{1,,2,...,M},且m≠n;Hm和f0,m分别为第m个音符的谐波数和基频,为第m个音符的第lm次谐波幅度;Hn和f0,n分别为第n个音符的谐波数和基频, 为第n个音符的第kn次谐波幅度;
[0031] 对于具有M个音符的混合信号,由下式作二维模式匹配,匹配次数为M:
[0032]
[0033] 一种伪双谱在多音高估计中的应用,所述伪双谱,由下式表示:
[0034]
[0035] 其中X(f1)和X(f2)为x(t)的一维傅里叶变换,(·)*代表共轭转置运算,f1和f2为二维频率域中的自变量,t和τ分别为时间域信号x(t)和x(τ)的自变量。
[0036] 有益效果:多音高估计是音乐信号处理领域中一项重要且基础的研究课题,在自动音频检索、音乐标记、音乐学分析、听觉场景分析等领域中具有广泛应用。本发明提出一种新的二维谱──伪双谱,并将其应用于多音高估计。伪双谱非常适合处理谐波信号,所提出的多音高估计方法不需先验知识,在具有较少谐波成分的情况下也能正常工作,可区分具有重叠谐波频率成分的音符,该方法具有较小的运算量,易于实现,且可用于除复调音乐以外的谐波信号的基频提取。

附图说明

[0037] 图1复调音乐多音高估计流程图;
[0038] 图2演奏A3音符的音频信号一维傅里叶变换谱示意图;
[0039] 图3演奏A3音符的音频信号伪双谱示意图;
[0040] 图4同时演奏A3与E4两个音符的音频信号的一维傅里叶变换谱示意图;
[0041] 图5同时演奏A3与E4两个音符的音频信号的伪双谱示意图;
[0042] 图6某复调音乐的各音高真实值示意图;
[0043] 图7该段复调音乐的各音高估计值示意图;
[0044] 图8谐波信号的典型伪双谱模式(以具有4次谐波频率成分为例);
[0045] 图9演奏A3音符的音频信号伪双谱;
[0046] 图10演奏A3和D4音符的音频信号伪双谱。

具体实施方式

[0047] 实施例1:
[0048] 本实施例定义了伪双谱,并将其应用于复调音乐多音高估计。该伪双谱适合各种一维具有谐波结构的信号基频估计问题而不局限于复调音乐的多音高估计。
[0049] 首先对输入的音乐音频进行分帧;然后求每帧信号的伪双谱;根据本实施例的公式(10),按照二维模板匹配互相关函数值从大到小排列,取出前10个频率作为候选音高;再根据本实施例的公式(11)计算各候选音高的加权谐波能量和,并选择具有最大加权谐波能量和的候选音高作为该次迭代输出音高,并保存音高值和相应的加权谐波能量和;最后,移除该最显著音高的二维谐波成分,迭代上述过程直至本次输出音高的加权谐波能量比前一音高的加权能量小20dB。
[0050] 为了方便叙述,用如下形式表示:
[0051] 步骤1:对输入的音乐音频进行分帧;
[0052] 步骤2:求每帧信号的伪双谱;
[0053] 步骤3:根据公式(10),按照二维模板匹配互相关函数值从大到小排列,取出前10个频率作为候选音高;
[0054] 步骤4:根据公式(11)计算各候选音高的加权谐波能量和,并选择具有最大加权谐波能量和的候选音高作为该次迭代输出音高,并保存音高值和相应的加权谐波能量;
[0055] 步骤5:移除该最显著音高的二维谐波成分;
[0056] 步骤6:重复步骤3-5,直至本次输出音高的加权谐波能量和比前一音高的加权能量小20dB,输出所有迭代过程中估计的音高。
[0057] 在一种实施例中,其具体方法如下:
[0058] 设x(t)为复调音乐信号,则该信号的伪双谱定义为:
[0059]
[0060] 其中X(f1)和X(f2)为x(t)的一维傅里叶变换,(·)*代表共轭运算。f1和f2为二维频率域中的自变量,t和τ分别为时间域信号x(t)和x(τ)的自变量。
[0061] 具有H个谐波分量的音符可表示为:
[0062]
[0063] 其中al为第l次谐波幅度,f0为基频,则根据公式(1)可得z(t)的伪双谱为[0064]
[0065] 其中δ(·)为狄拉克函数,l和m为谐波次数,al和am分别为第l次和第m次谐波幅度;由此可见,对于具有H个谐波分量的谐波信号,伪双谱变换生成H×H的二维模式。音符音高的确定(即二维模式匹配),可通过如下公式实现:
[0066]
[0067] 假设复调音乐由M个音符的混合信号组成,即可表示为:
[0068]
[0069] 其中Hm和f0,m分别为第m个音符的谐波数和音高, 为第m个音符的第lm次谐波幅度。对于公式(5)所表示的混合信号的伪双谱为:
[0070]
[0071] 其中 为第m个音符的伪双谱, 为zm(t)和zn(t)的交叉项,且
[0072]
[0073] 其中(m,n)∈{1,2,...M},且m≠n。
[0074] 和声是音乐的基本要素之一,故具有重叠谐波频率成分的音符同时发声的情况广泛存在。公式(7)所示的交叉项要么位于公式(3)所示的二维模板之外,要么与和弦中其他音符的二维模板重合,故对多音高估计的影响很小。
[0075] 假设Px为输入复调音乐伪双谱的离散化矩阵。每八度有Noct个对数分布离散频点,考虑每个音符的前Hr个谐波成分。令Q=(qi,j)是一个维度为Rq×Rq的稀疏矩阵,其中其中 是向正无穷方向取整。当且仅当基频频点索引平移i和j个索引值后都对应谐波分量时,qi,j=1。按照下式计算二维模板与伪双谱的匹配互相关函数:
[0076]
[0077] 由于公式(1)满足共轭对称性,即
[0078]
[0079] 故公式(8)的互相关函数最大值对应的频率一定落在二维频率平面的第一象限对角线上,公式(8)可重新简化为:
[0080]
[0081] 根据公式(10)求出具有最大互相关函数输出的前10个频率值作为音高候选,然后按照下面公式(11)选择具有最大谐波加权能量和的频率作为最显著估计音高。
[0082]
[0083] 其中α=0.84,φk为音高fk的显著函数值,|X(hfk)|为fk的第h次谐波幅度。
[0084] 某演奏A3(220Hz)音符的音频信号一维傅里叶变换谱如图2所示,该音频的伪双谱如图3所示。图3为二维灰度图,部分二维谱峰值的颜色较浅这是由于高频谐波幅值较小导致,但不影响谱峰检测。同时演奏A3(220Hz)与E4(329Hz)的音频信号的一维傅里叶变换谱如图4所示,该音频信号的伪双谱如图4所示。图4中箭头所指为A3音符的三次谐波分量和E4音符的二次谐波分量,二者重叠,在一维傅里叶变换谱中无法将二者分离开,但在图5所示的伪双谱中可以将二者区分开,其中矩形框内的谱峰属于A3音符的二维模板,椭圆框内的谱峰属于E4音符的二维模板,而菱形框内的谱峰同时属于二者。图5中部分谱峰颜色较浅也是由于高频谐波分量幅度较低导致,但不影响谱峰检测。图6为某复调音乐的各音高真实值,图7为该段复调音乐的各音高估计值,在音高估计领域,估计值与真实值相差半个半音范围的都认为正确。由图可见本实施例提出的方法能准确的提取出复调音乐中的音高。
[0085] 实施例2:
[0086] 本实施例对伪双谱作出进一步说明,并对使用其作二维谱变换进行介绍。为了能够准确分离具有相同谐波频率成分的信号,本实施例构建一个全新的二维谱变换,以下称其为“伪双谱”。并定义了伪双谱的正逆变换,及其性质。该伪双谱适合多个具有谐波结构的信号分离问题。
[0087] 设输入信号为x(t),则其伪双谱定义为:
[0088]
[0089] 其中X(f1)和X(f2)为x(t)的一维傅里叶变换,(·)*代表共轭转置运算。t和τ分别为时间域信号x(t)和x(τ)的自变量。
[0090] 通过公式(1)定义的伪双谱,可将一维时间域信号x(t)映射到二维频率域,f1和f2为二维频率域中的自变量。
[0091] 该伪双谱具有如下性质:
[0092] (1)共轭对称性
[0093]
[0094] (2)时移特性
[0095]
[0096] (3)频移特性
[0097]
[0098] (4)边缘积分特性
[0099]
[0100]
[0101]
[0102] 其中X(f1),X(f2)是信号x(t)的一维傅里叶变换,(·)*代表共轭运算。由公式(6)可得:
[0103]
[0104] 由公式(8)可见,对伪双谱做一维积分,然后除以常数x*(0)可以得到任意频率处的一维傅里叶变换谱,对于给定实信号x(t),也可将公式(8)简化为下面公式(9),而不影响各个频率成分间的相对幅度关系。
[0105]
[0106] (5)时域卷积特性
[0107] 假设 其中 代表卷积运算,则y(t),x(t)和h(t)的伪双谱Py(f1,f2),Px(f1,f2)和Ph(f1,f2)具有如下关系:
[0108]
[0109] 其中 代表哈达玛乘积。
[0110] (6)信号伪双谱域能量
[0111]
[0112] 伪双谱逆变换:
[0113] 给定伪双谱Px(f1,f2)可通过如下两个公式任何其一得时间域信号x(t)[0114]
[0115]
[0116] 给定x(t)时,上面公式(12)和(13)中的x*(0)是常数,可看做比例因子,不影响信号的时域结构,当信号x(t)为实信号时,可以省略。
[0117] 具有H个谐波分量的谐波信号可表示为:
[0118]
[0119] 其中al为第l次谐波幅度,f0为基频,则根据公式(1)可得z(t)的伪双谱为[0120]
[0121] 其中δ(·)为狄拉克函数,l和m为谐波次数,al和am分别为第l次和第m次谐波幅度。由此可见,对于具有H个谐波分量的谐波信号,伪双谱变换生成H×H的二维模式。二维模式匹配,即谐波信号基频的确定,可通过如下公式实现:
[0122]
[0123] M个谐波信号的混合信号可表示为:
[0124]
[0125] 其中Hm和f0,m分别为第m个谐波信号的谐波数和基频, 为第m个谐波信号的第lm次谐波幅度。对于公式(17)所表示的混合信号的伪双谱为:
[0126]
[0127] 其中 为第m个谐波信号的伪双谱, 为zm(t)和zn(t)的交叉项,且
[0128]
[0129] 其中(m,n)∈{1,2,...M},且m≠n。
[0130] 对于具有M个谐波信号的混合信号进行模式匹配时,只需按照公式(16)所述的方法匹配M次即可。
[0131] 在一个实施例中,假设x(t)具有4个谐波分量,即 则通过本发明提出的伪双谱该信号可在二维频率平面上形成如图8所示的典型二维伪双谱模式。
在极端情况下,当谐波信号仅有一个频率成分,则伪双谱域中仍可将该信号映射为二维平面上的一个点,而通过双谱变换却无法将该单谱信号映射到双谱平面上。
[0132] 以演奏A3音符(基频为220Hz)的音频信号为例,给出该信号的伪双谱轮廓图,如图9所示,由图可见,对于具有谐波结构的实际信号可得到与图8所示相同的典型二维模式。在图9中低频信号附近有较小的峰扩散轮廓,随着频率的增大在二维谱峰附近出现了相对幅度较大的幅度轮廓,这是由傅里叶变换所固有的频谱泄露导致,但不影响二维谱峰模式匹配。
[0133] 图10为含有A3(220Hz)和D4(293.7Hz)的音频信号的伪双谱,A3的四次谐波分量与D4的三次谐波分量映射到相同的频率处,故采用一维傅里叶变换无法将这两个成分分离,而采用本发明提出的伪双谱可以将二者分离并且互不影响,如图10椭圆内的轮廓图可示。这些二维频率平面上的谱峰分别对应到两个音符的二维模式中,使两个音符能完全分离且互不影响。
[0134] 在该实施例中,本发明提出的伪双谱按照如下流程实施:
[0135] 步骤1:根据公式(1)对输入信号作伪双谱;
[0136] 步骤2:根据公式(16)表达的伪双谱二维模式对信号进行二维模式匹配。
[0137] 步骤3:根据模式匹配结果输出信号基频。
[0138] 步骤4:根据公式(8)得到各次谐波对应的幅度。
[0139] 步骤5:融合各次谐波的幅度与频率信息得到准确的谐波信号。
[0140] 以上所述,仅为本发明创造较佳的具体实施方式,但本发明创造的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明创造披露的技术范围内,根据本发明创造的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明创造的保护范围之内。