авторитетное мнение Andy_cytomic: 88.2 khz или 96 khz лучше!

Greenhouse

все вместе
19 Июн 2008
932
315
63
Israel
I'm glad I'm not the only one that worries about sample accuracy!

There are issues with Live 8's lack of alignment of automation and song position information to plugins which I want fixed as much as everyone else here, but there is another issue which is not very well understood, and more general that applies to all DAW users.

There is something called a "two path polyphase IIR filter" as outlined in the paper "The Design of Arbitrary-Band Multi-Path Polyphase IIR Filters" by Dr Artur Krukowski and Dr Izzet Kale, which is commonly used for oversampling. It's used in Live 8's EQ 8 in HQ mode and it's used by loads of people in the audio industry since it's low cpu and has a very steep filter rolloff. So what's the down side? In DSP there is always a tradeoff, it's this case it's the non-linear phase response. This will delay your incoming signal by somewhere from 2.x samples to 4.x samples (depending on the steepness of the design) at DC that with frequency in a non-linear way.

Ok, so what does that mean? This means if one of these polyphase IIR oversampling filters is in your signal path that you have a fractional (sub-sample) delay unit processing your entire signal, and the fraction of a sample it delays your signal increases with frequency, so there is absolutely no way you can compensate for this, other than to run ALL your other tracks through the same filter to delay them by the same amount. But hang on, it's not that easy, since if you chain three plugins, each which uses their own design of an IIR polyphase oversampling filter, then you need to reconstruct the exact same "clean" version by passing all your other audio tracks through exactly the same total chain, but without doing any processing on the signal. That is just to align two tracks together. Have different plugin chains on different tracks and it becomes impossible to correct for.

I repeat, this issue is not the sole problem of Live 8's oversampling as used in the EQ8 HQ mode, it's everywhere and it's an issue in all DAWS - but many developers keep quiet about using it since the polyphase IIR solution is cheaper in cpu and does a really good job if you don't care about your phase going out of whack with other tracks. You basically have to verify this yourself by putting a single sample spike through a plugin and see what it looks like once it's processed since developers can't even declare the delay to a host since each frequency has it's own fractional delay and hosts only take a single integer as the delay to compensate (which is fine, that should be enough!)

There is a solution, and that is to use linear phase FIR oversampling filters. Ok so what's the tradeoff for this fix? Slightly more cpu usage and more latency, but this time the latency is constant and can be corrected for by the phase so the crack of your transients all stay put and don't turn into limp plops when they phase with other parts of your track.

So in summary the polyphase IIR oversamplers do a really good job for the amount of cpu they use, and they introduce minimal latency into the signal path, but the latency they do introduce is non-linear and can't be corrected for easily, and so can cause phase issues. The FIR alternative uses more cpu and latency, but the latency is constant and can be corrected for. So either way it's a bummer.

A much better solution is to run your entire project at 88.2 khz or 96 khz, then you don't need to oversample in individual plugins, and all your EQ shapes are very analog like in shape and phase, and your aliasing is reduced across the board so all your mixes are clearer and tighter. If the oversampling can be bypassed in your plugins (which I allow in mine by not all developers support) then there is no extra latency introduced so nothing needs correcting for. The cost here is increased CPU usage across the board as well, with every single plugin taking twice as much cpu.

мой перевод (сори за транслит):

есть такой тип фильтра именуемый "two path polyphase IIR filter" как описано в труде "The Design of Arbitrary-Band Multi-Path Polyphase IIR Filters" by Dr Artur Krukowski and Dr Izzet Kale который часто используется для оверсамплинга. он используетса в eq8 в режиме hq, а так же множеством людей в аудио индустрии так как имеет низкую нагрузку на cpu и очень крутой спад фильтра - steep filter rolloff. так какие же у него минусы? в dsp всегда есть какой то компромис. в данном случае это non-linear phase response. Эта привнесёт задержку в поступаюший сигнал ~ от 2.х самплов до 4.х самплов в зависимости от крутизны дизайна - steepness of the design

так что это всё значит? когда вы используете этот тип фильтра - polyphase IIR oversampling filter - обрабативая сигнал он привносит частичную задержку - fractional (sub-sample) delay - в весь обравативаемий сигнал и эта частичная задержка увиличивается пропорционально частоте, поэтому нету способа ее компенсировать для daw, но можно пропустить все ваши треки через тот же фильтр добавив к ним то же время задержки... Однако есть одна загвоздка в этом методе, используя цепочку разных плагинов с разным дизайном IIR polyphase oversampling filter-а, то нужно будет прогонять все ваши треки через эту цепочку, но не обрабатывая их а только для того чтобы выровнить/компенсировать задержку.

Эта проблема присуща любой daw но разработчики молчат так как polyphase IIR вариант имеет низкую нагрузку на cpu и хорошо справлается со своей задачей, если вы не замарачиваетесь о разъезжающейся фазе между вашими треками.

есть решение проблемы - использовать linear phase FIR oversampling filters. а какой будет с ними компромис? большая нагрузка cpu и больше задержки, но в этом случае задержка константа и может быть компенсирована.

подводя итог polyphase IIR oversamplers делают хорошую работу, но вносят фазовые искожения. их альтернатива FIR использует больше cpu но задержка может быть компенсирована.

Намного более предпочтительный выход из положения - установить весь ваш проэкт в 88.2 или 96 kHz тогда нет необходимости делать оверсамплиг индивидуальным плагинам и все кривые eq более подобны аналоговым по форме и по фазе и алиасинг уменьшается на всём миксе, делая его более чистым и собранным. если ваши плагины позволяют отключить оверсамплинг тогда никакой экстра задержки не привносится и нет необходимости ее компенсировать. естественно это требует значительно большей нагрузки на cpu.
 
