В одном из своих рассказов* Марк Твен поведал выдуманную историю о миллионере, увлекавшемся коллекционированием необычных вещей: коровьих колокольчиков, обломков кирпичей, чучел китов. К каждой очередной коллекции он, в конце концов, охладевал, потому что ни одна из них принципиально не могла быть полной. Всегда находился хотя бы один недоступный для приобретения предмет, которым владел другой коллекционер. И тогда он решил обратиться к таким диковинкам, каких до него не додумался собирать ни один человек на свете. На сей раз он стал коллекционировать… эхо.
Чудак неутомимо скупал все те участки земли, где воспроизводилось многократное или чем-либо иным замечательное эхо. Первым его приобретением было четырехкратное эхо в Джорджии, затем он купил шестикратное в Мэриленде, а вслед за этим тринадцатикратное в Мэне. И пошло-поехало. Оказалось, что в торговле эхо цены нарастают как шкала каратов в торговле бриллиантами. За однократное эхо нужно приплатить только 10 долларов к стоимости земли, где оно обитает, за двукратное $30, за пятикратное $950, а за десятикратное $13 000… Однажды более чем за $3000 000 он приобрел один из двух холмов, участвующих в формировании шестидесятипятикратного эха, но к этому времени появился еще один коллекционер, который купил второй холм. Началась судебная тяжба за право использовать эхо, живущее между холмами. История кончилась разорением и смертью героя рассказа.
Дело было в середине девятнадцатого века. А в наши дни коллекционирование эхо - не столь дорогостоящее и не столь недоступное занятие. Компьютер, звуковая карта да несколько программ - вот и все, что для этого нужно.
Прочитав вступление, вы уже, наверное, догадались, что в нынешнем продолжении серии статей, посвященных компьютерной реализации звуковых эффектов, речь пойдет об имитации эха. Но сначала я хочу познакомить вас с еще одним из эффектов, основанных на задержке сигнала = дилэем.
Дилэй и эхо - близнецы-братья
Острая необходимость в эффекте дилэй (Delay - задержка) возникла с началом применения стереофонии. Суть эффекта состоит в том, что формируются несколько задержанных копий звукового сигнала. Сама природа слухового аппарата человека предполагает в большинстве ситуаций поступление в мозг двух звуковых сигналов, отличающихся временами прихода. Если источник звука находится "перед глазами": на перпендикуляре, проведенном к линии, проходящей через уши, то прямой звук от источника достигает обоих ушей в одно и то же время. Во всех остальных случаях расстояния от источника до ушей различны, поэтому либо одно, либо другое ухо воспринимает звук первым.
Дилэй применяется, прежде всего, в том случае, когда запись голоса или акустического музыкального инструмента, выполненную с помощью единственного микрофона, "встраивают" в стереофоническую композицию. Этот эффект служит основой технологии создания стереозаписей. Но дилэй может применяться и для получения эффекта однократного повторения каких-либо звуков.
Какая именно задержка должна быть выбрана? Ответ на этот вопрос определяется несколькими факторами. Прежде всего, следует руководствоваться эстетическими критериями, художественной целью и здравым смыслом. Для коротких и резких звуков время задержки, при котором основной сигнал и его копия различимы, меньше, чем для протяженных звуков. Для произведений, исполняемых в медленном темпе, задержка может быть больше, чем для быстрых композиций.
При определенных соотношениях громкостей прямого и задержанного сигнала может иметь место психоакустический эффект изменения кажущегося расположения источника звука на стереопанораме. Согласитесь, что, например, "перескоки" рояля с места на место по ходу прослушивания произведения очень трудно обосновать как с эстетических позиций, так и с точки зрения верности воспроизведения реального звучания. Как и любой эффект, дилэй нужно применять в разумных пределах и не обязательно на протяжении всей композиции.
Этот эффект реализуется с помощью устройств, способных осуществлять задержку акустического или электрического сигналов. Таким устройством сейчас чаще всего служит цифровая линия задержки, представляющая собой цепочку из элементарных ячеек - триггеров задержки. Для наших целей достаточно знать, что принцип действия триггера задержки сводится к следующему: двоичный сигнал, поступивший в некоторый тактовый момент времени на его вход, появится на его выходе не мгновенно, а только в очередной тактовый момент. Общее время задержки в линии тем больше, чем больше триггеров задержки включено в цепочку, и тем меньше, чем меньше тактовый интервал (чем больше тактовая частота). В качестве цифровых линий задержки можно использовать запоминающие устройства. Известны специальные алгоритмы адресации ячеек запоминающих устройств, обеспечивающие "скольжение" информации "вдоль" адресного пространства.
Разумеется, для применения цифровой линии задержки сигнал должен быть сперва преобразован в цифровую форму. А после прохождения копией сигнала линии задержки происходит цифро-аналоговое преобразование. Исходный сигнал и его задержанная копия могут быть раздельно направлены в различные стереоканалы, но могу быть и смешаны в различных пропорциях. Суммарный сигнал может быть направлен либо в один из стереоканалов, либо в оба.
В звуковых редакторах дилэй реализуется программным (математическим) путем за счет изменения относительной нумерации отсчетов исходного сигнала и его копии.
Возможны такие, например, разновидности задержки, при которых формируются несколько задержанных на различное время копий сигнала.
В виртуальных дилэях, так же как и в их аппаратных прототипах обязательно имеются регуляторы глубины и частоты модуляции времени задержки сигнала, а также регулятор коэффициента обратной связи (Feedback). Сигнал с выхода подается опять в линию задержки. Время затухания устанавливается регулятором обратной связи. Чтобы однократное повторение превратилось в настоящее повторяющееся эхо, коэффициент обратной связи надо увеличить. Как правило, и в реальных, и в виртуальных устройствах имеется регулятор, при помощи которого можно подобрать такое время задержки, чтобы оно соответствовало темпу композиции.
Основное отличие эффекта эхо (Echo) от простой задержки состоит в том, что задержанные копии сигнала подвергаются дополнительной обработке: изменяется их спектр. Звук, обработанный эффектом Echo более натурален по сравнению с обработанным эффектом Delay. В природе эхо образуется в результате переотражения звуковых волн от препятствий (например, от домов, стен помещения, гор и т. п.). Различные спектральные составляющие звука (как и любого другого волнового явления, например, света) различным образом отражаются от препятствий. Чем ниже частота (больше длина волны), тем легче волна преодолевает препятствия, огибая его. Высокочастотной волне, наоборот, очень сложно преодолеть любую, даже самую простую преграду. Такая волна не проходит сквозь препятствие, а отражается от него и частично поглощается, превращаясь, в конечном счете, в тепловую энергию. Но нельзя упускать из вида и тот факт, что высокочастотные звуковые волны при распространении в воздухе затухают быстрее низкочастотных. Подводя итог этим рассуждениям, можно предположить, что эхо содержит смещенный во времени исходный сигнал, у которого будут ослаблены и низкие, и высокие частоты. Как именно они изменятся, зависит уже от конкретных условий распространения звука (расстояние до препятствия, его материал и т. п.).
Дилэй и эхо в Cool Edit Pro 2
В мощном звуковом редакторе, коим является программа Cool Edit Pro 2, есть несколько встроенных эффектов, реализующих дилэй и эхо.
Для начала обратимся к команде Effects > Delay Effects > Delay…, которой открывается окно эффекта Delay (рис. 1).
Рис. 1. Окно эффекта Delay программы Cool Edit Pro 2
В группах Left Channel и Right Channel находятся элементы настройки задержек для каждого из стереоканалов.
С помощью регулятора Delay или непосредственно в поле ввода, расположенном справа от него, вы можете задать время задержки в миллисекундах.
Аналогичные элементы интерфейса, но на этот раз под названием Mixing позволяют задавать в процентах уровень задержанного сигнала, добавляемого в исходный. Состояние флажка Invert определяет, будет ли инвертирована фаза подмешиваемого сигнала.
Традиционно для Cool Edit Pro в окне этого эффекта имеется список предварительных установок Presets, однако я не стану его комментировать. Словами не описать все предусмотренные варианты микширования в различных пропорциях исходных сигналов левого и правого каналов с задержанными сигналами. Будет лучше, если вы сами опробуете и оцените пресеты этого и других эффектов.
Командой Effects > Delay Effects > Dinamic Delay… программы Cool Edit Pro 2 открывается окно эффекта Dinamic Delay (рис. 2).
Рис. 2. Окно эффекта Dinamic Delay программы Cool Edit Pro 2
По существу, в окне Dinamic Delay реализован дилэй, однако имеющиеся средства управления позволяют динамически с помощью графиков изменять значения двух важнейших параметров эффекта: задержку (координатное поле Delay) и коэффициент обратной связи (координатное поле Feedback).
Следует обратить ваше внимание на особенности функционирования эффекта при различных состояниях флажка Loop Graphs. Если флажок сброшен, то графики описывают изменение задержки и коэффициента обратной связи на всем протяжении выделенной области композиции. При установленном флажке Loop Graphs графики относятся к единственному циклу. И в таком случае вы работаете с фрагментом, временные параметры которого задаются в полях ввода группы Loop Graphs:
- Frequency - частота повторения циклов
- Period - период повторения циклов
- Total Cycles - общее число циклов в выделенной области волновой формы
Перечисленные три параметра жестко связаны друг с другом. У вас есть возможность независимо задать только один из них (любой), два остальных рассчитываются программой.
В поле Stereo Curve Difference вводится величина временного сдвига между соответствующими парами графиков в правом и левом каналах. Положительное число соответствует запаздыванию пары "правых" графиков, отрицательное - пары "левых". Обращаем ваше внимание на то, что сами сигналы правого и левого каналов при этом не претерпевают никаких дополнительных задержек.
С помощью окна эффекта Echo (рис. 3) программы Cool Edit Pro 2 можно смоделировать условия возникновения и развития эха. Окно открывается командой Effects > Delay Effects > Echo….
Рис. 3. Окно эффекта Echo программы Cool Edit Pro 2
Регуляторами Decay в процентах относительно исходного сигнала задается уровень задержанного сигнала - уровень эха, а значит, и время его существования. Delay - время в миллисекундах, на которое будет задержан сигнал.
Initial Echo Volume - уровень, с которым эхо будет подмешиваться к исходному сигналу.
Группа Successive Echo Equalization - эквалайзер, с помощью которого можно изменять спектр задержанного сигнала.
Флажок Continue echo beyond selection следует установить в том случае, если желательно оставить постепенное затухание эха за пределом выделенного фрагмента композиции. При установленном флажке Lock Left/Right соответствующие регуляторы левого и правого каналов объединяются. Если установить флажок Echo Bounce, то звучание эха будет акцентировано.
Командой Effects > Delay Effects > Multitap Delay… программы Cool Edit Pro 2 открывается окно эффекта Multitap Delay (рис. 4).
Рис. 4. Окно эффекта Multitap Delay программы Cool Edit Pro 2
Эффект Multitap Delay - комбинация дилэя, эха, фильтра и реверберации (о ней мы поговорим в следующий раз).
На диаграмме в верхней части окна Multitap Delay наглядно отображается алгоритм обработки звука эффектом. Алгоритм состоит из циклов. Каждому циклу на графике соответствует линия со стрелкой на конце. Цифры, отображаемые у начала линии, означают смещение эха относительно исходного звука. Цифры над линией означают задержку сигнала в цепи обратной связи.
Представленный на рис. 4 алгоритм эффекта, состоит из двух циклов. Например, в первом из них однократный дилэй формируется задержкой сигнала на 214 мс, а эхо получается за счет подачи задержанного сигнала в цепь обратной связи, время задержки которой, в свою очередь, составляет 170 мс.
Не очень понятно? Ничего удивительного, ведь и сам эффект комплексный, сложный. Разобраться в нем поможет аналогия с классическим магнитофонным ревербератором. В нем задержка осуществляется за счет того, что сигнал, записанный на ленту одной магнитной головкой, воспроизводится второй не в то же мгновение, а спустя время, необходимое для протяжки ленты от головки к головке. Если в ревербераторе есть две магнитные головки - записывающая и воспроизводящая, - то можно реализовать и простейший дилэй, и эхо.
Пусть скорость движения ленты и расстояние между головками такие, что задержка сигнала составляет 214 мс. Дилэй реализуется, если на выход устройства подавать необработанный (входной) сигнал и сигнал, снятый с головки воспроизведения. Реверберация (или, в зависимости от величины задержки, многократное эхо) получится, если задержанный сигнал (меньшего уровня) возвращать на головку записи. При этом получится многократное эхо, но задержка между каждым "отражением" звука будет составлять также 214 мс. Теперь представим себе, что в воображаемый магнитофон добавлена еще одна записывающая головка. Причем от этой головки до воспроизводящей головки лента перемещается за 170 мс и на нее подается не входной сигнал, а сигнал с воспроизводящей головки (задержанный сигнал). Получится полный аналог той схемы, которая представлена на рис. 4: однократная задержка на 214 мс и многократное эхо с повторением через 170 мс.
Иначе говоря, один цикл эффекта как бы соответствует магнитофону, имеющему две записывающие головки и одну воспроизводящую. На рис. 4 алгоритм состоит из двух циклов - это уже 5 головок (общей является одна записывающая головка). Всего может быть создано до 10 циклов, каждый с собственной задержкой, обратной связью, и установками параметров фильтрации. Чтобы аппаратным путем с помощью магнитофона получить тот же результат, понадобилось бы 29 магнитных головок.
Если один цикл помещен внутри другого (это видно на диаграмме), будет реализована многократный дилэй.
Выберите вариант схемы эффекта в списке Presets. После этого в списке Delay Units отобразятся параметры каждого из циклов задержки. С помощью регуляторов группы Delay или соответствующих им полей ввода можно подстроить следующие параметры каждого цикла:
- Offset - смещение относительно исходного звука
- Delay - задержка в цепи обратной связи
- Feedback - глубина обратной связи
Изменение положений двух первых регуляторов отображается на графиках циклов. Отмечу, что все регуляторы поля ввода и опции управляют параметрами текущего цикла: того, который в данное время выделен в списке Delay Units.
Очередную строчку в этот список добавляют путем нажатия кнопки Add New. Если уже существовал хотя бы один цикл, то вновь созданный цикл будет иметь те же параметры. Если ни одного цикла не существовало, то после нажатия кнопки Add New нужно еще щелкнуть на любом элементе группы Delay, чтобы появился график цикла. Чтобы удалить цикл, необходимо выделить его в списке Delay Units и нажать кнопку Remove.
Флажок Allpass Feedback следует устанавливать для предотвращения возникновения постоянной составляющей в обработанном эффектом сигнале.
В группах Low-Cut Filters и High-Cut Filters содержатся поля, в которых вводят частоту среза (Cutoff) и усиление (Boost) фильтра, вырезающего нижние частоты (Low-Cut Filter), и фильтра, вырезающего верхние частоты (High-Cut Filter), соответственно. Правда, если в полях Boost ввести значения, превышающие 0, то соответствующие частоты будут не вырезаться, а усиливаться. Но мы не рекомендуем этого делать потому, что может возникнуть явление, аналогичное самовозбуждению акустической системы: уровень каждого очередного задержанного сигнала будет выше, чем предыдущего. Иногда для получения эффекта незатухающего и даже возрастающего эха со специфическим тембром, возможно, вы и захотите ввести в полях Boost положительные числа. Замечу, однако: чтобы смоделировать самовозбуждение акустической системы, можно установить значение параметра Feedback, превышающим 100%.
Переключателями Left Channel, Right Channel и Both Channels выбираются обрабатываемые каналы - левый, правый или оба.
Дилэй в SONAR 2
В программе SONAR 2 также имеется несколько встроенных аудиоэффектов, реализующих задержку и эхо. Остановлюсь лишь на двух из них.С помощью эффекта Delay можно сымитировать задержку звука и его переотражение при распространении в пространстве с препятствиями. Вы можете задать задержку и/или число повторений и изменить время задержки и уровень сигнала, поступающего в цепь обратной связи, а также выбрать параметры модуляции времени.
Команда Process > Audio Effects > Cakewalk > Delay… вызывает окно диалога Delay, вкладка Settings которого изображена на рис. 5.
Рис. 5. Вкладка Settings окна диалога эффекта Delay программы SONAR 2
Регулятор Dry Mix (%) предназначен для управления уровнем громкости необработанного сигнала, ретранслируемого на выход эффекта, а регулятор Wet Mix (%) - обработанного сигнала на выходе эффекта. Если выключатель Link этой группы опций выключен, то регулировать эти параметры можно независимо друг от друга, если же включен, - то увеличение значения одного параметра приведет к уменьшению значения другого, и наоборот.
Left Delay (ms) и Right Delay (ms) - регуляторы интервала времени между повторениями сигналов левого и правого каналов соответственно. При высоких значениях этих параметров реализуется эффект задержки, а при малых и средних (приблизительно до 80 мс) - эффект эха. Максимальная задержка составляет 5 с. Если выключатель Link не активен, то регулировку этих двух параметров можно выполнить независимо друг от друга. В противном случае регуляторы Left Delay (ms) и Right Delay (ms) будут объединены в группу, и задержка для обоих каналов будет одинаковой.
Cross Feedback Mix (%) - регулятор коэффициента перекрестной обратной связи. От ее величины зависит кажущаяся ширина распределения эффекта по стереопанораме.
Left Feedback Mix (%) и Right Feedback Mix (%) - регуляторы уровня сигналов обратной связи левого и правого каналов соответственно.
LFO Rate (Hz) - регулятор частоты модуляции времени задержки сигналов (в герцах). За счет модуляции времени задержки имитируется отражение звуковых колебаний от движущихся (точнее, колеблющихся) предметов. Максимальная частота модулирующего сигнала 20 Гц.
LFO Depth - регулятор глубины модуляции времени задержки (в миллисекундах); максимальное значение параметра 20 мс.
Triangular и Sinusoidal - переключатели формы модулирующих сигналов (треугольная или синусоидальная). С помощью выключателя Bypass можно сравнить звучание фрагмента композиции до и после обработки.
Команда Process > Audio Effects > Cakewalk > FxDelay… вызывает окно диалога FxDelay, вкладка Settings которого изображена на рис. 6.
Рис. 6. Вкладка Settings окна диалога эффекта FxDelay программы SONAR 2
Чем принципиально отличается эффект FxDelay от рассмотренных выше имитаторов цифровых линий задержки? Эффект FxDelay позволяет создать не 1, а целых 4 цикла задержки, параметры каждого из которых можно выбирать независимо. Это, конечно, не 10 циклов, как в эффекте Multitap Delay программы Cool Edit Pro 2, но тоже вполне достаточно для моделирования в первом приближении акустических свойств помещения с учетом наличия 4-х отражающих поверхностей. И еще одно существенное отличие FxDelay: его параметрами можно управлять не только в реальном времени, но и записывая изменения состояния элементов регулировки посредством данных автоматизации.
Обратимся теперь к интерфейсу эффекта. В окне FxDelay вы видите много элементов, назначение которых уже знакомо по эффекту FxChorus (см. статью "Сирены поют хором", Магия ПК №12/2002).
Здесь также имеются четыре столбца VOICE 1 - VOICE 4, и в каждом из них расположены знакомые элементы:
- Поле ввода и индикации уровня усиления сигнала данного голоса
- Кнопка on включения данного голоса
- Кнопка set включения режима редактирования параметров голоса
- Слайдер gain регулировки уровня усиления сигнала голоса
Присутствует и столбец GLOBAL, содержащий:
- Поле ввода и индикации уровня усиления сигнала смикшированных голосов
- Кнопку G включения режима одновременной регулировки с помощью единственного слайдера уровня усиления всех голосов
- Слайдер регулировки уровня усиления микса сигналов голосов
В правой части окна размещены:
- Слайдер и поле ввода группы MIX LEVEL, предназначенные для регулирования пропорции между уровнями исходного и обработанного эффектом сигналов в выходном миксе
- Слайдер и поле ввода группы OUTPUT LEVEL, обеспечивающие регулирование уровня выходного сигнала
- Кнопка BYPASS, направляющая сигнал в обход эффекта
А вот набор параметров, которые можно выбрать независимо для каждого из голосов в окне данного эффекта, конечно же, не тот, что в окне FxChorus. Это и понятно. Хоть хорус с дилэем и основаны на задержке сигнала, но имитируют они совсем разные реальные явления: хорус - биения, возникающие в результате нелинейного взаимодействия близких по частоте колебаний, а дилэй - многократное отражение звуковых волн от препятствий. Поэтому в эффекте FxDelay разработчики программы предоставили вам возможность выбора следующих параметров каждого из голосов:
- DELAY (MS) - времени задержки сигнала данного голоса относительно исходного сигнала. С помощью поля ввода и слайдера coarse задержка задается грубо, а с помощью аналогичных элементов fine - уточнятся.
- FEEDBACK - величины коэффициента обратной связи, определяющая количество повторений задержанного сигнала
- PAN - панорамы голосаЭффект также сопровождается большим количеством разнообразных по назначению и звучанию "заводских" пресетов, к которым вы, без сомнения, скоро добавите и немало пресетов собственных.
Кроме эффектов, встроенных в звуковые и музыкальные редакторы, существует еще бесчисленное множество DirectX- и VST-плагинов. В них смоделированы все мыслимые алгоритмы преобразования звука, имитирующие явления, происходящие в процессе его распространения, отражения от препятствий и поглощения ими.
Дилэй в Cubase SX
В профессиональной виртуальной студии Cubase SX фирмы Stainberg эффектов, основанных на задержке сигнала, не счесть. Среди них есть и два дилэя, отличающиеся оригинальным интерфейсом. Помните, я рассказывал, как получить эффект многократного эха с помощью многоголовочного магнитофона? А вот и он сам.
Рис. 7. Окно симулятора магнитофонного дилэя программы Cubase SX
Конечно, на рисунке вы видите не настоящий магнитофон с его постукивающим электродвигателем, посвистывающим лентопротяжным механизмом и пощелкивающей в месте склейки лентой, пущенной по кольцу. Это только похожая на настоящую и наглядно выполненная панель управления эффектом, который называется Karlette, а реально является дилэем с четырьмя независимыми каналами управления параметрами. Вверху панели показана записывающая головка, а внизу выстроились вряд 4 воспроизводящих головки. Не могу удержаться от ехидного замечания в адрес дизайнеров, разработавших облик панели. Всё они предусмотрели. Даже проводники, с помощью которых головки соединяются со схемой прибора, покрыты разноцветной изоляцией, а головки болтиков блестят, будто они и в самом деле никелированные. И все же один немаловажный элемент - стирающую головку - они изобразить забыли. А ведь если бы перед тем, как подать к записывающей головке ленту, ее не очищали от предыдущей записи, образовалась бы звуковая каша. Но этот недостаток имеет исключительно декоративный характер. На самом деле алгоритм, имитирующий магнитофонный дилэй, работает правильно, а вы можете подбирать параметры эффекта на свой вкус.
Возле каждой из воспроизводящих головок расположен регулятор времени задержки (в реальном магнитофоне для изменения задержки пришлось бы передвигать головки вдоль канала транспортировки ленты). Если включить кнопку Sync, то задержка станет ритмизированной: кратной некоторой заданной доле музыкального такта. Соотношение уровней исходного и обработанного сигналов регулируется слайдером Wet - Dry. В каждом из каналов задержки доступны 4 параметра:
- Volume - уровень сигнала, обработанного в данном канале, поступающего на выход эффекта;
- Pan - панорама сигнала, обработанного эффектом;
- Damp - степень демпфирования (чем ближе значение параметра к 1, тем быстрее затихает эхо);
- Feedback - знакомый вам коэффициент обратной связи.
Еще один дилэй программы Cubase SX называется DoubleDelay. В нем, как и в предыдущем, можно регулировать величину задержки, значение коэффициента обратной связи, произвольно панорамировать обработанный сигнал, а также синхронизировать задержку с темпом музыкальной композиции. Однако здесь предусмотрено только два канала задержки. Зато изменения положений ручек регулировки наглядно отображаются на двух графиках.
Рис. 8. Окно эффекта DoubleDelay программы Cubase SX
В общем, если вы подобно герою рассказа Марка Твена решите в свое удовольствие или для продажи, заняться коллекционированием эхо, проблем, подобных тем, что погубили его, у вас не будет. Если же после прочтения статьи остались вопросы, обращайтесь к книгам "Cool Edit Pro 2. Секреты мастерства" и "Виртуальная звуковая студия SONAR" либо на форумы нашего сайта.
* Марк Твен. Рассказ коммивояжера. Собрание сочинений в восьми томах. Том 1. - М.: Издательство "Правда", 1980. - С. 230.