如何将LADSPA插件应用于PulseAudio流?
我想将LADSPA插件应用于通过默认PulseAudio接收器流的所有内容。 我该如何设置?
使用module-ladspa-sink完成向pulseaudio添加LADSPA插件。
我们将此模块安装为输出接收器,我们可以在其中定义处理模块,并能够将处理后的信号发送到这个新创建的接收器。
加载LADSPA模块:
该模块可以在运行时加载:
pacmd load-module module-ladspa-sink sink_name= master= plugin= label=
可以使用以下命令读取主接收器的名称:
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 .fail .endif
例:
这是一个特殊情况的示例,可以让您了解如何执行此操作。 在这个例子中,我们想要使用TAP-plugin tap_pitch ( 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
为了找到合适的控制选项,我们浏览到插件文档(这里是TAP插件音高变换器 )。 在那里我们找到了一个很好的表,其中包含我们必须在control=
命令中应用的四个相关控件:
control=,,,
如果选项为空,则在这种情况下将使用默认值。
因此,以下命令将从我的主接收器alsa_output.pci-0000_00_14.2.analog-stereo
(用您的接收器替换)向下移动一个八度音程到输出接收器ladspa_out
,半音移位为-12
,即速率偏移为-50
%,干燥(未处理)混频器电平为-90
dB,湿(处理)电平为0
dB。
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
对于某些插件,文档可能不完整,或者适当的设置需要进行一些实验,直到它们是正确的。