Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2015-09-27 15:24:39

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

[SOLVED] Normalizacja głośności w PulseAudio

Ostatnio natrafiłem na ciekawy ficzer PulseAudio — normalizacja głośności, tj. np. muzyka i dialogi w filmach są odtwarzane z takim samym natężeniem. Są oczywiście i minusy tego rozwiązania ale generalnie to ja sobie zaimplementowałem to właśnie za sprawą filmów by nie musieć ciągle ściszać czy zgłaśniać ścieżki dźwiękowej.

Jeśli ktoś by chciał takie co u siebie, to wystarczy załadować odpowiedni moduł w pliku /etc/pulse/default.pa :

Kod:

.ifexists module-ladspa-sink.so
.nofail
load-module module-ladspa-sink sink_name=compressor plugin=sc4m_1916 label=sc4m control=1,1.5,401,-30,20,5,12
.fail
.endif

Wymagane są także dwa pakiety swh-plugins oraz pavucontrol . Po restarcie pulse, powinien być dostępny nowy strumień, do którego można przesłać dźwięk z aplikacji w pavucontrol.

Testowałem przez parę dni i działa to nawet w miarę idealnie, tylko tak pozostało mi w sumie do rozszyfrowania sterowanie parametrami tego modułu/pluginu. Póki co, znalazłem dokumentację na temat sc4m_1916 ale kompletnie nie mam pojęcia co oznaczają te dźwięczne terminy. xD Orientuje się może ktoś w tym i wie co jak dokładnie działają zmiany wartości w control=1,1.5,401,-30,20,5,12 ?

Ostatnio edytowany przez morfik (2015-09-29 11:16:12)

Offline

 

#2  2015-09-28 15:36:49

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: [SOLVED] Normalizacja głośności w PulseAudio

Znalazłem coś takiego: https://en.wikipedia.org/wiki/Dynamic_range_compression i tam nawet część opcji jest wyjaśniona, choć nadal nie wiem, jaka jest ich kolejność w tym control= . Co ciekawe, tam jest taki kawałek:

Most television commercials are compressed heavily (typically to a dynamic range of no more than 3 dB) in order to achieve near-maximum perceived loudness while staying within permissible limits. This is the explanation for a problem that TV viewers and listeners have noticed for years: While commercials receive heavy compression for the same reason that radio broadcasters have traditionally used it (to achieve a "loud" audio image), TV program material, particularly old movies with soft dialogue, is comparatively uncompressed by TV stations. This results in commercials much louder than the television programs.[13][14]

No to już wiecie czemu reklamy w tv są o wiele głośniejsze w stosunku do ścieżki filmu. Chyba kiedyś jakaś ustawa nawet była na ten temat. xD

Offline

 

#3  2015-09-29 11:15:43

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: [SOLVED] Normalizacja głośności w PulseAudio

Zadałem pytanie na liście mailingowej pulseaudio i wyjaśniło się w końcu jaka jest ta kolejność tych opcji. Trzeba było doinstalować pakiet ladspa-sdk i wydać poniższe polecenie:

Kod:

$ analyseplugin sc4m_1916

Plugin Name: "SC4 mono"
Plugin Label: "sc4m"
Plugin Unique ID: 1916
Maker: "Steve Harris <steve@plugin.org.uk>"
Copyright: "GPL"
Must Run Real-Time: No
Has activate() Function: No
Has deactivate() Function: No
Has run_adding() Function: Yes
Environment: Normal or Hard Real-Time
Ports:  "RMS/peak" input, control, 0 to 1, default 0
        "Attack time (ms)" input, control, 1.5 to 400, default 101.125
        "Release time (ms)" input, control, 2 to 800, default 401
        "Threshold level (dB)" input, control, -30 to 0, default 0
        "Ratio (1:n)" input, control, 1 to 20, default 1
        "Knee radius (dB)" input, control, 1 to 10, default 3.25
        "Makeup gain (dB)" input, control, 0 to 24, default 0
        "Amplitude (dB)" output, control, -40 to 12
        "Gain reduction (dB)" output, control, -24 to 0
        "Input" input, audio
        "Output" output, audio

Jak widać, nie tylko jest podana kolejność portów ale także są przedziały wartości wraz z wartościami domyślnymi. Jest tam, co prawda, 9 portów ale te dwa ostatnie (bez wartości default) to są dla wyjścia (np. podejrzenie w locie o ile dB sygnał jest redukowany) i pulseaudio ich nie potrafi obsłużyć. Tak czy inaczej, wiadomo jak ten plugin ustawiać.

Doszukałem się jeszcze w miarę przystępnego wyjaśnienia jak działa kompresor: http://www.studiomastering.net/mastering05.html , jakby ktoś był ciekaw.

Offline

 

#4  2015-09-30 01:22:55

  wikingagressor - Użytkownik

wikingagressor
Użytkownik
Skąd: Józefów k.Błonia, mazowieck
Zarejestrowany: 2015-02-03

Re: [SOLVED] Normalizacja głośności w PulseAudio

Hmm, ja ostatnio kombinowalem z innym pluginem do pulseaudio. Mianowicie po wymianie karty dzwiekowej okazalo sie, ze jakosc dzwieku pozostawia duzo do zyczenia na moich sluchawkach. Dlatego postanowilem wrzucic specjalny plugin bb2b do symulowania poglosu dla sluchawek. Nie moglem tylko wykombinowac jakie ustawienia sa potrzebne, ale jak zwykle Morfik doszukal sie sposobu :) Dodatkowo mozna sobie ustawic equalizer jako plugin presetowany na starcie serwera pa i to poprawi jakosc dzwieku. Jak ktos woli to zalatwiac za pomoca Gui, to polecam programik Veromix - duzo pluginow, presetow i innych ustawien do dzwieku.


