Difference between revisions of "PulseAudio (Italiano)"

From ArchWiki
Jump to: navigation, search
m (Artefatti sonori, audio intermittente o gracchiante)
m (Contenuti Flash)
Line 217: Line 217:
  
 
Se non viene riprodotto alcun suono dai contenuti in flash, è possibile installare {{AUR|libflashsupport-pulse}} da AUR (non raccomandabile, poichè sembra che il plugin flash crashi spesso se si installa questo pacchetto).
 
Se non viene riprodotto alcun suono dai contenuti in flash, è possibile installare {{AUR|libflashsupport-pulse}} da AUR (non raccomandabile, poichè sembra che il plugin flash crashi spesso se si installa questo pacchetto).
 
{{Pkg|lib32-libpulse}} è un altro pacchetto si potrebbe voler tenere in considerazione, se ci si trova su una Arch a 64 bit e si sta usando flashplugin dal repository [multilib].
 
  
 
====Nessuna scheda audio rilevata====
 
====Nessuna scheda audio rilevata====

Revision as of 17:31, 7 October 2012

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary end

Contents

Installazione

Nota: Si aggiungano gli utenti al gruppo audio e (se applicabile), si effettui nuovamente il login.

Esecuzione

Nota: Pulseaudio richiede dbus per funzionare. Solitamente lo si è già aggiunto all'array DAEMONS. In caso contrario, lo si aggiunga.
Nota: La maggior parte degli ambienti grafici avviano Pulseaudio automaticamente alla sessione di X11.

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

Equalizzatore

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

Caricamento del modulo

$ pactl load-module module-equalizer-sink

Installazione ed esecuzione del frontend grafico

# pacman -S --needed python2-pyqt
$ 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 del modulo 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

Configurazione del backend

ALSA

Nota: I pacchetti opzionali sono richiesti solamente se si è su un sistema a 64bit e si vuole usufruire del sonoro su applicazioni a 32bit (come Wine).

Per le applicazioni che supportano ALSA ma non PulseAudio, si raccomanda l'installazione del plugin di PulseAudio per ALSA. Il pacchetto in questione contiene inoltre il file /etc/asound.conf, necessario affinchè ALSA utilizzi PulseAudio.

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 sia nell'array MODULES in /etc/rc.conf. Se è caricato, è possibile rimuoverlo con:

# rmmod snd_pcm_oss

Dopodiché, mettere il modulo in blacklist, aggiungendo !snd_pcm_oss all'array MODULES di /etc/rc.conf.

OSS

Ci sono diversi modi per fare in modo che programmi compatibili solo con OSS funzionino anche con PulseAudio:

ossp

Si avvii osspd con:

rc.d start osspd

padsp wrapper (parte di PulseAudio)

I programmi che utilizzano OSS, possono funzionare con Pulseaudio se avviati con padsp:

$ padsp OSSprogram

Un paio di esempi:

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

È anche possibile rinominare l'eseguibile del programma in questione con uno script del genere:

/usr/bin/nome_programma
#!/bin/sh
if test -x /usr/bin/padsp; then
    exec /usr/bin/padsp /usr/bin/nome_programma "$@"
else
    exec /usr/bin/nome_programma "$@"
fi

Gstreamer

Per fare in modo che Gstreamer utilizzi PulseAudio è necessario installare il pacchetto gstreamer0.10-good-plugins, eseguire gstreamer-properties (parte del pacchetto gnome-media) e selezionare PulseAudio Sound Server sia come Input che come Output audio. In alternativa lo stesso effetto può essere ottenuto impostando le variabili gconf /system/gstreamer/0.10/default/audiosink a pulsesink e /system/gstreamer/0.10/default/audiosrc a pulsesrc:

 $ gconftool-2 -t string --set /system/gstreamer/0.10/default/audiosink pulsesink
 $ gconftool-2 -t string --set /system/gstreamer/0.10/default/audiosrc pulsesrc

