Форум сайта python.su
Я совсем недавно познакомился с Питоном, опыта у меня совсем ещё мало. А задача стоит (для меня) непростая - работа со спектрами аудио-сигнала.
Как известно, при расчёте АЧХ аудиотрека (для моих целей аудио будет иметь параметры 16 bit 44100 Hz mono), а именно к амплитудам массива fft, применяется нормализация (окно Hann, Blackman-Harris итд). Благодаря её типичный линейный вывод АЧХ выглядит примерно так:
Так отображается АЧХ в программе Adobe Audition
Также известно, что после в результаты работы fft (scipy, numpy) в массиве содержатся не нормализованные значения амплитуд. Используя в питоновском скрипте fft и rfft, нормализацию нужно организовать самому - тут у меня и начинаются траблы.
Для сравнения: слева данные из Audition-a (амплитуды в норме), а справа - переведённый в дБ массив fft (также с FFT size = 1024) - шкала амплитуд неверная.
Помогите, пожалуйста, написать корректно блок нахождения АЧХ для аудиофайла. Наиболее оптимальным мне видится работа библиотеки wave (для считывания данных аудио). А вот как дальше нормализовать полученные значения амплитуд спектра - ума не приложу.
Отредактировано Skeeter (Сен. 15, 2016 11:39:32)
Офлайн