Answers:
使用module-ladspa-sink将LADSPA插件添加到pulseaudio中。
我们将此模块安装为输出接收器,可以在其中定义处理模块,并能够将处理后的信号发送到此新创建的接收器。
该模块可以在运行时通过以下方式加载:
pacmd load-module module-ladspa-sink sink_name=<yourname> master=<sinkname> plugin=<plugin> label=<label> control=<option1>,<option2>,[...]
可以使用以下命令读取主接收器的名称:
pacmd list-sinks
为已处理的接收器命名,因为它将出现在中的输出列表中sink_name
。所有其他选项取决于我们使用的插件(请参见下面的示例)。
要应用LADSPA处理器,我们从“声音设置...”中选择输出接收器,现在可以收听处理后的流。控制选项不能在运行时更改。
我们将必须卸载模块,然后针对不同的选项再次加载它。要找到要卸载的模块索引,我们可以发出:
pacmd list-modules
要卸载模块,我们可以使用重启声音服务器,pulseaudio -k
或者使用索引号卸载模块#
:
pacmd unload-module <#>
另请参见pulseaudio的参考Wiki。
找到适当的选项后,我们可能希望默认运行它。可以通过将其包含/etc/pulse/default.pa
在启动时由守护程序加载的配置文件中来完成:
.ifexists module-ladspa-sink.so
.nofail
load-module module-ladspa-sink <options>
.fail
.endif
这是一个特殊情况的示例,可让您了解如何执行此操作。在此示例中,我们想使用TAP插件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插件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
对于某些插件,文档可能不完整,或者适当的设置需要相当多的试验,直到正确为止。