Пики частотного спектра звука в качестве управляющих элементов при модуляции

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
19.919
113
62
Киев
Прошу прощения за не понятное название темы.
Если общими усилиями придумаем более понятное - попрошу Модератора исправить.
О чём это я собственно -
Существует способ "присадки" сигнала второго плана при возникновении сигнала первого плана.
Ну, например, вокальной партией управляем уровнем сигнала всего аккомпанемента или его части, который спектрально сильно с вокалом пересекается. Делается это как правило не тупым гейтированием, и только в частотной полосе спектра того-же голоса, как примера.

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

PS: не то чтобы исключительно Риперовская тема, но тут её реализация наиболее реальна :)
 
Можно попробовать использовать Anomaly/Quadracom - это 4-ёх полосный компрессор (жручий гад). Для этого нужно будет изменить управляющую часть.
 
Т.е. сама идея не полный бред?

Нет конечно. По сути ты хочешь получить многополосную сайдчейн компрессию.

Как вариант можно попробовать вылезти через FFT. Т.е. проводится FFT с исходным сигналом и управляющим, от коэфицентов первого отнимаются коэфиценты второго с использованием делителя и далее нужно провести восстановление сигнала. НО, о реалтайме можно забыть. А если ещё использовать атаку и затухание, а без них никак, то прожорливость будет гипертрофированная.
 
  • Like
Реакции: PsytoxKoma
Нет конечно. По сути ты хочешь получить многополосную сайдчейн компрессию.

Как вариант можно попробовать вылезти через FFT. Т.е. проводится FFT с исходным сигналом и управляющим, от коэфицентов первого отнимаются коэфиценты второго с использованием делителя и далее нужно провести восстановление сигнала. НО, о реалтайме можно забыть. А если ещё использовать атаку и затухание, а без них никак, то прожорливость будет гипертрофированная.
В том-то и дело, что очень хочется это сделать в риалтайме, поэтому FFT ни как не годится.
А на сколько быстро анализатор может считывать (вычислять) пиковую частоту (желательно усреднённо с саб гармониками) и её амплитуду?
 
сугубо нмв:
прожорливость будет гипертрофированная.
если правильно делать с simd и пр., то нормально (но не JS, ессно). Да и примеры есть - вейсовский шумодав - принцип тот же, только один из сигналов статичный хаммонд:)
Но, увы... все эти шумодавы (а принцип тот же) неадекватно фленжерят обычно, если вторжения сильные.
В такой схеме - узость полос "вторжения" неконтролируется, в зависимости от реализации - может быть алиасинг (если фильтр-банк реализован через fft "в лоб", т.е. с шагом, а не через сверточный алгоритм), и т.д. и т.п., что ведёт к неадекватным результатам.
Вот сайдчейн мультибенды - это более здравая идея, фильтр-банки у многих звучат приемлемо - была бы только волшебная "кнопочка" - автоматом полосы подстроить, атаки\затухания, линк автоматом по полосам и связь между треками, ну и "балланс" (кто кого давит) - и "вуаля":)
 
http://www.elevayta.net/product4.htm

- не?

зы. разыскивается легендарный "деконфликатор-с" )
Не хотелось бы утонуть в поиске кнопки Нищак! :doctor:

Я просто хочу попробовать чуть усложнить функционал уже работающего механизма (ну да, вне рамок Рипера - сайдчейна) более интеллектуального "укладывания" в плотный микс голоса.
Механизм то уже есть и он известен и не плохо работает, если без фанатизма пользовать его.
Я попробовал это и для Риал Тайм проекта - работает, особенно хорошо, если "приспускать" от Голоса уровень минусовки в Midle канале.
Но приходится это делать в достаточно широком частотном диапазоне, в котором находится партия голоса.
А я хочу попробовать чуть сузить этот диапазон, за счёт отслеживания его в РиалТайме.

Вряд ли будет эффективным прям всю "гребёнку" частотной характеристик сигнала Голоса инвертировать как сигнал воздействия на минусовку, реально лучше грубый анализ основной частоты Тона Голоса в Риал Тайме и именно в этом частотном сегменте и воздействовать на канал аккомпанемента в данный момент времени.
 
Вот сайдчейн мультибенды - это более здравая идея, фильтр-банки у многих звучат приемлемо - была бы только волшебная "кнопочка" - автоматом полосы подстроить, атаки\затухания, линк автоматом по полосам и связь между треками, ну и "балланс" (кто кого давит) - и "вуаля":)
Где-то так.
Осталось найти Анализатор у которого частота и амплитуда пика выводится во вне как параметр, к которому можно прицепить модуляцию. ну или сделать его.
 
