Взаимовычитающиеся сигналы: технология будущего или пустая трата времени?

  • Автор темы Автор темы Variant
  • Дата начала Дата начала

Variant

Member
24 Мар 2008
63
20
8
Москва
Посетила недавно очередная безумная идея. Спешу поделиться:

Допустим идёт запись живого выступления. В акустически подготовленном помещении играют гитарист и ударник, их пишут на два микрофона, одним - гитариста, другим - ударника (это для примера. Инструменты могут быть любые)
Затем. Имеются две дорожки. На первой партия установки и гитара на заднем плане, на другой - партия гитары и звук установки на дальнем плане. При условии, что ударник не двигал во время исполнения установку, а гитарист - стэк, задержка, с которой приходит паразитный сигнал к микрофону остаётся неизменной (для трека с установкой паразитным сигналом будет звук гитары, для трека с гитарой - звук установки). Микрофон при записи внёс искажения всилу неравномерности своей АЧХ. Отражениями от стен для простоты изложения пренебрежём, допустим об этом позаботились ещё перед записью и они незначительны. Имеем: к дорожке 1 добавлен сигнал 2, ослабленный по уровню, задержаный и эквализированный, а к дорожке 2 добавлен сигнал 1, ослабленный по уровню, задержанный и эквализированный. Теперь, допустим, после записи музыкальной композиции мы, не сдвигая микрофонов, записали два обучающих участка: первый - где играет только установка, а второй - где играет только гитара (или такие участки были найдены в самой композиции). Записали на оба микрофона.
По участкам обучения настраивается уровень сигнала, задержка и фазолинейный эквалайзер так, чтобы сигнал 2 максимально полно вычитался из сигнала 1. Затем эти действия повторяются для случая, когда сигнал 1 вычитается из сигнала 2. Затем производится вычитание реальных сигналов, в результате чего получаем сигналы 1' и 2', где сигнал 1' содержит сигнал 1 из которого полностью вычли сигнал 2 и ещё капельку искажённого первого, содержавшегося во втором, а 2' - содержит сигнал 2 из которого полностью вычли сигнал 1 и ещё капельку искажённого второго, содержавшегося в первом. Далее процесс повторяется итерационно некоторое количество раз, при этом каждый раз операндами являются исходные дорожки и дорожки, полученые в последней итерации. Чтобы не возиться с остатками сигналов, можно вообще поступить жёстче и сразу вручную подавить эквалайзером остаток сигнала 1, вычитаемого вместе с сигналом 2 из первой дорожки и остаток сигнала 2, вычитаемого вместе с сигналом 1 из второй дорожки. Таким образом всю процедуру можно при ручном вмешательстве провести даже за одну итерацию.

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

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


Ну я и подумал, что раз всё так просто, наверняка есть готовые программные реализации этого. Посмотрел и понял, что похоже нет. Закрались сомнения: вдруг плохо искал, или мой метод слишком сложный и есть способ намного проще? Или, наоборот, всё отлично, просто такую программу ещё никто не успел написать, и пора уже начинать искать хорошего кодера?
У кого какие есть идеи?
 
Мне кажется:
1) Во первых к дорожке 1 добавен не сигнал 2 а совершенно другой сигнал!!! отражениями пренебрегать нивкоем случае неьзя!!ровно как и другими факторами...не вычтется! волны абсолютно разые....
2) Даже если и получится вычесть то искажения будут такими, что пипец...
3) Если это было бы реально то такую программу уже давно написали бы...:girl_sigh:
 
пукнуть нельзя два раза одинаково (побитно), не то что сыграть партии
 
  • Like
Реакции: ZGB
Я сталкивался с подобной проблемой. Один клиент любит писаться так, чтобы в ушах фанера была очень громко. Ему всегда мало, как бы громко я ни давал фанеру в уши, он кричит "я не слышу! дай минус! я себя не слышу! дай микрофон! теперь минус не слышу, дай минус!" Я как-то попробовал послушать, надев его наушники после того, как уровень громкости его устроил. Я чуть не оглох!!! А ему нравится. Поди да знай. В результате, естественно, получаю вокальный трек с явной примесью фанеры, что очень мешает.

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

Гарантий, что сработает, нет никаких, но пару-тройку раз удавалось таким образом значительно снизить уровень утечки на вокальном треке.
 
автор ...а вы пардон музыкант, ну в смысле творческий чел или бакалавр там кайо то по физмату или типа того? пипец, я половину из того что вы написали ваще не понял.... много слов новых узнал, правда что они значат понятия не имею:biggrin:

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

этож нада так!!!!:wacko:

