Этот пример показывает несколько основных аспектов позиционирования аудиосигнала. Прослушиватель занимает положение в центре круга, а положение источника звука варьируется так, чтобы оно оставалось внутри круга. В этом примере источником звука является моноуральная запись вертолета. Звуковое поле представлено пятью дискретными местоположениями динамика на окружности и низкочастотным выходом, который считается в центре окружности.
Этот пример требует строения динамика и полагается на аудиоканалы, сопоставляемые с физическими местоположениями следующим образом:
Спереди налево
Передний правый
Центр фронта
Низкая частота
Задний левый
Справа сзади
Это конфигурация динамика Windows ® по умолчанию для каналов 5.1. В зависимости от типа используемой звуковой карты этот пример может работать достаточно хорошо для других строений динамика.
В модели есть два исходных блоков интереса. Первый - сам аудиосигнал, а второй - пространственное расположение вертолета. Пространственное расположение вертолета представлено парой Декартовых координат, которые ограничены, чтобы лежать в пределах модуля круга. По умолчанию это расположение определяется блоком с меткой «Задать положение случайным образом». Этот блок поставляет входу для блока MATLAB Function с меткой «расчет громкости динамика», который определяет матрицу томов динамика. Векторное произведение источника звука затем берётся с матрицей положения динамика, которая затем подается на шесть динамиков через блок To Audio Device.
Можно также определить положение вертолета вручную. Для этого выберите переключатель в модели, чтобы сигнал, подаваемый на блок computeVol, шел от блока, помеченного как «Установите положение визуально». Затем дважды кликните по новому исходному блоку. Появляется графический интерфейс пользователя, который позволяет перемещать вертолет в другие места в пределах круга с помощью мыши, изменяя тем самым амплитуды динамика.
Моноуральный аудиоисточник смешан в шесть каналов, каждый из которых соответствует динамику. Существует один низкочастотный канал в центре круга и пять динамиков, которые лежат на окружности, как показано на серой области GUI выше. Прослушиватель представлен палочкой, рисунком в центре круга.
Следующий алгоритм используется для определения амплитуд динамика:
1. В центре окружности все амплитуды равны. Значение для каждого динамика, включая низкочастотный, устанавливается равным 1/sqrt (5).
2. По периметру окружности амплитуды динамиков определяются с помощью Vector Base Amplitude Panning (VBAP). Этот алгоритм работает следующим образом:
a) Определить два динамика с любой стороны источника или, в вырожденном случае, один динамик.
b) Интерпретируйте векторы, определенные позициями динамика в (a), как базисные векторы. Используйте эти базисные векторы, чтобы представлять нормированный исходный вектор положения. Коэффициенты в этом новом базисе представляют относительные амплитуды динамика после нормализации.
Для этой части алгоритма амплитуда низкочастотного канала устанавливается в нуль.
3) Когда источник переходит от центра к периферии, происходит переход от алгоритма (1) к алгоритму (2). Этот переход затухает как кубическая функция радиального расстояния. Амплитудные векторы нормированы, поэтому степень постоянна независимо от местоположения источника.
4) Наконец, амплитуды распадаются, когда расстояние от центра увеличивается согласно обратному квадратному закону, так что амплитуда по периметру круга составляет одну четверть амплитуды в центре.
Для получения дополнительной информации о Vector Base Amplitude Panning, пожалуйста, смотрите ссылки.
Пулки, Вилле. Virtual Sound Positioning Using Вектора Основы Amplitude Panning (неопр.) (недоступная ссылка). Журнал Audio Engineering Society. Vol 45, No 6. Июнь 1997 года.