web-dev-qa-db-fra.com

régler le volume maximum possible dans pulseaudio

Parfois, certains sons/films/musique sur mon système Ubuntu_12.04 ont un volume sonore très faible. J'augmente désormais le volume de la sortie audio. Je peux utiliser le réglage suivant (voir capture d'écran) enter image description here

Il semble donc que pulseaudio est capable d’augmenter le volume au-delà du maximum possible en utilisant simplement les boutons "Augmenter le volume" de la machine. Ma question est de savoir comment je peux ajuster Pulseaudio pour permettre une plus grande plage ou un volume maximum plus élevé ???

Surtout avec certains contenus audio dont le volume est très faible au début, il serait agréable de pouvoir augmenter rapidement le volume de sortie (mise sous tension) à un niveau supérieur à celui nécessaire pour un autre matériau déjà très puissant.

26
humanityANDpeace

Le niveau de volume maximal que nous pouvons obtenir en glissant la commande de volume à plus de 100% est d’env. 153% au-dessus de la limite maximale normale. Si nous avons réglé le volume d'ALSA avec alsamixer sur 100, ces 100% représentent le niveau au-dessus duquel l'audio sera écrêté ou déformé. Cela se produira également lors de l’amplification à 153% avec le curseur.

Néanmoins, il est possible d’augmenter davantage ce niveau en le définissant à l’aide de la commande suivante dans un terminal:

pacmd set-sink-volume <sink> <value>

Remplacez <sink> par votre nom de collecteur ou index de collecteur, comme indiqué à partir de:

pacmd list-sinks

La limite inférieure de <value> est évidemment 0, un volume linéaire de 100% est une valeur de 65536, toute valeur supérieure sera encore amplifiée. Une valeur de 512 000 entraînera donc une suramplification de 781%.

C'est une méthode très grossière pour amplifier une sortie audio de niveau variable, car une suramplification conduira non seulement à un écrêtage et à une distorsion laide, mais peut également endommager vos haut-parleurs.

Ce serait donc un meilleur moyen de normaliser votre sortie audio. Voir la question suivante sur la procédure à suivre avec pulseaudio:

24
Takkat

J'ai essayé cette commande:

pactl set-sink-volume alsa_output.pci-0000_00_1b.0.analog-stereo 150%

et c'était très utile. On peut changer les 150% en n'importe quelle valeur.

7
whahmad

démonstration vidéo


J'utilise

pactl set-sink-volume 0 100%

0 est le numéro de récepteur de pacmd list-sinks et 100% est le volume non optimisé par défaut. Vous pouvez entrer des valeurs supérieures à 100% pour obtenir un boost audio (200% par exemple).

4
Mina Michael

Voici un petit script pour faire le calcul et régler le volume pour vous (il suffit de passer le volume en argument). Par exemple: vol 105 définira le volume à 105%.

  • Créer un fichier

    $> file=/usr/bin/vol;Sudo touch $file && \
    Sudo chmod u+x $file && Sudo chown $USER:$USER $file && \
    gedit $file
    
  • Copier et coller:

    #!/bin/bash
    SetPacmdSinkVol()
    {
        #default index of 0 - can be changed
        local mySinkIndex=0
        #if you want to ignore pacmd output
        local ignoreOutput=true
        local num=$1
        local vol=$((num * 655)); 
        vol=$((num * 36 / 100 + vol));
        echo -e "\033[0;32mVol - ${num}:${vol}\033[0;m"
        if $ignoreOutput; then
            pacmd set-sink-volume $mySinkIndex $vol > /dev/null
        else
            pacmd set-sink-volume $mySinkIndex $vol
        fi
    }
    SetPacmdSinkVol $@
    
2
Sparkida

J'ai inséré la ligne suivante dans un script shell et l'ai configurée pour s'exécuter au démarrage, car l'ordinateur portable de mon père (12.04 32 bits) n'enregistrait pas le paramètre de volume maximal.

pacmd set-sink-volume 0 99999

s'il n'y a qu'une seule carte son, il s'agit probablement de l'index 0 et vous n'avez pas besoin de taper le nom complet. Je vois ci-dessus que la valeur est basée sur 65536 soit 100%. Quand j'ai utilisé 99999, je tirais dans le noir. 153% seraient en réalité 100270 obtenant le même résultat que l’utilisation de l’interface graphique.

#!/bin/bash

FILE=/tmp/currentVolume

interval=15
minVolume=10
maxVolume=140

if [ -f "$FILE" ];
then
   CurrentVolume=$(cat $FILE )
else
   CurrentVolume=50
fi

        if [ $CurrentVolume -lt 60 ]; then
            interval=3
        Elif [ $CurrentVolume -lt 80 ]; then
            interval=5
        Elif [ $CurrentVolume -lt 110 ]; then
            interval=10
        else
            interval=15
        fi

if [ "$1" == "UP" ] 
then
    CurrentVolume=$(echo "$CurrentVolume + $interval" | bc)
    if (( $(echo "$maxVolume < $CurrentVolume" | bc -l) ))
    then
        CurrentVolume=$maxVolume
    fi  
else
    CurrentVolume=$(echo "$CurrentVolume - $interval" | bc)
    if (( $(echo "$minVolume > $CurrentVolume" | bc -l) ))
    then
        CurrentVolume=$minVolume
    fi
fi

echo "CurrentVolume:" $CurrentVolume >> /tmp/currentVolume.log
echo $CurrentVolume > $FILE


for i in {1..20}
do
   pactl -- set-sink-volume $i $(echo $CurrentVolume)%
done
0
MarkL