зы: у кого и почем берёшь, есть ышо чо?
 
Это что!
Я еще не такое могу выдать.

Причем без понтов, на полном серьезе, заботясь лишь о том, как бы максимально доходчиво сформулировать сложную мысль.
 
Алгоритм, который вы описали, относится к классу acoustic echo cancellation. Проблемы тут такие:
1. Наличие шума затрудняет определение АЧХ
2. Кроме искажений АЧХ имеются и фазовые искажения, а также отражения и реверберация.
3. Искажения могут меняться по времени из-за небольшого изменения музыкантами своих позиций относительно микрофонов (особенно - ближнего).

В принципе, такой алгоритм может быть в помощь звукорежиссерам в определенных ситуациях. Однако в большстве случаев проблема взаимопроникновения каналов не стоит так остро (ну действительно, какой от этого вред при сведении?) Возможно, поэтому мы пока и не видим соответствующих плагинов.
 
Все вычитальные алгоритмы удовлетворительно работают в основном на низких частотах (не более 1 кГц), а на высоких уже фазы разъезжаются и невозможно точно вычесть сигналы друг из друга. Но низкие частоты в микрофон и так не попадают, их достаточно сильно глушат наушники. Так что просто нет особого смысла в этой системе.
 
Так и знал, что придётся объяснять подробнее насчёт фазы и реверберации. Ну ничего, сейчас объясню:

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

Фаза: не зря же я написал про область обучения. Какие бы не были фазовые искажения, можно настроить фазовый сдвиг так, чтобы сигналы вычитались. Вычтутся в области обучения - вычтутся и во всей дорожке. Главное чтобы источники звука не двигались.
В принципе имея сигнал 1+2 и сигнал 2 можно заставить автоматику по характерным деталям сигнала, находимым в обоих дорожках, подтянуть фазу сигнала 2 на дорожке 2 к фазе сигнала 2 записанного на дорожке 1+2. То есть как бы автоматизировать вращение фазы во время воспроизведения. Тогда можно писать и двигающихся музыкантов. Но вручную это наверное невыполнимо. Так что музыкантов придётся закрепить. Я специально привёл в пример гитариста и ударника, как обладателей достаточно малоподвижных источников звука. Ну, с ударником я может и немного поспешил (всё-таки там не один источник звука, да и к тому же, даже по одному барабану очень трудно всегда бить в одну точку), но уж всякие гитары, бас-гитары и электропианино и прочие подзвученные инструменты ну уж точно никуда не должны двигаться.
 
а насчёт шумов: шумы остануться, от этого никуда не деться. Поскольку их источники случайны, невозможно поставить микрофон для их записи, если только это не шумы улицы, кондиционера или чего-нибудь такого (постоянные источники шумов лечатся отдельными дорожками, которые потом можно фазово и частотно подогнать и точно так же вычесть из остальных сигналов). А на каждый случайный звук микрофонов не напасёшься. Надо сразу чище писать. Ну а если что, случайные шумы обычно по спектру отличаются от полезного сигнала, для узкополосных фильтров - самое то. Да и вообще, с шумоподавлением уже много хороших методик, сложно придумать что-то новое, проще воспользоваться каким-нибудь готовым средством
 
Алгоритм, который вы описали, относится к классу acoustic echo cancellation. Проблемы тут такие:
1. Наличие шума затрудняет определение АЧХ
2. Кроме искажений АЧХ имеются и фазовые искажения, а также отражения и реверберация.
3. Искажения могут меняться по времени из-за небольшого изменения музыкантами своих позиций относительно микрофонов (особенно - ближнего).

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



Лёша. На самом деле чувалк несознательно озадачился вполне интересным делом
Сигнал + реверберация пропущеные через тоже самое пространство. Реверберированный сигнал в ревере.
Должна быть математическая модель этого, а значит и алгоритм вычислений отражений, а значит -ты можешь это сделать. Грубо говоря имея сильно реверберированный сигнал и импульс этого помещения, можно сделать отпечаток ревера и вычесть его из исходника....
Тебе были бы благодарны сотни людей за разработку алгоритма убивания холла из сигнала..
 
Variant,

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

или мы уже научились сдвигать фазу не только на 180 градусов для маломальски реальных сигналов?;)
 
Litvinov,
отсечение ревера от сигнала происходит как побочный продукт такой обработки. Если задаться такой целью, можно собрать и ревероотсекатель. Вообще, для удаления ревера наверное будет эффективнее немножко по-другому построить процесс.
Вообще интересная идея. Подумаю
 
Karlson,
При стационарном излучателе и приёмнике, сдвиг фазы в общем случае зависит только от частоты. Тестовый сигнал - можно хоть плавающий синус прогнать, а потом замерить отклик для каждой частоты. Фазо-частотное преобразование для оцифрованного сигнала - не проблема, есть ведь фазовращающие эквалайзеры. Грубо говоря, нужно побить сигнал на очень много маленьких частотных полос и сдвинуть им фазу так, чтобы синус на всех частотах полностью вычитался из себя
 
А может гораздо проще между исполнителями поставить
перегородку со стеклом (чтобы они видели друг друга) и
выдать по наушникам (чтобы ещё и слышали)? :dash3:
Если уж вас так это самое взаимопроникновение неподвижных
источников напрягает (по мне лично это скорее благо, чем зло -
даёт бОльший жир, если фазы треков правильно выровнять, разумеется).
 
Alexander Yakuba,
хорошо, когда музыкантов двое. А если их больше? Каждого под стеклянный колпак сажать - намучаешься. То есть в принципе возможно, но это не универсальное решение. А, тем более, если не на своём поле игра, пригласили например куда-нибудь записать камерное выступление? Там уж точно никаких стёкол не будет. Вот отсюда и все корни.
Конечно, можно обходиться и и взаимопроникающими сигналами. Пока только ими и обходились, много чего уже научились с ними делать. Но похоже пора начинать двигаться дальше
 
хорошо, когда музыкантов двое. А если их больше? Каждого под стеклянный колпак сажать - намучаешься. То есть в принципе возможно, но это не универсальное решение.
Да и ни к чему это, имхо... Для живых инструментов важно живое же
пространство, которое даёт зал. Или правильная студия (для тех же
барабанов, например). Насколько мне известно, всякие стеклянные
кабины применяют разве что при живых записях рокеров с оркестром
(изолируют барабаны), во всех прочих случаях обходятся естественной
акустикой помещений... Ещё видел как-то видео, как пишется в студии
Джипси Кингс - сидят все вместе со своими акустическими гитарами,
в наушниках, между ними такие невысокие перегородки, чтобы глазами
они могли видеть друг друга. Сразу играют и поют все вместе...

А, тем более, если не на своём поле игра, пригласили например куда-нибудь записать камерное выступление? Там уж точно никаких стёкол не будет. Вот отсюда и все корни.
Но ведь и требуемой вам заглушки там тоже скорее всего не будет, не
так ли? Тем не менее, приличные концертные записи существуют.
Общая стереопара(-пары) в зале + подсветка на сцене - имхо как-то так,
если музыка акустическая. Если электрическая - пишем всю кучу источников
с директов пульта (затем переписываем в студии лажу :)) и по новой сводим.

Конечно, можно обходиться и и взаимопроникающими сигналами. Пока только ими и обходились, много чего уже научились с ними делать. Но похоже пора начинать двигаться дальше
Мне кажется, от ЗВУКА после всех этих фазовых перетрубаций мало что
останется, и идея в общем и целом отдаёт бредом, но тем не менее -
удачи! :drinks:
 
Alexander Yakuba написал(а):
Мне кажется, от ЗВУКА после всех этих фазовых перетрубаций мало что останется, и идея в общем и целом отдаёт бредом
Совершенно согласен. В принципе в электроакустике можно решить любую поставленную задачу, но эту? Получить грыжу миллионам китайцев, чтобы вручную забросить на орбиту спутник? А насчет полной изоляции - музыканты, даже самые ушлые студийные сессионники все равно чувствуют себя комфортнее БЕЗ нее, а то так можно дойти до заключения каждого музыканта в симфоническом оркестре в отдельную кабину с close miking. Вот тогда от звука точно ничего не останется.
В целом по теме - не понял благородной задачи создания подобного артефакта.
 
Какие бы не были фазовые искажения, можно настроить фазовый сдвиг так, чтобы сигналы вычитались. Вычтутся в области обучения - вычтутся и во всей дорожке.

Да вот не вычтутся. Это все голословные теории. :boredom:
Мы ж не синусоиды вычитаем, а сложные гармонические сигналы. Фазовые сдвиги есть у каждой гармоники каждого из этих сигналов. Если даже симметричный вход более-менее вычитает два электрических сигнала только низкой частоты, то в акустической среде и того не будет. Басы разве исчезнут по старой доброй традиции противофазы, а останется какой-нибудь жуткий флэнжер.

Вот сразу и пошли разговоры о убирании ревера (а об этом уже сколько тут говорили). А затем и о убирании вокала из трека. Вот уж за это точно миллионы спасибо скажут :smile:
 
