Это растяжение звука во времени

Это растяжение звука во времени thumbnail

Растяжение по времени — это процесс изменения скорости или длительности аудиосигнала без изменения его высоты тона . Масштабирование высоты тона противоположное: процесс изменения высоты звука без влияния на скорость. Pitch shift — это масштабирование высоты тона, реализованное в блоке эффектов и предназначенное для живого исполнения. Управление высотой звука — это более простой процесс, который одновременно влияет на высоту звука и скорость, замедляя или ускоряя запись.

Эти процессы часто используются для согласования высоты тона и темпа двух предварительно записанных клипов для микширования, когда клипы невозможно воспроизвести или пересэмплировать. Растяжение времени часто используется для настройки радиорекламы и звука телевизионной рекламы, чтобы она точно соответствовала имеющимся 30 или 60 секундам. Его можно использовать для согласования более длинного материала с определенным временным интервалом, например, для 1-часовой трансляции.

Повторная выборка

Самый простой способ изменить продолжительность или высоту звука цифрового аудиоклипа — это преобразовать частоту дискретизации . Это математическая операция, которая эффективно восстанавливает непрерывный сигнал из его выборок, а затем снова производит выборку этого сигнала с другой скоростью. Когда новые образцы воспроизводятся с исходной частотой дискретизации, аудиоклип звучит быстрее или медленнее. К сожалению, частоты в сэмпле всегда масштабируются с той же скоростью, что и скорость, транспонируя воспринимаемую высоту тона вверх или вниз в процессе. Другими словами, замедление записи снижает высоту звука, а увеличение скорости — повышает высоту звука. Это аналогично ускорению или замедлению аналоговой записи, такой как фонографическая пластинка или кассета , создавая эффект бурундука . Используя этот метод, нельзя разделить два эффекта. Драм-трек, не содержащий звуковых инструментов, может быть преобразован в темп с умеренной частотой дискретизации без отрицательных эффектов, а дорожка с тональной настройкой — нет.

Частотный диапазон

Фазовый вокодер

Один из способов увеличить длину сигнала, не влияя на высоту звука, — это построить фазовый вокодер после Фланагана, Голдена и Портноффа.

Основные шаги:

  1. вычислить мгновенную зависимость частоты / амплитуды сигнала с использованием STFT , который представляет собой дискретное преобразование Фурье короткого, перекрывающегося и плавно обработанного окнами блока выборок;
  2. применить некоторую обработку к модулям и фазам преобразования Фурье (например, передискретизация блоков БПФ); а также
  3. выполнить обратный STFT, взяв обратное преобразование Фурье для каждого фрагмента и добавив полученные фрагменты сигнала, также называемые перекрытием и сложением (OLA).

Фазовый вокодер хорошо обрабатывает синусоидальные компоненты, но ранние реализации вводили значительное размытие переходных («биений») сигналов при всех нецелочисленных скоростях сжатия / расширения, что делало результаты фазовыми и размытыми. Недавние улучшения позволяют получить более качественные результаты при всех степенях сжатия / расширения, но эффект остаточного смазывания все еще сохраняется.

Технику фазового вокодера также можно использовать для выполнения сдвига высоты тона, хоруса, манипуляции тембром, гармонизации и других необычных модификаций, все из которых могут изменяться в зависимости от времени.

Синусоидальное спектральное моделирование

Другой метод растяжения во времени основан на спектральной модели сигнала. В этом методе пики идентифицируются в кадрах с использованием STFT сигнала, а синусоидальные «дорожки» создаются путем соединения пиков в соседних кадрах. Затем треки повторно синтезируются в новом масштабе времени. Этот метод может дать хорошие результаты как для полифонического, так и для ударного материала, особенно когда сигнал разделен на поддиапазоны. Однако этот метод более требователен к вычислениям, чем другие методы.

Моделирование монофонического звука как наблюдение по спирали функции с цилиндрической областью

Область времени

СОЛА

Рабинер и Шафер в 1978 году предложили альтернативное решение, которое работает во временной области : попытаться найти период (или, что эквивалентно, основную частоту ) заданного участка волны, используя некоторый алгоритм обнаружения основного тона (обычно пик автокорреляции сигнала , или иногда кепстральная обработка) и переходят от одного периода к другому.

