如何将 LADSPA 插件应用到 PulseAudio 流?

如何将 LADSPA 插件应用到 PulseAudio 流?

我想将 LADSPA 插件应用于通过默认 PulseAudio 接收器传输的所有内容。我应该如何设置?

答案1

将 LADSPA 插件添加到 pulseaudio 中模块-ladspa-接收器

我们将此模块安装为输出接收器,在其中我们可以定义处理模块并能够将处理后的信号发送到这个新创建的接收器。

加载 LADSPA 模块:

该模块可以在运行时加载:

pacmd load-module module-ladspa-sink sink_name=<yourname> master=<sinkname> plugin=<plugin> label=<label> control=<option1>,<option2>,[...]

可以使用以下命令读取主接收器的名称:

 pacmd list-sinks

为处理后的接收器命名,因为它将出现在输出列表中sink_name。所有其他选项取决于我们使用的插件(见下面的示例)。

为了应用 LADSPA 处理器,我们选择输出接收器“声音设置...”现在可以收听已处理的流。运行时无法更改控制选项。

卸载 LADSPA 模块:

我们必须卸载模块,然后针对不同的选项再次加载。要找到要卸载的模块索引,我们可以发出以下命令:

 pacmd list-modules

要卸载模块,我们可以重新启动声音服务器,pulseaudio -k或者使用其索引号卸载模块#

pacmd unload-module <#>

另请参阅参考来自 pulseaudio 的 wiki

启动时加载LADSPA模块:

找到合适的选项后,我们可能希望默认运行它。这可以通过将其包含到/etc/pulse/default.pa守护进程在启动时加载的配置文件中来实现:

.ifexists module-ladspa-sink.so
.nofail
load-module module-ladspa-sink <options>
.fail
.endif

例子:

这是一个特殊情况的示例,可让您了解如何操作。在此示例中,我们想使用不幸不再有效的 TAP 插件将音高移位应用于声音输出tap_pitchtap-插件 安装 tap-plugins)。对于此插件,加载到 Pulse Audio 所需的附加选项如下:

plugin=tap_pitch # as from /usr/lib/ladspa/ without .so
label=tap_pitch  # defines which label of a plugin to use

为了找到适当的控制选项,我们仍然可以在网络档案中找到插件文档(以前的 URL:TAP 插件音调变换器)我们在那里找到一个表格,其中列出了我们必须在control=命令中应用的四个相关控件:

control=<semitone>,<rate>,<dry>,<wet>

在这种情况下,将选项留空将使用默认值。

因此,以下命令将从我的主接收器alsa_output.pci-0000_00_14.2.analog-stereo(用您的接收器替换)向输出接收器应用一个向下八度的音高偏移,ladspa_out半音偏移为-12,即速率偏移为-50%,干(未处理)混频器级别为-90dB,湿(处理后)级别为0dB。

pacmd load-module module-ladspa-sink sink_name=ladspa_out master=alsa_output.pci-0000_00_14.2.analog-stereo plugin=tap_pitch label=tap_pitch control=-12,-50,-90,0

对于某些插件,文档可能不完整,或者适当的设置需要进行相当多的实验才正确。

相关内容