web-dev-qa-db-ja.com

pulseaudioで可能な最大音量を調整する

Ubuntu_12.04システムのサウンド/映画/音楽の一部が非常に小さい場合があります。以降、音声出力の音量を上げます。次の設定を使用できます(スクリーンショットを参照) enter image description here

したがって、pulseaudioは、マシンの「音量を上げる」ボタンを使用するだけで、可能な最大音量を超えて音量を上げることができるようです。私の質問は、Pulseaudioを調整して、より大きな範囲またはより高い最大音量を増加させる方法ですか?

特に、開始するのに非常に小さい音量のオーディオ素材では、出力音量(パワーアップ)を他の-すでにかなり大きな素材に必要な設定よりも高い設定にすばやく上げることができると便利です。

26

ボリュームコントロールを100%以上にスライドさせることで得られる最大のボリュームレベルは、約10%です。通常のピーク制限を153%上回っています。 alsamixerでALSAボリュームを100に設定した場合、これらの100%はオーディオがクリップまたは歪むレベルです。これは、スライダーで153%に増幅したときにも発生します。

それでも、ターミナルで次のコマンドを使用してシンクレベルを設定することにより、このレベルをさらに上げることができます。

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

<sink>を、次のように指定したシンク名またはシンクインデックスに置き換えます。

pacmd list-sinks

<value>の下限は明らかに0であり、100%の線形ボリュームは65536の値であり、それ以上はさらに増幅されます。したがって、512000の値は781%の過増幅につながります。

これはさまざまなレベルのサウンド出力を増幅する非常に粗雑な方法です。オーバーアンプはクリッピングやい歪みにつながるだけでなく、スピーカーを損傷する可能性があるためです。

したがって、オーディオ出力を正規化するより良い方法です。 pulseaudioでこれを行う方法については、次の質問を参照してください。

24
Takkat

私はこのコマンドを試しました:

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

とても助かりました。 150%を任意の値に変更できます。

7
whahmad

ビデオデモンストレーション


私が使う

pactl set-sink-volume 0 100%

ここで、0pacmd list-sinksからのシンク番号であり、100%はデフォルトのブーストされていないボリュームです。 100%を超える値を入力して、オーディオブーストを取得できます(200%など)。

4
Mina Michael

計算を行い、ボリュームを設定するための小さなスクリプトを次に示します(ボリュームを引数として渡すだけです)。例: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
Sparkida

父のラップトップ(12.04 32ビット)が最大ボリューム設定を保存していなかったため、次の行をシェルスクリプトに挿入し、起動時に実行するように設定しました。

pacmd set-sink-volume 0 99999

サウンドカードが1つしかない場合は、おそらくインデックス0であるため、フルネームを入力する必要はありません。上記の値は、65536が100%であることに基づいていることがわかります。 99999を使用したとき、暗闇で撮影していました。 153%は実際には100270で、GUIを使用した場合と同じ結果になります。

#!/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