Это называется гармоническим масштабированием во временной области или методом синхронизированного сложения с перекрытием (SOLA) и работает несколько быстрее, чем фазовый вокодер на более медленных машинах, но не работает, когда автокорреляция неправильно оценивает период сигнала со сложными гармониками (например, оркестровые пьесы). ).

Adobe Audition (ранее Cool Edit Pro), похоже, решает эту проблему, ища период, ближайший к центральному периоду, который указывает пользователь, который должен быть целым числом, кратным темпу, и между 30 Гц и самой низкой частотой низких частот.

Он гораздо более ограничен по объему, чем обработка на основе фазового вокодера, но может быть значительно менее интенсивен для процессора для приложений реального времени. Он обеспечивает наиболее согласованные результаты для однотонных звуков, таких как голос или музыкально-монофонические записи инструментов.

Высококачественные коммерческие пакеты обработки звука либо сочетают в себе эти два метода (например, разделяя сигнал на синусоидальные и переходные формы волны), либо используют другие методы, основанные на вейвлет- преобразовании или обработке искусственной нейронной сети, что обеспечивает максимально качественное растяжение времени.

Фреймовый подход

Основанный на кадрах подход многих процедур TSM

Чтобы сохранить высоту звука звукового сигнала при растяжении или сжатии его длительности, многие процедуры модификации шкалы времени (TSM) следуют подходу на основе кадров. Учитывая исходный аудиосигнал с дискретным временем, первым шагом этой стратегии является разделение сигнала на короткие кадры анализа фиксированной длины. Кадры анализа разделены фиксированным числом образцов, называемым размером скачка анализа . Чтобы достичь фактического изменения шкалы времени, кадры анализа затем перемещаются по времени, чтобы иметь размер скачкообразного изменения синтеза . Этот кадр перемещение приводит к изменению продолжительности сигнала путем растяжения фактора в
. Однако простое наложение немодифицированных кадров анализа обычно приводит к нежелательным артефактам, таким как скачки фазы или флуктуации амплитуды. Чтобы предотвратить такие виды артефактов, кадры анализа адаптированы для формирования кадров синтеза до реконструкции выходного сигнала с измененной шкалой времени.

Стратегия получения кадров синтеза из кадров анализа является ключевым различием между различными процедурами TSM.

Скоростной слух и скоростная речь

Для конкретного случая речи растяжение по времени можно выполнить с помощью PSOLA .

Хотя можно было ожидать, что ускорение ухудшит понимание, Херб Фридман говорит: «Эксперименты показали, что мозг работает наиболее эффективно, если скорость передачи информации через уши — посредством речи — равна« средней »скорости чтения, которая составляет около 200–300 слов в минуту. (слов в минуту), но средняя скорость речи находится в районе 100–150 слов в минуту ».

Ускорение звука считается эквивалентом скорочтения .

Масштабирование высоты тона

Сдвиг частоты, обеспечиваемый Bode Frequency Shifter , не сохраняет соотношение частот и гармонию.

Эти методы также могут быть использованы для транспонирования аудиосэмпла при сохранении постоянной скорости или продолжительности. Это может быть выполнено растягиванием по времени и повторной дискретизацией до исходной длины. В качестве альтернативы, частота синусоид в синусоидальной модели может быть изменена напрямую, а сигнал восстановлен в соответствующем масштабе времени.

Транспонирование можно назвать масштабированием частоты или сдвигом высоты тона , в зависимости от перспективы.

Например, можно повысить высоту звука каждой ноты на одну квинту, сохранив темп. Это транспонирование можно рассматривать как «смещение высоты тона», «смещение» каждой ноты вверх на 7 клавиш на клавиатуре пианино, или добавление фиксированной величины по шкале Mel , или добавление фиксированной величины в линейном пространстве высоты тона . Можно рассматривать такое же транспонирование, как «масштабирование частоты», «масштабирование» (умножение) частоты каждой ноты на 3/2.