Peace, Love and Debian for the World!!!

Offline

 

#5  2015-09-30 01:56:46

  qluk - Pan inż. Cyc

qluk
Pan inż. Cyc
Skąd: Katowice
Zarejestrowany: 2006-05-22

Re: [SOLVED] Normalizacja głośności w PulseAudio

Braku preamp nie zrekompensuje "pogłos". W ogole jak pogłos może poprawiać dzwięk?

morfik, od tego jest zestaw 5.1 lub 7.1 i dialogi masz przecież na centralnym, wystarczy podnieść mu poziom głośności. Bo to rozwiązanie ma ten minus ze może i masz "normalizacje" ale dynamika kuleje. Bo wątpię by kosmiczne algorytmy predykcji były w PA żeby zminimalizować ten efekt :P
Choć zapewne komuś się może przydać :)

Offline

 

#6  2015-09-30 02:43:12

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: [SOLVED] Normalizacja głośności w PulseAudio

@qluk:
1) pogłos na słuchawkach może w pewnych przypadkach "poprawić" dźwięk (szczególnie przy odsłuchiwaniu nagrań dokonywanych bezpośrednio z instrumentu trzeba w jakiś sposób zasymulować pomieszczenie, ucho ludzkie jest przyzwyczajone do słuchania w normalnych warunkach a nie komorze bezechowej)

2) chyba nie o to morfikowi chodziło.
Profesjonalne nagranie ścieżki dźwiękowej z lektorem polega na odpowiednim wyciszeniu oryginalnej ścieżki w czasie, gdy lektor swoje smędzi i powrocie do poprzedniego poziomu gdy przestaje smędzić. Lektor powinien być co najmniej 7 dB powyżej poziomu oryginału w czasie czytania (chociaż przy syntetyzowanym głosie ta różnica z uwagi na niższą czytelność głosu powinna być większa, do 12 dB w przypadku Ivony). Głośność oryginału poza czasem czytania zależna jest od typu oryginału, dla filmów muzycznych powinna być równa głośności lektora, dla normalnych filmów z dialogami nieco niższa (aby ograniczyć nieprzyjemny efekt ciągłych zmian głośności). Jeśli muzyka w filmie jest tylko tłem dźwiękowym a czytania jest dużo - można po prostu ustawić podkład na poziomie niższym niż lektor i nie bawić się w żadne regulacje.
Niestety - nie wszystkie filmy są nagrane profesjonalnie, i tu prosta kompresja może pomóc (o ile stosumek lektor/podkład został zachowany). Przy filmach muzycznych jest to oczywiste - bo w końcu z jednej strony mamy słuchać muzyki, z drugiej nie chcemy ryczącego lektora. Przy fabule z dialogami też musimy słyszeć oryginał - bo lektor przekazuje nam jedynie treść, a nie emocje.


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
Zespół Adwokacki Dyskrecja

Offline

 

#7  2015-09-30 13:13:12

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: [SOLVED] Normalizacja głośności w PulseAudio

@qluk, eee ale to na laptopie mam, na tym głośniku co tam jest wbudowany, czasem na słuchawkach. No mam jeszcze takie stare głośniki 4.0 i na żadnym z tych sprzętów nie idzie tego dźwięku dostroić. Najlepiej jest na słuchawkach ale to chyba dlatego, że potencjometr jest zaraz na kablu. xD

Na filmy, te powyższe ustawienia są wręcz idealne. Na mp3 idzie to odczuć ale te strumienie mogą być puszczane niezależnie i można sobie określone aplikacje tylko przesłać przez kompresor, także można odpalić np. amaroka i kodi, na amaroku mp3 puścić bez kompresora, a film w kodi przez i tyle. Choć czasem jak chcę muzykę puścić i nie chce mi się co chwila latać i przyciszać/pogłaśniać to wtedy też puszczę przez kompresor, to raczej dla wygody niż dla brzmienia, aż takiej znowu utraty jakości nie ma.

2) chyba nie o to morfikowi chodziło.

Mi chodziło o to, że jak oglądam jakiś film, np. horror, to może człowieka szlag trafić przez niektóre dźwięki. xD Poza tym, ja nie oglądam filmów z lektorem. Akurat przy lektorze nie ma takich skoków głośności albo przynajmniej są o wiele mniejsze. Przy tym kompresorze, tych skoków praktycznie nie ma wcale i o takie coś mi chodziło, by nie musieć ciągle operować potencjometrami albo czekać aż "skończą drzeć ryja" bo gdy ściszę, to za chwilę będę musiał pogłaszać, bo nie będzie słychać co aktorzy gadają. xD

Offline

 

#8  2015-09-30 21:18:34

  qluk - Pan inż. Cyc

qluk
Pan inż. Cyc
Skąd: Katowice
Zarejestrowany: 2006-05-22

Re: [SOLVED] Normalizacja głośności w PulseAudio

@ethanek:
Ale pogłos nie nie poprawi dynamiki jeśli sprzęt nie daje rady, więc tych przypadków kiedy on "poprawia" jest znikoma liczba.
Raczej większość 5.1/7.1 jest dobrze zmiksowana i ewentualnie wystarczy podnieść centralny bo tam leci dialog w większości. W stereo już od dawna nie oglądałem filmu :)

@morfik, czy jeszcze pewien czas temu nie byłeś przeciwnikiem PA? ;)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)