根据内容自动调节音量?

meg*_*gas 61 sound volume-control

在不同的音频源中,声音的电平是不同的。在几乎所有媒体内容上设置声音级别非常烦人。有时,当您以前有一些安静的东西时,您必须将其调整得更大声,一段时间后您想播放另一种媒体 - 砰!不小心弄坏了你的耳机,声音太大了!

那么,是否有一些插件/功能可以自动调整每个媒体内容的声音级别?

Tak*_*kat 41

使用 LADSPA 插件调整声级

为了获得独立于输入电平的相当标准化的声音输出电平,我们可以使用 LADSPA 插件通过 PulseAudio 过滤声音输出。

至少,我们需要一个压缩器插件,例如swh -plugins 中dysonCompressor,如果尚未安装,则需要安装。

在找到我们默认接收器的名称后

pacmd list-sinks
Run Code Online (Sandbox Code Playgroud)

和插件的确切名称,因为它存储在/usr/lib/ladspa/(这里是我的系统dyson_compress_1403)中,我们可以发出以下命令

pacmd load-module module-ladspa-sink sink_name=ladspa_sink master=<alsa_output> plugin=dyson_compress_1403 label=dysonCompress control=0,1,0.5,0.99
Run Code Online (Sandbox Code Playgroud)

替换为输出接收器<alsa_output>确切名称(在我的系统中是alsa_output.pci-0000_00_14.2.analog-stereo)。

现在可以在ladspa_sink声音设置菜单访问的新创建的输出接收器上听到压缩的输出。

在此处输入图片说明

压缩器插件的控制设置如下:峰值限制、释放时间、快速比率、比率。有关这些控件的更多详细信息、默认值和最小响应最大值,请参阅插件文档

为了避免播放剪辑,我们也可以在压缩后将此插件与限制器结合使用。我们可以使用fast_lookahead_limiter主接收器现在我们刚刚从上面创建的 lasdpa_sink :

pacmd load-module module-ladspa-sink sink_name=ladspa_normalized master=ladspa_sink plugin=fast_lookahead_limiter_1913 label=fastLookaheadLimiter control=10,0,0.8
Run Code Online (Sandbox Code Playgroud)

来源:上述设置适用于来自brien 关于 miscfits 的博客的pulseaudio

  • 使用 -12 而不是 0 更改 `control` 参数以反映 `control=-12,1,0.5,0.99`。这意味着只有 _above_ -12 dB 的声音会被压缩(软化),这通常包括比声音更大的任何声音/ 对话。如果您发现在观看电影时(例如 NetFlix 上的 RED 2),与爆炸相比,人声仍然太安静,请进行此更改。 (2认同)

小智 19

Takkat 的解决方案很好,但这里有一个更简单和永久的变体。

  1. apt-get install swh-plugins
  2. 将以下内容剪切并粘贴到名为~/.config/pulse/default.pa 的文件中

    .nofail
    .include /etc/pulse/default.pa
    load-module module-ladspa-sink  sink_name=ladspa_sink  plugin=dyson_compress_1403  label=dysonCompress  control=0,1,0.5,0.99
    load-module module-ladspa-sink  sink_name=ladspa_normalized  master=ladspa_sink  plugin=fast_lookahead_limiter_1913  label=fastLookaheadLimiter  control=10,0,0.8
    set-default-sink ladspa_normalized
    
    Run Code Online (Sandbox Code Playgroud)
  3. 运行pulseaudio -k或注销并重新登录

所有后续登录都会自动启用规范化。