31 votes

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

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. En particulier lors de l'écoute de podcasts, et en utilisant cet exemple, le son peut avoir des moments forts et des moments faibles, une personne parlant fort et l'autre parlant très doucement dans le même épisode. C'est pourquoi j'ai toujours voulu que le son soit compressé à l'échelle du système, et j'ai remarqué l'autre jour que sous Windows, certains pilotes Realtek offrent déjà cette fonction.

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

Une suggestion ?

18voto

Kyle Gibbons Points 133

J'ai réussi avec l'exemple montré dans 本答 .

  1. Installer Les plugins LADSPA de Steve Harris Install swh-plugins

    sudo apt install swh-plugins
  2. Exécuter pacmd et ensuite cette commande :

    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 de façon permanente.


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

  1. RMS/crête : L'équilibre entre les suiveurs d'enveloppe RMS et peak.RMS est généralement meilleur pour une compression subtile et musicale et peak est meilleur pour une compression plus lourde et rapide et pour les percussions.
  2. Temps d'attaque (ms) : Le temps d'attaque en millisecondes.
  3. Temps de libération (ms) : Le temps de libération en millisecondes.
  4. Niveau de seuil (dB) : Le point auquel le compresseur commencera à se mettre en marche.
  5. Ratio (1:n) : Le rapport de réduction du gain utilisé lorsque le niveau du signal dépasse le seuil.
  6. Rayon du genou (dB) : La distance à partir du seuil où la courbe du genou commence.
  7. Gain d'appoint (dB) : Contrôle le gain du signal d'entrée de maquillage en dB's.
  8. Amplitude (dB) : Le niveau du signal d'entrée, en décibels.
  9. Réduction du gain (dB) : Le degré de réduction du 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 avec différents paramètres, j'ai également chargé le compresseur comme un plugin ALSA ajustable en temps réel via Alsaequal Install libasound2-plugin-equal en créant les éléments suivants ~/.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 échantillon de fichier MP3 peut être lu à travers le compresseur en utilisant mpg321 Install mpg321 ,

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

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

10voto

kujaw Points 370

Je recommande EasyEffects (anciennement connu sous le nom de PulseEffects). 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 : enter image description here

Instructions d'installation

Pulse Effects peut être installé à partir d'un PPA (Ubuntu >= 18.04) ou en tant que paquet plat . Je recommande vivement d'essayer d'abord le flatpak car il est autonome et ne modifie pas la configuration de votre système, alors que la version PPA installera un backport de Pulse Audio 12 de 18.10 sur 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

Maintenant, ajoutez le dépôt flathub :

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

...et installer Pulse Effects :

flatpak install flathub com.github.wwmm.pulseeffects

Vous pouvez également suivre le guide d'installation rapide officiel et installez PulseEffects à partir de son page de 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.

3voto

ShoNuff Points 31

Ils ont été extrêmement utiles. Merci pour l'inspiration. Bien que ce soit imparfait pour le moment, j'ai un peu de choses à 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 version 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 être constamment en train d'augmenter le volume pour entendre les personnages parler dans les médias, pour ensuite m'empresser de le baisser dès qu'une action de super-héros se produit ou qu'une publicité passe. J'ai suivi l'inspiration ici et j'ai ajusté les valeurs en temps réel. Ensuite, j'ai pris les valeurs que je souhaitais et je les ai réintégrées dans l'exemple de code. En résumé, l'exemple de code que je fournis emprunte sans vergogne à l'exemple ci-dessus, mais comporte un 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. 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
pacmd 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

1voto

RootCookie Points 11

Voici le plugin stéréo avec de meilleurs paramètres de contrôle (beaucoup moins d'écrêtage) suivant La réponse de æ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

0voto

EasyEffects (ce qui nécessite Fil de tuyauterie cependant), qui est une version plus récente de PulseEffects.

Je pense que c'est un excellent logiciel !

enter image description here

Effets disponibles :

  • Gain automatique
  • Renforcement des basses
  • Volume des basses
  • Compresseur
  • Convolver
  • Alimentation transversale
  • Cristallisateur
  • De-esser
  • Annuleur d'écho
  • Égaliseur
  • Exciter
  • Expander
  • Filtre (modes passe-bas, passe-haut, passe-bande et réjection de bande)
  • Portail
  • Limiteur
  • Loudness
  • Maximizer
  • Compresseur multibande
  • Porte multibande
  • Réduction du bruit
  • Pitch
  • Réverbération
  • Outils stéréo

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X