根据内容自动调整音量?

根据内容自动调整音量?

不同的音频源的声音级别是不同的。几乎每个媒体内容都需要设置声音级别,这非常烦人。有时,之前播放的是安静的节目,现在不得不调大音量,过了一段时间后又想播放其他媒体 - 砰!耳机意外坏了,声音太大了!

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

答案1

使用 LADSPA 插件调整音量

为了获得与输入级别无关的相当标准化的声音输出级别,我们可以使用 LADSPA 插件通过 PulseAudio 过滤声音输出。

至少,我们需要一个压缩插件,例如戴森压缩机来自swh-插件如果尚未存在则需要安装。

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

pacmd list-sinks

精确的插件的名称存储在/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

替换<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

来源:上述设置适用于 pulseaudiobrien 在 miscfits 上的博客

答案2

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
    
  3. 运行pulseaudio -k或注销并重新登录

所有后续登录都将自动打开标准化。

答案3

SMPlayer 中存在音量标准化功能。转到软件中心并下载这款出色的播放器,然后在音频选项下启用音量标准化功能 :)

答案4

除了替代方案之外,我对上述建议使用 dysoncompressor 的解决方案有一些评论。

来自手册:

 2.37  Dyson compressor (dysonCompress, 1403)
Peak limit (dB)
Controls the desired limit of the output signal in dB's.
Release time (s)
Controls the time taken for the compressor to relax its gain control over the input signal.
Fast compression ratio
I have no clear idea what this controls.
Compression ratio
I have no clear idea what this controls. 

http://plugin.org.uk/ladspa-swh/docs/ladspa-swh.html#tth_sEc1.1

包的作者不知道最后两个值控制什么。那么你们怎么知道应该输入什么作为最后两个值呢?

插件本身建议control=0,0.25,0.5,0.5

$ analyseplugin /usr/lib/ladspa/dyson_compress_1403.so

Plugin Name: "Dyson compressor"
Plugin Label: "dysonCompress"
Plugin Unique ID: 1403
Maker: "Steve Harris <[email protected]>"
Copyright: "GPL"
Must Run Real-Time: No
Has activate() Function: Yes
Has deactivate() Function: No
Has run_adding() Function: Yes
Environment: Normal or Hard Real-Time
Ports:  "Peak limit (dB)" input, control, -30 to 0, default 0
    "Release time (s)" input, control, 0 to 1, default 0.25
    "Fast compression ratio" input, control, 0 to 1, default 0.5
    "Compression ratio" input, control, 0 to 1, default 0.5
    "Input" input, audio
    "Output" output, audio

我甚至建议您尝试其他看起来有更多文档记录的压缩机,例如 sc4。

load-module module-ladspa-sink  sink_name=ladspa_sink  plugin=sc4_1882 label=sc4  control=0,101.125,401,0,1,3.25,0

相关内容