如何向系统范围的 PulseAudio 配置文件添加低通滤波器?

如何向系统范围的 PulseAudio 配置文件添加低通滤波器?

我想知道如何在系统范围的 PulseAudio 配置文件中添加低通声音滤波器,以便只允许我的扬声器发出 18000Hz 以下的频率。

答案1

PulseAudio 配置文件

系统范围的默认 PulseAudio 配置文件在 中配置,如果后者存在/etc/pulse/default.pa,则由每个用户的配置文件覆盖~/.pulse/default.pa。PulseAudio 配置文件由一系列向 PulseAudio 守护程序发出的命令组成。

  • 要应用新配置,需要重新启动 PulseAudio 守护程序:

    pulseaudio --kill
    pulseaudio --start
    

    如果在配置更改后守护进程没有启动,您可以运行非守护进程的 PulseAudio(如果您省略该--start选项),并且可以使用--log-level一个或多个-v选项来获取调试信息,例如:

    pulseaudio --kill
    pulseaudio --log-level=info
    
  • 您也可以通过pactl或直接使用命令更改其配置和(卸载)加载模块,而无需重新启动 PulseAudio 守护程序pacmd。这通常比为了进行微小更改而一直重新启动守护程序更容易。

模块加载

要添加模块,请使用命令。您可以在 Ubuntu 的软件包存储库中找到与 PulseAudio 兼容的低通滤波器,其形式为软件包中的load-moduleLADSPA 插件,可通过模块供 PulseAudio 使用。完整命令如下所示:lowpass_iir_1891swh-pluginsmodule-ladspa-sink

load-module module-ladspa-sink plugin=lowpass_iir_1891 label=lowpass_iir master=<MASTER_SINK> sink_name=<NAME> [control=<FILTER_PARAMETERS>] [channel_map=<CHANNEL_MAP>] [channels=<CHANNEL_COUNT>]

其中是从滤波器1<MASTER_SINK>接收音频数据的下游“接收器”的名称,是滤波器模块所代表的接收器的名称。用于截止频率和陡度等。 有关其他参数和更多详细信息,请参阅<NAME><FILTER_PARAMETERS>PulseAudio Wiki 中有关模块的条目

设置默认接收器

现在,如果您希望所有应用程序默认使用过滤器接收器,您需要像这样通知 PulseAudio:

set-default-sink <NAME>

其中<NAME>与上一节相同。

PulseAudio 存储每个使用它的应用程序的最后一个接收器,并可能将其用作新的默认值。要重置这些接收器,请删除。您还可以使用(GUI)或(命令行)~/.pulse/*-stream-volumes.tdb等工具配置每个流的接收器。pavucontrolpactl move-sink-input


1您可以使用 列出所有接收器pactl list short sinks。您的实际音频设备接收器名称通常由alsa_output、设备路径和通道配置文件名称组成,例如(在我的系统上)alsa_output.pci-0000_00_1b.0.analog-stereo

相关内容