¿Cómo puedo aplicar un complemento LADSPA a una secuencia de PulseAudio?

15

Quiero aplicar un complemento LADSPA a todo lo que se transmite a través del receptor PulseAudio predeterminado. ¿Cómo debo configurar esto?

ændrük
fuente

Respuestas:

19

La adición de un complemento LADSPA a pulseaudio se realiza con module-ladspa-sink .

Instalamos este módulo como un sumidero de salida donde podemos definir el módulo de procesamiento y podemos enviar la señal procesada a este sumidero recién creado.

Cargue el módulo LADSPA:

Este módulo se puede cargar en tiempo de ejecución con:

pacmd load-module module-ladspa-sink sink_name=<yourname> master=<sinkname> plugin=<plugin> label=<label> control=<option1>,<option2>,[...]

El nombre del receptor principal se puede leer con el siguiente comando:

 pacmd list-sinks

Dé un nombre para el receptor procesado como aparecerá en la lista de salida en sink_name. Todas las opciones adicionales dependen del complemento que usemos (vea el ejemplo a continuación).

Para aplicar el procesador LADSPA, elegimos el sumidero de salida de "Configuración de sonido ..." y ahora podemos escuchar la secuencia procesada. Las opciones de control no pueden modificarse en tiempo de ejecución.

Descargue el módulo LADSPA:

Tendremos que descargar el módulo y cargarlo nuevamente para diferentes opciones. Para encontrar el índice del módulo para descargar podemos emitir:

 pacmd list-modules

Para descargar un módulo, reiniciamos el servidor de sonido pulseaudio -ko descargamos el módulo con su número de índice #:

pacmd unload-module <#>

Vea también la wiki de referencia de pulseaudio .

Cargue el módulo LADSPA al inicio:

Después de haber encontrado las opciones adecuadas, es posible que desee ejecutarlo por defecto. Esto se puede hacer incluyéndolo en el /etc/pulse/default.paarchivo de configuración que cargará el demonio al inicio:

.ifexists module-ladspa-sink.so
.nofail
load-module module-ladspa-sink <options>
.fail
.endif

Ejemplo:

Este es un ejemplo de un caso especial para darle una idea de cómo hacerlo. En este ejemplo, queremos aplicar un cambio de tono a nuestra salida de sonido utilizando el complemento TAP tap_pitch ( tap-plugins Instalar complementos de tap ). Para este complemento, las opciones adicionales necesarias para cargar a Pulse Audio son las siguientes:

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

Para encontrar las opciones de control apropiadas, navegamos a la documentación del complemento (aquí TAP plugin pitch shifter ). Allí encontramos una buena tabla de cuatro controles relevantes que tenemos que aplicar en el control=comando:

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

Dejar una opción vacía utilizará el valor predeterminado en este caso.

Por lo tanto, el siguiente comando aplicará un cambio de tono de una octava hacia abajo desde mi sumidero maestro alsa_output.pci-0000_00_14.2.analog-stereo(reemplazar con su sumidero) al sumidero de salida ladspa_outcon un cambio de semitono de -12, que es un cambio de frecuencia de -50%, y con un nivel de mezclador seco (sin procesar) de -90dB, y un nivel húmedo (procesado) de 0dB.

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

Para algunos complementos, la documentación puede no estar completa, o la configuración adecuada necesitará bastante experimentación hasta que sea correcta.

Takkat
fuente
1
¿Cómo puedo aplicar uno de estos filtros (hecho de pacmd load-module module-ladspa-sink *) a la entrada de mi micrófono? Entonces puedo ejecutar un filtro de todo el sistema y se aplica a Mumble, Teamspeak, Skype, Juegos. Quiero que otras personas tengan aquí la entrada filtrada, no es para mí (solo).
Daño cerebral el
@braindamage no puede probar esto aquí (sin micrófono), pero intente con un perfil dúplex para el receptor principal, o intente con <name_of_source> .monitor como maestro.
Takkat