Моя звуковая карта - Realtek ALC 892. В Windows 7 я использую официальные драйверы Realtek, в Linux я использую PulseAudio (в Ubuntu 13.10). Как в Windows, так и в Linux, когда я включаю усиление микрофона + 30 дБ (требуется, потому что у меня тихий микрофон), я получаю очень раздражающий и громкий фоновый шум (я также подтвердил фоновый шум с Audacity в обеих системах).
Однако драйверы Windows Realtek имеют опцию подавления шума, которая работает (после ее включения Audacity не показывает фоновый шум, и мои уши также подтверждают, что фоновый шум отсутствует).
У меня вопрос, как я могу включить подавление фонового шума в ALSA / PulseAudio? Есть ли какой-нибудь модуль, который я могу установить, или, может быть, для него есть настройка, которую можно включить в файле конфигурации?
Я не могу найти решение для этого, и это единственное, что мешает мне полностью перейти на Linux - так как я много говорю с микрофоном, а в Windows ПО Realtek полностью удаляет фоновый шум, а PulseAudio не удаляет его, что означает, что записанный голос в Linux очень плохой.
Я знаю, что мог бы купить лучшую звуковую карту и микрофон, но, как я уже сказал, драйверы Windows Realtek устраняют шум на программном уровне в режиме реального времени (то есть не шумят при разговоре по TeamSpeak3 / Steam / любой другой программе voip), поэтому я надеюсь, что есть такая возможность и в Linux.
Это также crossposted на Ask Ubuntu , который в свою очередь уже ответили здесь .
Ответы:
Согласно спецификации Realtek ,
указан в списке функций программного обеспечения . Я также посмотрел в спецификации чипсета ALC892, и это на самом деле не особенность чипсета. Таким образом, подтверждается, что эта функция является исключительно программной функцией, обрабатываемой драйвером Windows ALC892.
Поэтому я бы приложил усилия к более общему решению подавления шума в Linux, не привязанном к этому конкретному драйверу:
/programming//q/4875818/684229
источник
Если это особенность устройства, а не только программное обеспечение, которое оно поставляло (вероятно, первое), то оно должно быть реализовано в драйвере ядра. 1 Мне кажется, что обычно звуковые карты Realtek PCI на самом деле используют драйвер Intel HDA с патчем для поддержки кодеков ALC (для всех, кто интересуется:)
[src]/sound/pci/hda/patch_realtek.c
.Поиск в исходной документации ядра, «подавление шума» или «эхоподавление» не упоминается в отношении этих устройств. Поиск самого источника драйвера также явно не упоминается. Я думаю , что если бы он был реализован, это будет почти наверняка документированы с интерфейсом в
/proc
или/sys
который пользовательское программное обеспечение может использовать, или с опциями для модуля драйвера.Проблема, конечно, в том, что Realtek, как и большинство производителей оборудования, считает, что их исходный код драйвера является секретным, что затрудняет или делает невозможным создание драйверов для, например, систем, которые Realtek не полностью поддерживает, таких как Linux , У Realtek есть страница с перечнем драйверов Linux , однако ссылки кажутся мертвыми. Если вам повезет, у кого-то есть инструкции по его установке здесь (это сайт, ориентированный на Mint, но процесс будет одинаковым для любого дистрибутива). 2
Однако , даже если вы можете найти копию где-нибудь, я очень сомневаюсь, что драйвер реализует нужные вам функции, так как я не могу найти упоминания об этом. Скорее всего, оно более или менее совпадает с тем, что у вас уже есть; это может быть немного лучше (на странице Mint упоминается, что драйвер ядра меняет местами боковые и задние динамики), но может также оказаться хуже или полностью не работать, так как драйверы вне дерева не проверяются разработчиками ядра и может содержать проблемы с ядром, о котором авторы не знают (обратите внимание, что у авторов встроенного hda-патча есть
@realtek.com.tw
адреса электронной почты).Так что, если вы не услышите что-то другое, вам, вероятно, не повезло. Вы можете найти программные решения для этого, такие функции, по-видимому, реализованы Skype на Linux, поэтому они, очевидно, могут работать в режиме реального времени, используя только программное обеспечение. Кто-то также написал статью об этом, смеется. К сожалению, мне больше не повезло в поисках.
Здесь обсуждается использование возможностей
alsamixer
для снижения шума. Я думаю, вам придется отключить pulseaudio, чтобы сделать это.1. Pulseaudio на самом деле является инструментом пользовательского пространства, который построен на основе ALSA, звуковой подсистемы ядра (то есть: pulseaudio не реализует аппаратный доступ, он просто работает с потоками, поступающими из драйвера ядра или идущими к нему).
2. Если вы найдете его, вам нужна версия 3.0, а не версия 2.6. Эти цифры относятся к версии ядра Linux, с которой они совместимы, и вы используете ядро 3.x. Однако, опять же, если с вашим звуком все в порядке, я настоятельно рекомендую не беспокоиться об этом, поскольку вряд ли он что-то сделает для вас.
источник
Включение
webrtc
плагина для pulseaudio помогло в моем случае. Я разместил шаги, чтобы включить в моем ответе на Askubuntu.источник