отрегулируйте максимально возможную громкость в pulaudio

Иногда звук / фильм / музыка в моей системе Ubuntu_12.04 сам по себе очень низкий. Отныне я увеличиваю громкость звука на выходе. Я могу использовать следующую настройку (см. Скриншот) enter image description here

Поэтому кажется, что pulseaudio способен увеличить громкость сверх максимально возможного, просто используя кнопки «увеличения громкости» машина. У меня вопрос, как я могу настроить Pulseaudio, чтобы увеличить диапазон или увеличить максимальную громкость ???

Особенно с некоторым аудио материалом, который имеет очень низкую громкость, чтобы начать с него, было бы неплохо иметь возможность быстро увеличить выходную громкость (powerup) до более высокого уровня, чем это может быть необходимо для другого, уже довольно громкого материала.

26
задан 20 November 2012 в 16:12

6 ответов

Видео Демонстрация

<час>

Я использую

pactl set-sink-volume 0 100%

Где 0 это номер приемника из pacmd list-sinks и 100% по умолчанию громкость Вы можете ввести значения выше 100% для усиления звука (например, 200%).

0
ответ дан 20 November 2012 в 16:12

Максимально возможный уровень громкости, который мы можем получить, сдвинув регулятор громкости более чем на 100%, составляет ок. 153% выше нормального пикового предела. При условии, что мы установили громкость ALSA с помощью alsamixer на 100, эти 100% - это уровень, выше которого звук будет обрезан или искажен. Это также произойдет при усилении до 153% с помощью ползунка.

Тем не менее, возможно дальнейшее повышение этого уровня путем установки уровня приемника с помощью следующей команды в терминале:

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

Замените <sink> на имя приемника или индекс приемника, как указано в: [ 1110]

pacmd list-sinks

Нижний предел для <value>, очевидно, равен 0, линейный объем 100% является значением 65536, все, что выше, будет дополнительно усилено. Таким образом, значение 512000 приведет к избыточному усилению на 781%.

Это очень грубый метод усиления выходного сигнала звука различного уровня, поскольку чрезмерное усиление приведет не только к ограничению и ужасным искажениям, но также может повредить ваши динамики.

Поэтому это был бы лучший способ нормализовать ваш аудио выход. См. Следующий вопрос о том, как сделать это с pulseaudio:

0
ответ дан 20 November 2012 в 16:12

Я попробовал эту команду:

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

, и это было очень полезно. Можно изменить 150% на любое значение.

0
ответ дан 20 November 2012 в 16:12

Вот немного сценария, чтобы сделать вычисление и регулировать громкость для Вас (просто передают объем как аргумент). Например: vol 105 будет регулировать громкость к 105%.

  • Создайте файл

    $> file=/usr/bin/vol;sudo touch $file && \
    sudo chmod u+x $file && sudo chown $USER:$USER $file && \
    gedit $file
    
  • Копия и вставка:

    #!/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
ответ дан 20 November 2012 в 16:12
#!/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
ответ дан 20 November 2012 в 16:12

Я вставил следующую строку в скрипт оболочки и настроил ее запуск при запуске, так как мой портативный компьютер отцов (12.04 32 бит) не сохранял настройку максимальной громкости.

pacmd set-sink-volume 0 99999

, если есть только одна звуковая карта, это, вероятно, индекс 0, и тогда вам не нужно вводить полное имя. Я вижу выше, что значение основано на 65536, составляющем 100%. Когда я использовал 99999, я снимал в темноте. 153% на самом деле будет 100270, достигая того же результата, что и при использовании графического интерфейса.

0
ответ дан 20 November 2012 в 16:12

Другие вопросы по тегам:

Похожие вопросы: