Локализация источника звука с помощью DIY звуковой камеры
Локализация источника звука с помощью DIY звуковой камеры

Акустическая (или шумовая) камера — это устройство визуализации, которое используют для обнаружения источника звука и его характеристик. Прибор точно определяет, откуда исходит звук (крик птицы, утечка газа, двигатель квадрокоптера и т. д.).

Ещё недавно радары с фазированной антенной решёткой считались высокотехнологичным хайтеком, доступным только избранным. А сейчас собрать акустическую камеру можно своими руками. В интернете есть несколько инструкций, как это сделать.

Разные акустические камеры

Сам термин «акустическая камера» в разные времена обозначал разные вещи.

  1. Область внутреннего уха. Термин впервые появился в 1898 году, когда немецкий физиолог Юлиус Эвальд исследовал структуру внутреннего уха и обнаружил там область, похожую на пластины Хладни. Это фигуры, которые резонируют под воздействием акустических колебаний. Физиолог назвал эту область внутреннего уха «акустической камерой».

    Песок на поверхности пластин Хладни формирует причудливые фигуры под воздействием стоячих волн (то есть чередующихся зон колебаний и покоя)
    Песок на поверхности пластин Хладни формирует причудливые фигуры под воздействием стоячих волн (то есть чередующихся зон колебаний и покоя)
  2. Системы подводной локализации. По меньшей мере с 1960-х годов термин использовался для систем подводной локализации, как описано в статьях «Подводная акустическая камера» (1966), «3D акустическая камера для подводной съёмки» (1993) и др. В данном случае приборы используются, чтобы ориентироваться в мутной воде с минимальной видимостью, где обычные камеры бесполезны.

    Съёмка подводной акустической камерой от австралийской компании HW Technologies
    Съёмка подводной акустической камерой от австралийской компании HW Technologies
  3. Медицинские сканеры. Тут термин обозначает любой массив преобразователей, который используется для локализации звуковых источников, часто в сочетании с оптической камерой. Применяется в диагностике.

  4. Лазерные акустические камеры. В 1969 году Корпель с соавторами описали метод быстрого формирования акустических голограмм на частоте 2,25 МГц с использованием лазерной сканирующей техники, показанной на рисунке:

    Такая камера с большей апертурой может формировать акустические изображения и голограммы в реальном времени.

В конце концов, в 1975 году американец Джордж Гилмор получил патент US3895340A с описанием «аппарата акустической камеры».

Схема из патента US3895340A
Схема из патента US3895340A

Где используются

Существует много практических применений акустической камеры. Одно из самых популярных — измерение уровня шума от автомобилей, поездов, самолётов, ветряных турбин, строительных работ, бурения и т. д. Точная локализация источника помогает решить проблему и уменьшить уровень шумового загрязнения.

Например, в научной статье по аэроакустике отмечается, что во время приземления главный генератор шума — это шасси:

Картограммы фазированных антенных решёток на разных частотах
Картограммы фазированных антенных решёток на разных частотах

3D-акустические камеры используются для повышения комфорта внутри автомобилей и самолётов. Сферическое размещение микрофонов позволяет локализовать источники звука во всех направлениях.

Акустически прозрачные сферические массивы с 48 и 120 каналами и встроенной видеокамерой
Акустически прозрачные сферические массивы с 48 и 120 каналами и встроенной видеокамерой

На видео приведён пример отслеживания БПЛА с помощью популярного питоновского пакета Acoular (ниже в статье есть примеры кода, как именно обрабатывать звук в этом пакете):

Акустические камеры всё чаще используются для обнаружения утечек в трубах. Устройства начального уровня подходят для рутинного обслуживания объектов во время обходов. Например, недорогая акустическая камера Acoustic Visualizer когда-то продавалась на eBay, а сейчас можно найти что-то похожее от китайских производителей.

Такая камера помогает в поиске неисправностей в машинах и механических частях, показывая источник звука. При проколе шины велосипеда тоже сразу видно место прокола.

Дисплей Acoustic Visualizer
Дисплей Acoustic Visualizer

В полиции акустические камеры применяются в некоторых городах для точной локализации звука выстрела, чтобы сразу выехать на место происшествия. В военном деле они используются примерно для той же цели, только против артиллерии, чтобы оперативно отправить ответный снаряд.

