Изображение как звук

Ilya Siganov
Звуки  — картины
3 min readSep 3, 2015

--

А что будет если над изображением применить не обычные фильтры или спецэффекты из фотошопа, а аудио эффекты из звукового редактора, например, эхо, реверберация, эквалайзер, увеличить низкие или верхние частоты. Может быть интересно. Но как это сделать? Располагайтесь по-удобнее, сейчас на ваших глазах будет происходить магия преобразования форматов данных.

Матчасть

Чтобы применять над изображением фильтры аудио, нужно уметь сохранять и открывать изображения как звуковые файлы. Напрямую это сделать невозможно. Но в таких программах как Gimp и Audacity есть возможность работать с так называемыми сырыми данными без заголовков.

Магическая последовательность ffd8ff означает, что это jpeg.

Обычно в заголовках всегда описан формат данных, чтобы программы могли понимать как интерпретировать бинарные данные из полезной нагрузки. Если же мы сохраним только данные из полезной нагрузки, то получим сырые данные без заголовка(raw), которые можно интерпретировать как угодно.

Чтобы сохранить картинку в формате raw, откроем ее в gimp и экспортируем как Raw Image Data с расширением .data. Выберем режим сохранения RGB Planar, т.е. в файле сначала будет идти значения яркостей пикселей канала Red, далее Green и Blue.

В Audacity импортируем .data файл. Кодирование выбираем U-Law, без учёта байтового порядка, одноканальный режим.

Басы

Начнем с простого эффекта — увеличим басы в картинке.

Исходное изображение
Увеличенные басы

Эхо

Эхо-эффект — один или несколько сигналов задержанные во времени с затуханием добавляются к существующему сигналу. Интересно посмотреть как это выглядит. Выставим время задержки 2с и коэффициент затухания 0.3.

Исходное изображение
Эффект Эхо
Эффект Эхо

Реверберация

Реверберация — это процесс постепенного уменьшения интенсивности звука при его многократных отражениях.

Эффект реверберации

Есть еще куча всяких разных звуковых эффектов. А еще можно по-разному сохранять в raw-формат данные — planar RGB, просто RGB, RGB с альфа каналом, режим BMP. Можно по-другому импортировать raw-данные в звуковой редактор. В общем экспериментировать можно очень много. В следующих постах этой серии я покажу, что бывает в случае ошибки экспортирования, как сжатие влияет на данные и другие интересные опыты.

--

--

Ilya Siganov
Звуки  — картины

Omsk ML club lead. Teach students to code. PhD student in CS. Research developer at 7bits.it. Anime, Neural networks, GameDev.