Последнее редактирование:
  • Like
Реакции: Parsifal75
Молодец. Нечего новичков баловать. А то - капа, сводка, ударка... Даешь многа букафф по-английски!
 
  • Like
Реакции: HiGate и Magnet
Энди говорит, что при использовании оверсэмплинга, IIR фильтры дают некоторую задержку, что вызывает проблемы с фазой. И в итоге он советует создавать проекты сразу в 88.2 или 96, чтобы не использовать оверсэмплинг и не иметь вышеуказанных проблем.
 
  • Like
Реакции: dist и x.com
Ifrit, разработчик cytomic the glue )
..хотя ввиду того что сей плаг оказался для меня совершенно бесполезным в свое время , его авторитетность у меня тоже под вопросом :)
 
Уж лучше Алексея Лукина послушать лишний раз. :)
 
Алексея - с удовольствием)) хотя озон - тоже терпеть не могу :))))))))))
 
Алексея - с удовольствием)) хотя озон - тоже терпеть не могу :))))))))))
Озоном можно восхищаться хотя бы только из-за измерителей. :) Да и всё остальное - более чем на уровне.
пришли тут... наоффтопили.
Ни на один из вопросов вы не ответили. Информация непроверенная. По правилам форума размещать недостоверную информацию запрещается. Официальный язык форума - русский. Так кто тут оффтопит?
 
Энди говорит, что при использовании оверсэмплинга, IIR фильтры дают некоторую задержку, что вызывает проблемы с фазой. И в итоге он советует создавать проекты сразу в 88.2 или 96, чтобы не использовать оверсэмплинг и не иметь вышеуказанных проблем.
Интересно вот что. Он там пишет, что сдвиг получается меньше длины 1 сэмпла. Я не очень понимаю как это возможно и видимо только на самых высоких частотах.
Да и проблема эта была в свое время больше всего заметна из-за этого самого eq8 в ableton live, в результате чего многие гнали на лайв и его пластиковый звук)) И решалась она тем, что на параллельные треки ставился пустой eq8 в таком же режиме hi. Я с таким встречаюсь очень редко.
Это вообще кого-то беспокоит реально? ))
 
Энди говорит, что при использовании оверсэмплинга, IIR фильтры дают некоторую задержку, что вызывает проблемы с фазой. И в итоге он советует создавать проекты сразу в 88.2 или 96, чтобы не использовать оверсэмплинг и не иметь вышеуказанных проблем.

Молодец, в 2 строки весь тот текст, и без потери смысла! Респект)

И я так всегда делаю с серьезными проектами, 88.2
 
Я с Энди в этом вопросе согласен, хотя и считаю, что он сгустил краски. Действительно, если вам нужно пользоваться цифровыми обработками с оверсэмплингом (например, сатурацией), то лучше, если ваш проект изначально будет в 88.2 или 96 кГц. Тогда оверсэмплинг может и не потребоваться.
Замечания о фазовых проблемах и неучтённой задержке — это на совести разработчиков. Не думаю, что многие пользуются такими фильтрами, как он описал. Что в Live ресамплинг плохой — всем известно. Но необязательно же он плохой и у других. В Изотопе для этих целей обычно используются FIR-фильтры с линейной фазой, и задержка корректно компенсируется (например, в модуле эксайтера в Озоне или дисторшн в Trash). А для эквалайзеров оверсэмплинг вообще не нужен. Есть эквалайзеры, которые аккуратно работают вплоть до половины частоты дискретизации и без оверсэмплинга.
 
  • Like
Реакции: shibata, dromax и Ifrit
Alexey Lukin, а что тогда делает hi-quality в лайвовском eq8, да и в других эку?
Т.е. если разработчик правильно разрабатывает эку, то оверсемплинг не нужен, а если не правильно - то нужен? Так?
 
Очередной поиск грааля... опять из серии "чего бы такого нажать, чтобы нихрена не делать и оно само зазвучало". :sarcastic:
ЗЫ: Продолжаю работать в 44100. За бапки между прочим.
 
  • Like
Реакции: groovyboy
Очередной поиск грааля... опять из серии "чего бы такого нажать, чтобы нихрена не делать и оно само зазвучало". :sarcastic:
ЗЫ: Продолжаю работать в 44100. За бапки между прочим.
Это не поиск грааля, это простое любопытство.
ЗЫ: все что выше 5 кгц явно переоценивают. ))
 
Alexey Lukin, а что тогда делает hi-quality в лайвовском eq8, да и в других эку?
Не знаю, не пользовался этим эквалайзером. А в документации что написано?


Т.е. если разработчик правильно разрабатывает эку, то оверсемплинг не нужен, а если не правильно - то нужен? Так?
Тут вопрос не столько в правильности, сколько в сложности. Легко сделать типовой эквалайзер по формулам RBJ, у которого АЧХ будет сжиматься вблизи частоты Найквиста, как на рисунках. Чтобы этого сжатия избежать (плохо ли оно — другой вопрос, но в аналоговых EQ его нет), можно использовать простой способ: оверсэмплинг. А можно — подумать и придумать такие алгоритмы конструирования фильтров, у которых этой проблемы нет (примеры — Eiosis AirEQ, Sonnox Oxford EQ, iZotope Ozone 5). Это всяко лучше, чем гонять сигнал туда-сюда через передискретизацию.
 
dist,
перевёл как мог. :mellow:

ps: и на кой оно мне всё это надо???
 
Последнее редактирование:
  • Like
Реакции: Parsifal75
Alexey Lukin, сейчас на память приходит fl studio - parametric equaliser 2 и продукты voxengo
 

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