Ручная акустическая камера FOTRIC TD2
Ручная акустическая камера FOTRIC TD2

Самодельные камеры

Прибор состоит из массива микрофонов, которые одновременно записывают звук. Если точно зарегистрировать время получения сигнала каждым из микрофонов и его громкость, то можно рассчитать координаты источника. Эту задачу выполняет DSP.

Американский энтузиаст Майкл Нават (Michael Navat) в своём DIY-проекте постарался собрать максимально простую акустическую камеру. Требования более чем скромные:

По сути, этот UMA-16 v2 USB mic array — уже почти готовая акустическая камера. Нужно только найти подходящий софт.

UMA-16 v2 USB mic array, фото из магазина. По центру отверстие для опционального камера-модуля
UMA-16 v2 USB mic array, фото из магазина. По центру отверстие для опционального модуля камеры

Установку лучше всего крепить на штатив с гибкими ножками, чтобы удобно было направлять в ту сторону, где мы собираемся проводить измерения. Вот как она выглядит в реальной жизни:

Запись видео и звука

Для записи видео и синхронизации со звуковыми дорожками использовались OpenCV и PyAudio, и опять же немного собственного кода.

Весь код опубликован на GitHub. Программа работает из консоли. Команда для записи видео и звука:

./record.sh

Получаем результат:

video.avi audio.wav

Оказалось неожиданно сложно найти софт для записи 16-канального звука, Audacity для этой цели не подошёл. Поэтому автор принял решение написать собственное решение на Python.

Формирование диаграммы направленности

На самом деле существует не один, а несколько алгоритмов для формирования диаграммы направленности (beamforming) исходя из информации о звуковом давлении на каждом микрофоне. Acoular — популярный пакет для акустического бимформинга. Пакет устанавливается стандартным способом для Python, а для визуализации звука можно выбрать алгоритм по умолчанию.

Поскольку Acoular работает с файлами формата .h5, нужно сначала конвертировать .wav в .h5. Это делается с помощью питоновских пакетов SciPy и PyTables. Вот небольшой пример из официальной документации Acoular, где 64-канальный audio.wav загружается в виде массива numpy, затем сохраняется в your_filename.h5:

from scipy.io import wavfile
import tables
import numpy
#read data from wav
fs, data = wavfile.read('./folder_to_your_audio/audio.wav')
#output
folder='./output_folder/'
name= 'your_filename.h5'
#save_to acoular h5 format
acoularh5 = tables.open_file(folder+name, mode = "w", title = filename)
acoularh5.create_earray('/','time_data', atom=None, title='', filters=None, \                         expectedrows=100000, chunkshape=[256,64], \                         byteorder=None, createparents=False, obj=data)
acoularh5.set_node_attr('/time_data','sample_freq', fs)
acoularh5.close()

При адаптации этого кода, разумеется, число каналов уменьшаем до реального в микрофонном массиве. В UMA-16 это 16 каналов.

Потом приступаем непосредственно к формированию диаграммы направленности. Все примеры кода ниже исполняются в интерактивном блокноте Jupyter Notebook.

Следующий код отображает расположение микрофонов на miniDSP UMA-16 и делает расчёт, который используется в дальнейшем для визуализации диаграммы направленности:

from os import path
import acoular
from pylab import figure, plot, axis, imshow, colorbar, show
micgeofile = path.join(path.split(acoular.__file__)[0], 'xml', 'minidsp_uma16.xml')
datafile = 'audio.h5'
mg = acoular.MicGeom( from_file=micgeofile )
ts = acoular.TimeSamples( name=datafile )
ps = acoular.PowerSpectra( time_data=ts, block_size=128, window='Hanning' )
rg = acoular.RectGrid( x_min=-0.2, x_max=0.2, y_min=-0.2, y_max=0.2, z=0.3, increment=0.01 )
st = acoular.SteeringVector( grid = rg, mics=mg )
bb = acoular.BeamformerBase( freq_data=ps, steer=st )
pm = bb.synthetic( 8000, 3 )
Lm = acoular.L_p( pm )
figure(2, figsize=(5,5))
plot(mg.mpos[0], mg.mpos[1],'o')
axis('equal')
show()

Результат:

Визуализации диаграммы направленности:

