Программно избавиться от шума при записи с микрофона

Стоит чистая ALSA. При записи с микрофона слышен гул - низкая синусоида (90-91 герц), которая, по-видимому, создаётся вибрациями железа. Если я прижимаю панель ноутбука к столу, гул становится меньше, но его уровень всё равно довольно высок; а если не сжимать, то громкость сравнима с громкостью голоса. =( На стоящей рядом Windows в настройках драйвера Realtek есть галочка "снижать шум", после установки которой всё это чудодейственным образом пропадает.

Вот очень нужна такая фича на Linux... Но гугл ни на что не вывел.

Заранее спасибо за любые наводки!

P.S. Немного странно, что сильно раньше (год-два назад) этой проблемы на арче не было. Но, может, я тогда ещё не ковырял ноутбук особо, что у него там всё плотно сидело внутри, я не знаю. На всякий случай напишу пару выводов.

~/.asoundrc и /etc/asound.conf отсутствуют, /etc/modprobe.d/alsa-base.conf такой из опыта (по умолчанию стоит не та карта с таким же "названием", а любой другой position_fix, кроме 3, добавляет треск, тормоза звука или шум)

$ cat /etc/modprobe.d/alsa-base.conf
options snd-hda-intel index=1,0 position_fix=0,3

$ lspci -vv | grep Audio -A 8
00:01.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Wrestler HDMI Audio
	Subsystem: ASUSTeK Computer Inc. Device 84a5
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 64 bytes
	Interrupt: pin B routed to IRQ 27
	Region 0: Memory at feb44000 (32-bit, non-prefetchable) [size=16K]
	Capabilities: <access denied>
	Kernel driver in use: snd_hda_intel
--
00:14.2 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] SBx00 Azalia (Intel HDA) (rev 40)
	Subsystem: ASUSTeK Computer Inc. Device 841c
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 32, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 16
	Region 0: Memory at feb40000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: <access denied>
	Kernel driver in use: snd_hda_intel

$ cat /proc/asound/cards
 0 [SB             ]: HDA-Intel - HDA ATI SB
                      HDA ATI SB at 0xfeb40000 irq 16
 1 [Generic        ]: HDA-Intel - HD-Audio Generic
                      HD-Audio Generic at 0xfeb44000 irq 27
копай в сторону LADSPA там куча фильтров разных хорошо совмещается с алсой или пульсом.
но какой именно подойдет и с какими настройками подсказать не могу.
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
У меня подобное было с дешёвым микрофоном. Помогло отключение усиления микрофона (mic boost) в alsamixer. Но это не панацея. Если обрабатывать полученный звук, например в audacity, то в итоге этот посторонний шум всё равно проявляется (при наложении эффектов, при усилении и т.д.)
Вопроса в постобработке записанного звука не стоит... Нужно именно шумоподавление в режиме реального времени, чтобы все программы принимали уже "очищенный" сигнал. Почитаю про LADSPA, спасибо за наводку, там что-то есть со словами "real time", вроде=) Несмотря на очень громкий гул, виндовый драйвер его редуцирует полностью (за пару-тройку секунд после начала записи; полагаю, там какой-то частотный анализ, и в конечном итоге из сигнала просто вычитается эта синусоида), звук получается идеально чистым.
В alsamixer крутил уже всё, буст стоит на нуле, проблема есть, если всё выставить на ноль/замьютить, кроме Digital и Capture (эти из этих хотя бы один на нуле, будет тишина).

Нашёл человека с такой же проблемой на других форумах. Но там ничего утешительного (вот и вот)...

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