Музыкальное транспонирование сохраняет соотношение гармонических частот, определяющих тембр звука , в отличие от сдвига частоты, выполняемого амплитудной модуляцией , которая добавляет фиксированный сдвиг частоты к частоте каждой ноты. (Теоретически можно было бы выполнить буквальное масштабирование высоты тона, при котором масштабируется местоположение музыкального пространства основного тона [более высокая нота будет смещена с большим интервалом в линейном пространстве основного тона, чем более низкая нота], но это очень необычно и не музыкально) .

Обработка во временной области работает здесь намного лучше, поскольку размытость менее заметна, но масштабирование вокальных сэмплов искажает форманты в своего рода эффект Элвина и бурундуков , который может быть желательным или нежелательным. Процесс, который сохраняет форманты и характер голоса, включает анализ сигнала с помощью канального вокодера или вокодера LPC плюс любой из нескольких алгоритмов обнаружения основного тона с последующим его повторным синтезом на другой основной частоте.

Подробное описание старых аналоговых методов записи для изменения высоты звука можно найти в статье Элвина и бурундуков .

Смотрите также

  • Обработка аудиосигнала
  • Звуковые эффекты
  • Речь с сжатием времени

другие

  • Динамическая тональность — изменение настройки и тембра в реальном времени для новых последовательностей аккордов , музыкальных модуляций темперамента и т. Д.

Ссылки

  1. ^ https://web.archive.org/web/20080527184101/https://www.tvtechnology.com/features/audio_notes/f_audionotes.shtml
  2. ^ https://www.atarimagazines.com/creative/v9n7/122_Variable_speech.php
  3. ^ Jont Б. Аллен (июнь 1977). «Кратковременный спектральный анализ, синтез и модификация с помощью дискретного преобразования Фурье». Транзакции IEEE по акустике, речи и обработке сигналов . АССП-25 (3): 235–238.
  4. ^ McAulay, RJ; Quatieri, TF (1988), «Обработка речи на основе синусоидальной модели» (PDF) , The Lincoln Laboratory Journal , 1 (2): 153–167, заархивировано из оригинала (PDF) 21 мая 2012 г. , извлечено в 2014 г. -09-07
  5. ^ Дэвид Malah (апрель 1979). «Алгоритмы временной области для уменьшения ширины полосы гармоник и временного масштабирования речевых сигналов». Транзакции IEEE по акустике, речи и обработке сигналов . АССП-27 (2): 121–133.
  6. ^ Джонатан Дридгер и Мейнард Мюллер (2016). «Обзор временной шкалы модификации музыкальных сигналов» . Прикладные науки . 6 (2): 57. DOI : 10,3390 / app6020057 .
  7. ^ Переменная речь , Creative Computing Vol. 9, No. 7 / июль 1983 г. / стр. 122
  8. ^ https://www.nevsblog.com/2006/06/23/listen-to-podcasts-in-half-the-time/
  9. ^ https://web.archive.org/web/20060902102443/https://cid.lib.byu.edu/?p=128

внешние ссылки

  • Обзор времени растяжения и изменения высоты тона Исчерпывающий обзор методов изменения текущего времени и высоты тона, сделанный Стефаном Бернзее
  • Исходный код smbPitchShift C Стефана Бернзее Исходный код C для выполнения манипуляции тоном в частотной области
  • pitchshift.js от KievII — Javascript-питчшифтер на основе кода smbPitchShift из библиотеки KievII с открытым исходным кодом.
  • Фазовый вокодер: Учебное пособие — Хорошее описание фазового вокодера
  • Новые техники фазового вокодера для изменения высоты звука, гармонизации и других экзотических эффектов
  • Новый подход к обработке переходных процессов в фазовом вокодере
  • PICOLA и TDHS
  • Как построить питч-шифтер Теория, уравнения, рисунки и характеристики гитарного питч-шифтера в реальном времени, работающего на микросхеме DSP
  • Библиотека растяжения времени ZTX Бесплатные и коммерческие версии популярной сторонней библиотеки растяжения времени для iOS, Linux, Windows и Mac OS X
  • Коммерческая кроссплатформенная библиотека Elastique от zplane , в основном используется производителями диджеев и DAW.
  • Voice Synth от Qneo — специализированный синтезатор для творческой обработки голоса
  • Набор инструментов TSM Бесплатные реализации MATLAB различных процедур модификации шкалы времени
  • Pitch Shifter Audio Tool Онлайн-инструмент для изменения высоты звука, реализованный на алгоритме SoundTouch

