Moja karta dźwiękowa to Realtek ALC 892. W systemie Windows 7 używam oficjalnych sterowników Realtek, w systemie Linux używam PulseAudio (na Ubuntu 13.10). Zarówno w systemie Windows, jak i Linux, kiedy włączę podbicie mikrofonu + 30db (wymagane, ponieważ mój mikrofon jest cichy), słyszę bardzo denerwujące i głośne szumy tła (potwierdziłem również szum tła za pomocą Audacity na obu systemach).
Jednak sterowniki Windows Realtek mają opcję tłumienia szumów, która działa (po włączeniu Audacity nie pokazuje hałasu w tle, a moje uszy potwierdzają również, że nie ma hałasu w tle).
Moje pytanie brzmi: jak mogę włączyć tłumienie szumów tła w ALSA / PulseAudio? Czy jest jakiś moduł, który mogę zainstalować, a może istnieje ustawienie, które można włączyć w pliku konfiguracyjnym?
Nie mogę znaleźć rozwiązania tego problemu, a to jedyna rzecz, która uniemożliwia mi całkowite przejście na Linuksa - ponieważ dużo mówię za pomocą mikrofonu, a w systemie Windows oprogramowanie Realtek całkowicie usuwa szum tła, a PulseAudio go nie usuwa, co oznacza, że nagrany głos w systemie Linux jest bardzo zły.
Wiem, że mogłem kupić lepszą kartę dźwiękową i mikrofon, ale jak powiedziałem, sterowniki Windows Realtek usuwają hałas z poziomu oprogramowania w czasie rzeczywistym (tj. Nie hałasują podczas rozmowy na TeamSpeak3 / Steam / jakikolwiek program VoIP), więc mam nadzieję, że jest taka opcja także w systemie Linux.
Jest to również umieszczone na krzyż w Ask Ubuntu, na które z kolei już tutaj odpowiedziano .
Odpowiedzi:
Zgodnie ze specyfikacją Realtek ,
znajduje się na liście Funkcje oprogramowania . Zajrzałem także do arkusza danych chipsetu ALC892 i tak naprawdę nie jest to funkcja chipsetu. Potwierdzono więc, że ta funkcja jest wyłącznie funkcją oprogramowania obsługiwaną przez sterownik Windows ALC892.
Dlatego też postaram się wprowadzić bardziej ogólne rozwiązanie tłumienia hałasu w systemie Linux, niezwiązane z tym konkretnym sterownikiem:
/programming//q/4875818/684229
źródło
Jeśli jest to cecha urządzenia, a nie tylko oprogramowania, z którym zostało ono dostarczone (prawdopodobnie jest to poprzednie), należy je zaimplementować w sterowniku jądra. 1 Wydaje mi się, że normalnie karty dźwiękowe PCI Realtek faktycznie używają sterownika Intel HDA z łatką do obsługi kodeków ALC (dla każdego, kto jest zainteresowany
[src]/sound/pci/hda/patch_realtek.c
:).Przeszukiwanie dokumentacji źródła jądra, „tłumienie szumów” lub „eliminacja echa” nie jest wspomniane w odniesieniu do tych urządzeń. Przeszukując źródło sterownika, nie jest również wyraźnie wymienione. Myślę, że gdyby zostało zaimplementowane, prawie na pewno byłoby to udokumentowane za pomocą interfejsu
/proc
lub/sys
oprogramowania przestrzeni użytkownika, którego można użyć, lub z opcjami modułu sterownika.Problem polega oczywiście na tym, że Realtek, podobnie jak większość producentów sprzętu, uważa swój kod źródłowy sterownika za tajny, co utrudnia lub uniemożliwia stronom trzecim tworzenie sterowników dla np. Systemów, których Realtek nie obsługuje w pełni, takich jak Linux . Realtek ma stronę zawierającą sterownik linuksa , jednak linki wydają się być martwe. Jeśli masz więcej szczęścia, ktoś ma instrukcje dotyczące instalacji go tutaj (jest to strona zorientowana na mennicę, ale proces będzie taki sam dla każdej dystrybucji). 2)
Jednak nawet jeśli gdzieś można znaleźć kopię, bardzo wątpię, czy sterownik implementuje pożądane funkcje, ponieważ nie ma o tym wzmianki. Najprawdopodobniej jest to mniej więcej to samo, co już masz; może to być nieco lepsze (strona Mint wspomina, że sterownik jądra zamienia głośniki boczne i tylne), ale może również okazać się gorszy lub całkowicie niefunkcjonalny, ponieważ sterowniki spoza drzewa nie są sprawdzane przez programistów jądra i mogą zawierać problemy związane z jądrem, którego autorzy nie są świadomi (zauważ, że autorzy łatki hda w drzewie mają
@realtek.com.tw
adresy e-mail).Więc jeśli nie usłyszysz czegoś innego, prawdopodobnie nie masz szczęścia. Możesz rozejrzeć się za rozwiązaniami programowymi, takie funkcje są najwyraźniej zaimplementowane przez Skype na Linuksie, więc najwyraźniej mogą działać w czasie rzeczywistym przy użyciu samego oprogramowania. Ktoś też napisał na ten temat artykuł , lol. Niestety nie miałem szczęścia, szukając w okolicy.
Trwa tutaj dyskusja na temat wykorzystania funkcji
alsamixer
do osiągnięcia pewnej redukcji szumów. Myślę, że musisz to zrobić, aby wyłączyć pulseaudio.1. Pulseaudio jest tak naprawdę narzędziem przestrzeni użytkownika zbudowanym na bazie ALSA, podsystemu dźwiękowego jądra (co oznacza: pulseaudio nie implementuje dostępu sprzętowego, po prostu działa ze strumieniami przychodzącymi / kierującymi do sterownika jądra).
2. Jeśli go znajdziesz, potrzebujesz wersji 3.0, a nie wersji 2.6. Liczby te odnoszą się do wersji jądra Linux, z którą są kompatybilne i używasz jądra 3.x. Jednak znowu, jeśli twój dźwięk jest w porządku, zdecydowanie odradzam to, ponieważ jest mało prawdopodobne, aby coś dla ciebie zrobić.
źródło
Włączenie
webrtc
wtyczki do pulseaudio pomogło w moim przypadku. W mojej odpowiedzi na askubuntu zamieściłem kroki, które należy włączyć.źródło