我想知道如何向系统范围的 PulseAudio 配置文件添加低通声音滤波器,以便只允许 18000Hz 以下的频率进入我的扬声器。
系统范围的默认 PulseAudio 配置文件在/etc/pulse/default.pa每个用户配置文件中进行配置和覆盖(~/.pulse/default.pa如果后者存在)。PulseAudio 配置文件由一系列发给 PulseAudio 守护进程的命令组成。
要应用新配置,需要重新启动 PulseAudio 守护进程:
pulseaudio --kill
pulseaudio --start
Run Code Online (Sandbox Code Playgroud)
如果守护程序在配置更改后没有启动,如果您省略该--start选项,您可以运行 PulseAudio un-daemonized,并且您可以使用--log-level一个或多个-v选项获取调试信息,例如:
pulseaudio --kill
pulseaudio --log-level=info
Run Code Online (Sandbox Code Playgroud)除了重新启动 PulseAudio 守护程序,您还可以通过pactl或直接命令更改其配置和(卸载)加载模块pacmd。这通常比每次都重新启动守护进程进行微小更改要容易。
要添加模块,请使用该load-module命令。你可以找到插件的LADSPA的形式在Ubuntu的软件源一的PulseAudio兼容的低通滤波器lowpass_iir_1891的包swh-plugins通过,并提供给的PulseAudiomodule-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>]
Run Code Online (Sandbox Code Playgroud)
其中<MASTER_SINK>的是,从过滤器接收的音频数据的下行流“汇”的名称1和<NAME>是过滤器模块代表信宿的名称。<FILTER_PARAMETERS>用于诸如截止频率和陡度之类的东西。有关其他参数和更多详细信息,请参阅模块上的 PulseAudio Wiki 条目。
现在,如果您希望所有应用程序默认使用过滤器接收器,您需要像这样通知 PulseAudio:
set-default-sink <NAME>
Run Code Online (Sandbox Code Playgroud)
where<NAME>与上一节相同。
PulseAudio 存储使用它的每个应用程序的最后一个接收器,并且可以使用它来支持新的默认值。要重置那些删除~/.pulse/*-stream-volumes.tdb. 您还可以使用pavucontrol(GUI)或pactl move-sink-input(命令行)等工具配置每个流接收器。
1您可以使用 列出所有接收器pactl list short sinks。您的实际音频设备接收器名称通常由alsa_output、设备路径和通道配置文件名称组成,例如(在我的系统上)alsa_output.pci-0000_00_1b.0.analog-stereo。
| 归档时间: |
|
| 查看次数: |
3361 次 |
| 最近记录: |