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

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

Введение

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

Панорамирование является важным компонентом звукорежиссуры и стереомикширования. В студийных стереозаписях различные источники или треки (соответствующие различным музыкальным инструментам, голосам и другим источникам звука) часто записываются отдельно и затем смешиваются в стереосигнал. Панорамирование обычно управляется физической или виртуальной ручкой управления, которая может быть помещена где угодно от положения «hard-left» (обычно обозначаемого как 8 'clock) до положения hard-right (4' clock). Когда сигнал панорамируется в положение 8 часов, звук появляется только в левом канале (или динамике). И наоборот, когда сигнал панорамируется в положение 4 часов, звук появляется только в правом динамике. В положении 12 часов звук равномерно распределяется между двумя динамиками. Искусственное положение или направление относительно прослушивателя может быть сгенерировано путем изменения уровня панорамирования.

Разделение источника состоит из идентификации и извлечения отдельных источников звука из записи стереомикса. Разделение источников имеет много применений, таких как улучшение речи, дискретизация музыкальных звуков для композиции электронной музыки и разделение речи в реальном времени. Он также играет роль в усилении стерео к многоканальному (например, 5.1 или 7.1), где различные извлеченные источники могут быть распределены по каналам новой смеси.

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

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

Версия Simulink

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

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

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

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

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

MATLAB Version

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

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

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

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

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

Ссылки

[1] 'Подход частотного диапазона к многоканальному Upmix', Advendano, Carlos; Жо, Жан-Марк, JAES Том 52 Выпуск 7/8 стр. 740-749; Июль 2004 г.