TimeStretch

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 Turyst04@nm.ru