Эта заметка предназначена прежде всего для тех читателей, которые имеют дело с оцифровкой звука и звукообработкой вообще. При оцифровке звука с аудиокассеты возникла следующая проблема: амплитудное смещение, однако не DC Offset, то бишь постоянное по времени, а медленно меняющееся со временем амплитудное смещение. Характерный период смещения – несколько минут, в течении которых смещение плавно исчезает. Это видно на рисунке ниже:
И стандартным инструментом аудиоредакторов DC Offset ситуация не лечится. Его применение лишь смещает все одинаковым образом относительно нуля. Алгоритм тупо высчитывает среднее смещение всего аудиофрагмента и делает сдвиг на эту величину, а в данном случае величина сдвига зависит от временной точки аудиофрагмента.
Не найдя стандартной функции для переменного амплитудного сдвига я понял, что в данном аудиокуске всего лишь есть очень низкочастотные гармоники, с периодом по порядку величины равным характерному времени изменения сдвига, т.е. несколько минут. А значит частота этих гармоник порядка 1/200 – 1/60 Гц. Следовательно, нужно просто удалить эти супернизкочастотные гармоники и неравномерное смещение исчезнет.
А инструмент для подавления гармоник – эквалайзер. На нем я задавил самые низкие частоты:
Можно проделать эту операцию не один раз. В результате получаем звук почти без смещений (по крайне мере динамики при проигрывании не запирает)