Existe-t-il un moyen de niveler / compresser le son à l'échelle du système?

26

En tant qu'utilisateur d'ordinateur portable, je suis sûr que beaucoup de gens, même ceux qui utilisent des Netbooks, ont déjà rencontré ce problème. Surtout lorsque vous écoutez des podcasts et que vous l'utilisez comme exemple, le son peut avoir des moments forts et des moments calmes, une personne parlant fort et l'autre parlant très silencieusement dans le même épisode. De ce fait, j'ai toujours voulu que le son soit compressé à l'échelle du système, et je viens de noter l'autre jour, que sous Windows, certains pilotes Realtek offrent déjà cette fonction.

Nous avons déjà un plugin pulseaudio pour l'égalisation à l'échelle du système, et bien qu'il ait encore des problèmes comme ne pas nous laisser changer ses valeurs et écouter le changement en temps réel, ou casser le son tout en changeant le volume d'impulsion, je l'aime et l'utilise. Maintenant, il me manque quelque chose pour garder le son autour de 0 dB (ou près du niveau de volume que vous utilisez) en tant que plugin de nivellement pour pulseaudio.

Toute suggestion?

JethroDawnfine
la source

Réponses:

16

J'ai réussi avec l'exemple montré dans cette réponse .

  1. Installer les plugins LADSPA de Steve Harris Installer des plugins swh

    sudo apt install swh-plugins
    
  2. Exécutez pacmdpuis ces commandes:

    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
    

Cette réponse explique comment charger le plugin en permanence.


Les paramètres (la control=1,1.5,401,-30,20,5,12partie ci-dessus) de ce compresseur sont décrits dans la documentation du plugin LADSPA de Steve Harris :

  1. RMS / crête : l'équilibre entre la RMS et les suiveurs d'enveloppe de crête.Le RMS est généralement meilleur pour la compression musicale subtile et le crête est meilleur pour la compression et la percussion plus lourdes et rapides.
  2. Temps d'attaque (ms) : le temps d'attaque en millisecondes.
  3. Temps de relâchement (ms) : Le temps de relâchement en millisecondes.
  4. Niveau de seuil (dB) : Le point auquel le compresseur commencera à démarrer.
  5. Ratio (1: n) : rapport de réduction de gain utilisé lorsque le niveau du signal dépasse le seuil.
  6. Rayon du genou (dB) : distance par rapport au seuil où commence la courbe du genou.
  7. Gain de maquillage (dB) : contrôle le gain du signal d'entrée de maquillage en dB.
  8. Amplitude (dB) : Le niveau du signal d'entrée, en décibels.
  9. Gain reduction (dB) : Le degré de réduction de gain appliqué au signal d'entrée, en décibels.

En raison d'une limitation de PulseAudio, il n'est pas possible de les ajuster en temps réel.

Pour expérimenter différents paramètres, j'ai également chargé le compresseur en tant que plugin ALSA réglable en temps réel via Alsaequal Installez libasound2-plugin-equal en créant ce qui suit ~/.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;
}

Un exemple de fichier MP3 peut être lu via le compresseur en utilisant mpg321 Installer mpg321 ,

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

tandis que alsamixer -D compressorpeut être utilisé pour ajuster les paramètres en temps réel.

ændrük
la source
Si vous obtenez 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.sosur Ubuntu 14.10 essayezapt-get install libasound2-plugin-equal
Stéphane Gourichon
J'utilise Ubuntu-Studio 16.04 LTS et j'ai installé le paquet swh-plugins, mais ... les lignes: "pacmd load-module module-ladspa-sink sink_name = compresseur plugin = sc4m_1916 label = sc4m control = 1,1.5,401, -30,5,9,3,0,0 pacmd set-default-sink compresseur "ne fonctionne pas. Ce n'est pas un problème de paramètres car le système me donne l'erreur: "Module introuvable". Donc ... quelque chose manque dans le paquet du plugin, mais ... Quoi ???
Juan
5

