Come posso applicare un plug-in LADSPA a un flusso PulseAudio?


15

Voglio applicare un plug-in LADSPA a tutto ciò che viene trasmesso tramite il sink PulseAudio predefinito. Come devo impostarlo?

Risposte:


19

L'aggiunta di un plug-in LADSPA a pulseaudio viene eseguita con module-ladspa-sink .

Installiamo questo modulo come sink di output in cui possiamo definire il modulo di elaborazione e siamo in grado di inviare il segnale elaborato a questo sink appena creato.

Carica il modulo LADSPA:

Questo modulo può essere caricato in fase di esecuzione con:

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

Il nome del master sink può essere letto con il seguente comando:

 pacmd list-sinks

Assegna un nome per il sink elaborato come verrà visualizzato nell'elenco di output in sink_name. Tutte le ulteriori opzioni dipendono dal plug-in che utilizziamo (vedi esempio di seguito).

Per applicare il processore LADSPA scegliamo il sink di output da "Impostazioni audio ..." e ora possiamo ascoltare il flusso elaborato. Le opzioni di controllo non possono essere modificate in fase di esecuzione.

Scarica il modulo LADSPA:

Dovremo scaricare il modulo e caricarlo di nuovo per diverse opzioni. Per trovare l'indice del modulo per lo scarico, possiamo emettere:

 pacmd list-modules

Per scaricare un modulo, riavviamo il server audio pulseaudio -ko scarichiamo il modulo con il suo numero indice #:

pacmd unload-module <#>

Vedi anche il wiki di riferimento di pulseaudio .

Carica il modulo LADSPA all'avvio:

Dopo aver trovato le opzioni appropriate, potremmo voler eseguirlo per impostazione predefinita. Questo può essere fatto includendolo nel /etc/pulse/default.pafile di configurazione che deve essere caricato dal demone all'avvio:

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

Esempio:

Questo è un esempio di un caso speciale per darti un'idea di come farlo. In questo esempio vogliamo applicare un pitch shift al nostro output audio usando il plug-plug TAP tap_pitch ( plug-plugins Installa plug-plug ). Per questo plugin le opzioni aggiuntive necessarie per il caricamento su Pulse Audio sono le seguenti:

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

Per trovare le opzioni di controllo appropriate, andiamo alla documentazione del plugin (qui il pitch shifter del plugin TAP ). Lì troviamo una bella tabella di quattro controlli rilevanti che dobbiamo applicare nel control=comando:

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

Se si lascia vuota un'opzione, in questo caso verrà utilizzata l'impostazione predefinita.

Quindi il seguente comando applicherà un pitch shift di un'ottava verso il basso dal mio sink principale alsa_output.pci-0000_00_14.2.analog-stereo(sostituisci con il tuo sink) al sink di uscita ladspa_outcon uno spostamento del semitono di -12, ovvero uno spostamento di frequenza di -50% e con un livello di mixer secco (non elaborato) di -90dB e un livello bagnato (elaborato) di 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

Per alcuni plugin la documentazione potrebbe non essere completa o l'impostazione appropriata richiederà alcuni esperimenti fino a quando non avranno ragione.


1
Come posso applicare uno di questi filtri (composto da pacmd load-module module-ladspa-sink *) al mio ingresso microfono? Quindi posso eseguire un filtro a livello di sistema e si applica a Mumble, Teamspeak, Skype, Giochi. Voglio che altre persone inseriscano l'input filtrato, non è per me (solo).
Braindamage,

@braindamage non può verificarlo qui (senza microfono) ma prova con un profilo duplex per il sink principale o prova con <name_of_source> .monitor come master.
Takkat,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.