Alcune applicazione (come Rhythmbox) ignorano l'impostazione audiosink, facendo riferimento invece a musicaudiosink, che non può essere configurata tramite gstreamer-properties ma deve essere impostata a mano utilizzando gconf-editor o gconftool-2:

 $ gconftool-2 -t string --set /system/gstreamer/0.10/default/musicaudiosink pulsesink

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

ESD

PulseAudio è un sostituto naturale di ESD. Se PulseAudio è avviato, i programmi compatibili con ESD dovrebbero essere in grado di riprodurre suono senza alcuna configurazione particolare.

Ambienti Desktop

General X11

Nota: Come è già stato detto in precedenza, è molto probabile che PulseAudio sia stato già lanciato automaticamente usando /etc/X11/xinit/xinitrc.d/pulseaudio oppure i files in /etc/xdg/autostart, se gli utenti hanno un DE installato.

Si verifichi se PulseAudio è in esecuzione:

$ ps aux | grep pulse
facade  1794  0.0  0.0 360464  6532 ?        S<l  15:33  0:00 /usr/bin/pulseaudio --start
facade  1827  0.0  0.0  68888  2608 ?        S    15:33  0:00 /usr/lib/pulse/gconf-helper

Se PulseAudio non è avviato e si sta utilizzando X, il seguente comando lo avvierà manualmente assieme ai plugins per X11 necessari:

$ start-pulseaudio-x11

