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 [email protected]