解释1-五氯苯酚

早些年,本文描述了一种从音乐的声音信号中实时识别和弦的方法。它的主要思想是输入连续的声音信号,转换成音乐中的十二平均律,对应钢琴中一个八度的键,识别和弦的每个音。

首先,我们获取输入声音信号并将其转换为离散傅立叶变换(DFT)的声谱图,然后我们将该声谱图转换为音高类别轮廓(PCP)。然后根据准备好的和弦模板,用PCP进行模式匹配,最终得到根音和最终和弦类型。

该算法首先将输入声音信号流转换成DFT图,假设f s为采样频率,x(n)为n个采样点中的第n个输入声音信号段。那么DFT谱的公式如下,其中k = 0,1,2...N-1,而我们的X(0),X(1)...X(N/2-1)表示我们的整个谱。

X(k)表示f s * (k/N)频率波的正弦系数。我们的问题是,它所能表达的频率与采样点数有关。这在理论上是合理的。采样点越丰富(越详细),我们能描述的频率就越详细。

当我们看到傅里叶变换的原理时,我们会想到的方法可能是构造正弦和余弦函数的线性和,设计很多参数,最后通过某种手段求出参数。

其实这个思路本质上没什么问题,我们的目标就是把函数分解成正余弦函数的组合。有科学家发现,所有的周期函数都可以由正弦和余弦函数的加减构成。

那么接下来的问题就是,如果我们的原函数的周期是t,如何保证组合函数的周期也是t?

如果sin(x)的周期是2π,那么sin(2x)的周期也是2π(虽然最小周期是π)。更一般地说,如果f(x)的周期为t,那么下式的周期也为t,因此,这些函数的加减可以保证组成的函数有一定的周期t。

接下来对三角函数的幅度做一些调整,然后加减三角函数。

最后,我们构造的近似和是这样的。这个公式表达了无限频率的正弦和余弦波的线性组合。

假设我们的函数可以分解如下

如果去复平面,应该是欧拉公式构造的公式的虚部。

很明显,根据我刚才说的,e it+e i2t表示两个向量的和。

更一般的,我们可以写出函数向量的表达式。

函数向量的点积是这样定义的。

根据函数点积的定义,我们可以自己计算下面的公式。

那么如何得到对应函数向量的坐标呢?

假设w = a u+b v (w,u,v都是向量,其中u和v是正交的)。

那么可以通过下面的公式获得底u的坐标a:

向量函数sin(x)的坐标应该是

现在,让我们回顾一下之前的假设。

我们可以这样改写(所有不同频率的正余弦向量函数在同一周期内必须正交)。

我们可以得到f(x)的另一种形式

在…之中

我们可以得到离散形式的f(x ),它表示P种不同频率的波叠加的函数,其中ω是所有频率波的单位频率,决定了波叠加的效果,ω = 2π/n。

当n=1,2,3时...p,让

因为单位频率是2π/N,所以有这样一个特殊条件:

其中C n表示n=0时的DC分量,所有系数都可以在n=1的范围内表示...p(即1...(N-1)/2),N上的系数= p+1...n只是对称的。

所以,一般来说,我们需要找到前半部分的系数。

现在我们来回顾一下我们的公式,相信很容易理解。

这与论文中的描述一致,我们只需要求X(k)的值(k = 0...N/2-1)。这里X(k)和C n的等价性。

其实C n就是对应频率的波在复平面上的点坐标,我们可以用这个来计算对应频率的波的振幅。

DFT后对应谱的某一点C n或X(k)可以用复数a+bi来表示。那么这个复数的模为Ak=√(a * a+b * b),那么振幅a为

对于n=0的信号,其幅度为0,通常作为一个整体偏移存在,称为DC分量,其幅度为A1/n

最后,我们注意到,由于DFT结果的对称性,我们通常只使用结果的前半部分,即小于一半采样频率的结果。(根据奈奎斯特理论,可恢复信号量的频率必须小于采样频率的一半。)

对于X(k),我们可以继续推导出PCP,它的12维向量代表了钢琴八度音程内的12个半调级。

设p = 0,1,2...11,那么我们定义公式(1) PCP(p)如下:

本文选取了27组和弦,利用上述过程通过手动调整得到模板PCP。

本文给出了两种评价匹配性能的方法:

1,pcp平滑

2.和弦过渡的感知

3.五氯酚预处理

4.消除M(l)中的无关区域

5.使用DFT窗口

6.静音检测

7.噪声检测

引用

/问题/23234701/答案/26017000

/questions/13722/pitch class-profiling

/questions/36752485/python-code-for-pitch class-profiling

/70549/