Czy istnieje sposób wyrównywania / kompresji całego systemu dźwiękowego?

26

Jako użytkownik laptopa jestem pewien, że wiele osób, nawet tych korzystających z Netbooków, już przeszło przez ten problem. Zwłaszcza podczas słuchania podcastów i jako przykładu, dźwięk może mieć głośne i ciche chwile, jedna osoba mówi głośno, a druga mówi bardzo cicho w tym samym odcinku. Dlatego zawsze chciałem, aby dźwięk był skompresowany w całym systemie, i zauważyłem, że pewnego dnia w systemie Windows niektóre sterowniki Realtek już oferują tę funkcję.

Mamy już wtyczkę pulseaudio dla całego systemu korekcji i chociaż nadal ma ona problemy, takie jak nie pozwalanie nam zmieniać jej wartości i słuchać zmian w czasie rzeczywistym lub pękanie dźwięku przy zmianie głośności impulsu, uwielbiam go i używam. Teraz brakuje mi czegoś, co utrzyma dźwięk na poziomie około 0db (lub w pobliżu poziomu głośności, którego używasz) jako wtyczki poziomującej dla pulseaudio.

Jakieś sugestie?

JethroDawnfine
źródło

Odpowiedzi:

16

Odniosłem sukces z przykładem pokazanym w tej odpowiedzi .

  1. Zainstaluj wtyczki LADSPA Steve'a Harrisa Zainstaluj wtyczki SWH

    sudo apt install swh-plugins
    
  2. Uruchom, pacmda następnie następujące polecenia:

    load-module module-ladspa-sink sink_name=compressor plugin=sc4m_1916 label=sc4m control=1,1.5,401,-30,20,5,12
    set-default-sink compressor
    

Ta odpowiedź wyjaśnia, jak trwale załadować wtyczkę.


Parametry ( control=1,1.5,401,-30,20,5,12część powyżej) tego kompresora są opisane w Dokumentach wtyczek LADSPA Steve'a Harrisa :

  1. RMS / peak : Równowaga pomiędzy RMS a obserwatorami obwiedni piku. RMS jest ogólnie lepszy dla subtelnej, muzycznej kompresji, a pik jest lepszy dla cięższej, szybkiej kompresji i perkusji.
  2. Czas ataku (ms) : czas ataku w milisekundach.
  3. Czas zwolnienia (ms) : czas zwolnienia w milisekundach.
  4. Poziom progowy (dB) : punkt, w którym sprężarka zacznie się włączać.
  5. Ratio (1: n) : Współczynnik redukcji wzmocnienia stosowany, gdy poziom sygnału przekracza próg.
  6. Promień kolana (dB) : odległość od progu, od którego zaczyna się krzywa kolana.
  7. Wzmocnienie makijażu (dB) : Kontroluje wzmocnienie sygnału wejściowego makijażu w dB.
  8. Amplituda (dB) : Poziom sygnału wejściowego, w decybelach.
  9. Redukcja wzmocnienia (dB) : Stopień redukcji wzmocnienia zastosowany do sygnału wejściowego, w decybelach.

Ze względu na ograniczenia PulseAudio nie jest możliwe dostosowanie ich w czasie rzeczywistym.

Aby eksperymentować z różnymi parametrami, załadowałem również kompresor jako regulowaną w czasie rzeczywistym wtyczkę ALSA za pośrednictwem Alsaequal Zainstaluj libasound2-plugin-równo , tworząc ~/.asoundrc:

ctl.compressor {
  type equal;
  library "/usr/lib/ladspa/sc4m_1916.so";
  module "sc4m";
}

pcm.plugcompressor {
  type equal;
  slave.pcm "plug:pulse";
  library "/usr/lib/ladspa/sc4m_1916.so";
  module "sc4m";
}

pcm.compressor {
  type plug;
  slave.pcm plugcompressor;
}

Przykładowy plik MP3 może być odtwarzany przez kompresor przy użyciu mpg321 Zainstaluj mpg321 ,

mpg321 -a hw:compressor "04 - Love Song for Yoshimi.mp3"

podczas gdy alsamixer -D compressormożna go użyć do dostosowania parametrów w czasie rzeczywistym.

ændrük
źródło
Jeśli masz ALSA lib dlmisc.c:252:(snd1_dlobj_cache_get) Cannot open shared library /usr/lib/x86_64-linux-gnu/alsa-lib/libasound_module_ctl_equal.soUbuntu 14.10 spróbujapt-get install libasound2-plugin-equal
Stéphane Gourichon
Używam Ubuntu-Studio 16.04 LTS i zainstalowałem pakiet wtyczek swh, ale ... wiersze: "moduł modułu ładującego pacmd-ladspa-sink sink_name = wtyczka kompresora = sc4m_1916 etykieta = kontrola sc4m = 1,1,5,401, -30,5,9,3,0,0 pacmd kompresor default-sink "nie działa. To nie jest problem z parametrami, ponieważ system wyświetla błąd: „Nie znaleziono modułu”. Więc ... czegoś brakuje w pakiecie wtyczek, ale ... Co ???
Juan
5

Polecam Pulse Effects . Jest to aplikacja, w której masz wiele narzędzi do manipulowania systemem dźwiękowym (w tym kompresora). Całkiem łatwy w użyciu.

