PulseAudio (Italiano) - ArchWiki

# PulseAudio (Italiano)

From ArchWiki
Jump to navigation Jump to search

Articoli correlati

- PulseAudio/Examples (Italiano)
- PulseAudio/Troubleshooting (Italiano)

PulseAudio è un sound server utilizzato comunemente da ambienti desktop come GNOME e KDE e funge da proxy per le applicazioni che richiedano l'utilizzo dell'audio utilizzando componenti come ALSA od OSS. Dal momento che Alsa viene incluso in Arch Linux di default, i casi di utilizzo più comuni proposti di seguito coprono l'utilizzo di PulseAudio con Alsa.

## Installazione

- Pacchetto richiesto: pulseaudio
- GUI GTK opzionali: paprefs e pavucontrol
- Controllo volume opzionale via tastiera: pulseaudio-ctlAUR
- Mixer da console (CLI) opzionali: ponymix-gitAUR e pamixer-gitAUR
- Controllo volume via web opzionale:
- Icona nella tray di sistema opzionale: PaWebControl pasystray-gitAUR
- Applet di Plasma per KDE: kmix e kdeplasma-applets-veromixAUR[broken link: archived in aur-mirror] (Se KMix/Veromix non riescono a connettersi a PulseAudio all'avvio, potrebbe essere necessario modificare `/etc/pulse/client.conf` e modificare `autospawn = yes` in `autospawn = no`.)

## Configurazione

Si sarà notato che PulseAudio supporta vari moduli per estendere le proprie funzionalità. È possibile reperirne un elenco completo qui. Per abilitarli sarà sufficiente aggiungere `load-module <module-name-from-list>` a `/etc/pulse/default.pa`.

## Esecuzione

Attenzione: Se si dispone di copie locali dei files di configurazione (`client.conf`, `daemon.conf` o `default.pa` in `~/.config/pulse`, sarà necessario allinearle ai cambiamenti dei files situati in `/etc/pulse`, altrimenti PulseAudio potrebbe non avviarsi a causa di errori di configurazione.
Nota:

La maggior parte degli ambienti grafici avviano PulseAudio automaticamente.

Nel caso in cui PulseAudio non venisse automaticamente avviato all'avvio di X, può essere avviato con:

    $ pulseaudio --start

PulseAudio può essere interrotto con:

    $ pulseaudio --kill

### Avvio automatico in ambienti desktop non supportati

Nota: Come già detto in precedenza, PulseAudio viene molto probabilmente già lanciato automaticamente tramite `/etc/X11/xinit/xinitrc.d/pulseaudio` o i file in `/etc/xdg/autostart`, se si è installato un DE.

Si controlli se PulseAudio è in esecuzione:

    $ pgrep -af pulseaudio

    369 /usr/bin/pulseaudio

Se PulseAudio non è avviato e si sta utilizzando X, il comando che segue ne consentirà l'avvio manuale, assieme a tutti i plugin richiesti:

    $ start-pulseaudio-x11

Se non si sta utilizzando GNOME, KDE o Xfce e il proprio ~/.xinitrc non effettua il source degli script in `/etc/X11/xinit/xinitrc.d`, è possibile avviare PulseAudio al boot con:

    ~/.xinitrc

    /usr/bin/start-pulseaudio-x11

## Configurazione del backend

### ALSA

Si installi pulseaudio-alsa dai repository ufficiali. Il pacchetto contiene il file `/etc/asound.conf` per impostare ALSA per l'utilizzo con PulseAudio.

Si installino inoltre lib32-libpulse e lib32-alsa-plugins se si è su un sistema a 64 bit e si utilizzano applicazioni multilib a 32 bit come Wine, Skype e Steam.

Per impedire alle applicazioni di usare l'emulazione OSS di ALSA bypassando così Pulseaudio (non consentendo così ad altri programmi di riprodurre suoni), assicurarsi che il modulo `snd_pcm_oss` non venga caricato al boot. Se è caricato (controllare con `lsmod | grep oss`), è possibile rimuoverlo con:

    # rmmod snd_pcm_oss

### ALSA / dmix senza che PulseAudio prenda possesso della scheda audio

Nota: Questa sezione descrive una configurazione alternativa, generalmente NON consigliabile.

Si potrebbe voler utilizzare ALSA direttamente nella maggior parte delle applicazioni e al tempo stesso utilizzarne delle altre che richiedono PulseAudio. I passi seguenti consentiranno a PulseAudio di utilizzare dmix senza che lo stesso debba prendere il controllo della scheda audio.

- Si rimuova il pacchetto pulseaudio-alsa, che fornisce un layer di compatibilità tra le applicazioni ALSA e PulseAudio. Una volta fatto, tali applicazioni utilizzeranno ALSA direttamente senza passare per PulseAudio.

- Si modifichi `/etc/pulse/default.pa`.

  Si identifichino e decommentino le linee che effettuano il caricamento dei drivers per i backend e si aggiunga loro il parametro device come mostrato sotto. Si commentino poi le linee che caricano i moduli per l'autorilevamento.

    load-module module-alsa-sink device=dmix
    load-module module-alsa-source device=dsnoop
    # load-module module-udev-detect
    # load-module module-detect

- Opzionale: Se si utilizza kmix, si potrebbe voler controllare il volume di ALSA invece che quello di PulseAudio:

    $ echo export KMIX_PULSEAUDIO_DISABLE=1 > ~/.kde4/env/kmix_disable_pulse.sh
    $ chmod +x ~/.kde4/env/kmix_disable_pulse.sh

- Si riavvii il pc e si provi quindi ad eseguire applicazioni che utilizzano ALSA e PulseAudio contemporaneamente: il suono dovrebbe venir riprodotto simultaneamente da entrambe.

  Si utilizzi quindi pavucontrol per regolare il volume di PulseAudio secondo le proprie necessità.

### OSS

Ci sono diversi modi per fare in modo che programmi compatibili solo con OSS passino l'output a PulseAudio:

#### ossp

Si installi il pacchetto ossp e si avvii il servizio `osspd.service`.

#### padsp wrapper

I programmi che utilizzano OSS, possono funzionare con Pulseaudio se avviati con padsp (incluso in PulseAudio):

    $ padsp OSSprogram

Un paio di esempi:

    $ padsp aumix
    $ padsp sox foo.wav -t ossdsp /dev/dsp

E' anche possibile creare un wrapper, in questo modo:

    /usr/local/bin/nome_programma

    #!/bin/sh
    exec padsp /usr/bin/OSSprogram "$@"

Assicurarsi che `/usr/local/bin` abbia la precedenza su `/usr/bin` nel vostro `PATH`.

### Gstreamer

Si installi il pacchetto gst-plugins-good oppure gstreamer0.10-good-pluginsAUR se il programma in questione utilizza un'implementazione vecchia di GStreamer.

### OpenAL

OpenAL Soft dovrebbe utilizzare PulseAudio di default, ma in caso di necessità può essere manualmente configurato tramite

    /etc/openal/alsoft.conf

    drivers=pulse,alsa

### libao

Modificare il file di configurazione di libao:

    /etc/libao.conf

    default_driver=pulse

Assicurarsi di rimuovere l'opzione `dev=default` del driver alsa o specificare il nome di un sink di PulseAudio o il relativo numero.

Nota: È possibile mantenere i valori di default di libao e lasciargli usare il driver `alsa` per l'output se si installa il pacchetto pulseaudio-alsa, poichè in quel caso il dispositivo ALSA di default sarebbe PulseAudio.

## Equalizzatore

Le nuove versioni di PulseAudio dispongono di un equalizzatore a 10 bande integrato. Per utilizzarlo, si proceda come segue:

#### Installazione componenti necessari

    # pacman -S pulseaudio-equalizer

#### Caricamento dei moduli equalizer-sink e dbus-protocol

    $ pactl load-module module-equalizer-sink
    $ pactl load-module module-dbus-protocol

#### Installazione ed esecuzione del frontend grafico

Si installi il pacchetto python2-pyqt4AUR e si esegua:

    $ qpaeq

Nota: Se `qpaeq` non ha effetto, si installi pavucontrol e si modifichi l'opzione "ALSA Playback on" in "FFT based equalizer on" mentre il player è in riproduzione.

#### Caricamento automatico dei moduli equalizer-sink e dbus-protocol al boot

Si modifichi il file `/etc/pulse/default.pa`, aggiungendo le righe seguenti:

    ### Load the intergrated pulseaudio equalizer module
    load-module module-equalizer-sink
    load-module module-dbus-protocol

## Applicazioni

### QEMU

Per verificare se QEMU supporta PulseAudio, si esegua:

    $ qemu-system-x86_64 -audio-help | grep 'Name: pa'

QEMU può utilizzare le variabili d'ambiente per la configurazione dell'audio:

    export QEMU_AUDIO_DRV=pa
    export QEMU_PA_SINK=alsa_output.pci-0000_04_01.0.analog-stereo.monitor
    export QEMU_PA_SOURCE=input

Per altre opzioni di configurazione di PulseAudio, si esegua:

    $ qemu-system-x86_64 -audio-help | grep '_PA_'

Per una lista dei driver emulati supportati si esegua:

    $ qemu-system-x86_64 -soundhw help

Ad esempio, per utilizzare il driver `ac97` per il sistema guest, si passi il parametro `-soundhw ac97` a QEMU.

Nota:

- Nel comando `qemu-system-XXX`, XXX specifica l'architettura del sistema guest. Per visualizzare un elenco di quelle disponibili, eseguire: `ls /usr/bin/qemu-system-* -1`
- I driver video emulati potrebbero causare problemi di qualità audio nella macchinav irtuale. Si provi ogni driver per identificare quello più adatto. È possibile visualizzare un elenco dei driver disponibili con: `qemu-system-x86_64 -h | grep vga`.

### AlsaMixer.app

Per fare in modo che la dockapp AlsaMixer.appAUR per windowmakerAUR utilizzi PulseAudio, utilizzare:

    $ AlsaMixer.app --device pulse

Di seguito due esempi, il primo per ALSA e il secondo per PulseAudio. È possibile eseguire istanze multiple dell'applicazione. Si utilizzi l'opzione `-w` per scegliere quale dei due pulsanti di controllo assegnare alla rotella del mouse:

    # AlsaMixer.app -3 Mic -1 Master -2 PCM --card 0 -w 1
    # AlsaMixer.app --device pulse -1 Capture -2 Master -w 2

Nota: L'applicazione può utilizzare solamente gli output sinks impostati come default.

### XMMS2

Per utilizzare PulseAudio come output:

    $ nyxmms2 server config output.plugin pulse

Per utilizzare ALSA:

    $ nyxmms2 server config output.plugin alsa

Per utilizzare un sink di output differente:

    $ nyxmms2 server config pulse.sink alsa_output.pci-0000_04_01.0.analog-stereo.monitor

Consultare inoltre la guida ufficiale: [1].

### KDE Plasma Workspaces e Qt4

PulseAudio viene utilizzato automaticamente dalle applicazioni KDE/Qt4 e supportato di default nel mixer di KDE. Per ulteriori informazioni si veda la pagina relativa a KDE sul wiki di PulseAudio. Un consiglio utile dal link di cui sopra è quello di aggiungere `load-module module-device-manager` a `/etc/pulse/default.pa`.

Se si sta utilizzando il backend phonon-gstreamer per Phonon, sarà necessario configurare anche GStreamer come descritto in #Gstreamer.

### Audacious

Audacious supporta Pulseaudio nativamente. Per usarlo, è necessario avviare Audacious e recarsi in: Audacious Preferences -> Audio -> Current Output plugin, quindi scegliere 'Pulseaudio Output Plugin'

### Java/OpenJDK 6

Si crei un wrapper per l'eseguibile java usando `padsp` come si è visto alla pagina Audio Java con Pulseaudio[broken link: invalid section].

### Music Player Daemon (MPD)

È necessario configurare mpd affinché usi Pulseaudio. Si veda anche MPD/Tips and Tricks#MPD and PulseAudio[broken link: invalid section].

Si noti comunque che quanto sopra potrebbe causare un bug che impedisce a PulseAudio di togliere il muto agli altoparlanti quando vengono rimosse cuffie o altri dispositivi audio.

### MPlayer

MPlayer supporta l'output attraverso Pulseaudio specificando l'opzione `"-ao pulse"`. È inoltre possibile configurarlo affinché venga usato in modo predefinito modificando `~/.mplayer/config` per l'utente corrente o `/etc/mplayer/mplayer.conf` per applicare le modifiche a tutto il sistema.

    /etc/mplayer/mplayer.conf

    ao=pulse

### guvcview

È possibile che l'input audio venga sospeso quando si utilizza l'input PulseAudio da una Webcam, causando cosi la mancata registrazione dell'audio.

Si verifichi eseguendo:

    $ pactl list sources

Se la sorgente audio è sospesa, si modifichi `/etc/pulse/default.pa` cambiando:

    load-module module-suspend-on-idle

in:

    #load-module module-suspend-on-idle

Così facendo, il riavvio di PulseAudio o del sistema metterà in idle la sorgente di input invece di sospenderla. guvcview potrà quindi registrare l'audio dal dispositivo in maniera corretta.

## Risoluzione dei problemi

Si veda PulseAudio/Troubleshooting (Italiano).

## Link esterni

- http://www.alsa-project.org/main/index.php/Asoundrc - Pagina del wiki di ALSA relativa ad .asoundrc
- http://www.pulseaudio.org/ - Sito ufficiale di Pulseaudio
- http://www.pulseaudio.org/wiki/FAQ - Faq per Pulseaudio.

Categories:

- Multimedia (Italiano)
- Sound (Italiano)

Hidden categories:

- Pages with broken package links
- Pages with broken section links