Jak zmienić sposób, w jaki Ubuntu dostosowuje poziomy miksera głośności?

14

Od jakiegoś czasu mam dość irytujący problem z dźwiękiem i wreszcie zdecydowałem, że czas coś z tym zrobić.

Za każdym razem, gdy zmieniam główny suwak głośności na pasku narzędzi lub używam skrótów głośności na laptopie, Ubuntu w dziwny sposób dostosowuje poziomy miksera. Kiedy otwieram GNOME ALSA Mixer, zauważam, że dla mojego SigmaTel STAC9200 są trzy suwaki wyjściowe: Master, PCM i LFE. Master i LFE mają oba pola wyboru Wycisz.

Kiedy nacisnę jeden raz klawisz skrótu głośności, Master i LFE wyłączą wyciszenie, a suwaki PCM i LFE podskoczą w połowie. Suwak główny pozostaje na poziomie zero. Kolejna prasa podnosi PCM i LFE do około 4/5, a Master pozostaje niewzruszony na dole.

Ubuntu nie przenosi Master, dopóki PCM i LFE nie zostaną zmaksymalizowane, co występuje między około 15% -20% na głównym mikserze wyjściowym.

Skutkuje to tym, że nie słyszę żadnego dźwięku aż do około 15% -20% (ponieważ Master ma zero), a kiedy przekroczę ten próg, natychmiast słyszę głośny basowy dźwięk (najwyraźniej z LFE) . Jeśli korzystam ze słuchawek, nadal nie słyszę dźwięku aż do tego progu, ale przynajmniej to mnie nie uderza, kiedy dostaję dźwięk.

Czy jest coś w konfiguracji PulseAudio lub gdziekolwiek indziej, co mogłoby zmienić zachowanie mojego miksera wyjściowego?

DLH
źródło
1
Artykuł wiki.ubuntu.com był doskonały. Powinieneś był to opublikować jako odpowiedź.
DLH
2
Daniel T Chen: Prześlij swój komentarz jako odpowiedź. Jeszcze lepiej, podaj odpowiednią sekcję, na wypadek gdyby link nie zadziałał któregoś dnia.
Stefano Palazzo
Przepraszamy, przeniosłem odpowiedź do (więcej) odpowiedniej sekcji. Ponadto mam przerywany dostęp do Internetu, więc nie mogę od razu rozwiązać problemów. Dzięki za zrozumienie.
Daniel T Chen

Odpowiedzi:

23

W stosie audio znajduje się wiele warstw, które mogą przyczynić się do wystąpienia tego objawu. Najbardziej bezpośrednio jest to zachowanie domyślne dla PulseAudio, o czym można przeczytać na stronie http://pulseaudio.org/wiki/PulseAudioStoleMyVolumes . Możesz obejść niektóre instancje, korzystając z instrukcji, które napisałem na https://wiki.ubuntu.com/DebuggingSoundProblems/KarmicCaveats#Volume%20range%20anomalies :

Anomalie zakresu głośności

Najnowsza wersja PulseAudio próbuje kontrolować głośność karty dźwiękowej za pomocą elementów sterujących miksera. Zwykle działa to dobrze, ale w niektórych przypadkach nie działa to poprawnie. (To, czy jest to wina PulseAudio, czy ALSA, jest poza zakresem tej strony wiki. Więcej informacji na ten temat znajduje się tutaj .)

Diagnoza

Występuje dowolna z następujących sytuacji:

  • Skok głośności, np. Jeśli wszystko poniżej 20% jest wyciszone, a 21% jest bardzo głośne.
  • Overdriven (zniekształcony dźwięk), jeśli głośność jest ustawiona powyżej pewnego (niskiego) poziomu
  • Brak zmian głośności w części zakresu, np. Jeśli 20% jest tak głośne jak 70%.

Poprawka / obejście

Istnieje kilka zmiennych, które kontrolują sposób, w jaki PulseAudio kontroluje głośność. Możesz albo edytować /etc/pulse/default.pa(musisz to zrobić jako root), aby zmienić zachowanie wszystkich użytkowników, lub skopiować ten plik do, ~/.pulse/default.paa następnie edytować ten plik, aby zmienić zachowanie tylko dla bieżącego użytkownika.

Otwórz wyżej wspomniany plik. Znajdź wiersz mówiący load-module module-udev-detecti zmień go na:

load-module module-udev-detect ignore_dB=1

Aby wypróbować zmiany, uruchom ponownie PulseAudio za pomocą następującego polecenia:

killall pulseaudio

PulseAudio automatycznie się odrodzi (zrestartuje się).

Może się okazać, że powyższe obejście jest niewystarczające, w takim przypadku możesz skonfigurować PulseAudio do sterowania tylko jednym sterowaniem mikserem, np. PCM (por. Alsamixer). Znajdź wiersz mówiący #load-module module-alsa-sinki zmień go na:

load-module module-alsa-sink control=PCM

(pamiętaj, aby usunąć # na początku wiersza!) Opcjonalnie zastąp PCM sterowaniem mikserem, którym chcesz sterować PulseAudio.

Następnie musisz wykonać killall pulseaudiopowyższą procedurę i zezwolić demonowi na automatyczne odrodzenie.

Wreszcie, to, czy ta anomalia jest rzeczywiście błędem, wymaga użycia ubuntu-bug alsa-base.

Daniel T Chen
źródło
Zmiana tych dwóch linii w default.pa działała idealnie. Dzięki!
DLH
Mam ten sam mikroukład audio, a kontrola obciążenia modułu moduł-alsa-sink = PCM dało mi płynny dźwięk (nie potrzebowałem ignore_dB = 1). To wydaje się być błędem w tym chipsecie.
Eric Drechsel
Dzięki, ale nie jest to optymalne rozwiązanie. Najprawdopodobniej całkowicie psuje urządzenia audio w panelu dźwiękowym Ustawienia systemu Ubuntu. Po drugie, wydaje mi się, że to nie trwa.
wtorek,
Jesteś geniuszem! Miałem jeden z tych problemów (brak dźwięku poniżej 20% ISH) ze wszystkimi zewnętrznymi adapterami audio, których próbowałem (3+). Do teraz. O MÓJ BOŻE. Wszystko, czego potrzebowałem, to flaga ignore_dB = 1. Drugi nic nie zrobił. Jestem bardzo wdzięczna. Ta flaga powinna być domyślnie włączona, ponieważ miałem ten sam problem z tyloma zewnętrznymi adapterami audio (od 10 do 50 USD). (Nie spotkałem się z żadnym z opisanych problemów @thnee). Warto zauważyć, że miałem te problemy na Ubuntu 16.04 i nowszych. Obecnie jestem 17.04.
fgblomqvist 17.07.17