Гибридный Реверберационный Алгоритм Д.Д. Таранов
При создании фонограмм различного назначения, в особенности музыкальных, важной задачей является передача звучания в акустическом пространстве, которым может являться как большой концертный зал, так и маленькая звукозаписывающая студия. Как известно, субъективное ощущение пространства при прослушивании возникает лишь тогда, когда запись сигнала содержит реверберационную составляющую. Но высококачественная запись в реальных, незаглушенных помещениях -сложная, а иногда и невыполнимая задача. В технике широко используются ревербераторы - устройства или вычислительные комплексы, имитирующие реверберацию.
Как правило, задача большинства существующих ревербераторов, как вычислительных, так и выполненных в виде электронных устройств -не имитация конкретной акустической среды, а выполнение некоторых художественных задач при обработке акустических (например, музыкальных) сигналов, предварительно записанных в заглушенном помещении. Исключением является алгоритм свёрточной реверберации, представляющий собой свёртку импульсной характеристики конкретного помещения с исходным сигналом. Однако этот реверберационный алгоритм не обладает гибкостью, т.к. в принципе имитирует лишь отклик комнаты, заданный используемой импульсной характеристикой [1].
В данной статье предлагается алгоритм гибридного свёрточного ревербератора, позволяющего моделировать произвольное акустическое пространство при умеренных вычислительных затратах.
Любой реверберационный сигнал можно условно разделить на две составляющие: ранние и поздние отражения, фиксируемые относительно прямого сигнала. Условной границей между ними принято считать задержку, равную 100 мс. При этом поздние отражения - от 100 мс до полного затухания сигнала - представляют собой сумму большого числа диффузных отражений, имеющих различные траектории распространения. Как показывают экспертные оценки, именно поздние отражения в наибольшей степени характеризуют пространственные параметры помещения, в то время как ранние влияют на общую естественность воспроизведения сигнала [2].
В предлагаемом алгоритме процесс имитации реверберации разделяется на две части:
1. Имитация ранних отражений с помощью импульсных характеристик, записанных в реальных помещениях или сгенерированных при помощи приведённого ниже алгоритма.
2. Имитация поздних отражений с помощью массива гребенчатых фильтров.
Предполагается, что такой гибридный алгоритм позволит добавить сразу несколько степеней свободы управления реверберационным сигналом. Очевидно, что свёртка исходного сигнала с импульсной характеристикой данного помещения даст субъективно более реалистичный результат, чем использование, например, линии задержки с отводами (Алгоритм Мурера [3]). При этом данный алгоритм позволяет изменять характеристики моделируемого помещения посредством изменения параметров гребенчатого фильтра, регулирующих размер виртуального помещения, положение источника звукового сигнала в комнате, положение слушателя и т.д.
Данный метод целесообразно использовать и для снижения вычислительных затрат при выполнении свёртки, поскольку длительность импульсной характеристики может выбираться в пределах 100мс, так как она используется лишь для имитации ранних отражений [4].
Таким образом, реализация данного алгоритма производится следующим образом:
- для имитации ранних отражений выполняется свёртка исходного сигнала с импульсной характеристикой реального помещения или заранее сгегенированной импульсной характеристикой (для увеличения производительности алгоритма используется свёртка в частотной области)
- выполняется моделирование поздних отражений с помощью алгоритма, представляющего собой развитие ревербератора Шредера, построенного на основе гребенчатых фильтров. Чтобы учесть временные соотношения и повысить достоверность результирующего сигнала, на вход ревербератора Шредера подаётся сигнал, полученный в результате свёртки.
Второй этап алгоритма включает в себя следующие элементы:
- параллельные гребенчатые фильтры, за которыми располагаются ФНЧ первого порядка. Характеристики этих фильтров обеспечивают плавное нарастание спада высокочастотных составляющих сигнала с течением времени.
- фазовые фильтры для увеличения плотности реверберационного «хвоста».
Рассмотрим подробнее алгоритм генерирования импульсных характеристик заданного помещения [5].
Введём следующие величины: х5 - х-координата источника звукового сигнала хг - линейный размер комнаты по оси х хт - координата точки приема сигнала тогда можно написать выражение для длины траектории отраженного сигнала, принятого в точке хт.
Аналогично будут выглядеть выражения для длин траекторий этого сигнала по у и z-осям.
Полная длина траектории в трехмерном пространстве будет рассчитываться следующим образом:
= л1х2+у1+г:
(4)
Таким образом, время прихода отражённого сигнала в точку приёма будет рассчитываться по следующей формуле:
(5)
Далее необходимо учесть степень ослабления сигнала. Введём коэффициент ослабления по расстоянию:
(6)
Если принимать коэффициенты отражений от каждой из стен помещения равными, то можно ввести коэффициент отражения км/, возведенный в степень п, где п=|/1 + |/1 + \к\ - общее количество отражений. Введем понятие полного коэффициента отражений = к^ г + ^ + к [6].
В том случае если каждая из стен имеет различный коэффициент отражения, ситуация несколько усложняется. В этой связи в рамках данной статьи ее рассмотрение не является целесообразным.
Представим полный алгоритм ревербератора в виде блок-схемы (Рис. 1)
Рис. 1. - Блок-схема предлагаемого алгоритма
Рассмотрим более подробно первый этап: имитацию ранних отражений с помощью свёртки. Данная задача является чисто вычислительной. Как правило, используемая вычислительная мощность существенно возрастает с увеличением длины исходного сигнала, что значительно усложняет использование такого алгоритма в реальном времени [7]. Поэтому предлагается применить несколько более сложный сверточный алгоритм, основанный на разделении сигнала во временной области на более короткие составляющие и перемножение их в частотной области с последующим переходом во временную область. При этом выходной сигнал можно представить следующим образом:
у(п) = /^Г(^Г(Ь(п)} • ^РЦх(п)}}, (7)
где: х(п) - входной сигнал во временной области,
у(п) - входной сигнал во временной области,
Исходный сигнал делится на части, каждая из которых сворачивается с И(п). Пусть х(п) содержит Их отсчётов, а И(п) - = N+1 отсчётов (Кх>Кь). Тогда процедура выглядит следующим образом:
- Н(п) дополняется нулями до длины 2И = 2(Иь-1).
- выполняется БПФ дополненного нулями фильтра, в результате получаем И(к), где к = 0, 1, 2 ... N - 1,
- исходный сигнал х(п) разделяется на сегменты х(п), имеющие длину N. Каждый из этих сегментов дополняется нулями до длины 2И.
- выполняется БПФ каждого дополненного нулями сегмента. В итоге получаем X¡(к), где к = 0, 1, 2 ... 2И-1.
- производится перемножение в частотной области:
У (к) = X, (к)И (к) (8)
- производится ОБПФ каждого Уг(к)
- результаты свёртки складываются. В результате получаем выходной сигнал у(п), длина которого составляет Их + - 1.
Оценим количество операций, выполняемых при этих преобразованиях. Будем учитывать только операции умножения, как наиболее громоздкие в вычислительном отношении. Количество операций БПФ для выборки длиной п, где п=2ш, т - целое число: 2 п 1о§2 п
Учитывая разбиение входного сигнала на M частей по N отсчётов, и рассматривая общее выражение для выходного сигнала, можно записать общее количество операций умножения, необходимое для получения результата:
М (п 1о§2 N + N 1о§2 N + N + N 1о§2 N) = МИ (1 + 31о§2 N) (9)
При этом перемножение нулевых отсчётов не учитывалось, поскольку операция умножения на ноль практически не требует вычислительных затрат [8].
Рассмотрим более подробно второй этап: имитацию поздних отражений с помощью алгоритма реверберации поздних отражений, включающего в себя набор параллельных гребенчатых фильтров с последующими фазовыми фильтрами и ФНЧ.
Ранние отражения, полученные на первом этапе, далее поступают в массив параллельных гребенчатых фильтров.
Параллельные гребенчатые фильтры с обратной связью увеличивают плотность отдельных копий сигнала, полученных из линии задержки, имитируя увеличение количества отдельных отражений.
Гребенчатые фильтры с обратной связью характеризуются следующим разностным уравнением:
у(п) = сх(п) - gy(n - М) ,
где с - коэффициент усиления сигнала
g - коэффициент отрицательной обратной связи М - длительность (количество отчётов) задержки
Как правило, с = 1. Тогда передаточная функция гребенчатого фильтра будет выглядеть следующим образом:
Н (-) =
1 - &
(11)
Соответственно, его АЧХ будет выглядеть следующим образом:
в(а) = Н (в]а) =
1 -
-]аМ
(12)
0.2 0.4 0.6 0.8
1 1.2
1.2 1
0.0 ¥об
0.4
02
J_а
10 12 14 10 10 20
Рис. 2. - АЧХ и импульсная характеристика гребенчатого фильтра, использующегося в алгоритме
Как показано на Рисунке 1, за массивом гребенчатых фильтров расположены фазовые фильтры. Их назначение - также повысить «плотность» отражённого сигнала при имитации поздних отражений [9].
301-1-1—.......1-1-1—.......1-1-1—.......
20-----
_ : : : :
15 20
45 50
1
Рис. 3. - АЧХ и импульсная характеристика фазового фильтра при
g=0,5 и М=1
ФНЧ осуществляют плавный частотный спад реверберационного сигнала, что придаёт дополнительную окраску сигналу [10]. Параметры алгоритма подбирались вручную экспериментальным путём.
40
£ 20
(О |
I о
<
-20
ю2 ю3 ю4
Частота, Гц
1
0.0 ©0.6 0.4 0.2 0
0 5 10 15 20 25 30 35 40 45 50
мс
Рис. 4. - АЧХ и импульсная характеристика гребенчатого фильтра с последовательно
подключенным ФНЧ первого порядка.
Описанный в статье гибридный реверберационный алгоритм опирается на известные вычислительные процедуры, и требует относительно небольших вычислительных затрат. Помимо этого, он обладает гибкостью при имитации отклика различных помещений и, как ожидается, естественностью передачи исходного сигнала. Таким образом, данный алгоритм может быть применён в звукозаписывающей практике с целью повышения достоверности сигнала, воспринимаемого слушателем, а также для достижения различных художественных эффектов.
I I III
I I
1 и А 1ч „ Л ,. ,!---
Литература:
1. И.А. Кириченко, И.Б. Старченко. Принцип адаптивного подхода к управлению характеристиками акустических систем [электронный ресурс] // - «Инженерный вестник Дона», 2011, №4. - Режим доступа: http://ivdon.ru/magazine/archive/n4y2011/553 - Загл. с экрана. - Яз. рус.
2. Zolzer U. DAFX // John Wiley & Sons. West Sussex. - 2002. - 554 p.
3. Toma, N., Topa, M.D., Popescu, V., Szopos, E. Comparative Performance Analysis of Artificial Reverberation Algorithms // IEEE Automation, Quality and Testing, Robotics. - 2006. - Vol. 1. - P. 138-142.
4. Toma, N., Topa, M., Szopos, E. Aspects of reverberation algorithms // ISSCS International Symposium on Signals, Circuits and Systems. - 2005. -Vol. 2. - P. 577-580.
5. Campbell, D. RoomSim acoustic toolbox for MatLab // IEEE CS Tech. Com. On Computer Generated Music. - 2007. - Vol.1. - P.120-126.
6. McGovern, Stephen G. A Model for Room Acoustics [электронный ресурс] // - University of Victoria, 2004. - Режим доступа: http://www.sgm-audio.com - Загл. с экрана. - Яз. англ.
7. Smith, W. The Scientist and Engineer's Guide to Digitial Signal Processing [электронный ресурс] // 2007. - Режим доступа: http://www.dspguide.com - Загл. с экрана. - Яз. англ.
8. А.Г. Тимошенко, Ю.В. Круглов, К.М. Ломовская, Е.О. Белоусов, А.В. Солодков. Особенности проектирования схем для исследования интегральных антенн [электронный ресурс] // - «Инженерный вестник Дона», 2011, №3. - Режим доступа:
http://ivdon.ru/magazine/archive/n3y2011/476 - Загл. с экрана. - Яз. рус.
9. Smith, J. Spectral Audio Signal Processing // Center for Computer Research in Music and Acoustics (CCRMA). Stanford, California. - 2010. - 235 p.
10. W. G. Gardner. 3D Audio and Acoustic Environment Modeling //
Wave Arts, Inc. - 1999. - 1G9 p.