Sprzęt > Karty muzyczne

Jak Pulseaudio sprawdza natężenie dźwięku?

(1/3) > >>

Zagiewa:
Jak uruchomicie PulseAudio, zakładka Urządzenia wyjściowe i przykładowo słuchacie muzyki. Pojawia się jeden pasek - głośność którą można regulować oraz zaraz pod nią pasek którym się wypełnia i sygnalizuje natężenie dźwięku w trakcie odtwarzania. Potrzebuje polecenie które po wpisaniu w konsoli wyświetli mi stan tego właśnie paska. Oczekuję, że polecenie zwróci mi wartość liczbową obojętnie czy to będą dB czy coś innego.

1709:
Sprawdzales komendy pactl ?
man pactl  oraz
http://blog.chapagain.com.np/ubuntu-linux-increase-decrease-volume-from-command-line-keyboard-shortcut/


Edytwane
https://unix.stackexchange.com/questions/208784/command-line-per-application-volume-maybe-amixer-or-pactl/209047


Edytwane
Czytajac man pactl  http://manpages.ubuntu.com/manpages/precise/man1/pactl.1.html   ( w przegladarce lepiej widac )
Zobaczylem ze sa 4 opcje ze zmiana volume

--- Cytuj ---
set-sink-volume SINK VOLUME
...
set-source-volume SOURCE VOLUME
...
set-sink-input-volume INPUT VOLUME
...
set-source-output-volume OUTPUT VOLUME
--- Koniec cytatu ---
i Kazda z nich jest lista czegos

--- Cytuj ---$ pactl list x
Specify nothing, or one of: modules, sinks, sources, sink-inputs, source-outputs, clients, samples, cards
--- Koniec cytatu ---
Przykladowo ja mam uruchomiony Firefox i w nim Youtube
Wiec szukam cos na temat Firefoxa

--- Cytuj ---pactl list sink-inputs | grep firefox
      application.process.binary = "firefox"
      application.icon_name = "firefox"
--- Koniec cytatu ---
No jest, to zobaczmy co jest w srodku.

--- Kod: ---
pactl list sink-inputs
--- Koniec kodu ---
Dwa wiersze sie mi wyróżniają

--- Kod: ---
Sink Input #0
                ...
Sink Input #175
                 ...
