有时人们会在原本安静的视频中尖叫。
如何设置响度限制?声音超过限制的声音将按比例缩小到限制。听起来比不变的极限要安静。最好是设置特定的 dB 限制。这可能吗?
答案1
这里涉及到的音频概念是压缩。所以我们需要在音频输出上安装一个压缩插件。以下是在 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 插件文档:
- 有效值/峰值:RMS 和峰值包络跟随器之间的平衡。RMS 通常更适合微妙的音乐压缩,而峰值更适合较重、快速的压缩和打击乐。
- 起振时间(毫秒):攻击时间(以毫秒为单位)。
- 释放时间(毫秒):释放时间(以毫秒为单位)。
- 阈值电平(dB):压缩机开始启动的点。
- 比率(1:n):信号电平超过阈值时使用的增益降低比例。
- 膝盖半径(分贝):距拐点曲线开始处的阈值的距离。
- 补偿增益(分贝):控制补偿输入信号的增益(以 dB 为单位)。
- 幅度(分贝):输入信号的电平,以分贝为单位。
- 增益降低(dB):应用于输入信号的增益降低程度,以分贝为单位。
由于 PulseAudio 的限制,无法实时调整它们。
为了试验不同的参数,我还通过以下方式将压缩器加载为实时可调节 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;
}
可以使用压缩器播放示例 MP3 文件mpg321 ,
mpg321 -a hw:compressor "04 - Love Song for Yoshimi.mp3"
同时alsamixer -D compressor
可用于实时调整参数。
逐字结束
我录了一个简单的声音,声音很大,然后很安静。使用上面命令中显示的参数进行播放,与没有插件相比,差异非常明显。
另外,在 PulseAudio 界面中,我可以选择哪个应用程序应使用插件的输出:
答案2
我找到了一个更简单的解决方案。有一个程序可以执行此操作,称为 EasyEffects(以前称为 PulseEffects)。自动增益功能正是我所需要的。
在 Ubuntu 上使用命令安装
sudo apt install pulseeffects
[免责声明:EasyEffects 无法硬限制分贝。这不是一个答案,而是一个替代方案的想法。]