imshow( Lm.T, origin='lower', vmin=Lm.max()-3, \       extent=rg.extend(), interpolation='bicubic')
colorbar()
На диаграмме отображается расположение источника звука на протяжении всей записи. Чем ярче жёлтый, тем выше уровень звукового давления. Область максимального звукового давления растянута, так как источник звука перемещался
На диаграмме отображается расположение источника звука на протяжении всей записи. Чем ярче жёлтый, тем выше уровень звукового давления. Область максимального звукового давления растянута, так как источник звука перемещался

Чтобы сопоставить визуальные и аудиоданные, можем наложить диаграмму на видео следующим образом:

В конце концов, можно наложить звук на сгенерированное видео, то есть объединить файлы:

ffmpeg -i video.avi -i audio.wav -c:v copy -c:a aac output.mp4 

Автор говорит, что акустическую камеру можно смастерить и из более дешёвых компонентов. Например, в китайских магазинах можно найти четырёхмикрофонный массив ReSpeaker 4 для Raspberry Pi ценой $24,90 или его аналоги. И ещё можно использовать другие алгоритмы обработки сигнала, кроме стандартного в Acoular. Например, GCC-PHAT (Generalized cross-correlation).

ReSpeaker 4
ReSpeaker 4

Рассматриваем звуки и запахи

Напоследок хочется напомнить, что человеческое зрение — крайне несовершенный инструмент. При 120 млн «пикселей» глаза пропускная способность оптического нерва в сто раз меньше из-за физических ограничений на его толщину (1,2 млн волокон). Очень много информации теряется в процессе передачи. В результате визуальная кора мозга вынуждена достраивать картинку, добавляя отсутствующие объекты и восстанавливая предполагаемый оригинал по сжатому и неполному сигналу. Из-за этого возникают различные искажения и дефекты.

Визуально наблюдать звук кажется необычным поначалу. Но это абсолютно нормально. Если в мозге формируются связи между специализированными частями нейронной сети и визуальной корой, то можно «увидеть» не только звуки, но и запахи. Таких примеров довольно много среди обычных, здоровых людей.

© 2026 ООО «МТ ФИНАНС»

Комментарии (7)


  1. Litemanager_soft
    19.10.2026 07:50

    честно не знал что такие камеры существуют, так на фото на заставке комбинированное изображение? с обычной камеры и звуковой или как?


  1. softi
    19.10.2026 07:50

    Так и не увидел в статье демонстрации результатов конкретно автора (точки по сетке - вообще график не о чем).


  1. Gansterito
    19.10.2026 07:50

    miniDSP UMA-16 microphone array + USB camera (~275 USD)

    Как игрушка - пока дороговато.


    1. DmitriiR
      19.10.2026 07:50

      Можно закупить микрофонов и собрать, ацп входов лиш бы хватило,хотя можно переключать.

      Интересно былоб в ультрозвуке,на малой дистанции. Им же и "подсвечивать". Длина волны будет мизерная, разрешение хорошее.

      П.с. Находил ... кто то делалл массив десятки микрофонов в матрицу


      1. pvvv
        19.10.2026 07:50

        MEMS микрофоны с PDM(DSD) выходом уже сразу с "мультиплексором" на борту идут: выход на половину клока в HiZ. Если они нормально переживут сильно перекошенные клоки c duty cycle 1/8, их можно просто в матрицу 8х8 собрать, объединив клоки по столбцам, выходы по строкам и через всего 8 I/O читать всю матрицу из 64 микрофонов, а клоки вообще через сдвиговый регистр с по кругу бегающей 1. весь BOM на 15-20$.


  1. woodiron
    19.10.2026 07:50

    Порыскал - у нас можно купить китайца Hertzinno HA3T, 144 микрофона и тепломатрица 640*512, 2-150кГц. Но тут засада, цен российский дистрибьютор Балтех открыто не предоставляет, только по запросу. Но если покопаться, то обнаруживается латвийский(или литовский, не понимаю - LV) интернет магазин с ценой 19712 евро. То есть можно ожидать нашу цену заметно повыше, но если для дела, то можно и заплатить.


  1. chebo
    19.10.2026 07:50

    Если источников звука несколько, их надо как-то селектировать по спектру звука и показывать как отдельные источники, а не общей кашей на экране.