Liniowa regulacja głośności dla wszystkich wyjść w Ubuntu 9.10

Awatar użytkownika
polbanda1
Piegowaty Guziec
Piegowaty Guziec
Posty: 25
Rejestracja: 22 sty 2008, 17:17
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Liniowa regulacja głośności dla wszystkich wyjść w Ubuntu 9.10

Post autor: polbanda1 » 11 mar 2010, 23:52

Domyślnie w nowym systemie regulacja głośności nie jest liniowa, a logarytmiczna. To oznacza, że poziom głośności nie rośnie proporcjonalnie do ruchu suwaka za nią odpowiedzialnego. Liniowo regulowany jest tylko software Master czyli to, co słyszy się najczęściej. A co ze słuchawkami? Tam, jak i we wszystkich pozostałych wyjściach regulacja jest drastyczna bo skokowa. Albo nie słyszymy nic, albo bardzo głośno. Dla wielu z nas może to być uciążliwe, a raczej niepotrzebne udogodnienie. Radykalnie zubożono też możliwość klikalnej kontroli dźwięku.
Nie można już, tak, jak we wcześniejszych wersjach, po prostu wejść w preferencje gnome-volume-control i ustawić, którymi urządzeniami chce się sterować poprzez klawisze głośności na klawiaturze lub scrollem nad ikoną apletu.
Teraz dokonanie takiego wyboru jest niemożliwe bez ingerencji w pliki konfiguracyjne. Nie będę już tutaj wyrażał mojej opinii na ten temat.
Po długich poszukiwaniach, udało mi się znaleźć rozwiązanie.

A więc zaczynamy od:

Kod: Zaznacz cały

sudo gedit /usr/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common
Sekcję wyglądającą tak (podkreśliłem różnice):

Kod: Zaznacz cały

[Element PCM]
switch = mute
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right
zamieniamy na:

Kod: Zaznacz cały

[Element PCM]
switch = mute
volume = ignore
override-map.1 = all
override-map.2 = all-left,all-right
Teraz w terminalu wpisujemy:

Kod: Zaznacz cały

sudo gedit /usr/share/pulseaudio/alsa-mixer/paths/analog-output.conf
i hashujemy wszystkie używane przez naszą kartę dźwiękową sekcje, z wyjątkiem tylko Hardware Master. W moim przypadku wygląda to tak:

Kod: Zaznacz cały

[General]
priority = 100

[Element Hardware Master]
switch = mute
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right

#[Element Master]
#switch = mute
#volume = merge
#override-map.1 = all
#override-map.2 = all-left,all-right

[Element Master Mono]
switch = off
volume = off

; This profile path is intended to control the speaker, not the
; headphones. But it should not hurt if we leave the headphone jack
; enabled nonetheless.
#[Element Headphone]
#switch = mute
#volume = merge
Tu całość pliku http://wklej.org/id/295130/txt/

To samo robimy w pliku dotyczącym słuchawek:

Kod: Zaznacz cały

sudo gedit /usr/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf
Tu, jak wygląda to u mnie: http://wklej.org/id/295131/txt/


Teraz konfiguracja głośności.

W terminalu uruchamiamy

Kod: Zaznacz cały

alsamixer
Ustawiamy PCM i CD na 74 (0dB), a Master, Headphone i resztę, która nas interesuje na 100 bądź odpowiednik 0dB.
Alsamixer zamykamy klawiszem ESC.

Wszystko gotowe.

Teraz można albo zrestartować system, albo wpisać kolejno następujące polecenia (nie trzeba tego robić jako root:

Kod: Zaznacz cały

pulseaudio -k

Kod: Zaznacz cały

pulseaudio -D
Podpowiem tylko, że po tej operacji można w Audacious śmiało ustawić wyjście na PulseAudio i wyłączyć programową zmianę głośności. Teraz wreszcie Audacious umożliwia niezależną regulację głośności (nie odbywa się to przez główną regulację ani przez alsamixer - PCM czy Master), czego brak w opozycji choćby do winampa było czasem dość irytujące.
ODPOWIEDZ

Wróć do „Hardware-Multimedia”