Идентификация и разделение панорамируемых источников аудиосигналов в соединении стерео

В этом примере показано, как извлечь источник аудиосигналов из соединения стерео на основе его коэффициента панорамирования. Этот пример иллюстрирует реализации Simulink® и MATLAB®.

Введение

Панорамирование является методом, используемым, чтобы распространить моно или звуковой сигнал стерео в новый или многоканальный звуковой сигнал стерео. Панорамирование может симулировать пространственную перспективу прослушивателя путем варьирования амплитудного или уровня мощности первоисточника через новые звуковые каналы.

Панорамирование является важной составляющей звукотехники и смешивания стерео. В студийных стереозаписях другие источники или дорожки (соответствующий различным музыкальным инструментам, речи и другим источникам звука) часто зарегистрированы отдельно и затем смешиваются в сигнал стерео. Панорамированием обычно управляет физическая или виртуальная ручка управления, которая может быть помещена куда угодно от "крайне левого" положения (обычно называемый 8 часами) к крайне правой позиции (4 часа). Когда сигнал панорамируется к 8-часовой позиции, звук только появляется в левом канале (или динамик). С другой стороны, когда сигнал панорамируется к 4-часовой позиции, звук только появляется в правильном динамике. В 12-часовом положении звук одинаково распределяется на этих двух динамиках. Искусственное положение или направление относительно прослушивателя могут быть сгенерированы путем варьирования уровня панорамирования.

Исходное разделение состоит из идентификации и экстракции отдельных источников аудиосигналов от записи соединения стерео. Исходное разделение имеет много приложений, таких как речевое улучшение, выборка музыкальных звуков для состава электронной музыки и речевое разделение в реальном времени. Это также играет роль в stereo-multichannel (e.g. 5.1 или 7.1) upmix, где различные извлеченные источники могут быть распределены на каналах нового соединения.

Эти витрины в качестве примера исходный разделительный алгоритм применились к аудио сигналу стерео. Сигнал стерео является соединением двух независимо панорамируемых источников аудиосигналов: первый источник является человеком, рассчитывающим от один до десять, и второй источник является игрушечным гудком поезда.

Пример использует метод частотного диапазона на основе кратковременного анализа БПФ, чтобы идентифицировать и разделить источники на основе их различных коэффициентов панорамирования.

Версия Simulink

Модель audiosourceseparation реализует панорамируемый разделительный пример источника аудиосигналов.

Сигнал стерео смешан в Панорамируемой Исходной подсистеме. Сигнал стерео формируется из двух панорамируемых сигналов как показано ниже.

Источник гудка поезда панорамируется с постоянным коэффициентом панорамирования 0,2. Можно варьироваться коэффициент панорамирования речевого источника путем двойного клика по Панорамируемой Исходной подсистеме и изменения положения 'кнопки' индекса Панорамирования.

Исходный разделительный алгоритм реализован в, 'Вычисляют подсистему' Функции индекса Панорамирования. Алгоритм основан на сравнении кратковременных преобразований Фурье правых и левых каналов соединения стерео. Частотный диапазон, изменяющаяся во времени функция индекса панорамирования [1] вычисляется на основе взаимных корреляций левой и правой кратковременной пары БПФ. Существует непосредственное отношение между коэффициентом панорамирования источников и выведенным индексом панорамирования. Гистограмма рабочего окна реализована в 'Гистограмме индекса Панорамирования' подсистема, чтобы идентифицировать доминирующие индексы панорамирования в соединении. Желаемый источник затем не смешан путем применения смоделированной функции маскирования, использовал окно Gaussian, сосредоточенное в целевом индексе панорамирования. Наконец, несмешанный извлеченный источник получен путем применения кратковременного ОБПФ.

Смешанный сигнал и извлеченный речевой сигнал визуализируются с помощью осциллографа. Предполагаемый коэффициент панорамирования показывают на блоке Display. Можно слушать или смешанный стерео или несмешанный речевой источник путем зеркального отражения ручного переключателя во входе блока Audio Device Writer. Алгоритм потоковой передачи может адаптироваться к изменению в значении коэффициента панорамирования. Например, можно изменить коэффициент панорамирования от 0,4 до 0,6 и заметить, что отображенное содействующее значение панорамирования обновляется с правильным значением.

MATLABVersion

HelperAudioSourceSeparationSim реализация MATLAB панорамируемого исходного разделительного примера. Это инстанцирует, инициализирует и продвигается через объекты, формирующие алгоритм.

audioSourceSeparationApp функция переносит HelperAudioSourceSeparationSim и итеративно вызовы это. Это строит смешанные аудио и несмешанные речевые сигналы с помощью осциллографа. Это также открывает пользовательский интерфейс, спроектированный, чтобы взаимодействовать с симуляцией. Пользовательский интерфейс позволяет вам настраивать коэффициент панорамирования речевого источника. Можно также переключить между слушанием любого смешанный сигнал (свист + речь) или несмешанный речевой сигнал путем изменения значения 'Аудиовыхода' выпадающее поле в пользовательском интерфейсе. Существует также три кнопки на пользовательском интерфейсе - кнопка 'Reset' сбросит внутреннее состояние симуляции к своему начальному условию, и кнопка 'Pause Simulation' будет содержать симуляцию, пока вы не нажмете на нем снова. Симуляция может быть отключена или закрытием пользовательского интерфейса или путем нажатия на кнопку 'Stop simulation'.

Выполните audioSourceSeparationApp запускать симуляцию и строить результаты. Обратите внимание на то, что запуски симуляции, пока вы явным образом не останавливаете его.

MATLAB Coder™ может использоваться, чтобы сгенерировать код С для HelperAudioSourceSeparationSim функция. Для того, чтобы сгенерировать файл MEX для вашей платформы, выполните команду HelperSourceSeparationCodeGeneration от папки с разрешением записи.

Путем вызова обертки функционируют audioSourceSeparationApp с 'true' в качестве аргумента сгенерированный файл MEX может использоваться вместо HelperAudioSourceSeparationSim для симуляции. В этом сценарии пользовательский интерфейс все еще запускается в среде MATLAB, но основной алгоритм обработки выполняется файлом MEX. Производительность улучшается в этом режиме, не ставя под угрозу способность к настройкам параметров.

Ссылки

[1] 'Подход Частотного диапазона к Многоканальному Upmix', Avendano, Карлос; Кратко запишите, Жан-Марк, Объем JAES 52 стр Выпуска 7/8 740-749; июль 2004