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