Ambient music
August 28, 2021

ЭМБИЕНТ. АЛГОРИТМЫ ПОЛА НАСКА

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

Его программное обеспечение использовалось при создании саундтреков к нескольким фильмам: например, «Судья Дредд 3D» 2012-го года, «Из машины» 2014-го. Также оно широко использовалось и используется до сих пор (благодаря открытому исходному коду) в игровой и музыкальной индустрии.

Наиболее известный его алгоритм — PaulStretch, он позволяет экстремально растягивать аудиофайлы «без потери качества». Ну как без потери? Да, вы можете растянуть звук вашей речи или какую-нибудь известную песню в 800 раз, и это будет звучать достаточно чисто и очень «эмбиентно». Но при обратном сжатии вы услышите, насколько деформировался исходный файл.

Для наглядности советую перейти на SoundCloud Пола, где можно запустить целых две композиции.

PAUL'S EXTREME SOUND STRETCH

Или PaulStretch. Алгоритм экстремального растягивания аудиофайла без потери качества. Чисто теоретически — бесконечно, хоть в квинтиллион раз. В настоящее время представлен в трёх ипостасях:

  • как эффект в бесплатном аудиоредакторе Audacity — наиболее простой в использовании, но имеющий меньше всего возможностей;
  • как очень архаично выглядящая программа Paul's Extreme Sound Stretch — в ней непросто освоиться из-за миллиарда малопонятных настроек, но она самая продвинутая;
  • как VST/AU-плагин под названием Xenakios PaulXStretch Plugin — наиболее полезная вещь, если вы работаете с DAW, так как предоставляет достаточно настроек для качественных преобразований, но не перегружает лишними возможностями. Плюс работает в реальном времени как отдельный плагин и захватывает звук прямо из DAW.

Подробнее о них я напишу чуть ниже. А пока — про сам алгоритм. Как пишет Пол Наска:

Идея довольно проста. Я беру небольшой кусок аудиофайла (обычно около 100 миллисекунд) из начальной позиции и «размазываю» его: сначала я анализирую частоты звука, а затем рандомизирую часть его характеристик перестраиваю весь фрагмент. Я повторяю тот же процесс для другого фрагмента аудиофайла и так далее.

По сути, происходит нечто вроде ресинтеза волновой структуры звука на основе спектрального слепка: исходя из информации о частотах, полностью перестраиваются фазовые характеристики. Изменённые кусочки ставятся друг за другом подряд и внахлёст, плавно перетекая и формируя тот самый плотный и длинный звуковой поток. Длина этих кусочков зависит от степени замедления: если обработать трек со степенью 1x, файл всё равно зазвучит размазанно.

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

Для самых дотошных — схема алгоритма.

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

Хуже всего его использовать на «шумных» и нетональных звуках: если исходный звук был хрустом, то вы получите во много раз растянутый… хруст. Он будет больше похож на белый шум из телевизора, чем на эмбиент.

Увеличивая во много раз, помните про длину исходного сэмпла: если она была длиной с минуту, то растяжка в 80 раз даст вам 80 минут звука, который, разумеется, будет занимать место на диске, а прямой пользы нести не будет. Оптимально брать секунд 10-15, и растягивать их в 10-20 раз.

И вкратце про каждую из ипостасей. Начнём с...

Audacity

Выделить файл или фрагмент > Эффекты > PaulStretch

Если вы хотите быстро растянуть во много раз какой-нибудь аудиофайл, и никаких иных целей вы не преследуете, значит это ваш вариант: заморачиваться с установкой и настройкой остальных точно не стоит. Имеет всего два редактируемых параметра:

  • Коэффициент растяжения — собственно, во сколько раз будем тянуть исходный звук. Сэмпл длиной в 1 секунду при коэффициенте 10.0 растянется до 10 секунд.
  • Масштаб времени — определяет длину сегментов, на которые будет делиться файл и которые будут размазываться. Чтобы эффект работал, этот параметр должен быть меньше, чем длина выделенного фрагмента сэмпла. При низких значениях хорошо считывается временная характеристика, но плохо частотная, так что ритмика и динамика сохранятся. А вот при высоких значениях всё наоборот: сэмпл станет единой кашей без ритма, но с хорошо читаемой нотой. Для большинства звуков обычно подходит значение в 0,25 секунд.

Paul's Extreme Sound Stretch

Уже в 2021-м эта программа выглядит довольно архаично. Наибольшие проблемы вызывает файловый менеджер: утомляют даже поиск и выбор нужного сэмпла.

Аудиофайлы лучше всего копировать в папку с программой: так вам не придётся отчаянно мириться с местным поисковиком прямиком из Windows 95.

Подробно говорить о всех возможностях не буду: их слишком много. Но на вкладке Parameters есть знакомые ползунки Stretch (то же, что коэффициент растяжения) и Window Size (то же, что масштаб времени). Кнопка S позволяет вводить точные числа. В Mode доступны 3 режима: Stretch растягивает до 10000x, HyperStretch до чисел с 18 нулями, а Shorten сокращает до 0,01x. В Type есть 5 типов растяжения (Rectangular, Hamming, Hann, Blackman, BlackmanHarris): крайний верхний лучше по частотам, но хуже в плане шумов, а крайний нижний вообще не производит шума, но имеет низкое частотное разрешение. Остальные — плавно переходящие, чтобы вы могли подобрать идеальное соотношение.

Stretch Multiplier позволяет нарисовать огибающую для ползунка Stretch: насколько значение будет меняться во времени. Вкладка Process позволяет дотошнейше настроить тембр: от количества гармоник до стереопанорамы. Для получения результата надо нажать «Render Selection» во вкладке «Write to File».

Xenakios PaulXStretch Plugin

Главный его плюс: звук меняется практически моментально, а работает всё очень шустро.

Вешаем на аудиодорожку и жмём Capture.

Но это не совсем «эффект». То есть да: вы вешаете его как VST/AU плагин на аудиодорожку. Но чтобы программа работала, надо захватить аудио в буфер, нажав Capture. Фоновый звук можно тоже пустить фоном, нажав Pass Input Through. За коэффициент растяжения отвечает ползунок Stretch Amount в правом столбике, а за масштаб времени — FFT size в левом. Всё остальное советую крутить на свой вкус. Чёрно-белая цепочка тракта звука в центре позволяет менять порядок обработок, включать и выключать все узлы.

PADSYNTH

Высококачественный алгоритм для создания «красивых естественных звуков» вроде хора, струнных или пэдов. За время с момента создания был, так или иначе, реализован во множестве коммерческих и бесплатных софтовых синтезаторах:

В настоящее время, если вам хочется легально и бесплатно, то проще всего найти плагин ZynAddSubFX: во вкладке Download можно скачать старую версию без необходимости куда-то закидывать денежку.

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


К ПОСЛЕСЛОВИЮ >

< НАЗАД К ОГЛАВЛЕНИЮ