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


15

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

Answers:


19

使用module-ladspa-sink将LADSPA插件添加到pulseaudio中。

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

加载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-plugins 安装水龙头插件)将音高转换应用于声音输出。对于此插件,加载到Pulse Audio所需的其他选项如下:

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

要找到合适的控制选项,我们浏览至插件文档(此处为TAP插件pitch shifter)。在这里,我们找到了一个不错的表格,其中包含必须在control=命令中应用的四个相关控件:

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

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

因此,以下命令将从我的主接收器alsa_output.pci-0000_00_14.2.analog-stereo(替换为您的接收器)向输出接收器施加一个八度音高的音调偏移,ladspa_out其半音偏移为-12,即速率偏移为-50%,干燥的(未处理的)混合器电平的-90分贝,以及一个湿(处理)的水平0分贝。

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

对于某些插件,文档可能不完整,或者适当的设置需要相当多的试验,直到正确为止。


1
如何将这些过滤器之一(由pacmd load-module module-ladspa-sink *制成)应用于我的麦克风输入?因此,我可以运行系统范围的筛选器,并将其应用于Mumble,Teamspeak,Skype,Games。我希望其他人在这里过滤输入,这不适合我自己(仅)。
braindamage

@braindamage无法在此处测试此内容(没有麦克风),但请尝试使用主接收器的双工配置文件,或尝试使用<name_of_source> .monitor作为主接收器。
塔卡特2014年
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.