QUOTE(bubamara @ Понедельник, 03 Декабря 2007, 10:03)
......
2. Попытка синхронизации по максимально удалённым контрольным точкам. То есть по местам, где есть достаточно громкие и резкие общие звуки - выстрелы, удары. Делаем предварительный ресэмплинг дорожки в нужную сторону, чтобы звук в контрольных точках совпал.
......
5. Сужаем диапазон между контрольными точками, повторяем п.2 - п.4 пока не находим достоверный (максимально продолжительный!) контрольный диапазон, внутри которого всё совпадает. По этому диапазону делаем вторую итерацию ресэмплинга
всей дорожки -
с нуля, отменив первую, чтобы не терзать лишний раз пациента. Действие основывается на предположении, что разница в "скорости" пациента и эталона - постоянна на всём протяжении фильма. Обычно это бывает так.
.......
8. Проверяем звук в начале (заставки кинокомпаний) и в конце (титры). При необходимости подрезаем пациента до размера эталона или, если пациент короче, - добиваем его спереди и сзади пустыми вавами - строго опционально, для красоты и единообразия.
.......
Разборка - tranzcode или DVD Audio Extractor. BeSweet не использую по причине ужасного алгоритма ресэмплинга. И никому не советую конвертировать fps автоматом через BeSweet - это как раз случай "простого и неправильного" решения, поскольку падение качества при этом заметно даже среднему уху.
Сборка DD - Soft Encode, сборка DTS - Minnetonka DTS Pro Coder. В Soft Encode отключается весь улучшайзинг, "dialog normalization" выставляется в то же значение, что было у оригинала.
Общее правило - минимум последовательных операций над звуковым файлом.
Тут у меня несколько непоняток.
1. А, еще разок прочитал и понял, что первая непонятка - из-за терминологии. Ты все время говоришь ресэмплинг, а подразумеваешь изменение продолжительности. Под resampling обычно понимают изменение частоты дискретизации, а она у нас постоянна - 48 кГц. Очевидно дело в том, что изменение длины без сохранения высоты в Audition тоже называют resampling - что по сути справедливо, но непривычно по употреблению.
2. Далее, такая дидактическая проблема. Может возникнуть ощущение, что растяжка PAL -> NTSC делается по соотношению длин между контрольными точками. Или это не ощущение, а так и делается? Где-то, что-то потянуть - может быть, но растягивать всю дорожку из PAL в NTSC по соотношению длин между контрольными точками - с этим категорически не соглашусь. Соотношение между длинами
одинакового материала в PAL и NTSC совершенно точное - у PAL частота кадров ровно 25, у NTSC - (4/5) * 90000/3003 = 23.976... Откуда могут взяться отклонения, что там у них, тактовая частота плывет? Это маловероятно, самые дешевые кварцевые часы уходят на секунду в месяц. Думаю, что разброс при трансфере не должен превышать 10-20 мс.
Полагаю, что растягивать надо точно по соотношению между скоростями PAL и NTSC. WaveLab позволяет задать точность растяжки вплоть до шага дискретизации. Бьюсь об заклад - любой рассинхрон после этого - либо разница в материале (отсутствуют какие-либо куски), либо - точечные сдвиги. Скажем, точечный сдвиг на 20-100 мс каждые 5-10 мин элементарно может выглядеть, как прогрессирующий рассинхрон, тогда как лечить его надо не растяжением, а локализованным вмешательством, переклейкой/резкой в местах сбоя.
Перед растяжкой на 4% обязательно надо проверить высоту звука, между близкими контрольными точками, желательно в местах с музыкой. Если высота PAL звука больше где-то на 70 центов, чем у NTSC - значит трансфер делали без сохранения высоты звука. А значит и растяжку тогда надо делать
без сохранения высоты - она сама упадет до уровня оригинала. Такая растяжка - самое примитивное линейное растяжение, ресэмплинг с локальной интерполяцией. Другое дело, если высота в PAL и NTS. совпадает. Тогда и нам надо ее сохранить. Такие алгоритмы значительно сложнее, я их уже описывал. Справедливости ради следует отметить, что и BeSweet и Cool Edit, а потом и Audition (включая, насколько я понимаю, и 2-ю версии) используют один и тот же алгоритм растяжки - WSOLA. Разумеется, я бы не стал совмещать операции и не позволил бы BeSweet делать растяжку - но не понятно, почему BeSweet бы это сделала хуже, чем Audition. В любом случае, WSOLA - алгоритм невысокого качества.
Только что узнал, что в Audition 3 используется новый алгоритм растяжки - Радиус от iZotope (Adobe говорит, что это одна из 10 главных новых фич в новой версии). По отзывам, Радиус находится в том же классе, что и алгоритмы Серато и Просоника. Другое дело, что про него мало что известно пока, кроме того, что пользоваться им тяжело - нужно выбирать из нескольких алгоритмов и настроек. Серато - это чрезвычайно сильно модифицированный фазовый вокодер, Просоник - wavelet + распознание нейронной сетью. Серато - монополист в Западной Европе при трансфере фильмов на PAL DVD.
3. А почему подбивать под длину оригинала - опционально? Мы же потом будем все это муксить вместе.
4. В "Soft Encode отключается весь улучшайзинг" - это что? Там никакого улучшайзинга вроде нет. Есть несколько фильтров, но они необходимы (а в ситуациях, когда какой можно было бы и отключить, он ни на что не влияет - как в случае с DC фильтром, когда c DC все в порядке).
5. "Общее правило - минимум последовательных операций над звуковым файлом" - ну простые изменения уровня, склейки и обрезки делать не страшно, когда работаешь с 32 бит. А растяжку лучше делать один раз. Dolby Encoder использует до 24 бит информации, но спокойно принимает 32-бит файлы. Все внутренние операции в аудио-редакторах делаются в 32-бит. Поэтому и сбрасываю из BeSweet файлы в 32-бит. Всегда полагал, что в такой ситуации dithering можно не делать, а сейчас задумался - собственно, почему? Если Долби потом просто берет верхние 24 бита, то, по идее, dithering нужен как самая последняя операция с wav в аудио редакторе. Конечно, 24 бит - не 16, вряд ли кто услышит разницу с dithering и без.
Добавлено:QUOTE(kvappa @ Понедельник, 03 Декабря 2007, 22:41)
2
altar:
А что делают фильтры:
DC high pass
Bandwith low-pass
LFE low-pass
?
Если что-то из этого режет низкие частоты, перенося их в LFE, или наоборот - извлекает частоты выше определенной из LFE и распределяет их по другим каналам, то разве не "всё обрезано до нас"? Или мы, на этапе манипуляций со звуком, таки создаем поле деятельности для работы фильтров?
DC high pass убирает постоянную составляющую (проблема плохой аппаратуры записи). Если ее нет, он ни на что не влияет. Любой аудио редактор может ее проверить и убрать. Но, поскольку этот фильтр не может ничего испортить, он должен быть включен.
Bandwith low-pass - аккуратно убирает частоты выше полосы пропускания кодировщика (которая зависит от бит-рейт; при рекомендуемой - будет выше 20 кГц). Обязательно, поскольку убирает слышимые искажения за счет anti-aliasing.
LFE low-pass - убирает частоты выше 120 Гц из LFE.
Я полагаю, что все 3 фильтра должны быть всегда задействованы. Любые наши манипуляции со звуком дадут им пищу для работы.
Другое дело, 90-градусный сдвиг и 3 дБ заглушение задних каналов. Сдвиг, полагаю, надо отключить, иначе у нас получится уже 180 градусов от повторного применения. 3 дБ заглушение - зависит от того, как BeSweet раскодирует, компенсирует или нет. Надо провести несколько простых экспериментов, попробую сегодня, если будет время.