Гибридный реверберационный алгоритм
При создании фонограмм различного назначения, в особенности музыкальных, важной задачей является передача звучания в акустическом пространстве, которым может являться как большой концертный зал, так и маленькая звукозаписывающая студия. Как известно, субъективное ощущение пространства при прослушивании возникает лишь тогда, когда запись сигнала содержит реверберационную составляющую… Читать ещё >
Гибридный реверберационный алгоритм (реферат, курсовая, диплом, контрольная)
При создании фонограмм различного назначения, в особенности музыкальных, важной задачей является передача звучания в акустическом пространстве, которым может являться как большой концертный зал, так и маленькая звукозаписывающая студия. Как известно, субъективное ощущение пространства при прослушивании возникает лишь тогда, когда запись сигнала содержит реверберационную составляющую. Но высококачественная запись в реальных, незаглушенных помещениях — сложная, а иногда и невыполнимая задача. В технике широко используются ревербераторы — устройства или вычислительные комплексы, имитирующие реверберацию.
Как правило, задача большинства существующих ревербераторов, как вычислительных, так и выполненных в виде электронных устройств — не имитация конкретной акустической среды, а выполнение некоторых художественных задач при обработке акустических (например, музыкальных) сигналов, предварительно записанных в заглушенном помещении. Исключением является алгоритм свёрточной реверберации, представляющий собой свёртку импульсной характеристики конкретного помещения с исходным сигналом. Однако этот реверберационный алгоритм не обладает гибкостью, т.к. в принципе имитирует лишь отклик комнаты, заданный используемой импульсной характеристикой [1].
В данной статье предлагается алгоритм гибридного свёрточного ревербератора, позволяющего моделировать произвольное акустическое пространство при умеренных вычислительных затратах.
Любой реверберационный сигнал можно условно разделить на две составляющие: ранние и поздние отражения, фиксируемые относительно прямого сигнала. Условной границей между ними принято считать задержку, равную 100 мс. При этом поздние отражения — от 100 мс до полного затухания сигнала — представляют собой сумму большого числа диффузных отражений, имеющих различные траектории распространения. Как показывают экспертные оценки, именно поздние отражения в наибольшей степени характеризуют пространственные параметры помещения, в то время как ранние влияют на общую естественность воспроизведения сигнала [2].
В предлагаемом алгоритме процесс имитации реверберации разделяется на две части:
Имитация ранних отражений с помощью импульсных характеристик, записанных в реальных помещениях или сгенерированных при помощи приведённого ниже алгоритма.
Имитация поздних отражений с помощью массива гребенчатых фильтров. гибридный реверберационный алгоритм акустический Предполагается, что такой гибридный алгоритм позволит добавить сразу несколько степеней свободы управления реверберационным сигналом. Очевидно, что свёртка исходного сигнала с импульсной характеристикой данного помещения даст субъективно более реалистичный результат, чем использование, например, линии задержки с отводами (Алгоритм Мурера [3]). При этом данный алгоритм позволяет изменять характеристики моделируемого помещения посредством изменения параметров гребенчатого фильтра, регулирующих размер виртуального помещения, положение источника звукового сигнала в комнате, положение слушателя и т. д.
Данный метод целесообразно использовать и для снижения вычислительных затрат при выполнении свёртки, поскольку длительность импульсной характеристики может выбираться в пределах 100мс, так как она используется лишь для имитации ранних отражений [4].
Таким образом, реализация данного алгоритма производится следующим образом:
- — для имитации ранних отражений выполняется свёртка исходного сигнала с импульсной характеристикой реального помещения или заранее сгегенированной импульсной характеристикой (для увеличения производительности алгоритма используется свёртка в частотной области)
- — выполняется моделирование поздних отражений с помощью алгоритма, представляющего собой развитие ревербератора Шредера, построенного на основе гребенчатых фильтров. Чтобы учесть временные соотношения и повысить достоверность результирующего сигнала, на вход ревербератора Шредера подаётся сигнал, полученный в результате свёртки.
Второй этап алгоритма включает в себя следующие элементы:
- — параллельные гребенчатые фильтры, за которыми располагаются ФНЧ первого порядка. Характеристики этих фильтров обеспечивают плавное нарастание спада высокочастотных составляющих сигнала с течением времени.
- — фазовые фильтры для увеличения плотности реверберационного «хвоста».
Рассмотрим подробнее алгоритм генерирования импульсных характеристик заданного помещения [5].
Введём следующие величины:
xs — х-координата источника звукового сигнала.
xr — линейный размер комнаты по оси x.
xm — координата точки приема сигнала тогда можно написать выражение для длины траектории отраженного сигнала, принятого в точке xm.
(1).
Аналогично будут выглядеть выражения для длин траекторий этого сигнала по y и z-осям.
(2).
(3).
Полная длина траектории в трехмерном пространстве будет рассчитываться следующим образом:
(4).
Таким образом, время прихода отражённого сигнала в точку приёма будет рассчитываться по следующей формуле:
(5).
Далее необходимо учесть степень ослабления сигнала.
Введём коэффициент ослабления по расстоянию:
(6).
Если принимать коэффициенты отражений от каждой из стен помещения равными, то можно ввести коэффициент отражения kw, возведенный в степень n, где n=|i|+|j|+|k| - общее количество отражений. Введем понятие полного коэффициента отражений [6].
В том случае если каждая из стен имеет различный коэффициент отражения, ситуация несколько усложняется. В этой связи в рамках данной статьи ее рассмотрение не является целесообразным.
Представим полный алгоритм ревербератора в виде блок-схемы (Рис. 1).
Рис. 1. — Блок-схема предлагаемого алгоритма
Рассмотрим более подробно первый этап: имитацию ранних отражений с помощью свёртки. Данная задача является чисто вычислительной. Как правило, используемая вычислительная мощность существенно возрастает с увеличением длины исходного сигнала, что значительно усложняет использование такого алгоритма в реальном времени [7]. Поэтому предлагается применить несколько более сложный сверточный алгоритм, основанный на разделении сигнала во временной области на более короткие составляющие и перемножение их в частотной области с последующим переходом во временную область. При этом выходной сигнал можно представить следующим образом:
(7).
где:х (n) — входной сигнал во временной области,.
y (n) — входной сигнал во временной области, Исходный сигнал делится на части, каждая из которых сворачивается с h (n). Пусть x (n) содержит Nx отсчётов, а h (n) — Nh = N+1 отсчётов (Nx>Nh). Тогда процедура выглядит следующим образом:
- — h (n) дополняется нулями до длины 2N = 2(Nh-1).
- — выполняется БПФ дополненного нулями фильтра, в результате получаем H (k), где k = 0, 1, 2 … N — 1,
- — исходный сигнал x (n) разделяется на сегменты xi (n), имеющие длину N. Каждый из этих сегментов дополняется нулями до длины 2N.
- — выполняется БПФ каждого дополненного нулями сегмента. В итоге получаем Xi (k), где k = 0, 1, 2 … 2N — 1.
- — производится перемножение в частотной области:
(8).
- — производится ОБПФ каждого Yi (k)
- — результаты свёртки складываются. В результате получаем выходной сигнал y (n), длина которого составляет Nx + Nh — 1.
Оценим количество операций, выполняемых при этих преобразованиях. Будем учитывать только операции умножения, как наиболее громоздкие в вычислительном отношении. Количество операций БПФ для выборки длиной n, где n=2m, m — целое число: 2.
Учитывая разбиение входного сигнала на M частей по N отсчётов, и рассматривая общее выражение для выходного сигнала, можно записать общее количество операций умножения, необходимое для получения результата:
(9).
При этом перемножение нулевых отсчётов не учитывалось, поскольку операция умножения на ноль практически не требует вычислительных затрат [8].
Рассмотрим более подробно второй этап: имитацию поздних отражений с помощью алгоритма реверберации поздних отражений, включающего в себя набор параллельных гребенчатых фильтров с последующими фазовыми фильтрами и ФНЧ.
Ранние отражения, полученные на первом этапе, далее поступают в массив параллельных гребенчатых фильтров.
Параллельные гребенчатые фильтры с обратной связью увеличивают плотность отдельных копий сигнала, полученных из линии задержки, имитируя увеличение количества отдельных отражений.
Гребенчатые фильтры с обратной связью характеризуются следующим разностным уравнением:
(10).
где с — коэффициент усиления сигнала.
g — коэффициент отрицательной обратной связи.
M — длительность (количество отчётов) задержки Как правило, с = 1. Тогда передаточная функция гребенчатого фильтра будет выглядеть следующим образом:
(11).
Соответственно, его АЧХ будет выглядеть следующим образом:
(12).
Рис. 2. — АЧХ и импульсная характеристика гребенчатого фильтра, использующегося в алгоритме
Как показано на Рисунке 1, за массивом гребенчатых фильтров расположены фазовые фильтры. Их назначение — также повысить «плотность» отражённого сигнала при имитации поздних отражений [9].
Рис. 3. — АЧХ и импульсная характеристика фазового фильтра при g=0,5 и М=1
ФНЧ осуществляют плавный частотный спад реверберационного сигнала, что придаёт дополнительную окраску сигналу [10]. Параметры алгоритма подбирались вручную экспериментальным путём.
Рис. 4. — АЧХ и импульсная характеристика гребенчатого фильтра с последовательно подключенным ФНЧ первого порядка.
Описанный в статье гибридный реверберационный алгоритм опирается на известные вычислительные процедуры, и требует относительно небольших вычислительных затрат. Помимо этого, он обладает гибкостью при имитации отклика различных помещений и, как ожидается, естественностью передачи исходного сигнала. Таким образом, данный алгоритм может быть применён в звукозаписывающей практике с целью повышения достоверности сигнала, воспринимаемого слушателем, а также для достижения различных художественных эффектов.
- 1. И. А. Кириченко, И. Б. Старченко. Принцип адаптивного подхода к управлению характеристиками акустических систем [электронный ресурс] // - «Инженерный вестник Дона», 2011, № 4. — Режим доступа: http://ivdon.ru/magazine/archive/n4y2011/553 — Загл. с экрана. — Яз. рус.
- 2. Zцlzer 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.