ajuste o volume máximo possível em pulseaudio

25

Algumas vezes algum som / filme / música no meu sistema Ubuntu_12.04 está em um volume muito baixo por si só. Daqui em diante eu aumento o volume da saída de som. Eu posso usar a seguinte configuração (veja screenshot)

Parece, portanto, que pulseaudio é capaz de aumentar o volume além do máximo que parece possível, simplesmente usando os botões "aumentar volume" da máquina. Minhas perguntas é como eu posso ajustar Pulseaudio para permitir um maior intervalo ou um maior volume máximo aumentando ???

Especialmente com algum material de áudio que esteja em um volume muito baixo para começar, seria bom poder aumentar rapidamente o volume de saída (energização) para um valor mais alto do que talvez necessário para outro material - bastante alto.

    
por humanityANDpeace 20.11.2012 / 13:12

6 respostas

22

O nível de volume máximo possível que podemos obter do deslizamento do controle de volume para mais de 100% é de aprox. 153% acima do limite máximo normal. Desde que tenhamos definido o volume ALSA com alsamixer para 100, esses 100% são o nível acima do qual o áudio será cortado ou distorcido. Isso também acontecerá quando amplificar para 153% com o controle deslizante.

No entanto, é possível aumentar ainda mais esse nível, definindo o nível do coletor usando o comando follwing em um terminal:

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

Substitua <sink> pelo seu nome de coletor ou índice de coletor como indicado em:

pacmd list-sinks

O limite inferior para <value> é obviamente 0 , um volume linear de 100% é um valor de 65536 , qualquer valor maior será amplificado posteriormente. Um valor de 512000 levará a uma super-amplificação de 781%.

Este é um método muito grosseiro para amplificar a saída de som de vários níveis, uma vez que a amplificação excessiva leva não apenas ao recorte e à distorção feia, mas também pode danificar seus alto-falantes.

Portanto, seria uma maneira melhor de normalizar sua saída de áudio. Veja a seguinte pergunta sobre como fazer isso com pulseaudio:

por Takkat 20.11.2012 / 21:05
7

Eu tentei este comando:

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

e foi muito útil. Pode-se mudar os 150% para qualquer valor.

    
por whahmad 22.03.2014 / 01:20
3

Demonstração em vídeo

eu uso

pactl set-sink-volume 0 100%

Em que 0 é o número do coletor de pacmd list-sinks e 100% é o volume padrão não otimizado. Você pode inserir valores acima de 100% para obter um aumento de áudio ( 200% , por exemplo).

    
por Mina Michael 06.04.2014 / 19:02
2

Aqui está um pequeno script para fazer o cálculo e definir o volume para você (apenas passe o volume como um argumento). Por exemplo: vol 105 definirá o volume para 105%.

  • Criar arquivo

    $> file=/usr/bin/vol;sudo touch $file && \
    sudo chmod u+x $file && sudo chown $USER:$USER $file && \
    gedit $file
    
  • Copie e cole:

    #!/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=
        local vol=$((num * 655)); 
        vol=$((num * 36 / 100 + vol));
        echo -e "3[0;32mVol - ${num}:${vol}3[0;m"
        if $ignoreOutput; then
            pacmd set-sink-volume $mySinkIndex $vol > /dev/null
        else
            pacmd set-sink-volume $mySinkIndex $vol
        fi
    }
    SetPacmdSinkVol [email protected]
    
por Sparkida 04.05.2014 / 13:05
1

Inseri a seguinte linha em um shell script e o configurei para ser executado na inicialização, pois o laptop do meu pai (12.04 32 bits) não estava salvando a configuração do volume máximo.

pacmd set-sink-volume 0 99999

se houver apenas uma placa de som, é provavelmente o índice 0 e, em seguida, você não precisa digitar o nome completo. Eu vejo acima que o valor é baseado em 65536 sendo 100%. Quando eu usei 99999 eu estava atirando no escuro. 153% seriam 100270 atingindo o mesmo resultado do uso do gui.

    
por Antonios Hadjigeorgalis 08.10.2013 / 03:05
0
#!/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 [ "" == "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
    
por MarkL 19.11.2016 / 04:22