TimeStretch
(clip, float "tempo", float "rate", float "pitch", int "sequence", int "seekwindow", int "overlap", bool "quickseek", int "aa")
TimeStretch
позволяет изменять темп tempo, тональность pitch и скорость воспроизведения rate звука независимо один от другого, т.е.:
Параметры:
Параметры скорости задаются в процентах и по умолчанию равны 100. Если tempo задать 200, это приведет к ускоренному вдвое воспроизведению, если же tempo 50, воспроизведение замедлится вдвое. Регулировка параметра rate эквивалентна использованию команд AssumeSampleRate и ResampleAudio.
Алгоритм time-stretch (растяжения во времени) имеет несколько параметров, подбирая которые можно оптимизировать качество звука под определенные приложения. Текущие параметры по умолчанию должны подбираться методом итерационного анализа "если-то" (читай: "методом проб и ошибок") с целью достижения лучшего субъективного качества звучания при обработке поп/рок музыки, но в прикладной обработке звука различного вида установки параметров по умолчанию могут дать не совсем оптимальный результат.
Значения параметров по умолчанию time-stretch алгоритма:
Sequence 82 SeekWindow 28 Overlap 12
Влияние этих параметров таково:
Следующая таблица подводит итог в подборе параметров в случае разных приложений:
Имя параметра | Значение по умолчанию | Влияние максимального значения... | Влияние минимального значения... | Музыка | Речь | Влияние на загрузку процессора |
Sequence | Значение по умолчанию относительно большое, выбрано для замедления темпа музыки | Большее значение обычно лучше для замедления темпа. Увеличение значения притормаживает "эхо"-артефакты при замедлении темпа. | Меньшие значения должны быть лучше при увеличении темпа. Уменьшение значения убыстряет "эхо"-артефакты при увеличении темпа. | Значение по умолчанию обычно подходит | Меньшее относительно значения по умолчанию может быть лучше | Увеличение параметра уменьшает вычислительную сложность |
SeekWindow | Значение по умолчанию относительно большое, выбрано для замедления темпа музыки | С большими значениями лучше находятся хорошие места перекрытия, но могут вызывать артефакты дрейфа | Меньшие значения снижают возможность находить хорошие места перекрытия, но уменьшают артефакты дрейфа. | Значение по умолчанию обычно подходит, если не беспокоят артефакты дрейфа. | Значение по умолчанию обычно подходит | Увеличение параметра увеличивает вычислительную сложность |
Overlap | Значение по умолчанию относительно большое, выбрано пригодным для вышеприведенных параметров. | Если Вы уменьшите "sequence ms", то можете попробовать меньшее значение. | Увеличение параметра увеличивает вычислительную сложность |
Примечание:
Плагин НЕ является вполне точным в отношении аудио-выборки. При его использовании возможны некоторые неточности. Учитывая использование чисел с дробной частью (float) возможно проявление ошибок округления, особенно на длинных аудио-выборках. В целом, однако, неточность не должна превышать 10-ов миллисекунд на выборках длинной в фильм.
SoundTouch используется в режиме выборок с дробной частью.
Примеры:
TimeStretch(pitch = 200)
Это приведет к повышению тональности звука pitch на одну октаву при неизменной длине исходной выборки.
TimeStretch(pitch = 100.0*pow(2.0, 1.0/12.0))
Это приведет к повышению тональности звука pitch на один полу-тон при неизменной длине исходной выборки.
TimeStretch(tempo = (100.0*25.0*1001.0)/24000.0)
Это приведет к изменению темпа tempo воспроизведения звука для преобразования из кинофильма в PAL без изменения тональности.
Благодарности:
Эта функция использует:
SoundTouch library Copyright (c) Olli Parviainen 2002-2006
http://www.iki.fi/oparviai/soundtouch
http://www.surina.net/soundtouch
История изменений:
v2.55 | Исходная реализация |
v2.57 | Задокументированы ряд параметров soundtouch |
$English Date: 2006/04/08 10:43:32 $
Русский перевод 15.05.2005-12.04.2006 Turyst04 [email protected]