Je recommande les effets d'impulsion . Il s'agit d'une application, où vous disposez de nombreux outils pour manipuler le son à l'échelle du système (y compris le compresseur). Assez facile à utiliser.

Pour moi, cette configuration fonctionne mieux dans les films: entrez la description de l'image ici

Instructions d'installation

Pulse Effects peut être installé à partir d'un PPA (Ubuntu> = 18.04) ou en flatpak . Je recommande fortement d'essayer d'abord le flatpak car il est autonome et ne perturbe pas la configuration de votre système, tandis que la version PPA installera un backport de Pulse Audio 12 de 18.10 à 18.04.

Flatpak

Si flatpak n'est pas encore installé sur votre système, installez-le avec la commande suivante dans un terminal:

sudo apt install flatpak

Ajoutez maintenant le référentiel flathub:

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

... et installez Pulse Effects:

flatpak install flathub com.github.wwmm.pulseeffects

Alternativement, vous pouvez suivre le guide de configuration rapide officiel et installer PulseEffects à partir de sa page flathub .

PPA

Si la version flatpak ne fonctionne pas ou si vous préférez utiliser le PPA, exécutez les commandes suivantes dans un terminal:

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

Après l'installation, redémarrez votre système.

kujaw
la source
3

Ces informations ont été extrêmement utiles. Merci pour l'inspiration. Bien qu'il soit imparfait pour le moment, j'ai un peu à apporter en retour. J'ai regardé dans la documentation de Steve Harris pour découvrir qu'il existe plusieurs versions du compresseur, et j'ai choisi d'utiliser la stéréo. Cela a compliqué l'utilisation de Pulse Audio Volume Control pour placer le compresseur sur plusieurs applications comme Chrome et VLC, mais j'aime le résultat. Ma motivation pour utiliser un compresseur est de placer une limite inférieure et supérieure très stricte sur le volume. Afin de ne réveiller personne dans la maison tard dans la nuit, je ne voulais pas augmenter constamment le volume pour entendre les personnages parler dans les médias, seulement pour me précipiter pour le baisser chaque fois qu'une action de super-héros se produit ou qu'une publicité apparaît. . J'ai suivi l'inspiration ici et ajusté les valeurs en temps réel. Ensuite, j'ai pris mes valeurs souhaitées et les ai remises dans l'exemple de code. En somme, l'exemple de code que je contribue emprunte sans vergogne à l'exemple ci-dessus, mais présente le compresseur stéréo avec une limite de volume supérieure et inférieure assez stricte. Enfin, je l'ai mis sous la forme d'un script, qui ne fonctionne pas pleinement. Il n'aime pas la ligne set_default. J'espère que cela sera utile à la communauté.

#!/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
la source
Dans mon analyse de < github.com/swh/ladspa/blob/master/sc4_1882.xml#L116 >, il semble que certaines plages soient appliquées aux paramètres. Il semble que votre exemple soit un peu hors de portée sur certains paramètres. Étant donné que la documentation - de l'auteur Steve Harris - est plutôt mince et manque d'exemples, je peux me tromper complètement.
Ale
0

Voici le plugin stéréo avec de meilleurs paramètres de contrôle (beaucoup moins d'écrêtage) suivant la réponse d'ændrük qui utilise l'exemple du plugin mono.

load-module module-ladspa-sink sink_name=compressor plugin=sc4_1882 label=sc4 control=1,1.5,300,-20,3,1,10
RootCookie
la source
votre exemple est toujours disponible sur la configuration de mon ordinateur portable. gotbletu sur google + a recommandé une fois d'utiliser ces paramètres, et ils ont fonctionné le mieux pour moi jusqu'à présent. load-module module-ladspa-sink sink_name = plugin compresseur = sc4_1882 label = sc4 control = 1,1.5,401, -30,20,5,12
Axel Werner