--- Koniec kodu ---
( Firefox jest pod wierszem Sink Input #175 )

No to sprobujmy

--- Kod: ---
$ pactl set-sink-input-volume 175 100%
--- Koniec kodu ---
No i dziala ,  piosenka na Youtube gra na 100%,  nastepna juz nie bedzie i zmieni sie jej numer "Sink Input".


Edytowane

--- Kod: ---
$ pactl list sink-inputs  | grep Volume
Volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
Volume: front-left: 52921 /  81% / -5.57 dB,   front-right: 52921 /  81% / -5.57 dB
--- Koniec kodu ---
Z tego co zauwalem, to u mnie wartosc dzwieku w zaleznosci od utworu jest zmienna i nie wiem od czego ona zalezy.

Zagiewa:
Dzięki chociaż mi chodzi o coś innego... Tłumacząc dokładniej. Moja żona na player.pl czasem ogląda różne pierdoły. W trakcie oglądania pojawiają się reklamy, średnie 3 - 4 reklamy. Problem polega na tym, że włączy serial i ustawi głośność... włącza się jedna reklama i głośność tej reklamy jest mniej więcej taka sama jak głośność serialu ale po chwili włącza się druga reklama i wyje dwa razy głośniej :P Delikatnie mówiąc jest do denerwujące... Potrzebuję stworzyć skrypt który będzie działał w tle i sprawdzał poziom głośności żeby w razie gdy komputer "usłyszy", że dana reklama czy cokolwiek innego jest nagle dużo głośniejsze to zmniejszy głośność.

Stworzenie skryptu nie jest problemem ale szukam sposobu na sprawdzenie natężenia dźwięku. Robiłem próbę i gdy włączę jeden z seriali na player.pl i włączę pulseaudio to ten pasek pokazuje natężenie dźwięku, kiedy włącza się jedna z tych głośniejszych reklam, pasek mocno się przesuwa w prawo (pasek natężenia dźwięku, nie pasek głośności)

Kiedy już będę mógł sprawdzić natężenie będę mógł wykorzystując te komendy zmienić poziom głośności

1709:

--- Cytuj ---Stworzenie skryptu nie jest problemem
--- Koniec cytatu ---
Albo nie przeczytales do samego konca, albo jednak to dla Ciebie problem.


Edytowane
Poniewaz dla mnie problemem jest wygrepowanie "Sink" i "firefox" z pactl , wiec sprobowalem pacmd

--- Kod: ---
$  pacmd list-sink-inputs | grep -i 'index\|volume\|firefox'
    index: 0
volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
    index: 225
volume: front-left: 53227 /  81% / -5.42 dB,   front-right: 53227 /  81% / -5.42 dB
application.process.binary = "firefox"
application.icon_name = "firefox"
    index: 237
volume: front-left: 37190 /  57% / -14.76 dB,   front-right: 37190 /  57% / -14.76 dB
application.process.binary = "firefox"
application.icon_name = "firefox"
--- Koniec kodu ---

I bym sie nie bawil tylko odrazu dla ostatniej wartosci przypisal dana wartosc dzwieku, w tym przypadku 50%

--- Kod: ---
pactl set-sink-input-volume $(pacmd list-sink-inputs | grep  'index' | tail -1 | awk '{print $2}') 50%

--- Koniec kodu ---


Edytowane
O taki najprostszy skrypt.

--- Kod: ---
#!/bin/bash
# Skrypt do ściszania reklam w Firefox-ie i każdego kolejnego otwartego okna lub odtwarzacza. ( w Firefoxie )
# Po prostu ścisza drugi i kolejny odtwarzacz w Firefoxie, oprócz pierwszego.
# Ten skrypt nie odróżnia co ścisza, należy to wziąć pod uwagę, lub dostosować skrypt o własnych potrzeb.
# Zbyt głośniej żony, dzieci oraz miauczącego za oknem kota  skrypt niestety nie potrafi jeszcze ściszyć ;)

Funkcja_1(){
while :
do
LICZBA=$(pacmd list-sink-inputs | grep firefox | wc -l)
if [[ "$LICZBA" -gt "2" ]]; then
echo "LICZBA = $LICZBA"
pactl set-sink-input-volume $(pacmd list-sink-inputs | grep  'index' | tail -1 | awk '{print $2}') 50%
fi
echo " [Wcisnij CTRL+C by zatrzymac] "
sleep 4
done
}

/opt/firefox/firefox & Funkcja_1
--- Koniec kodu ---

Jezeli masz ochote ulepszyc skrypt to powodzenia. :)
I zgłoś problem developerom Pulse Audio
No bo przeciez to nie jest normalne ze jak czlowiek chce sobie posluchac reklamy,
albo gdy odtworzy 100 otwarzaczy naraz  https://www.dobreprogramy.pl/Linux-jest-w-stanie-uruchomic-100-aplikacji-jednoczesnie.-Co-na-to-Windows,News,59019.html
To kazdy otwarzacz gra jak chce ...
Moj kolega przechodzac na Linuxa tez na to marudził i szukal aplikacji w ktorej moze ustawic dla kazdej aplikacji, bo w Windowsie sie da.
Ale zgłosić developerom Linuxa chyba nie zgłosił.

Zagiewa:
Ale to dalej nie rozwiązuje problemu. Polecenie które podałeś ustawia na stałe głośność np 50% dla np. firefox'a. OK reklama jest teraz o 50% cichsza ale sam serial też więc co robi moja żona? podgłasza...

Nawigacja

[0] Indeks wiadomości

[#] Następna strona

Idź do wersji pełnej