Gibt es eine Möglichkeit, das Soundsystem im gesamten Bereich abzustimmen / zu komprimieren?

26

Als Laptop-Benutzer bin ich sicher, dass viele Leute, auch diejenigen, die Netbooks verwenden, dieses Problem bereits durchgemacht hätten. Insbesondere beim Anhören von Podcasts und am Beispiel von Podcasts kann der Sound laute und leise Momente haben, wobei eine Person laut und die andere sehr leise in derselben Episode spricht. Dabei wollte ich immer, dass der Sound systemweit komprimiert wird, und ich habe neulich bemerkt, dass in Windows einige Realtek-Treiber diese Funktion bereits anbieten.

Wir haben bereits ein pulseaudio-Plugin für die Entzerrung im gesamten System, und obwohl es immer noch Probleme gibt, die Werte nicht zu ändern und die Änderung in Echtzeit zu hören, oder den Klang zu knacken, während die Pulslautstärke geändert wird, liebe ich es und verwende es. Jetzt fehlt mir nur noch etwas, um den Sound bei 0 dB (oder in der Nähe der Lautstärke, die Sie verwenden) als Leveler-Plugin für pulseaudio zu halten.

Irgendein Vorschlag?

JethroDawnfine
quelle

Antworten:

16

Ich hatte Erfolg mit dem in dieser Antwort gezeigten Beispiel .

  1. Installieren Sie die LADSPA-Plugins von Steve Harris Installieren Sie swh-Plugins

    sudo apt install swh-plugins
    
  2. Führen Sie pacmdund dann diese Befehle aus:

    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
    

Diese Antwort erklärt, wie das Plugin dauerhaft geladen wird.


Die Parameter (der control=1,1.5,401,-30,20,5,12obige Teil) für diesen Kompressor sind in beschrieben Steve Harris 'LADSPA Plugin Docs beschrieben :

  1. RMS / Peak : Das Gleichgewicht zwischen RMS- und Peak-Envelope-Followern. RMS ist im Allgemeinen besser für subtile, musikalische Komprimierung und Peak ist besser für stärkere, schnelle Komprimierung und Percussion.
  2. Angriffszeit (ms) : Die Angriffszeit in Millisekunden.
  3. Auslösezeit (ms) : Die Release-Zeit in Millisekunden.
  4. Schwellenpegel (dB) : Der Punkt, an dem der Kompressor startet.
  5. Verhältnis (1: n) : Das Verstärkungsreduzierungsverhältnis, das verwendet wird, wenn der Signalpegel den Schwellenwert überschreitet.
  6. Knieradius (dB) : Der Abstand von der Schwelle, an der die Kniekurve beginnt.
  7. Makeup Gain (dB) : Regelt die Verstärkung des Makeup-Eingangssignals in dB.
  8. Amplitude (dB) : Der Pegel des Eingangssignals in Dezibel.
  9. Verstärkungsreduzierung (dB) : Der Grad der auf das Eingangssignal angewendeten Verstärkungsreduzierung in Dezibel.

Aufgrund einer Einschränkung von PulseAudio ist es nicht möglich, sie in Echtzeit anzupassen.

Um mit verschiedenen Parametern zu experimentieren, habe ich den Kompressor auch als in Echtzeit einstellbares ALSA-Plugin über Alsaequal geladen, Installieren Sie libasound2-plugin-equal indem ich Folgendes erstellte ~/.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;
}

Eine MP3-Beispieldatei kann mit mpg321 über den Kompressor abgespieltInstallieren Sie mpg321 werden.

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

Mit while alsamixer -D compressorkönnen Parameter in Echtzeit angepasst werden.

ændrük
quelle
Wenn Sie 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 bekommen, versuchen Sieapt-get install libasound2-plugin-equal
Stéphane Gourichon
Ich benutze Ubuntu-Studio 16.04 LTS und habe das swh-plugins-Paket installiert, aber ... die Zeilen: "pacmd load-module module-ladspa-sink -30,5,9,3,0,0 pacmd set-default-sink "funktioniert nicht. Es ist kein Parameterproblem, da das System den Fehler ausgibt: "Modul nicht gefunden". Also ... im Plugin-Paket fehlt etwas, aber ... Was ???
Juan
5