Источник

Time Stretch — полезная функция, с помощью которой можно изменить длину и «темп» выбранного фрагмента аудиоданных, при этом не затрагивая высоту тона. Рассмотрим в этой статье особенности применения этой функции и покажем несколько примеров.

Time Stretch (растяжка по времени)

Функция растяжения аудиофайла по времени имеется практически во всех программах цифровой обработки музыки. Конечно, в каждой из них функция Time Stretch может называться немного по другому, например: Cubase, Nuendo (Time Stretch); Reaper (time stretch); FL Studio (Time Stretch); Samplitude (Time Stretching); Audition (Stretch) и т. д., но в целом найти её не составит проблем.

Что из себя представляет функция Time Stretch?

Данная функция Stretch (растяжение) построена на предварительном разбиении звукового фрагмента на элементы (выборки). Впоследствии каждая из выборок при необходимости обрабатывается отдельно, а затем опять собирается в результирующий сигнал. Длительность воспроизведения волновой формы при этом увеличивается (уменьшается), а высота тона не изменяется.

Варианты применения функции Time Stretch

Обычно возможно два варианта применения этой функции: быстрый и точный.

Быстрый вариант реализуется так:

  1. В быстром меню инструментов выбирается функция Time Stretch (ниже примеры из программы Samplitude, Cubase, Nuendo)

      

  1. Затем нужно навести курсор мыши на окончание одного из аудиофайлов. Вид курсора при этом может изменится на изображении руки, часов и т. п.
  2.  Захватите конец файла и перетащите мышь влево (чтобы увеличить скорость воспроизведения) или вправо (чтобы замедлить его).

Этот вариант действительно быстрый и может применяться когда файл не нуждается в точной подстройки под темп проекта (например, эффект, шум и т. п.)

Для точной настройки и «подгона» под нужный темп имеется второй вариант.

Точный вариант

Для этого нужно:

  1. Выберите нужный аудиофайл.
  2. Вызвать в меню функцию Time Stretch .
  3. Откроется диалоговое окно с различными параметрами: продолжительность файла, темп,  алгоритм преобразования и т. д.
  4.  Внесите изменения и нажмите OK.

Теперь перейдём к конкретным примерам.

Time Stretch в Cubase, Nuendo

Меню Time Stretch открывается командой  Audio > Process > Time Stretch 

Доступны следующие параметры:

Секция Define Bars (определения тактов)

Если вы используете настройки темпа, вы можете задать длину выбранного аудио и размер в этой секции.

  • Bars (Такты) —  Устанавливает длину выбранного аудио в тактах.
  • Beats (Доли) — Устанавливает длину выбранного аудио в долях.
  • Sign. (Размер) — Задаёт размер.

Секция Original Length (Исходная длительность)

