Audio
如何限制最大音量?
有時人們會在原本安靜的影片中尖叫。
如何設置響度限制?超過限制的聲音將按比例縮小到限制。比限制更安靜的聲音將保持不變。最好設置一個特定的 dB 限制。這甚至可能嗎?
我找到了一個更簡單的解決方案。有一個程序可以做到這一點,它被稱為 EasyEffects(以前稱為 PulseEffects)。AutoGain 功能正是我所需要的。
使用命令安裝在 Ubuntu 上
sudo apt install pulseeffects
這裡涉及的音頻概念是壓縮。所以我們需要為音頻輸出安裝一個壓縮外掛。以下在 Ubuntu 20.04 中工作。我需要安裝
pulse audio first
:我在這個答案中顯示的範例取得了成功。
sudo apt install swh-plugins
- 執行
pacmd
,然後執行以下命令:load-module module-ladspa-sink sink_name=compressor plugin=sc4m_1916 label=sc4m control=1,1.5,401,-30,20,5,12 set-default-sink compressor
這個答案解釋瞭如何永久載入外掛。
此壓縮器的參數(上述
control=1,1.5,401,-30,20,5,12
部分)在Steve Harris 的 LADSPA Plugin Docs中有描述:
- RMS/峰值:RMS 和峰值包絡跟隨器之間的平衡。RMS 通常更適合細微的音樂壓縮,峰值更適合較重、快速的壓縮和打擊樂。
- 攻擊時間(毫秒):以毫秒為單位的攻擊時間。
- 釋放時間(毫秒):釋放時間,以毫秒為單位。
- 門檻值電平 (dB):壓縮器開始啟動的點。
- 比率 (1:n):當信號電平超過門檻值時使用的增益降低比率。
- 轉折點半徑 (dB):與轉折點曲線開始處的門檻值的距離。
- Makeup gain (dB) : 以 dB 為單位控制化妝輸入信號的增益。
- 幅度 (dB):輸入信號的電平,以分貝為單位。
- 增益降低 (dB):應用於輸入信號的增益降低程度,以分貝為單位。
由於 PulseAudio 的限制,無法實時調整它們。
為了試驗不同的參數,我還通過Alsaequal 將壓縮器載入為實時可調節的 ALSA 外掛,方法是創建以下內容
~/.asoundrc
:ctl.compressor { type equal; library "/usr/lib/ladspa/sc4m_1916.so"; module "sc4m"; } pcm.plugcompressor { type equal; slave.pcm "plug:pulse"; library "/usr/lib/ladspa/sc4m_1916.so"; module "sc4m"; } pcm.compressor { type plug; slave.pcm plugcompressor; }
可以使用mpg321 通過壓縮器播放範例 MP3 文件,
mpg321 -a hw:compressor "04 - Love Song for Yoshimi.mp3"
while
alsamixer -D compressor
可用於實時調整參數。逐字結束
我錄製了一個簡單的聲音,聲音很大,然後很安靜。使用上面命令中顯示的參數進行播放,與沒有外掛相比,差異非常顯著。
此外,在 PulseAudio 界面中,我可以選擇應該使用外掛輸出的應用程序: