我想知道如何在系统范围的 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-module
LADSPA 插件,可通过模块供 PulseAudio 使用。完整命令如下所示:lowpass_iir_1891
swh-plugins
module-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
等工具配置每个流的接收器。pavucontrol
pactl move-sink-input
1您可以使用 列出所有接收器pactl list short sinks
。您的实际音频设备接收器名称通常由alsa_output
、设备路径和通道配置文件名称组成,例如(在我的系统上)alsa_output.pci-0000_00_1b.0.analog-stereo
。