Pull to refresh
54
-2.9

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

Send message

То есть это что-то вроде динамичной интерференционной картинки? Может, оно и так...

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

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

Но нужно признать, что эти механизмы мало изучены и таят ещё много загадок...

Если принять скорость распространения звука в жидкости порядка 1500 м/c, то длина волны для сигнала в 500 Гц составит 1500(м/c) / 500(1/c) = 3 м, что немало, учитывая скромные геометрические размеры слуховой улитки.

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

Большое спасибо за обратную связь! Радует и вдохновляет, что статья такой непростой тематики кому-то интересна!

Ещё вспомнилось пару аргументов в пользу аналогового принципа получения амплитудного спектрального рисунка (наподобие спектограммы):

  • вряд ли слуховая нервная система способна работать на килогерцевых частотах (воспринимая высокочастотные колебания звука напрямую), ведь даже мощный визуальный тракт уже после 20 Гц начинает склеивать картинки-кадры и воспринимать объекты на них в движении; и если мерцание монитора в 60-75 Гц ещё можно заметить, то 100 Гц и выше уловить уже намного сложнее

  • ну слух практически неразличимы сигналы, где отброшена фазовая компонента (например, зачастую трудно отличить оригинальный wav и сжатый mp3 в высоком качестве), значит, фазы гармоник при восприятии человеком не особенно учитываются и форма волны во временном представлении может варьироваться при тех же звуковых ощущениях

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

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

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

Насчёт сжатия - вопрос открытый для исследований... С определёнными оговорками кодировать растровые и векторные картинки в Фурье-образы можно уже сейчас (см. видео про детальный алгоритм кодирования), но будет ли это эффективным форматом хранения информации, обеспечивающим сжатие без существенных потерь в качестве, для сложных и даже фотографических изображений - мне даже предположить трудно. Здесь широкий простор для работы и экспериментов...

Ламповая и красивая демка получилась, благодарю! Эффект постепенного угасания добавляет картинке плавности и живости!

Не уверен, что верно понял ваш вопрос, но, резюмируя, алгоритм в общих чертах следующий:

  1. берётся временной кадр [например, 1024 отсчёта] с прямоугольным окном

  2. произвобится быстрое преобразование Фурье для получения спектрального кадра

  3. выполняется интерполяция спектрального кадра по фазе и амплитуде (ФАИ)

  4. выделяются значимые гармоники сигнала

  5. на основе значимых гармоник происходит построение геометрии

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

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

Алгоритм и программа реализованы на языке C# (платформа .NET), для визуализации в десктопной версии использована технология WPF, а в мобильной связка: платформа Xamarin + графический фреймворк Skia.

~

Также в комментариях выше (1, 2) @iShrimp и @alcotel подсказали, что подобную геометрию (но без интерполяции) в теории можно получить и немного другим путём:

  1. берётся временной кадр [например, 1024 отсчёта] с прямоугольным окном

  2. произвобится быстрое преобразование Фурье для получения спектрального кадра

  3. необходимо умножить спектр БПФ на плюс/минус мнимую единицу (знак влияет на ориентацию геометрии по либо против часовой стрелки), что эквивалентно сдвигу спектра по фазе на +/-90 градусов

  4. затем для сдвинутого спектра нужно выполнить обратное БПФ, чтобы получить смещённый по фазе исходный сигнал во временной области

  5. после чего по оси Y откладывать оригинальный исходный сигнал, а по оси X смещённый по фазе

На практике это предположение пока что не проверял, но оно очень похоже на правду.

Стуки и щелчки (прямоугольные всплески) на Фурье-спектре обычно выглядят очень размыто (растекаются), то есть задействуются широкие области спектра, как если бы мы нажали одновременно на десяток-другой соседних клавиш пианино с разной, но значимой интенсивностью.

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

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

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

Когда стена плоская, то фронт волны отражается от неё линейно, но если стена или потолок, скажем, закруглены, то фронт исходной волны в отражённой начнёт менять форму... Полукруглый свод будет собирать и фокусировать звук словно вогнутое зеркало. Наглядный пример в природе - устройство ушной раковины у животных.

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

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

только считал по 3 точкам, а не по 4

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

Большое спасибо за пояснение, кажется, мне стало понятнее! Есть подозрение, что получится та же геометрическая картинка, но это надо проверить...

Про переходы фаз - это отдельная головоломка! Но в практических экспериментах следующий алгоритм неплохо справляется и с этой задачей

		var distance = (cP - bP) / Pi.Single;
		var turn = Math.Abs(distance + 0.5) > 1.0;

		...
		var bcP = bP + (bcF - bF) * (cP - bP) / (cF - bF);
		/* y(x) = y0 + ( x  - x0) * (y1 - y0) / (x1 - x0) */

		if (turn)
			bcP += Pi.Double * (cF - bcF) / (cF - bF);
		if (bcP > Pi.Single)
			bcP -= Pi.Double;

Только не спрашивайте, как его получил... Долго эксперементировал - и вывелось из наблюдений интуитивно!

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

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

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

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

Это если у них довольно разная длина волны (хотя бы раза в 2), а вот если похожая то будет каша.

Когда у волн схожая частота (длина волны), то они начинают резонировать: гасить либо усиливать друг друга, в зависимости от разности фаз. В слуховом восприятии начинает становиться заметным эффект биений, чем-то напоминающий интерференцию [смотреть и слушать вкладку Resonance в программе].

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

В общем случае любые две волны являются резонирующими, но дело в разрешающей способности приёмника/восприятия [уровню квантования, пикселизации]. Если имеется очень длинный временной кадр [много отсчётов, информации и вычислений], то после БПФ получится спектр с достаточно высоким разрешением, который позволит рассмотреть близлежащие гармоники, однако, при уменьшении длины кадра (но с сохранением прежней частоты дискретизации), рано или поздно на спектре соседние гармоники сольются и разделить их станет куда сложнее, если вообще возможно... Тут начнёт проявляться что-то наподобие принципа неопределённости Гейзенберга из области квановой механики для измерения времени и частоты.

Можно возразить, что, согласно теореме Котельникова-Найквиста-Шеннона, при соблюдении верной частоты дискретизации, иходный сигнал можно востановить с изначальной точностью даже в случае слившихся гармоник, передискретезировать с большей частотой [повысить разрешение] и далее распознать эти гармоники. Однако в наивной интерпретации теоремы выходит, что практически любой сигнал можно восстановить лишь по двум и даже одному отсчёту... Но для этого нам, как минимум, нужны числа с точностью устремящейся в бесконечность, то есть информационная ёмкость одного или двух чисел должна быть эквивалентна большему массиву чисел с меньшей информационной ёмкостью. То есть в абстрактном смысле проблема сводится к вопросам вычислимости, энтропии и информации. Это насколько сам понимаю, в чём-то могу ошибаться.

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

~

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

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

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

Нашлась публикация про исследование в области аккустических призм.

Не пробовали ли вы вычислять вторую координату с помощью фазового фильтра, поворачивая фазы на pi/2 (через БПФ или что-нибудь типа преобразования Гильберта)?

Именно такие подходы не исследовал, из описания мне не совсем ясны детали их реализации.

Спасибо за обратную связь! Разработка под Андроид очень специфичное занятие, поскольку нередко случается, что программа работает на одном устройстве, но падает на другом... Если дойдут краш-логи, то по возможности постараюсь ошибку пофиксить.

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

Information

Rating
Does not participate
Registered
Activity