Типичная FFT для аудио выглядит очень похоже на это, большая часть действия происходит на дальней левой сторонеНормализация FFT Данные для человеческого слуха
http://www.flight404.com/blog/images/fft.jpg
Он умножив его на частичную синусоиды, чтобы получить это на дно, но статья не слишком специфична в этой части. Это также похоже на «достаточно хорошую» модификацию набора данных, а не на основе какого-либо свойства. Я понимаю, что человеческий слух лучше подходит для более высоких частот, таким образом, большинство музыки будет усиливать бас и аттенуированные высокие частоты, чтобы оба звучали для нас как относительно равные силы.
Мой вопрос заключается в том, какая модификация должна быть выполнена для БПФ, чтобы компенсировать этот стандартный спад?
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
Я наткнулся на эту статью, я думаю, что это может быть направление направиться в, но все еще может быть некоторое свойство FFT, который должен быть counteracte.
Большинство действий для человеческого слуха происходит <20 кГц, поэтому в зависимости от вашего размера FFT вы можете увидеть доминирующее «действие» на левой стороне. Помните, что БПФ отражается около 1/2 размера БПФ. –
Ну, аудиосигнал составляет 44100 Гц, а полученный FFT закрыт при 22500 Гц. Я только что объединил вторую половину данных. – 2009-05-09 05:27:11
вы не можете усечь последнюю половину данных! он используется для преобразования из частотной области во временную область (также звучит снова слышимый звук). –