有关音频的典型FFT看起来非常相似,这一点,大多数的动作发生在最左侧

http://www.flight404.com/blog/images/fft.jpg

他乘以它由一个局部正弦波来得到它的底部,但文章没有这部分内容过于具体。这也似乎是一个“足够好”的数据集的基础上的一些属性修改,而不是一个。据我所知,人的听觉是更适合于较高的频率,因此,大多数音乐将已放大的低音和高音减毒使得两个声音我们为的相对相等的强度。

我的问题是修改需要做的FFT来弥补这个标准衰减什么?

for(i = 0; i < fft.length; i++){
     fft[i] = fft[i] * Math.log(i + 1); // does, eh, ok but the high
                                        // end is still not really "loud"
                                        // enough
}

EDIT ::

http://en.wikipedia.org/wiki/Equal-loudness_contour

我读到这篇文章,我想可能是头的方向,但仍有可能是必须counteracte的FFT的某些属性。

有帮助吗?

解决方案

首先,你确定要这么做吗?这是有道理的,以弥补一些东西,比如不是平坦的麦克风响应,但不是人类的感知。人们用来与频谱内容的声音在现实世界中,没有一起感知等响度曲线听到的声音。如果您播放您的方式进行修改完善的建议,你会听起来很奇怪。也许有些人喜欢的音乐具有增强低频,但这是味道,而不是心理物理学的问题。

或者,也许您正在补偿由于某些其他原因,例如,考虑到较差的灵敏度较低的频率可能提高压缩算法。这个概念呢?

如果你想通过等响度曲线正常化,应该注意的是大部分的曲线和方程都是声压级(SPL)的条款。 SPL是波形振幅的平方的日志,所以当你与FFT的工作,它可能比较容易与他们的平方(功率specta)工作。 (或者,当然了,你可以用其他方式补偿由,比如说,通过开方(日志(我+ 1))在上述公式乘以 - 假设日志是逆等响度曲线的近似值)

其他提示

我认为等响度曲线是完全正确的方向。 然而,它的形状取决于绝对压力水平。 换句话说我们的听觉的灵敏度曲线与声压的变化。

有没有“正确正常化”如果你不知道绝对水平的信息。 如果这是一个问题取决于你想用数据做什么。

响度轮廓被标准化在ISO 226,但是该文件是不能自由地提供下载。它应该是一个体面的大学图书馆虽然。 这里是另一个来源 响度曲线

所以,你努力提高高端频率的水平?听起来像一个最小倍数高通滤波器可以工作,这样你就不会衰减低频信号太多。拿起一本好书滤波器的设计,也许猴子周围此applet

在第一个采样的旧时代,这是MOTU升压人们面前:)这不是FFT,但简单(费尔莱特或罗兰首先我认为)标准化原始或得到的时域信号进行(如果你是做节拍切片,循环式);你不能这样做呢?或者只是去为你FFT补偿,以抵消它后?

似乎是一个两分相过程,否则,我个人离开FFT如对于任务..

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top