А я хочу попробовать чуть сузить этот диапазон, за счёт отслеживания его в РиалТайме.
ради эксперимента - можно попробовать автоматизацию полосы сайдчейна... если она не криво рулится в плагине...
 
Голос - send -eq -comp . На eq выбираешь частоту и добротность , которая нужна , поднимаешь на нужное к-во db .
Другое дело автомат отслеживания частотных пиков источника , Саша , ты это имеешь ввиду ?
 
тут главное, чтобы минус не "вавкнул" или "квакнул":)))

зы. не-а, ребят, я за статические полосы - корректно отстроенные и достаточно широкие... классика сведения - она не зря классика...
 
Другое дело автомат отслеживания частотных пиков источника , Саша , ты это имеешь ввиду ?
Ну да, это!
И благодаря imemine похоже первое решение уже есть и работает!
Я тут просто частотку EQ повесил на модуляционный сигнал - но оно же пашет!
Осталось проверить на сколько в Риал Тайме - потому как чисто по отрисовке в GUI запаздывание отработки входных тонов приличное....
Но я проверю, это может быть только отрисовка GUI опаздывает.
Во как -

FreqModulation001.gif
 
И в общем там параметров, которые выдаёт Blue Cat's FA Pro во вне как управляющие достаточно.
Вот смотрите, все те, что OUT:
FreqModulation002.jpg


Эх.... Ну не зря я люблю Blue Cat's и Купил их бандл в своё время...
У них и компрессор есть который вполне можно поцепить как управляемый.
 
тут главное, чтобы минус не "вавкнул" или "квакнул":)))

зы. не-а, ребят, я за статические полосы - корректно отстроенные и достаточно широкие... классика сведения - она не зря классика...
Но попробовать же можно?
Скорость реакции можно, кстати, отстраивать очень точно при измерении в самом Blue Cat's и все настройки влияют на выходные сигналы Out - проверил.
 
запаздывание отработки входных тонов приличное....
латенси с FFT неизбежно.... т.е. для лайва - с ограничениями...
если при сведении - то нужно подвинуть управляющий сигнал "вперёд", а в микс его подавать только через задержку.
 
Пока вот с Мелдовским динамическим EQ получилось сделать так -

FreqModulation003.gif


Попробуйте на своих фонограммах, я негативного эффекта вав на минусе не слышу и вроди бы адекватно поджимает минус - настроек в Мелде полно, да и управляющий сигнал настраивается отлично.
 
Не внимательно следил за темой и может что-нибудь не понял, но вот такой момент меня смущает. Чем выше уровень вокала, тем сильнее он давит минус, а чем ниже, тем, соответственно - слабее. Следовательно, когда голос громок и, естественно, хорошо слышен - минус (против логики) проседает, но когда голос по динамике тише - минус (опять же, против логики) делается громче, рискуя голос заглушить...
 
Не внимательно следил за темой и может что-нибудь не понял, но вот такой момент меня смущает. Чем выше уровень вокала, тем сильнее он давит минус, а чем ниже, тем, соответственно - слабее. Следовательно, когда голос громок и, естественно, хорошо слышен - минус (против логики) проседает, но когда голос по динамике тише - минус (опять же, против логики) делается громче, рискуя голос заглушить...
Логика управления "просадкой" минуса может быть ЛЮБАЯ и зависит только от вашего желания и понимания того как нужно сделать.
Как ЛУЧШЕ эту логику построить, могут подсказать более опытные товарищи.....
На мой взгляд управление может быть двусторонним, ведь динамика присутствует не только в голосе, но и в аккомпанементе. Кстати, меня эта логика тоже интересует!

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

Совершенно не против - чем больше у нас возможностей, тем лучше или по крайней мере удобнее... :) Я лишь хотел обратить внимание на этот сопутствующий эффект.
 
Вот запрограммировал более точную версию, через FFT: SpectralDucker.zip. Левый канал «вычитается» из правого. Интерфейс основан на rmsPlus, никакие параметры не работают. Может, попозже прикручу настройку сглаживания — сейчас оно фиксированное.

SpectralDucker.gif

Звуковой пример (до обработки): SpectralDucker.wav
 
  • Like
Реакции: kapetz
Ровно то, что вы просили в первом сообщении: приглушение спектра одного сигнала там, где имеются пики спектра (гармоники, форманты) другого сигнала. Видите, какие дыры образовались в белом шуме под гармоники голоса?
 
  • Like
Реакции: Aleksandr Oleynik
Покрутить алгоритм смогу только вечером...
А какая задержка в этом механизме между возникновением пика и откликом на него?
 

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