Мне в первую очередь было интересно, нет ли какого-нибудь готового инструмента, который можно было бы попользовать для поставленных целей.
Но похоже всё придётся делать с нуля, тоже ничего, так даже интересней
А обсуждать качество получаемого звука думаю пока ещё рановато. До получения первого результата ещё идти и идти. Попробую сначала прогнать всё вручную. Если получится сносно, выложу ссылки, вот тогда уже точно будет что поругать :smile:
 
Litvinov написал(а):
Лёша. На самом деле чувалк несознательно озадачился вполне интересным делом
Сигнал + реверберация пропущеные через тоже самое пространство. Реверберированный сигнал в ревере.
Должна быть математическая модель этого, а значит и алгоритм вычислений отражений, а значит -ты можешь это сделать. Грубо говоря имея сильно реверберированный сигнал и импульс этого помещения, можно сделать отпечаток ревера и вычесть его из исходника....
Тебе были бы благодарны сотни людей за разработку алгоритма убивания холла из сигнала..
Жорж, это очень непросто. Даже если у нас есть импульс помещения, то удаление ревера сталкивается с трудностями: импульс меняется в зависимости от движения музыканта относительно микрофона; наличие шума делает невозможным точное восстановление и т.д. При наличии импульса эту операцию можно попробовать уже сейчас: при помощи Voxengo Deconvolver. Думаю, вы убедитесь в том, что для искуственных примеров все работает хорошо, а вот для настоящих - нет.
Подавление реверберации - это проблема, над которой работают многие. Вряд ли можно рассчитывать, что у меня это вдруг получится лучше, чем у других, кто посвятил этому много времени. Но я, так или иначе, собираюсь попробовать эту тему в скором будущем.
 
Да, вот еще хороший пример. Удаление реверберации из записи похоже на исправление фотографий, снятых не в фокусе: и там, и там требуется деконволюция. Думаю, в случае фотографии достаточно понятно, что большого улучшения в реальных ситуациях вряд ли можно ожидать. С реверберацией в некотором отношении проще, но все равно задача сложная.
 
даже если и получится сделать алгоритм "убирания" ревера из фонограммы (во что я не верю) то прийдется перед каждой записью делать маску хола...врядли это будет удобно....

я скептик :vampire: не задевая полезный сигнал артефакты не убрать!!!:russian_ru:
 
Лет 11 назад я этим всерьез занимался - был плохой микрофон, плохое помещение, плохой преамп. Много возни для того чтоб спасти ситуацию... В общем и целом она на тот момент спасалась, но ценой кучи дополнительных артефактов, типа хорусения, искажения АЧХ или просто искажений. Вопрос решился покупкой микрофона, преампа и развешиванием ватина в метре от стен, как временное (на 3 года :)) решение. Наверное и так все знают что лучше правильно все записать, чем потом чистить. Учесть все праметры в динамике для вычитания невозможно.
 
Пока - бред)) Вот когда пойдут гитарные хамбакеры один в один как синглы - тогда соглашусь с такой возможностью;)
 
Удаление реверберации из записи похоже на исправление фотографий, снятых не в фокусе: и там, и там требуется деконволюция. Думаю, в случае фотографии достаточно понятно, что большого улучшения в реальных ситуациях вряд ли можно ожидать. С реверберацией в некотором отношении проще, но все равно задача сложная.

Пока удалить реверберацию из готовой стерео фонограммы никому не удавалось. Были попытки от Prosoniq, и я даже слышал работу их Pandora. результат был впечатляющим, но остаточные артефакты имели место быть. Работа над этим алгоритмом у них заглохла, наверно из-за не сильно большой востребованностью и сильно большой цены(вроде объявляли $10-15к), при том, что убрать лишнюю реверберацию оказалось гораздо проще и качественней вернувшись к сессии микса:-)
Про вариант с MS преобразовантием я молчу, так как он не корректный, и достаточно сильно изменяет всю фонограмму, включая локализацию и громкость инструментов.
 

Вложения

Лучше слушать нормальный звук с шумами,чем убогий без шумов.Пример тому ремастеринг и реставрация звука в советских фильмах на DVD.Часто без слёз слушать такое невозможно просто.Вообще надо запретить как класс всякую реставрацию,шумоподавление и прочие технологии порчи звука.
:scaut_en:
 
А нормальный без шумов еще лучше. Зависит от спеца, кто делает ремастеринг, мне многие отреставрированые буржуйские записи нравятся больше, чем оригиналы - ранние блюзы те же взять.
 

Сейчас просматривают