有没有办法在整个系统中调平/压缩声音?

作为一名笔记本电脑用户,我确信很多人,甚至使用上网本的人都会遇到这个问题。 特别是在收听播客并以其为例时,声音可能会有大声的时刻和安静的时刻,一个人大声说话,另一个人在同一集中讲得非常安静。 因此,我一直希望声音在系统范围内被压缩,而我前几天才注意到,在Windows中,一些Realtek驱动程序已经提供此function。

我们已经有一个用于系统均衡的pulseaudio插件,虽然它仍然存在一些问题,比如不让我们改变它的值并实时听取变化,或者在改变脉冲音量时破解声音,我确实喜欢并使用它。 现在我只是缺少一些东西来保持声音在0db附近(或接近您正在使用的音量级别)作为pulseaudio的校平器插件。

有什么建议吗?

我在这个答案中显示的例子取得了成功。

安装Steve Harris的LADSPA插件 安装swh-plugins 然后在pacmd运行以下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 

Steve Harris的LADSPA插件文档中描述了此压缩器的参数( control=1,1.5,401,-30,20,5,12部分)。

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

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

为了试验不同的参数,我还通过Alsaequal将压缩器加载为实时可调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; } 

可以使用mpg321通过压缩器播放示例MP3文件 安装mpg321

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

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

这个答案解释了如何永久加载插件。

这些都非常有帮助。 感谢您的启发。 虽然目前还不完善,但我还有一点贡献。 我查看了Steve Harris文档,发现压缩器有几种口味,我选择使用立体声器。 使用Pulse Audio Volume Control将压缩器放在Chrome和VLC等多个应用程序上确实很复杂,但我喜欢这个结果。 我使用压缩机的动机是对音量设置非常严格的下限和上限。 为了不在深夜吵醒房子里的任何人,我不想不断地调高音量来听到媒体中的人物说话,只是在超级英雄行动发生或商业广告发生时急于将其调低。 我按照这里的灵感来实时调整了价值观。 然后我拿出了我想要的值并将它们放回到示例代码中。 总而言之,我提供的示例代码无耻地借鉴了上面的示例,但是具有相当严格的上限和下限音量的立体声压缩器。 最后,我把它放到一个脚本的forms,它没有完全工作。 它不喜欢set_default行。 我希望这对社区有用。

 #!/ bin / sh的
 #ComperssorScript.sh
 #Script以期望的设置启动PulseAudio Compressor
 #Original:2016年9月17日

 pacmd load-module module-ladspa-sink sink_name =压缩器插件= sc4_1882 label = sc4 control = 9,5,63,-6,15,3,49
 set-default-sink压缩器

这个#compressor的参数(控件= 1,1.5,401,-30,20,5,12)在Steve Harris的LADSPA插件文档中有描述:
 #RMS / peak:RMS和峰值包络跟随器之间的平衡。  RMS#通常更适合细微的音乐压缩,而峰值更好#更重,快速压缩和#percussion。
 #9,
 #Attack time(ms):攻击时间,以毫秒为单位。
 #5,
 #Release time(ms):释放时间(以毫秒为单位)。
 #63,
 #Threshold level(dB):压缩器开始#kick的点。
 #6,
 #Ratio(1:n):信号电平超过#阈值时使用的增益降低比率。
 #-15,
 #Knee radius(dB):膝盖曲线#starts与阈值的距离。
 #3,
 #Makeup gain(dB):以dB为单位控制化妆输入信号的增益。
 #49,
 #Amplitude(dB):输入信号的电平,以分贝为单位。
 #no值放在这里
 #Gain reduction(dB):应用于输入#signal的增益降低程度,以分贝为单位。
 #由于PulseAudio的限制,无法在#real时间调整它们。
 #no值放在这里

我推荐Pulse Effects 。 这是一个应用程序,您可以在其中使用大量工具来操作系统范围的声音(包括压缩器)。 很容易使用。

对我来说,这个设置最适合电影: 在此处输入图像描述

这是一个立体声插件,具有更好的控制设置(更少剪裁) ændrük的答案使用单声道插件示例。

 load-module module-ladspa-sink sink_name=compressor plugin=sc4_1882 label=sc4 control=1,1.5,300,-20,3,1,10