Я думал, я один такой псих, что прикидывал оптимальные действия в подобной ситуации во время одного из перелётов.
В целом пришёл к тому же выводу — сначала гасить скорость, падая плашмя, при этом по возможности маневрируя в сторону чего-то помягче, а перед смертью — в позу парашютиста (если падаем на землю), либо в солдатиком (если в воду).
Не во всех авиакомпаниях такой подход.
Несколько лет назад на Филиппинах летели внутренним рейсом, так они около аварийных выходов старались сажать ребят покрупнее и покрепче — в основном молодых европеоидов. При этом уточняли, готовы ли эти люди если что открывать люк, не страдают ли хроническими заболеваниями и т. д.
И кстати, насчёт «продаются дороже». Во многих типах ВС два смежных ряда являются проходными к аварийному выходу. В обоих обычно чуть больше места для ног (что приятно), но в переднем из них кресло по понятным причинам не откидывается…
Согласен, для живой работы свёртка в лоб позволяет получить минимальную задержку ценой более сложных вычислений. Впрочем, я думаю, если потребуется, можно и на FFT получить в пределах 1мс «лишней» (то есть сверх того, что даёт сам импульс) задержки, выиграв в несколько раз по вычислительной сложности (возможно, Refridgerator назовёт конкретные алгоритмы). Но это уже задача оптимизации конкретного аппаратно-программного решения — решать её в общем виде не особо интересно.
Ошибку в Octave посчитал очень просто.
Вычислил свёртку одного и того же музыкального фрагмента (44кГц, 16бит — кажется, под руку попалось что-то из Led Zeppelin) с одним и тем же импульсом (полученным как описано в посте), вычел один результат из другого и посмотрел минимум, максимум, RMS. Максимум получился на несколько порядков ниже шума квантования, так что детальнее разбираться не стал.
Для Stereo Convolver попробовал также — увидел в разностном сигнале нечто, явно коррелированное с сигналом на уровне порядка единиц процентов (от максимума сигнала до вычитания). Стал играться с выравниванием уровня, то есть добавлением постоянного множителя — без явных улучшений.
Было подозрение, что Stereo Convolver делал что-то с постоянной составляющей сигнала — тоже попробовал скорректировать без особого успеха.
Попробовал слушать полученный разностный сигнал — там явно что-то менее очевидное, чем эти две вещи. Дальше пока не исследовал. Склоняюсь к тому, что надо просто сесть и переписать.
Не известна исходная АЧХ чего?
Насчёт применения импулься только в одном канале — я собственно так и предлагаю. А насчёт того, что этот импульс наужно генерить разностным способом — довольно спорно. Мне кажется, деконволюция здесь более уместна.
Спасибо, почитал.
Видимо когда писал сообщение выше, смутно вспоминались какие-то другие методы. Возможно, WOLA, упоминавшийся в этой статье на Вики :)
Посмотрел внимательнее, как работает Stereo Convolver. Да он работает плохо!
Ошибки порядка 0.05 (и это не фиксированная аддитивная или мультипликативная ошибка). Стоит поискать более подходящий плагин.
Тем не менее, в том же GNU Octave свёртка с помощью FFT реализована хорошо, и на реальном музыкальном сигнале даёт ошибку порядка 10^-17..10^-16 по сравнению со свёрткой «в лоб». Это значительно ниже шумов квантования, но считается примерно на порядок быстрее.
Вывод — как я и написал ранее, *правильная* реализация свёртки на FFT не хуже реализации свёртки в лоб.
Добавил об этом абзац в исходный пост.
В ADAU*, возможно не используется FFT из-за ограничения по ОЗУ. При реализации в ПЛИС, насколько я знаю, по этой же причине часто используют «прямую» свёртку.
Про полезные нагрузки — их и правда не было. Разговоры были, а нагрузок — не было. Тут разве что запускать раз в несколько лет какой-нибудь научный аппарат, но это будет очень дорого, т. к. всё равно придётся содержать всю инфраструктуру, а запускать чаще — некому делать столько крупныз научных аппаратов, там ведь тоже чем больше, тем дороже… По то й же причине и Сатурн-5 свернули, и с SLS не особо торопятся (хотя там даже цели обозначены — луна, марс).
Про «сжигать 8 двигателей» — изначально планировалось спасать боковые блоки, но это не успели доделать.
Дискуссия началась с того, что «все останавливается на моменте взять старую технологию».
Нет, с ракетами не так. Между V-2 и Р-7 общего, наверное, только «ключ на старт» и принцип горизонтальной сборки.
Протон — тоже совершенно другая ракета.
Н-1 и Энергия-Буран — тут сложнее, т. к. многие концепции (но в меньшей степени технические решения) заимствовались у америки.
Холивар, что лучше Спейс-Шаттл или Энергия-Буран — совсем другой вопрос. Тут, я согласен с тезисом, что перенести водородные двигатели на челнок в СССР, скорее, не получилось, т. к. двигатели вышли значительно тяжелее (хотя в чём-то и лучше). Хорошо это или плохо? — сейчас уже не имеет никакого значения, восстанавливать те технологии не имеет смысла.
И третий ортогональный вопрос — что разработали после исчезновения СССР, почему так мало/плохо/дорого/некачественно или наоборот.
Рассуждать тоже можно, но это будет уже совсем не про технику, а про организацию процессов на уровне государства.
Здесь, на мой взгляд, глобальная проблема в назищищённости бизнеса (попросту могут «отжать» на любом уровне). Как следствие никому не выгодно строить сложные и эффективные производственные цепочки. В ОПК и подобных отраслях всё более-менее работает, но исключительно за счёт того, что заказчик принципиально не может уйти к другому поставщику.
Увы, роликов не накидаю. То есть, поискать, конечно, могу, но мне это не интересно. Полагаю, тут нужно искать ролики, где звукореж занимается именно сведением микса, а не записью инструментов и не озвучкой живого выступления.
Насчёт дирижёров — не знаю.
А что Вы подразумеваете под «мониторными динамиками» и под «лопухами»?
Размер НЧ-головки? В контрольных мониторах она вполне может быть 15", тем не менее, это вроде как «мониторный динамик».
Мониторы большого размера — стоят дороже и требуют бОльшего помещения для нормальной работы. И в целом они лучше, т. к. позволяют получить достоверный звук на более низких частотах. Полагаю, по этой причине «для ролика» чаще выбирают более качественные, то есть более крупные и более дорогие мониторы.
Я не говорю, что сложно, я говорю, что это не особо нужно, по крайней мере, мне.
Как вариант — взять тот же Stereo Convolver (по ссылке в посте выложен код на сях) и вместо FFT вкрутить обычную свёртку. Это и за один вечер не проблема сделать, даже если немного повозиться с оптимизацией.
А ради построения АЧХ что-то писать — вообще не вижу смысла (если не на коммерческой основе). Достаточно пропустить через испытуемый плагин единичный импульс и посмотреть FFT в любом аудио-редакторе.
Я не спорю, можно.
Просто АФАИК, проблема как раз в том, что если есть отражения, то полностью их инвертировать не получится, а в комнате они есть всегда.
То есть полностью заменить измерения в безэховой камере математической обработкой — нельзя. Насколько можно приблизится, и в каких случаях этого достаточно — вопрос дискуссионный.
Что можно попробовать — это снять отклик в большом зале, чтобы до прихода первых отражений от стен и потолка у нас уже было достаточно информации. Вот только с полом так просто не получится…
Этот метод часто используют разработчики акустических систем (особенно DIY) для оценки АЧХ. Но если это коммерческая разработка, то хотя бы в конце обычно снимают АЧХ «правильно», то есть в безэховой камере за деньги.
1. Про импульсный отклик.
На самом деле, обычно его измеряют не прямым способом (подачей короткого импульса на колонку и записью результата с микрофона), а как раз с помощью свип-тона (почти то же, что ГКЧ). Просто от записанного свип-тона переходят к импульсной характеристике, т. к. с ней удобно работать, и она полностью описывает АФЧХ, отражения и пр. Кроме того, по сравнению с прямым измерением импульсного отклика, значительно улучшается соотношение сигнал/шум.
2. Про косточки.
ИМХО, то, что происходит с сигналом начиная со слухового канала в данном случае не имеет значения, т. к. там эффекты будут одинаковы при прослушивании через колонки и наушники.
Другое дело, что самые правильные с этой точки зрения — внутриканальные наушники-«затычки». А с большими наушниками всё становится менее строго…
3. Про революцию
Слабо в это верю, т. к. нет спроса. В качестве иллюстрации: ТТХ аппаратуры (особенно массовой) за последние 20 лет значительно улучшились, а качество фонограмм — нет…
Увы, всё не так просто.
Полностью компенсировать отклик комнаты — практически невозможно, там есть как математические ограничения, так и физические.
Например, не любое преобразование вообще можно инвертировать.
Другой пример: в точке прослушивания может быть очень сильный провал на АЧХ за счёт влияния помещения, и если пытаться его полностью компенсировать, начнуться проблемы с переполнением разрядной сетки, увеличением погрешностней, размахом результирующего сигнала и т. п.
Собственно, всё это и определяет сложность систем типа DRC.
C FFT, насколько я знаю, именно так и делают — перехлёст с наложением подходящей оконной функции. И насколько я знаю, если всё сделано правильно, то получается свести погрешности к ошибкам округления (как и в случае свёртки «в лоб»).
Плагинов для свёртки — да, много, но 90% из них — как раз используют FFT, а другие 99% — не умеют накладывать один фильтр на «прямой» сигнал, а другой — на «перекрёстный», то есть непригодны «из коробки» для поставленной задачи (crossfeed с HRTF).
Можно организовать систему плагинов, примерно так:
— скопировать стереопару, то есть получить два идентичных стереосигнала — A(t) и A'(t),
— поменять в A'(t) каналы местами,
— исходную пару A(t) обработать одним фильтром (либо не обрабатывать вообще),
— клонированную пару A'(t) — обработать другим фильтром,
— снова сложить эти два стереосигнала.
Но подобное в realtime можно сделать тоже далеко не в любом плеере. С гирляндами vst-плагинов, прикрученными к плееру (уже не помню, с какими именно я это пробовал) у меня был в своё время негативный опыт, хотя возможно, в 2021 году с этим лучше.
Просто сейчас я не вижу в этом необходимости — мне проще взять Stereo Convolver и просто использовать.
Явной разницы между фильтрацией «в лоб» и через Stereo Convolver я не услышал. Но да, на досуге будет интересно сравнить более вдумчиво на слух и на глаз (в аудиоредактори или в том же GNU Octave).
Коррекция помещения — отдельная очень обширная тема. И интересная — собственно из неё я в своё время и узнал о DRC. Имеется даже весьма неплохой измерительный конденсаторный микрофон от RFT. Но с момента рождения ребёнка слушать через колонки практически не приходилось. Да что там… колонки года 2 простояли где-то на антресолях, а потом были извлечены исключительно ради прослушивания сказок.
С бинауральными микрофонами мысль хорошая, оказывается, уже есть вполне доступные для хобби варианты.
Не соглашусь.
Получить внятный звук на десятках-сотнях Гц сложно и, чёрт побери, дорого.
Во-первых, нужны большие динамики, т. к. для обеспечения звукового давления, аналогичного средним частотам нужно большое объёмное смещение (то есть площадь диффузора * на его ход). Кроме того, см. кривые равной громкости: чтобы звук на 40Гц было слышно с аналогичной громкостью, как 1кГц, звуковое давление должно быть значительно выше. Это дорого,
Идём дальше. Для исключения стоячих волн в помещении нужно либо поглощение, либо определённые виды коррекции АЧХ.
Поглощение на десятках Гц проблематично без существенного уменьшения объёма комнаты, т. к. поглотитель нужно размещать в «зонах максимальной скорости», а это 1/4 длины волны от стен, почти метр для 100Гц!
Активная коррекция сравнительно легко делается для единственной точки в пространстве (правда с оговорками).
Если нужна более широкая зона, то есть вариант «DBA»: en.wikipedia.org/wiki/Double_bass_array
Но для этого нужно несколько сабвуферов, что тоже не дёшево и влезет не в любую комнату, особенно если в квартире живёт кто-то ещё.
В целом пришёл к тому же выводу — сначала гасить скорость, падая плашмя, при этом по возможности маневрируя в сторону чего-то помягче, а перед смертью — в позу парашютиста (если падаем на землю), либо в солдатиком (если в воду).
Несколько лет назад на Филиппинах летели внутренним рейсом, так они около аварийных выходов старались сажать ребят покрупнее и покрепче — в основном молодых европеоидов. При этом уточняли, готовы ли эти люди если что открывать люк, не страдают ли хроническими заболеваниями и т. д.
И кстати, насчёт «продаются дороже». Во многих типах ВС два смежных ряда являются проходными к аварийному выходу. В обоих обычно чуть больше места для ног (что приятно), но в переднем из них кресло по понятным причинам не откидывается…
Ошибку в Octave посчитал очень просто.
Вычислил свёртку одного и того же музыкального фрагмента (44кГц, 16бит — кажется, под руку попалось что-то из Led Zeppelin) с одним и тем же импульсом (полученным как описано в посте), вычел один результат из другого и посмотрел минимум, максимум, RMS. Максимум получился на несколько порядков ниже шума квантования, так что детальнее разбираться не стал.
Для Stereo Convolver попробовал также — увидел в разностном сигнале нечто, явно коррелированное с сигналом на уровне порядка единиц процентов (от максимума сигнала до вычитания). Стал играться с выравниванием уровня, то есть добавлением постоянного множителя — без явных улучшений.
Было подозрение, что Stereo Convolver делал что-то с постоянной составляющей сигнала — тоже попробовал скорректировать без особого успеха.
Попробовал слушать полученный разностный сигнал — там явно что-то менее очевидное, чем эти две вещи. Дальше пока не исследовал. Склоняюсь к тому, что надо просто сесть и переписать.
Насчёт применения импулься только в одном канале — я собственно так и предлагаю. А насчёт того, что этот импульс наужно генерить разностным способом — довольно спорно. Мне кажется, деконволюция здесь более уместна.
Видимо когда писал сообщение выше, смутно вспоминались какие-то другие методы. Возможно, WOLA, упоминавшийся в этой статье на Вики :)
Ошибки порядка 0.05 (и это не фиксированная аддитивная или мультипликативная ошибка). Стоит поискать более подходящий плагин.
Тем не менее, в том же GNU Octave свёртка с помощью FFT реализована хорошо, и на реальном музыкальном сигнале даёт ошибку порядка 10^-17..10^-16 по сравнению со свёрткой «в лоб». Это значительно ниже шумов квантования, но считается примерно на порядок быстрее.
Вывод — как я и написал ранее, *правильная* реализация свёртки на FFT не хуже реализации свёртки в лоб.
Добавил об этом абзац в исходный пост.
В ADAU*, возможно не используется FFT из-за ограничения по ОЗУ. При реализации в ПЛИС, насколько я знаю, по этой же причине часто используют «прямую» свёртку.
Про «сжигать 8 двигателей» — изначально планировалось спасать боковые блоки, но это не успели доделать.
Нет, с ракетами не так. Между V-2 и Р-7 общего, наверное, только «ключ на старт» и принцип горизонтальной сборки.
Протон — тоже совершенно другая ракета.
Н-1 и Энергия-Буран — тут сложнее, т. к. многие концепции (но в меньшей степени технические решения) заимствовались у америки.
Холивар, что лучше Спейс-Шаттл или Энергия-Буран — совсем другой вопрос. Тут, я согласен с тезисом, что перенести водородные двигатели на челнок в СССР, скорее, не получилось, т. к. двигатели вышли значительно тяжелее (хотя в чём-то и лучше). Хорошо это или плохо? — сейчас уже не имеет никакого значения, восстанавливать те технологии не имеет смысла.
И третий ортогональный вопрос — что разработали после исчезновения СССР, почему так мало/плохо/дорого/некачественно или наоборот.
Рассуждать тоже можно, но это будет уже совсем не про технику, а про организацию процессов на уровне государства.
Здесь, на мой взгляд, глобальная проблема в назищищённости бизнеса (попросту могут «отжать» на любом уровне). Как следствие никому не выгодно строить сложные и эффективные производственные цепочки. В ОПК и подобных отраслях всё более-менее работает, но исключительно за счёт того, что заказчик принципиально не может уйти к другому поставщику.
А что Вы подразумеваете под «мониторными динамиками» и под «лопухами»?
Размер НЧ-головки? В контрольных мониторах она вполне может быть 15", тем не менее, это вроде как «мониторный динамик».
Мониторы большого размера — стоят дороже и требуют бОльшего помещения для нормальной работы. И в целом они лучше, т. к. позволяют получить достоверный звук на более низких частотах. Полагаю, по этой причине «для ролика» чаще выбирают более качественные, то есть более крупные и более дорогие мониторы.
Как вариант — взять тот же Stereo Convolver (по ссылке в посте выложен код на сях) и вместо FFT вкрутить обычную свёртку. Это и за один вечер не проблема сделать, даже если немного повозиться с оптимизацией.
А ради построения АЧХ что-то писать — вообще не вижу смысла (если не на коммерческой основе). Достаточно пропустить через испытуемый плагин единичный импульс и посмотреть FFT в любом аудио-редакторе.
Просто АФАИК, проблема как раз в том, что если есть отражения, то полностью их инвертировать не получится, а в комнате они есть всегда.
То есть полностью заменить измерения в безэховой камере математической обработкой — нельзя. Насколько можно приблизится, и в каких случаях этого достаточно — вопрос дискуссионный.
Что можно попробовать — это снять отклик в большом зале, чтобы до прихода первых отражений от стен и потолка у нас уже было достаточно информации. Вот только с полом так просто не получится…
Этот метод часто используют разработчики акустических систем (особенно DIY) для оценки АЧХ. Но если это коммерческая разработка, то хотя бы в конце обычно снимают АЧХ «правильно», то есть в безэховой камере за деньги.
На самом деле, обычно его измеряют не прямым способом (подачей короткого импульса на колонку и записью результата с микрофона), а как раз с помощью свип-тона (почти то же, что ГКЧ). Просто от записанного свип-тона переходят к импульсной характеристике, т. к. с ней удобно работать, и она полностью описывает АФЧХ, отражения и пр. Кроме того, по сравнению с прямым измерением импульсного отклика, значительно улучшается соотношение сигнал/шум.
2. Про косточки.
ИМХО, то, что происходит с сигналом начиная со слухового канала в данном случае не имеет значения, т. к. там эффекты будут одинаковы при прослушивании через колонки и наушники.
Другое дело, что самые правильные с этой точки зрения — внутриканальные наушники-«затычки». А с большими наушниками всё становится менее строго…
3. Про революцию
Слабо в это верю, т. к. нет спроса. В качестве иллюстрации: ТТХ аппаратуры (особенно массовой) за последние 20 лет значительно улучшились, а качество фонограмм — нет…
Полностью компенсировать отклик комнаты — практически невозможно, там есть как математические ограничения, так и физические.
Например, не любое преобразование вообще можно инвертировать.
Другой пример: в точке прослушивания может быть очень сильный провал на АЧХ за счёт влияния помещения, и если пытаться его полностью компенсировать, начнуться проблемы с переполнением разрядной сетки, увеличением погрешностней, размахом результирующего сигнала и т. п.
Собственно, всё это и определяет сложность систем типа DRC.
Плагинов для свёртки — да, много, но 90% из них — как раз используют FFT, а другие 99% — не умеют накладывать один фильтр на «прямой» сигнал, а другой — на «перекрёстный», то есть непригодны «из коробки» для поставленной задачи (crossfeed с HRTF).
Можно организовать систему плагинов, примерно так:
— скопировать стереопару, то есть получить два идентичных стереосигнала — A(t) и A'(t),
— поменять в A'(t) каналы местами,
— исходную пару A(t) обработать одним фильтром (либо не обрабатывать вообще),
— клонированную пару A'(t) — обработать другим фильтром,
— снова сложить эти два стереосигнала.
Но подобное в realtime можно сделать тоже далеко не в любом плеере. С гирляндами vst-плагинов, прикрученными к плееру (уже не помню, с какими именно я это пробовал) у меня был в своё время негативный опыт, хотя возможно, в 2021 году с этим лучше.
Просто сейчас я не вижу в этом необходимости — мне проще взять Stereo Convolver и просто использовать.
Явной разницы между фильтрацией «в лоб» и через Stereo Convolver я не услышал. Но да, на досуге будет интересно сравнить более вдумчиво на слух и на глаз (в аудиоредактори или в том же GNU Octave).
С бинауральными микрофонами мысль хорошая, оказывается, уже есть вполне доступные для хобби варианты.
Когда речь идёт о звуковом восприятии, привычка вообще играет ключевую роль.
Получить внятный звук на десятках-сотнях Гц сложно и, чёрт побери, дорого.
Во-первых, нужны большие динамики, т. к. для обеспечения звукового давления, аналогичного средним частотам нужно большое объёмное смещение (то есть площадь диффузора * на его ход). Кроме того, см. кривые равной громкости: чтобы звук на 40Гц было слышно с аналогичной громкостью, как 1кГц, звуковое давление должно быть значительно выше. Это дорого,
Идём дальше. Для исключения стоячих волн в помещении нужно либо поглощение, либо определённые виды коррекции АЧХ.
Поглощение на десятках Гц проблематично без существенного уменьшения объёма комнаты, т. к. поглотитель нужно размещать в «зонах максимальной скорости», а это 1/4 длины волны от стен, почти метр для 100Гц!
Активная коррекция сравнительно легко делается для единственной точки в пространстве (правда с оговорками).
Если нужна более широкая зона, то есть вариант «DBA»: en.wikipedia.org/wiki/Double_bass_array
Но для этого нужно несколько сабвуферов, что тоже не дёшево и влезет не в любую комнату, особенно если в квартире живёт кто-то ещё.