Подавление эха в PulseAudio

Сотрудник Collabora Multimedia и разработчик GStreamer Кристиан Шаллер написал в своём блоге о статусе реализации функции, выполняющей подавление эха в PulseAudio.

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

Изначально в планах было создать инфраструктуру фильтров и реализовать эту функцию как фильтр. Но поскольку необходимо работать одновременно с сигналом от микрофона и сигналом, уходящим в акустическую систему, было решено реализовать подавление эха как модуль PA, который получил название ‘module-echo-cancel’.

Для подавления эха создаётся виртуальная пара устройств, которая автоматически используется любым приложением, которое сообщает PulseAudio, что его тип — ‘phone’.

Архитектура созданного модуля такова, что в нём можно реализовывать разные подключаемые алгоритмы подавления эха. В настоящее время реализовано два алгоритма: основанный на Speex DSP и написанный Андре Адрианом.

Недостатком текущей реализации является неоптимальная работа модуля подавления эха при использовании устройств, не имеющих общий генератор синхросигнала. Т.е. если вы записываете звук с USB-микрофона или веб-камеры, подавление эха скорее всего не сработает. Это связано с конструктивными особенностями PulseAudio, которые планируется забороть совместно с разработчиками ALSA.

Функция реализована Collabora Multimedia совместно с NLnet. Кристиан пока не уточняет, в какой именно версии следует ждать подавление эха, но код уже включён в основную ветку разработки PulseAudio.

Оставьте первый комментарий

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*


Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.