Audio

所有 ALSA 設備的預設音量

  • May 15, 2019

我想為所有將要連接的 ALSA 設備一勞永逸地設置預設音量。

當然,我可以做amixer ...甚至alsamixer修改目前可用音效卡的音量。

但我真的很想修改預設音量*,即使是以後要添加的音效卡*。

我應該在哪個配置文件中設置這個預設音量?

我見過/var/lib/alsa/asound.state,但內容特定於目前連接的音效卡。我想要的是一種適用於任何將要連接的音效卡的解決方案。


背景:我為什麼要這個?我正在為我的項目SamplerBox提供一個現成的 Debian 映像。使用者 #1 可能使用電腦的內置音效卡,使用者 #2 可能有一個 USB DAC,使用者 #3 可能有另一個音效卡……

我想提供一個預設的 -3dB 音量,適用於任何 ALSA 音效卡的人本來可以…


**注意:**我重新安裝了一個全新的系統,預設情況下,所有設備的音量似乎都是 -20dB:

在此處輸入圖像描述

在此處輸入圖像描述

中有一些通用和特定於驅動程序的配置文件/usr/share/alsa/init/,您可以在其中指定ENV{ppercent}:="75%"ENV{pvolume}:="-20dB"pvolume= 播放音量,cvolume= 擷取音量等)等設置。/usr/share/alsa/init/default應該已經包含這些設置,因此您可以將其用作範例。

您可以使用 強制 ALSA 重新初始化所有設備,alsactl init也可以使用alsactl -i /usr/share/alsa/init/foo init.

出於某種原因,ALSA 似乎忽略了我係統上的ppercentpvolume設置,但從您的評論來看,它們似乎對您有用。如果有人能告訴我為什麼配置可能會被忽略,我很樂意修改這個答案。

我只是在這篇文章上徘徊,看到你和我一樣在為這個問題的答案而苦苦掙扎。這就是為我解決的問題:

進入 alsamixer 並按照您想要的方式設置所有內容,然後退出並輸入以下內容:

sudo alsactl store

這將儲存 alsamixer 的目前配置,它應該保留配置。

引用自:https://unix.stackexchange.com/questions/210113