Dla mnie ta konfiguracja działa najlepiej w filmach: wprowadź opis zdjęcia tutaj

Instrukcje Instalacji

Pulse Effects można zainstalować z PPA (Ubuntu> = 18.04) lub jako flatpak . Zdecydowanie polecam wypróbowanie najpierw flatpaka, ponieważ jest on samowystarczalny i nie psuje się konfiguracji systemu, podczas gdy wersja PPA zainstaluje backport Pulse Audio 12 z 18.10 w dniu 18.04.

Flatpak

Jeśli flatpak nie jest jeszcze zainstalowany w twoim systemie, zainstaluj go za pomocą następującego polecenia w terminalu:

sudo apt install flatpak

Teraz dodaj repozytorium flathub:

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

... i zainstaluj Pulse Effects:

flatpak install flathub com.github.wwmm.pulseeffects

Alternatywnie możesz postępować zgodnie z oficjalnym przewodnikiem szybkiej instalacji i zainstalować PulseEffects ze strony flathub .

PPA

Jeśli wersja Flatpak nie działa lub wolisz korzystać z PPA, uruchom następujące polecenia w terminalu:

sudo add-apt-repository ppa:mikhailnov/pulseeffects -y
sudo apt install pulseeffects pulseaudio --install-recommends

Po instalacji uruchom ponownie system.

kujaw
źródło
3

Były bardzo pomocne. Dziękuję za inspirację. Chociaż w tej chwili jest to niedoskonałe, mam coś do powiedzenia. Zajrzałem do Dokumentacji Steve'a Harrisa i odkryłem, że istnieje kilka odmian kompresora, i zdecydowałem się użyć stereo. Komplikacja przy użyciu Pulse Audio Volume Control do umieszczenia kompresora w wielu aplikacjach, takich jak Chrome i VLC, podoba mi się wynik. Moją motywacją do korzystania ze sprężarki jest nałożenie bardzo ścisłego dolnego i górnego limitu głośności. Aby nie budzić nikogo w domu późno w nocy, nie chciałem ciągle zwiększać głośności, aby usłyszeć postacie mówiące w mediach, a jedynie spieszyć się, aby ją wyłączyć, gdy tylko dzieje się akcja superbohatera lub pojawia się reklama . Śledziłem inspirację tutaj i dostosowywałem wartości w czasie rzeczywistym. Następnie wziąłem pożądane wartości i umieściłem je z powrotem w przykładowym kodzie. Podsumowując, przykładowy kod, który przyczyniam się bezwstydnie z powyższego przykładu, ale zawiera kompresor stereo z dość ścisłą górną i dolną granicą głośności. Na koniec nadałem mu postać skryptu, który nie działa w pełni. Nie podoba się linia set_default. Mam nadzieję, że jest to przydatne dla społeczności.

#!/bin/sh
# ComperssorScript.sh
# Script to start PulseAudio Compressor with desired settings
# Original: 2016 September 17

pacmd load-module module-ladspa-sink sink_name=compressor plugin=sc4_1882 label=sc4 control=9,5,63,-6,15,3,49
set-default-sink compressor

# The parameters (the control=1,1.5,401,-30,20,5,12 for example) for this compressor are described in Steve Harris' LADSPA Plugin Docs:
# RMS/peak: The balance between the RMS and peak envelope followers. RMS is generally better for subtle, musical compression and peak is better for heavier, fast compression and percussion.
# 9, Attack time (ms): The attack time in milliseconds.
# 5, Release time (ms): The release time in milliseconds.
# 63, Threshold level (dB): The point at which the compressor will start to kick in.
# 6, Ratio (1:n): The gain reduction ratio used when the signal level exceeds the threshold.
# -15, Knee radius (dB): The distance from the threshold where the knee curve starts.
# 3, Makeup gain (dB): Controls the gain of the makeup input signal in dB's.
# 49, Amplitude (dB): The level of the input signal, in decibels.
# no value was placed here
# Gain reduction (dB): The degree of gain reduction applied to the input signal, in decibels.
# Due to a limitation of PulseAudio, it is not possible to adjust them in real time.
# no value was placed here
ShoNuff
źródło
W mojej analizie < github.com/swh/ladspa/blob/master/sc4_1882.xml#L116 > wydaje się, że do parametrów zastosowano pewne zakresy. Wygląda na to, że twój przykład jest nieco poza zakresem niektórych parametrów. Ponieważ dokumentacja - autorstwa Steve'a Harrisa - jest raczej cienka i pozbawiona przykładów, mogę się całkowicie mylić.
Ale
0

Oto wtyczka stereo z lepszymi ustawieniami sterowania (znacznie mniej przycinania) po odpowiedzi ændrük, która korzysta z przykładu wtyczki mono.

load-module module-ladspa-sink sink_name=compressor plugin=sc4_1882 label=sc4 control=1,1.5,300,-20,3,1,10
RootCookie
źródło
twój fragment wciąż spina na konfiguracji mojego notebooka. gotbletu na google + raz zalecał użycie tych ustawień i jak dotąd działały najlepiej dla mnie. load-module module-ladspa-sink sink_name = wtyczka sprężarki = sc4_1882 etykieta = sterowanie sc4 = 1,1,5,401, -30,20,5,12
Axel Werner