Ich empfehle Pulse Effects . Es ist eine Anwendung, in der Sie viele Werkzeuge haben, um Sound systemweit zu manipulieren (einschließlich Kompressor). Ziemlich einfach zu bedienen.

Für mich funktioniert dieses Setup am besten in Filmen: Bildbeschreibung hier eingeben

Installationsanleitung

Pulse Effects können von einem PPA (Ubuntu> = 18.04) oder als Flatpak installiert werden . Ich empfehle dringend, zuerst das Flatpak zu testen, da es in sich geschlossen ist und sich nicht auf Ihre Systemkonfiguration auswirkt, während die PPA-Version einen Backport von Pulse Audio 12 von 18.10 bis 18.04 installiert.

Flatpak

Wenn flatpak noch nicht auf Ihrem System installiert ist, installieren Sie es mit dem folgenden Befehl in einem Terminal:

sudo apt install flatpak

Fügen Sie nun das Flathub-Repository hinzu:

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

... und installiere Pulse Effects:

flatpak install flathub com.github.wwmm.pulseeffects

Alternativ können Sie der offiziellen Installationsanleitung folgen und PulseEffects von der Flathub-Seite installieren .

PPA

Wenn die Flatpak-Version nicht funktioniert oder Sie die PPA bevorzugen, führen Sie die folgenden Befehle in einem Terminal aus:

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

Starten Sie nach der Installation Ihr System neu.

kujaw
quelle
3

Diese waren äußerst hilfreich. Vielen Dank für die Inspiration. Obwohl es im Moment unvollkommen ist, muss ich etwas dazu beitragen. Ich habe in der Steve Harris-Dokumentation nachgeschlagen, dass es verschiedene Varianten des Kompressors gibt, und ich habe mich für die Stereo-Variante entschieden. Die Verwendung von Pulse Audio Volume Control machte es schwierig, den Kompressor in mehreren Anwendungen wie Chrome und VLC zu platzieren, aber das Ergebnis gefällt mir. Meine Motivation für die Verwendung eines Kompressors ist es, eine sehr strenge Unter- und Obergrenze für die Lautstärke festzulegen. Um niemanden spät in der Nacht im Haus zu wecken, wollte ich nicht ständig lauter stellen, um die Charaktere in den Medien sprechen zu hören, sondern nur, um sie wieder leiser zu stellen, wenn Superheldenaktionen stattfinden oder ein Werbespot auftaucht . Ich bin hier der Inspiration gefolgt und habe die Werte in Echtzeit angepasst. Dann habe ich meine gewünschten Werte genommen und sie wieder in den Beispielcode eingefügt. Zusammenfassend lässt sich sagen, dass der Beispielcode, den ich einbringe, schamlos aus dem obigen Beispiel stammt, aber den Stereokompressor mit einer ziemlich strengen oberen und unteren Lautstärkegrenze aufweist. Zuletzt habe ich es in die Form eines Skripts gebracht, das nicht vollständig funktioniert. Die Zeile set_default gefällt ihm nicht. Ich hoffe das ist nützlich für die Community.

#!/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
quelle
In meiner Analyse von < github.com/swh/ladspa/blob/master/sc4_1882.xml#L116 > scheinen einige Bereiche auf die Parameter angewendet worden zu sein. Anscheinend liegt Ihr Beispiel bei einigen Parametern außerhalb des zulässigen Bereichs. Da die Dokumentation - vom Autor Steve Harris - eher dünn ist und Beispiele fehlen, könnte ich mich völlig irren.
Ale
0

Hier ist das Stereo-Plugin mit besseren Steuerungseinstellungen (viel weniger Übersteuerungen) nach der Antwort von ændrük , das das Mono-Plugin-Beispiel verwendet.

load-module module-ladspa-sink sink_name=compressor plugin=sc4_1882 label=sc4 control=1,1.5,300,-20,3,1,10
RootCookie
quelle
Ihr Beispiel klippt immer noch auf mein Notebook-Setup. gotbletu auf google + hat mir einmal empfohlen, diese einstellungen zu verwenden, und sie haben bisher am besten für mich funktioniert. load-module module-ladspa-sink sink_name = kompressor plugin = sc4_1882 label = sc4 control = 1,1.5,401, -30,20,5,12
Axel Werner