Ответы:
Добавление плагина LADSPA в pulseaudio выполняется с помощью модуля-ladspa-sink .
Мы устанавливаем этот модуль как выходной приемник, где мы можем определить модуль обработки и иметь возможность отправлять обработанный сигнал в этот вновь созданный приемник.
Этот модуль может быть загружен во время выполнения с помощью:
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 .
После того, как мы нашли соответствующие параметры, мы можем захотеть запустить их по умолчанию. Это можно сделать, включив его в /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 plugin shift pitch shift ). Там мы находим хорошую таблицу из четырех соответствующих элементов управления, которые мы должны применить в 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
Для некоторых плагинов документация может быть неполной, или для соответствующей настройки потребуется некоторое экспериментирование, пока они не станут правильными.