Мастер-классСекреты трекерного мастерства. Беседа третья.
Эхо и реверберация
Часть 1. Эхо
Сегодня мы будем беседовать о создании
в трекере эффекта эхо и имитации т.н. реверберации. Если бы под словом
"трекер" я подразумевал, например, BuzzTracker, то моя статья
закончилась бы, не успев начаться. В этом трекере достаточно добавить
в проект машину Jescola Delay или Jescola Reverb и пропустить через нее
звук. Естественно, еще пара строк бы ушла на описание некоторых параметров.
В трекерах же старой школы ситуация совершенно
другая. Никаких стандартных эффектов у нас нет. Приходится все делать
вручную. Т.е. строить эхо самому, каждое отражение, каждый отклик. Спонтанно
и неорганизованно. Хорошо это или плохо?! Хмм, спорный вопрос. Кому-то
это кажется ужасно долгим, кому-то вовсе ненужным. Очень часто встречаешь
в сети подобные высказывание: "Трекеры — мертвы с рождения. Все эти
изощрения в коде лишь попытка оживить бездыханный труп!". Я сейчас
тоже сижу и думаю. Ведь все эти строки — всего лишь пояснения к морально
устаревшему программному обеспечению. Нужен ли, вообще, кому-то этот файл?!
К счастью, мой оптимизм меня спасает.
Различие между трекером как музыкантом,
способным придумать некоторые неочевидные приемы, и трекером нового типа,
погрязшем в мире плагинов, обновлений и патчей, примерно такое же как
и между человеком, который сам себе сделал телевизор, и тем, кто просто
может оценить все достоинства купленной в магазине новой модели. Кто из
них лучше?! Наверное, вы скажете, что первый. А у кого телевизор совершеннее?!
У второго, ведь новая модель создавалась десятками опытных специалистов.
Так что, получается, что знание технологии не делает твою музыку красивее?!
Могу сказать лишь одно: второй остается по ту сторону прилавка. Он потребитель,
на которого и расчитаны такие программы (телевизоры).
Итак, эхо и реверберация. Представьте себе
веревку, закрепленную с одной стороны. Другой конец у вас в руках. Вы
"пускаете волну". Волна бежит по веревке, встречает крепление,
ослабевает и возвращается, но уже не так заметно. После этого веревка
просто слегка колышется. Вот простейший пример отражения волны.
Интуитивно природа эха ясна каждому — звук
отражается от окружающих предметов и через некоторое время возращается
к нам. На таком интуитивном уровне мы и построим наше эхо в трекере.

В данном примере эхо возвращается к нам
ровно через 2 строчки, с вдвое меньшей громкостью (все цифры в примерах
- шестнадцатиричные). Однако, такое эхо будет звучать не так долго, как
хотелось бы. Поэтому стоит добавить еще несколько треков со следующими
откликами. Чтобы такие отражения не сливались, разместим их по панораме:
основной сигнал будет ровно посередине, остальные заставим метаться из
колонки в колонку: второй — немного правее, третий — левее и т.д. Обычно
такой метод имитации эха именуется PingPong.
Отражений должно быть не очень много —
лучше потратим сэкономленное время на дальнейшие эксперименты. Обычно
используют 2 отклика, 4 — это явный перебор.
В результате мы должны получить нечто подобное:
* — примеры построены на основе FastTracker-a
аналог эффекта 8xx в ImpulseTracker-e
- Xxx
С точки зрения реализации такой метод может
показаться громоздким, однако, средства "современных" старых
трекеров позволяют быстро выделять, копировать и уменьшать громкость.
На весь этот блок у меня в ModPlugTracker-e ушло меньше 20 секунд. В FastTracker-e
- около 17. Хотя, наверное, это просто сноровка.
И еще несколько моментов. Если вспомнить
обычное эхо, то, кажется, что оно повторяет только последние звуки. Когда
кто-нибудь пытается изобразить его [эхо], он говорит: "Э-ГЕ-ГЕЙ!..гей..гей..гей..".
Эту характерную черту тоже можно передать в трекере. Поэтому, если линия
вашего инструмента внезапно прекращается, то можно сделать длинное эхо
для нескольких последних нот. Например, так:
Стоит упомянуть и про такой неприятный
эффект, как "эхо на следующем паттерне". Дело в том, что трекер
при вставке из буфера обрезает текст (PatternText), если он полностью
не вмещается на паттерне. Потому иногда, когда отклики распространяются
слишком далеко, приходится вручную копировать обрезки с текущего и вставлять
их в следующем паттерне. Многие считают, что такой шаг является подтверждением
профессионализма и опыта. Я же с этим не полностью согласен. Такие излишние
движения оправданы только тогда, когда отсутствие эха очень сильно режет
слух (например, когда последующий паттерн идет уже без этого инструмента
и достаточно тихо).
Что нам дает такой подход? Прежде всего
контроль за каждой нотой: механизм не скрыт в какой-нибудь коробочке с
двумя движками. Ну и, конечно же, понимание самого явления.
Часть 2. Реверберация
Что такое реверберация?! Акустики, например,
дают следующее неподъемное, но как я понимаю, научно-популярное определение:
Реверберация
- затухающее звучание в закрытом помещении после прекращения действия
источника звука, обусловленное многократными отражениями звука от ограничивающих
поверхностей.
Определение, конечно, можно было бы расширить
и на незамкнутые пространства, но думаю это несущественно. Гораздо важнее
осознать, что реверберация — это очень сложное явление. Его нельзя представить
в виде каких-либо повторений. В прошлой части беседы мы построили лишь
2 отклика. Реально же их миллионы. Но и это не все. Каждая поверхность
по-своему отражает звук — и это тоже надо учитывать. Все приборы, программы
и плагины лишь очень приблизительно повторяют звучание этого явления.
Люди очень давно оценили важность реверберации.
С одной стороны, естественная реверберация усиливает звучание: в концертном
зале с хорошей акустикой оркестр звучит ярко и громко. А с другой стороны,
это явление искажает звук. В Лос-Анджелесе был построен лекционный зал,
в котором реверберация после громкого возгласа сохраняется около 25 секунд.
Естественно, слова лектора при этом превращаются в кашу. Поэтому сие помещение
было быстро превращено в читальный зал.
Кроме того, каждое помещение имеет свои
собственные колебания или "модусы". Это определенные частоты,
которые затухают медленнее других: они резонируют. Такой резонанс в принципе
можно смоделировать при помощи фильтров. Однако, и здесь природа приготовила
сюрприз: если на низких и средних частотах таких резонирующих и десятка
не будет, то в диапазоне высоких частот их сотни. Естественно, приходится
всем этим пренебрегать.
Реверберация. Способ 1.
Но как же нам, трекерам, справиться с такой,
казалось бы, непосильной задачей? Вовсе необязательно залезать в дебри
физического моделирования. Достаточно построить, может быть, нестрогую,
но иллюстративную математическую модель. Несмотря на то, что мы живем
в трехмерном пространстве, модель мы будем строить на плоскости. Пусть
источник звука, а он же и слушатель расположен в середине прямоугольной
комнаты:
 Рис. 1. Графическое представление реверберации
