Обновить
8K+
8
Михаил Гусев@mgaev

Пользователь

3
Рейтинг
3
Подписчики
Отправить сообщение

Под водой действительно всё сильно сложнее с локализацией.

Если говорить про практическую систему для ныряльщика, то, как мне кажется, более реалистичный вариант — это не уменьшенная «голова», а скорее массив микрофонов с последующей обработкой и подачей сигнала в наушники с учётом HRTF.

Но там уже начинаются вопросы реализации: герметичность, надёжность, питание, обработка сигнала в реальном времени. Для любительского уровня это довольно быстро упирается в сложность системы.

Интересный вопрос. Под водой проблема не только в скорости звука, но и в том, что сильно меняются условия распространения: меньше разница по времени прихода сигнала, почти отсутствует эффект экранирования головой и по-другому работают ушные раковины.

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

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

Выложил проект на GitHub:
https://github.com/mgaev/BingoHeadSuite

Код в текущем виде — это результат эксперимента, без дополнительной «полировки», но в целом отражает то, что описано в статье.

Да, согласен — чем больше контекста есть у модели, тем лучше результат.

В моём случае как раз было интересно посмотреть, насколько это работает в более ограниченном сценарии: через диалог и передачу кода фрагментами, без прямого доступа к проекту.

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

Возможно, с Copilot проект можно было бы реализовать быстрее.

Но задача эксперимента была в другом — посмотреть, насколько далеко можно зайти, работая именно в диалоговом режиме с ChatGPT, без дополнительной автоматизации.

В этом смысле интересен был не только результат, но и сам процесс.

Здесь немного другая задача :-)
Речь не про моделирование геометрии головы, а про запись звука. Бинауральная голова — это физический макет с микрофонами в «ушах», который позволяет записывать звук так, как его воспринимает человек.

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

А идея использовать ИИ для доработки самой модели головы интересная — нужно будет попробовать.

В моём случае задача была именно поработать с ChatGPT — это было исходным условием эксперимента (в том числе из-за требований на основной работе). Поэтому другие модели не рассматривал.

Возможно, с ними результат можно получить быстрее, но здесь интересен был именно сам процесс.

Надо будет попробовать и результат использовать для новой статьи :-)

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

Да, внутренний объём головы может влиять — по сути это замкнутая полость, которая способна образовывать резонансы. Поэтому демпфирование внутри корпуса действительно имеет смысл.

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

Да, это интересное направление. Индивидуальная геометрия ушной раковины сильно влияет на HRTF, поэтому фотограмметрия или 3D-сканирование уха могли бы дать более персонализированную модель.

Я пока в эту сторону не копал — в прототипе использовалась усреднённая геометрия. Но для персональных бинауральных систем такой подход, конечно, выглядит вполне логичным.

Да, WM61A и его клоны вполне подходят для таких задач. В моём случае для прототипа оказалось проще использовать готовые петличные микрофоны — там уже есть корпус, кабель и согласующая обвязка.

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

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

TPU я рассматривал, но в итоге решил идти через силикон. С ним проще получить более мягкую и однородную структуру, плюс можно экспериментировать с жёсткостью материала.

Нос и лицо в целом действительно влияют на запись. Они создают дополнительные отражения и дифракцию звука, особенно для фронтальных источников. Поэтому в HRTF-моделях обычно используется не только ухо, но и вся геометрия головы и лица.

Насколько это критично — отдельный вопрос. В бинауральных манекенах чаще всего используют усреднённую геометрию, потому что индивидуальная форма головы у всех людей всё равно разная.

Поэтому идея с несколькими типовыми моделями (как размеры одежды) периодически обсуждается, но на практике чаще используют одну усреднённую голову.

Спасибо за наводку. Я знаю про микрофоны ARK, у них интересные решения. В моём случае ограничением была геометрия слухового канала и размеры микрофона. Плюс это всё-таки прототип с умеренным бюджетом, поэтому в итоге остановился на компактных петличных микрофонах.

Да, это справедливое замечание. Записи есть, просто я не вставил их в статью. Попробую выложить несколько примеров чуть позже.

Я дорабатывал свои модели, поэтому точных ссылок на мои исходники нет.

Для экспериментов можно воспользоваться, например, моделями проекта OpenAural:
https://www.thingiverse.com/thing:4691843

Там уже есть ухо и голова. Дальше всё равно придётся подгонять геометрию под микрофоны и конструкцию.

Информация

В рейтинге
1 530-й
Зарегистрирован
Активность

Специализация

Десктоп разработчик, Инженер встраиваемых систем
Ведущий
ООП
Алгоритмы и структуры данных
C++
C
Разработка программного обеспечения