Se non si utilizzano GNOME, KDE o XFCE e il proprio ~/.xinitrc non effettua il source degli scripts in /etc/X11/xinit/xinitrc.d (come avviene nel file d'esempio /etc/skel/.xinitrc), è possibile lanciare PulseAudio al boot aggiungendo la seguente linea al file ~/.xinitrc:

/usr/bin/start-pulseaudio-x11

GNOME

A partire da GNOME 3, PulseAudio si integra perfettamente in questo ambiente desktop, senza che sia necessaria alcuna configurazione supplementare.

KDE3

PulseAudio non è un sostituto naturale di aRts. Gli utenti di KDE3, non possono utilizzare PulseAudio.

Tuttavia, le ultime versioni di Pulseaudio, potrebbero funzionare.

Si veda: http://www.pulseaudio.org/wiki/PerfectSetup KDE 3 usa il sound server artsd, il quale può comunque essere configurato per usare Esound come backend. Si modifichi kcmartsrc (si scelga tra quello in /etc/kde o /usr/share/config per una configurazione valida per tutti gli utenti, oppure si scelga quello nella directory ~/.kde/share/config per applicare le modifiche solo per l'utente corrente) come segue:

[Arts]
Arguments=\s-F 10 -S 4096 -a esd -n -s 1 -m artsmessage -c  drkonqi -l 3 -f
NetworkTransparent=true
SuspendTime=1

KDE4 e QT4

Se si è installato PulseAudio, questo sarà usato dalle applicazioni KDE4/QT4. Per ulteriori informazioni consultare la pagina relativa a KDE nel wiki di Pulseaudio.

Ad esempio, un utile suggerimento reperibile nella pagina di cui sopra, è quello di aggiungere load-module module-device-manager in /etc/pulse/default.pa.

Vi è inoltre un'alternativa a pavucontrol per KDE: kdeplasma-addons-applets-veromixAUR, disponibile su AUR.

XFCE4

Le applicazioni avviate in Xfce possono usufruire di Pulseaudio. Per controllarne le impostazioni, si usi pavucontrol.

Applicazioni

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.

Music Player Daemon (MPD)

È necessario configurare mpd affinché usi Pulseaudio.

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

Skype (solo x86_64)

Si installi lib32-libpulse dal repository multilib, altrimenti si riceverà l'errore "Problem with Audio Playback" quando si effettua una chiamata.

Risoluzione dei problemi

Niente suono dopo l'installazione

Dispositivo audio muto

Se non si sente nessun suono anche usando ALSA come dispositivo di default, potrebbe essere necessario togliere il mute dalla scheda audio. Per farlo, si dovrà lanciare alsamixer ed assicurarsi che ogni colonna abbia uno '00' verde sotto di essa (si prema 'm' per abilitare/disabilitare il mute, dopo aver selezionato la colonna desiderata).

$ alsamixer -c 0

Files di configurazione non corretti

Se, dopo aver avviato Pulseaudio, il sistema non riproduce alcun suono, potrebbe essere necessario eliminare il contenuto della directory ~/.pulse. Pulseaudio ricreerà quindi dei nuovi files di configurazione la prossima volta che verrà avviato.

Contenuti Flash

Dal momento che Flash non supporta PulseAudio direttamente, è consigliabile configurare ALSA per utilizzare la scheda audio virtuale fornita da PulseAudio.

Se non viene riprodotto alcun suono dai contenuti in flash, è possibile installare libflashsupport-pulseAUR da AUR (non raccomandabile, poichè sembra che il plugin flash crashi spesso se si installa questo pacchetto).

Nessuna scheda audio rilevata

Se Pulseaudio si avvia, si esegua pacmd list. Se non viene elencata nessuna scheda audio, assicurarsi che i propri dispositivi ALSA non siano in uso:

$ fuser -v /dev/snd/*
$ fuser -v /dev/dsp

Assicurarsi che utte le applicazioni che usano i dispositivi sopra riportati siano chiuse. prima di riavviare Pulseaudio.

Viene visualizzato solo il dispositivo "dummy output"

Questo comportamento potrebbe avere diverse cause, tra cui, la presenza di un file .asoundrc nella propria home che ha la precedenza rispetto all'/etc/asound.conf.

Il file personale dell'utente è modificato dal tool asoundconf o dal relativo frontend grafico asoundconf-gtk (quest'ultimo è chiamato "Default sound card" nel menù applicazioni), non appena lo si avvia.

È possibile inibire gli effetti del file .asoundrc commentando l'ultima linea, in questo modo:

#</home/<yourusername>/.asoundrc.asoundconf>

KDE4

È possibile che un altro dispositivo sia impostato come preferito da phonon. Assicurarsi che ogni impostazione ad esso relativa abbia il dispositivo di output preferito in cima alla lista, e si controlli la tab "playback streams" in kmix per verificare che le applicazioni lo stiano utilizzando.

Problemi di riproduzione con cuffie Bluetooth

Alcuni utenti riferiscono di enormi ritardi nella riproduzione del suono, o addirittura assenza di suono quando la connessione bluetooth rimane inattiva. Ciò è causato da idle-suspend-module, che mette a risposo automaticamente le sinks/sources relative. Visto che questo modulo causa problemi con i dispositivi bluetooth, può essere disattivato.

1. cp /etc/pulse/default.pa ~/.pulse/default.pa
2. comment out the "load-module module-suspend-on-idle" line in ~/.pulse/default.pa
3. pulseaudio -k && pulseaudio --start

Ulteriori informazioni

Switch automatico agli headset Bluetooth o USB

Si aggiunga la seguente riga al /etc/pulse/default.pa:

# automatically switch to newly-connected devices
load-module module-switch-on-connect

Pulse sovrascrive le impostazioni di Alsa

Pulseaudio è solito sovrascrivere le impostazioni di Alsa; ad esempio quando si ripristinano i livelli del volume all'avvio, anche se il demone alsa è attivo. Dal momento che non sembrano esserci altri modi per limitare questo comportamento, è necessario ricorrere ad un workaround che ripristini nuovamente le impostazioni di Alsa dopo che Pulseaudio si è avviato.

Si aggiunga il seguente comando a .xinitrc, .bash_login o a qualsiasi altro file si utilizzi per l'autostart delle applicazioni, e si modifichi di conseguenza il valore di sleep, a seconda di quanto tempo impiega il demone Pulseaudio per partire sul vostro sistema:

(sleep 30 && alsactl -f /var/lib/alsa/asound.state restore) &

Avvio del demone fallito

Si provi a ripristinare la configurazione di Pulseaudio, in questo modo:

$ pulseaudio --kill
$ killall pulseaudio
$ killall -9 pulseaudio
$ rm -rf ~/.pulse*
$ rm -rf /tmp/pulse*

Dopodiché, riavviare Pulseaudio.

padevchooser

Se non è possibile lanciare il Pulseaudio Device Chooser, si riavvii il demone Avahi, in questo modo:

# rc.d restart avahi-daemon 

Artefatti sonori, audio intermittente o gracchiante

La nuova implementazione del server Pulseaudio usa uno scheduling audio basato su timer, invece di usare l'approccio traduzionale basato sugli interrupt. Lo scheduling basato su timer potrebbe causare problemi con alcuni driver ALSA, anche altri potrebbero dare problemi se lo si disattiva, perciò si agisca in base a come si comporta il proprio sistema.

Per disattivarlo, si sostituisca la seguente linea in /etc/pulse/default.pa:

load-module module-udev-detect

con:

load-module module-udev-detect tsched=0

Poi si riavvii Pulseaudio.

Si compiano gli stessi passaggi a ritroso per abilitare lo scheduling basato su timer, se non è stato abilitato di default.

Se possibile, segnalare le schede audio con le quali si verifica il problema in questa pagina.

Il suono arriva in ritardo

Questo problema è causato da una dimensione non corretta dei buffer. Si modifichi /etc/pulse/daemon.conf.

Si eliminino eventuali modifiche alle voci riportate di seguito e, se il problema persiste, decommentarle modificarle in questo modo:

default-fragments = 8
default-fragment-size-msec = 5

Suono intermittente e distorto

La scelta di una frequenza di campionamento errata in /etc/pulse/daemon.conf, può causare un suono intermittente. Si provi a cambiare la linea:

; default-sample-rate = 44100

in:

default-sample-rate = 48000

E a riavviare il server Pulseaudio.

Se il suono è intermittente in applicazioni che usano openAL, si dovrebbe cambiare la frequenza di campionamento anche in /etc/openal/alsoft.conf:

frequency = 48000

Impostare il volume del canale PCM sopra 0dB può causare il clipping del segnale audio. Eseguire alsamixer -c0 permetterà di capire se questo è il problema.

I controlli del volume non funzionano correttamente

Si potrebbe voler controllare:

/usr/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common

Poiché pulseaudio ha una maggior raggio di incremento (0-65535, per essere precisi), è possibile che il volume non venga regolato correttamente usando alsamixer o amixer. Si provino ad usare valori più grandi quando si cambia il volume (es: amixer set Master 655+).

Il livello del volume si alza ogni volta che una nuova applicazione viene avviata

Sembra che, come comportamento di default, il cambio di volume in una applicazione, si rifletta anche su quello globale, invece di riguardare solo la stessa. Per questo motivo, le applicazioni che impostano il proprio volume all'avvio, causano l'aumento del volume di sistema.

È possibile risolvere questo problema modificando il file /etc/pulse/daemon.conf decommentando:

flat-volumes = no

e poi riavviare Pulseaudio con:

pulseaudio --kill && pulseaudio --start

Quando Pulseaudio si sarà riavviato, le applicazioni non altereranno più il volume di sistema e faranno riferimento ai propri livelli di volume.

Microfono non funzionante su ThinkPad T400/T500/T420

Si esegua:

alsamixer -c 0

e si porti al massimo/si tolga il mute dal controllo "Internal Mic".

Anche se il device associato viene visualizzato tramite il comando

arecord -l

potrebbe essere ancora necessario sistemare le impostazioni, dal momento che il microfono e il jack audio sono "duplexed". Si imposti il valore dell'audio interno in pavucontrol ad "Analog Stereo Duplex".

Microfono non funzionante su Acer Aspire One

Si installi pavucontrol, si scolleghino i canali del microfono e si imposti a 0 quello di sinistra. Ora si dovrebbe essere in grado di utilizzare il microfono. Riferimenti: http://getsatisfaction.com/jolicloud/topics/deaf_internal_mic_on_acer_aspire_one#reply_2108048

Output monocanale su M-Audio Audiophile 2496

Si aggiunganno le seguenti righe a /etc/pulseaudio/default.pa

load-module module-alsa-sink sink_name=delta_out device=hw:M2496 format=s24le channels=10 channel_map=left,right,aux0,aux1,aux2,aux3,aux4,aux5,aux6,aux7
load-module module-alsa-source source_name=delta_in device=hw:M2496 format=s24le channels=12 channel_map=left,right,aux0,aux1,aux2,aux3,aux4,aux5,aux6,aux7,aux8,aux9
set-default-sink delta_out
set-default-source delta_in

Rumore statico durante la registrazione da microfono

Se si ottiene del rumore di fondo nelle registrazioni con skype, gnome-sound-recorder, arecord eccetera, allora la frequenza di campionamento della scheda audio non è corretta. Per risolvere il problema, dobbiamo impostare la frequenza di campionamento in /etc/pulse/daemon.conf.

1. Determinare le schede audio installate nel sistema

È necessario che alsa-utils e i relativi pacchetti siano installati:

$ arecord --list-devices

output:

   **** List of CAPTURE Hardware Devices ****
   card 0: Intel [HDA Intel], device 0: ALC888 Analog [ALC888 Analog]
     Subdevices: 1/1
     Subdevice #0: subdevice #0
   card 0: Intel [HDA Intel], device 2: ALC888 Analog [ALC888 Analog]
     Subdevices: 1/1
     Subdevice #0: subdevice #0

La scheda audio è hw:0,0.

2. Determinare la frequenza di campionamento della scheda audio

arecord -f dat -r 60000 -D hw:0,0 -d 5 test.wav

output:

  "Recording WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 60000 Hz, Stereo
  Warning: rate is not accurate (requested = 60000Hz, got = 96000Hz)
  please, try the plug plugin

Si noti il got = 96000Hz, che indica la frequenza di campionamento massima supportata dalla scheda audio.

3. Impostare la frequenza di campionamento nella configurazione di Pulseaudio

La frequenza di campionamento predefinita in Pulseaudio è:

grep "sample-rate" /etc/pulse/daemon.conf

output:

; default-sample-rate = 44100

È 44100 ed è disabilitata. Si imposti ora la frequenza di campionamento desiderata con il comando seguente:

su -c "sed 's/; default-sample-rate = 44100/default-sample-rate = 96000/g' -i /etc/pulse/daemon.conf"

Si verifichi l'avvenuta applicazione delle modifiche:

grep "sample-rate" /etc/pulse/daemon.conf 

output:

default-sample-rate = 96000

Fatto.

4. Riavviare Pulseaudio per applicare i cambiamenti

pulseaudio --kill
pulseaudio --start

5. Effettuare una prova registrando e poi ascoltando la registrazione

arecord -f cd -d 10 test-mic.wav

Dopo 10 secondi, riprodurre la registrazione:

aplay test-mic.wav

Il problema dovrebbe essere stato risolto.

Il mio dispositivo bluetooth viene rilevato ma non riproduce alcun suono

Si faccia riferimento a questo articolo nella sezione Bluetooth

Il subwoofer smette di funzionare alla fine della riproduzione di una canzone

Problema noto: https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/494099

Per risolvere, modificare /etc/pulse/daemon.conf e abilitare l'opzione enable-lfe-remixing:

/etc/pulse/daemon.conf
enable-lfe-remixing = yes

Pulseaudio utilizza il microfono sbagliato

Se Pulseaudio utilizza il microfono sbagliato e si è già provato a modificare il dispositivo di input tramite pavucontrol, è consigliabile controllare le impostazioni di alsamixer. Talvolta può accadere che pavucontrol non imposti correttamente i dispositivi di input.


Si esegua:

$ alsamixer

Si prema Template:Keypress e si selezioni la propria scheda audio (es. HDA Intel. Ora si prema Template:Keypress per mostrare tutte le voci. Si cerchi la voce Input Source e la si modifichi con l'ausilio dei tasti freccia.

Si verifichi quindi l'utilizzo del microfono corretto.

Link esterni