Во все стороны от него распространяются
звуковые сигналы. Самыми первыми к нему вернутся те, что обозначены на
рисунке черными сплошными стрелками. Затем к нему будут возвращаться и
все остальные (пунктиры). Поэтому сначала к нам дойдут несколько четких
сигналов, а затем последует большое количество неоднократно отраженных,
которые и образуют гул реверберации. Первые принято называть первичными
отражениями, а вторые — шлейфом.
Теперь попытаемся повторить подобный эффект
в трекере. Промежутки времени между откликами очень малы, поэтому мы должны
будем установить в трекере малое значение Speed (например 3), чтобы была
возможность расставлять эти отражения. Но и этого будет мало. Мы будем
вынуждены применить эффект задержки ноты (Note Delay): EDx — в
FastTracker2, и SDx — в ImpulseTracker-e. Он позволит нам ставить
ноты "между строк" (подробнее об этом эффекте — в 2.12). В результате
можно получить следующее:
Если прослушать эту конструкцию на трекере,
то она, наверняка, вас не впечатлит. Это очень грубое приближение к звучанию
реверберации. И даже немотря на это, способ оказался очень трудоемким.
Однако существуют и более гуманные методы.
Реверберация. Способ 2.
Далее я попробую описать более распространенную
версию способа 1. Также оставляем повторения, идущие друг за другом через
малые промежутки времени. Отличие заключается в том, что мы изменяем другие
параметры звука: высоту и панораму. Расположим отражения по панораме и
чуть изменим высоту звука, используя эффект портаменто (2xx,
1xx — FT, Exx,
Fxx — IT). Тем самым звучание инструментов
растворится: отклики будут немного расстроены. Применение метода показано
в следующем блоке паттерн-текста:
Эта технология более приемлема и используется
музыкантами-трекерами гораздо чаще. Но она применима не для всех инструментов.
К примеру, струнные, хор или пэд будут звучать расстроенно. Реверберация
должна чувствоваться после прекращения действия источника звука. Поэтому
можно поступить вот так:
Конечно, существуют и другие трекерно-кодовые
изощрения, связанные с реверберацией. К примеру, для экономии треков используют
эффект многократного повторения ноты — Rxx.
Вот так можно наделить "железным" звучанием какой-нибудь инструмент:
Стоит сказать и про фильтры: в ImpulseTracker-e,
как известно, существуют команды Zxx,
позволяющие использовать низкочастотный фильтр. Так, каждому следующему
отражению можно обрезать высокие частоты. Получается очень даже приличное
эхо.
Реверберация. Способ 3.
Условно, первый способ — это попытка построить
модель реверберации, второй — подобрать звучание в трекере по наитию.
Третий же способ — это не хитроумные коды, а некоторые методы организации
инструментов. Итак, если вы хотите, чтобы инструмент звучал с реверберацией,
то достаточно преобразовать сам семпл в каком-нибудь аудио-редакторе,
а затем закинуть его обратно в трекер.
Изменяя таким образом инструменты с петлей
будьте осторожны: реверберация искажает однородное звучание инструмента,
поэтому иногда сложно подобрать положения начала и конца петли. Хотя FT,
к примеру, обладает мощным инструментом X-Fade
для устранения подобных неприятностей.
Если вы имеете дело с ударным инструментом
или просто инструментом без петли в семпле, то в полученном инструменте
с реверберацией без петли и огибающей не обойтись (если нам дорог малый
размер модуля): ударная часть так и остается без loop-a, а вот хвост реверберации
должен быть зациклен. Как правило, используется PingPong петля. Но, необходимо
пользоваться огибающей: так, чтобы гул реверберации в конце концов сошел
на нет.
 Рис. 2. Расположение начала и конца петли
