如何限制最大音量?

如何限制最大音量?

有时人们会在原本安静的视频中尖叫。

如何设置响度限制?声音超过限制的声音将按比例缩小到限制。听起来比不变的极限要安静。最好是设置特定的 dB 限制。这可能吗?

答案1

这里涉及到的音频概念是压缩。所以我们需要在音频输出上安装一个压缩插件。以下是在 Ubuntu 20.04 上运行的。我需要安装pulse audio first


逐字来自有没有办法在整个系统范围内均衡/压缩声音?

我成功地使用了所示的示例这个答案

  1. 安装Steve Harris 的 LADSPA 插件 安装 swh 插件

     sudo apt install swh-plugins
    
  2. 运行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 插件文档:

  1. 有效值/峰值:RMS 和峰值包络跟随器之间的平衡。RMS 通常更适合微妙的音乐压缩,而峰值更适合较重、快速的压缩和打击乐。
  2. 起振时间(毫秒):攻击时间(以毫秒为单位)。
  3. 释放时间(毫秒):释放时间(以毫秒为单位)。
  4. 阈值电平(dB):压缩机开始启动的点。
  5. 比率(1:n):信号电平超过阈值时使用的增益降低比例。
  6. 膝盖半径(分贝):距拐点曲线开始处的阈值的距离。
  7. 补偿增益(分贝):控制补偿输入信号的增益(以 dB 为单位)。
  8. 幅度(分贝):输入信号的电平,以分贝为单位。
  9. 增益降低(dB):应用于输入信号的增益降低程度,以分贝为单位。

由于 PulseAudio 的限制,无法实时调整它们。

为了试验不同的参数,我还通过以下方式将压缩器加载为实时可调节 ALSA 插件阿尔萨平等 安装 libasound2-plugin-equal通过创建以下内容~/.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,

mpg321 -a hw:compressor "04 - Love Song for Yoshimi.mp3"

同时alsamixer -D compressor可用于实时调整参数。


逐字结束


我录了一个简单的声音,声音很大,然后很安静。使用上面命令中显示的参数进行播放,与没有插件相比,差异非常明显。

另外,在 PulseAudio 界面中,我可以选择哪个应用程序应使用插件的输出:

在此输入图像描述

答案2

我找到了一个更简单的解决方案。有一个程序可以执行此操作,称为 EasyEffects(以前称为 PulseEffects)。自动增益功能正是我所需要的。

EasyEffects github 页面

在 Ubuntu 上使用命令安装

sudo apt install pulseeffects

[免责声明:EasyEffects 无法硬限制分贝。这不是一个答案,而是一个替代方案的想法。]

相关内容