有没有一种方法可以在整个系统范围内均衡/压缩声音?


26

作为笔记本电脑用户,我敢肯定,很多人,甚至是使用上网本的人都已经遇到了这个问题。尤其是在收听播客并将其用作示例时,声音可能同时具有响亮的时刻和安静的时刻,一个人讲话的声音很大,而另一个人讲话的声音很安静。因此,我一直希望声音能在整个系统范围内进行压缩,而前几天我刚刚提到,在Windows中,某些Realtek驱动程序已经提供了此功能。

我们已经有一个用于整个系统均衡的pulseaudio插件,尽管它仍然存在一些问题,例如不允许我们更改其值并实时收听更改,或者在更改脉冲音量时破裂声音,但我还是喜欢并使用它。现在,我只是缺少一些东西来保持声音在0db左右(或您正在使用的音量水平附近),作为Pulseaudio的调平器插件。

有什么建议吗?


Answers:


16

我已经成功完成了此答案中显示的示例。

  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
    

此答案说明了如何永久加载插件。


史蒂夫·哈里斯(Steve Harris)的LADSPA插件文档control=1,1.5,401,-30,20,5,12中描述了此压缩机的参数(上面的部分):

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

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

为了试验不同的参数,我还通过创建以下代码 安装libasound2-plugin-equal,通过Alsaequal将压缩程序作为实时可调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;
}

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

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

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


如果你ALSA lib dlmisc.c:252:(snd1_dlobj_cache_get) Cannot open shared library /usr/lib/x86_64-linux-gnu/alsa-lib/libasound_module_ctl_equal.so在Ubuntu 14.10的尝试apt-get install libasound2-plugin-equal
斯特凡纳·古里科

我使用Ubuntu-Studio 16.04 LTS,并安装了swh-plugins软件包,但是...行:“ pacmd load-module module-ladspa-sink sink_name = compressor plugin = sc4m_1916 label = sc4m control = 1,1.5,401, -30,5,9,3,0,0 pacmd set-default-sink Compressor无效。这不是参数问题,因为系统给我错误:“找不到模块”。所以...插件包中缺少一些东西,但是...什么?
胡安

5

我建议使用Pulse Effects。在这个应用程序中,您有很多工具可以在整个系统范围内操纵声音(包括压缩器)。相当容易使用。

对我来说,此设置最适合电影: 在此处输入图片说明

安装说明

可以从PPA(Ubuntu> = 18.04)或Flatpak安装Pulse Effects 。我强烈建议您先尝试Flatpak,因为它是独立的并且不会干扰您的系统配置,而PPA版本将在18.04上从18.10开始安装Pulse Audio 12的反向端口。

Flatpak

如果您的系统上尚未安装flatpak,请在终端中使用以下命令进行安装:

sudo apt install flatpak

现在添加flathub存储库:

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

...并安装Pulse Effects:

flatpak install flathub com.github.wwmm.pulseeffects

或者,您可以按照官方的快速安装指南并从其Flathub页面安装PulseEffects 。

PPA

如果flatpak版本不起作用,或者您更喜欢使用PPA,请在终端中运行以下命令:

sudo add-apt-repository ppa:mikhailnov/pulseeffects -y
sudo apt install pulseeffects pulseaudio --install-recommends

安装后,重新启动系统。


3

这些都非常有帮助。感谢您的启发。尽管目前还不完善,但我还有点贡献。我查看了《史蒂夫·哈里斯文档》,发现压缩器有几种风格,因此我选择使用立体声。使用Pulse Audio Volume Control将压缩器放置在Chrome和VLC等多个应用程序上确实很复杂,但是我喜欢这个结果。我使用压缩机的动机是对音量进行严格限制。为了在深夜不吵醒屋子里的任何人,我不想一直调高音量以听到媒体中的人物讲话,而只是想在发生超级英雄动作或商业广告时赶紧调低音量。我遵循了这里的灵感,并实时调整了值。然后,我取了我想要的值,并将它们放回到示例代码中。总之,我从上面的示例中毫不客气地提供了示例代码,但是立体声压缩器具有相当严格的音量上限和音量下限。最后,我将其放入脚本的形式,但无法完全正常工作。它不喜欢set_default行。我希望这对社区有用。

#!/bin/sh
# ComperssorScript.sh
# Script to start PulseAudio Compressor with desired settings
# Original: 2016 September 17

pacmd load-module module-ladspa-sink sink_name=compressor plugin=sc4_1882 label=sc4 control=9,5,63,-6,15,3,49
set-default-sink compressor

# The parameters (the control=1,1.5,401,-30,20,5,12 for example) for this compressor are described in Steve Harris' LADSPA Plugin Docs:
# RMS/peak: The balance between the RMS and peak envelope followers. RMS is generally better for subtle, musical compression and peak is better for heavier, fast compression and percussion.
# 9, Attack time (ms): The attack time in milliseconds.
# 5, Release time (ms): The release time in milliseconds.
# 63, Threshold level (dB): The point at which the compressor will start to kick in.
# 6, Ratio (1:n): The gain reduction ratio used when the signal level exceeds the threshold.
# -15, Knee radius (dB): The distance from the threshold where the knee curve starts.
# 3, Makeup gain (dB): Controls the gain of the makeup input signal in dB's.
# 49, Amplitude (dB): The level of the input signal, in decibels.
# no value was placed here
# Gain reduction (dB): The degree of gain reduction applied to the input signal, in decibels.
# Due to a limitation of PulseAudio, it is not possible to adjust them in real time.
# no value was placed here

在我对< github.com/swh/ladspa/blob/master/sc4_1882.xml#L116 >的分析中,似乎对参数应用了一些范围。您的示例似乎在某些参数上超出了范围。由于文档(作者史蒂夫·哈里斯Steve Harris))非常薄且缺少示例,因此我可能完全错了。
Ale

0

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

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

您的示例仍然可以在我的笔记本设置中进行剪辑。推荐使用此设置在Google+上获取gotbletu,到目前为止,它们对我来说效果最好。加载模块模块-ladspa-sink sink_name =压缩机插件= sc4_1882标签= sc4控件= 1,1.5,401,-30,20,5,12
Axel Werner
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.