Существуют и другие методы. К примеру,
располагать двумя инструментами: один — чистый сигнал, другой — только
реверберация. Тогда можно делать эхо по указанной выше методе, но используя
для отражений обработанный сигнал. Если правильно подобрать семплы — звучит
шикарно. Недостаток у этого способа — "раздутие" модуля: фактически
размер инструмента из-за его "размытого" двойника увеличивается
вдвое.
Можно пойти и другим путем: шлейф реверберации
у всех инструментов звучит примерно одинаково: это приглушенное звучание
инструмента и высокочастотный шум. Так можно добавить в модуль инструмент
"шума реверберации" и воспользоваться им одним сразу для многих
инструментов. Думаю, приводить здесь текст с использованием такого способа
для всех возможных инструментов было бы бессмысленно — ведь для каждого
конкретного звука строить такую реверберацию надо будет по-разному. Вот
так она могла бы выглядеть для бас-бочки:
Напомню, что эффект Axx
- это плавное изменение громкости — VolumeSlide. Аналог в ImpulseTracker-e
- Dxx. Такой метод, конечно, можно
усовершенствовать — сделать больше каналов реверберации, варьировать высоту
и расположить отражения по панораме. Еще можно добавить несколько первичных
отражений. Но это всего лишь детали.
Послесловие.
Пора подводить итоги. У многих после прочтения
этого текста должно появиться какое-то странное чувтсво не то обмана,
не то иллюзии. На дворе 2003 год. Актуальным FTII был где-то в 1997. То
есть 6 лет назад. Может, эта статья не успела вовремя опубликоваться или
это какой-нибудь запоздалый перевод?! Нет, это написано в новом тысячелетии,
буквально вчера. Но в конце концов, зачем так себя мучить?! Ведь существуют
редакторы, в которых все это делается намного быстрее и технологичнее.
Зачем смотреть в прошлое, пытаться найти там что-то уникальное и интересное?!
Надо идти в ногу со временем!
Тогда и я попробую спросить: извините,
а где линия фронта сейчас? В нотах 19 века и эффект-процессорах и синтезаторах
70-х?!
Можно затеять полемику насчет современности цифровых
технологий и возможностей программирования. Но ведь мы — не программисты,
мы не придумывали гранулярный синтез, не открывали психоакустические эффекты.
Для многих имя Жан Батист Фурье вообще ничего не говорит. И тем не менее
мы все этими достижениями пользуемся. Мы питаемся обломками цивилизации
- вот к нам упало что-то от трезвучий и ступеней лада, там — нам доступно
mp3 и быстрое преобразование Фурье, здесь — цифровые фильтры конечной
импульсной характеристики, где-нибудь еще — мы семплируем звучание рельных
инструментов. Мы все с вами копошимся в былых достижениях мировой звуко-музыкальной
культуры. И для этой цели FT2 ничуть не хуже, чем Buzz и Renoise. И там,
и там — бездна возможностей, если внимательно присмотреться.
Реверберация Buzz-a — это не реверберация
в FT2. Buzz выдает более облагороженное и чистое звучание. Но FT2 позволяет
нам разделить звуки. Я могу играть с отражениями. Они могут расползатся,
если я захочу. Гул реверберации может с легкостью отойти от источника
и начать свою собственную жизнь. Раз все делается с нуля, то нет никаких
границ. Чуточку фантазии и вы выходите на совершенно иной уровень сложности.
И что-то сравнивать здесь бессмыслено: это разные правила игры...
Каждый из нас должен помнить, что мы —
музыканты, а лишь потом трекеры. Гитаристы стачивают кожу на пальцах,
барабанщики потеют и теряют вес, певцы — кричат до слез. Мы же исправно
дергаем мышь и таращимся в экран. И все?! Как-то несправедливо. Во что
же мы можем ударить, что напрячь в трудные для нас моменты?! Электронная
(в том числе и компьютерная) музыка — это поле битвы умов. Так вот именно
наши извилины и должны шуршать и шевелиться до появления мозолей!
Этот текст вовсе не попытка классифицировать
все известные способы реверберации и дилэя. Это предложение всем трекерам
больше придумывать и искать.
  
© Сергей Мячин, 2003 © Семирамид, 2001-2003. Вернуться в раздел |