Эта секция содержит информацию и настройки, касающиеся выбранного для обработки аудио.

  • Length in Samples (Длина в семплах) — Длина выбранного аудио в семплах.
  • Length in Seconds (Длина в секундах) — Длина выбранного аудио в секундах.
  • Tempo in BPM (Темп в BPM (уд/мин) — Позволяет вам ввести действительный темп аудио в ударах в минуту. Эта опция позволяет вам производить пересчёт аудио в другой темп, без расчёта необходимых коэффициентов растяжения или сжатия.

Секция Resulting Length (Результирующая длительность)

Это значение изменяется автоматически при регулировке Коэффициента Time Stretch для растяжения (сжатия) аудио, чтобы оно было привязано к определённому временному интервалу или темпу.

  • Samples (Семплы)Результирующая длина в семплах.
  • Seconds (Секунды) — Результирующая длительность в секундах.
  • BPM — Результирующий темп в ударах в минуту. Для этого необходима установка параметра Исходная длительность.

Секция Seconds Range (Диапазон в секундах)

Позволяет вам задать диапазон для растяжения по времени.

  • Первая строчка — Произвольное время вступления. Позволяет вам задать начальную позицию диапазона.
  • Вторая строчка —  Позволяет вам задать конечную позицию диапазона.
  • Use Locators (Использовать локаторы) — Позволяет вам установить значения Диапазона для левого и правого локаторов соответственно.

Секция Time Stretch Ratio (Коэффициент Time Stretch)

Определяет степень растяжения или сжатия в процентах от оригинальной длины. Если вы используете настройки в секции Результирующая длительность для установки степени растяжения, это значение изменяется автоматически.

Секция Algorithm (алгоритм)

Позволяет вам выбрать алгоритм растяжения по времени. Алгоритм MPEX — обрабатывает материал менее быстро, но с более высоким качеством. Realtime — наоборот, более быстро, но с худшим качеством.

Time Stretch в Reaper

Секции Take properties и Take pitch shift/time stretch mode окна Item Properties (F2) могут использоваться для растяжения клипа по времени.

Для этого необходимо отредактировать параметр Playback Rate. На рисунке ниже, скорость воспроизведения увеличена на 2%, и отмечена опция Preserve Pitch. В качестве алгоритма выбран Elastique 3 Pro.

Чтобы открыть окно Item Properties любого клипа, выберите клип и нажмите клавишу F2. Чтобы сделать это для нескольких клипов:

  1. Выберите нужные клипы.
  2. Нажмите клавишу F2.
  3. Диалоговое окно Item Properties включает параметры, изменения которых затронут несколько клипов сразу, включая параметры изменения высоты тона, и настройка скорости воспроизведения.
  4. Внесите изменения и нажмите OK.

Когда окно Item Properties открывается для нескольких клипов, некоторые опции будут затенены и, следовательно, не доступны. (например, опции Take envelopes и Rename file). Однако большинство опций доступно.

Time Stretch в Samplitude

В этой программе имеется плагин Resampling / Time Stretching. Он преобразует частоту дискретизации, растягивает/сжимает звук во времени, изменяет высоту тона. Открывается командой Effects > Time /Pitch > Resampling / Time Stretching главного меню программы.

Плагин не применяется в реальном времени. Однако кнопкой Play / Stop можно включить режим предварительного прослушивания обработанного материала, а кнопкой Play Original — материала исходного.
Интерфейс плагина предельно прост. Окно разделено на три секции. В секции Factor находятся два регулятора, управляющие параметрами преобразования:

  • Time factor — относительный коэффициент сжатия/растяжения аудиоматериала во времени;
  • Pitch (Half steps) — интервал транспонирования в полутонах.

В секции Time Factor Calculation расположены взаимосвязанные поля калькулятора, позволяющего пересчитать изменение длительности аудиоматериала в обрабатываемом объекте в изменение темпа и наоборот. Кнопка Reset приводит регуляторы и содержимое полей ввода в нейтральное положение, а обрабатываемый материал — в исходное.

Секция Algorithm

В раскрывающемся списке нужно выбрать алгоритм преобразования (один из восьми), в наибольшей степени соответствующий характеру обрабатываемого материала. Для удобства пользователя, если выделить в этом списке любую строку, автоматически откроется связанное с этой строкой окно, где в виде таблицы представлены сведения о том, в какой степени данный алгоритм пригоден для обработки того или иного аудиоматериала (барабанных партий, партий полифонических и одноголосных инструментов, вокала и т. д.).

Если установлен флажок Anti Aliasing Filter (High Quality Resampling), то преобразования будут выполнены с применением фильтра, предотвращающего искажения, вызванные наложением спектра дискретизированного сигнала на спектр сигнала исходного (эффект алиасинга).

Time Stretch FL Studio

Чтобы открыть инструмент Time Stretch / Pitch Shift  нужно  щелкнуть левой кнопкой мыши на кнопке Time Tool,  нажать (Alt + T) внутри Редактора, либо использовать  Tools > Time > Time stretch / Pitch. Чтобы открыть диалоговое окно «Вставить-растянуть»,  нажмите (Ctrl + Shift + T) или используйте Tools > Edit > Paste.

Секция Amount

  • Pitch coarse — Грубая высота тона. Изменение основного тона в полутонах.
  • fine — базовый шаг в центах
  • mui — множитель диапазона высоты звука (в%)
  • Time mul — изменить продолжительность выборки в%
  • length — измените длительность выборки, указав длину в миллисекундах (мс)
  • Method — выберите один из следующих методов смещения / сохранения высоты тона
  • Insert — если этот переключатель выключен образец будет смешиваться с оригиналом.

Следующая секция Formant preservation изменяет параметры pitch высоты тона, поэтому мы их рассмотрим в другой статье.

Time Stretch в Adobe Audition

Для запуска выберите команду Effects > Time and Pitch > Strech

Имеется две основные вкладки: Constant Stretch и Gliding Stretch

  • Constant Stretch (постоянное), то есть растяжение аудиофайла выполняется целиком без изменения стечением времени с одним и тем же коэффициентом.
  • Gliding Stretch (изменяющееся) можно выбрать величину растяжения для исходной и конечной волн по отдельности.

Рассмотрим подробнее каждую из вкладок.

Constant Stretch

Ползунок Stretch % — предназначен для задания величины, на которую изменится время воспроизведения волновой формы (волна может быть расширена или сжата). Перемещение этого ползунка влияет на изменения параметров Ratio и Length. При сжатие (менее 100%) или растяжении (более 100%) волны отображается — Compress Wave и Stretch Wave. В положении 100% ширина волны не изменится (Unchancged).

Поле Ratio — отношение времени воспроизведения к высоте тона волновой формы (в процентах)

Поле Length — конечное время изменения ширины волны

При изменение любого из трёх параметров изменяются все остальные.

В окне Transpose выбирается количество полутонов для понижения или повышения аудиофрагмента.

Группа Pitch and Time settings

Флажок Solo Instrument or Voice позволяет более аккуратно выполнить настройку сольной партии. Флажок Preserve Speech Characteristics позволяет сохраеить реалистичность звуков речи. Поле Formant Shift Semitones касаются формантной настройки сдвига тона.

Gliding Stretch

В этой вкладке появляется два ползунка Initial %, Final % (первоначальный %, финальный %). Остальные параметры (Ratio, Length,Transpose) такие же как и в Constant Stretch.

Группа Pitch and Time settings

В этом режиме в данной группе появляются следующие параметры:

Поле Splicing Freguency. В этом поле указывается частота сращивания (5-500 Гц), определяющая количество выборок, на которые делится звуковой фрагмент.  Значение этого параметра должно быть в целое число раз меньше частоты синусоидального колебания (частоты тонального заполнения), из которого состоит преобразуемая волновая форма.

Поле Overlapping. Предназначено для задания значения (0-50%) степени перекрытия звуковых выборок. При растяжении или сжатии выборки перекрываются друг другом.

Общие параметры для вкладок Constant Stretch и Gliding Stretch

Группа Precision имеет три варианта:

  • Low Precision (низкая точность);
  • Medium Precision (средняя точность);
  • High Precision (высокая точность).

Группа Stretching Mode также имеет три переключателя:

  • Time Stretch (Preserves Pitch) — позволяет уменьшать и увеличивать темп без изменения высоты тона;
  • Pitch Shift (Preserves Tempo) — позволяет уменьшать и увеличивать высоту тона (питч) без изменения темпа;
  • Resample (Preserves Neither) — позволяет изменять как высоту, так и темп.

В группе Presets содержится несколько готовых вариантов настроек:

  • Culting Power. Постепенное растяжение выделенного фрагмента. Если обрабатывать однотонный звук, то получается эффект звука выстрела и полёта снаряда.
  • Double Speed. Двухкратное сжатие во времени с одновременным повышением тона.
  • Fast Talker и Speed up. Увеличение темпа или сжатие фрагмента волновой формы с сохранением высоты тона.
  • Helium и Raisw Pitch. Повышение высоты звучания выделенной волновой формы при её неизменной длительности.
  • Slow Down. Растяжение фрагмента волновой формы во времени в полтора раза с сохранением прежней высоты тона.

Всем спасибо и удачи в творчестве!

Подписывайтесь на RSS блога и следите за новыми статьями.

Источник