Difference between revisions of "PulseAudio (Italiano)"
m (→Installazione) |
m (→Avvio del demone fallito) |
||
(12 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
[[Category:Audio/Video (Italiano)]] | [[Category:Audio/Video (Italiano)]] | ||
+ | [[Category:Sound (Italiano)]] | ||
[[cs:PulseAudio]] | [[cs:PulseAudio]] | ||
[[en:PulseAudio]] | [[en:PulseAudio]] | ||
Line 34: | Line 35: | ||
PulseAudio può essere interrotto con: | PulseAudio può essere interrotto con: | ||
− | $ pulseaudio - | + | $ pulseaudio -k |
==Equalizzatore== | ==Equalizzatore== | ||
Line 108: | Line 109: | ||
Si avvii osspd con: | Si avvii osspd con: | ||
− | + | # systemctl start osspd | |
====padsp wrapper (parte di PulseAudio)==== | ====padsp wrapper (parte di PulseAudio)==== | ||
Line 121: | Line 122: | ||
$ padsp sox foo.wav -t ossdsp /dev/dsp | $ padsp sox foo.wav -t ossdsp /dev/dsp | ||
− | + | E' anche possibile creare un wrapper, in questo modo: | |
− | {{hc|/usr/bin/nome_programma|<nowiki> | + | {{hc|/usr/local/bin/nome_programma|<nowiki> |
#!/bin/sh | #!/bin/sh | ||
− | + | exec padsp /usr/bin/OSSprogram "$@" | |
− | |||
− | |||
− | |||
− | |||
</nowiki>}} | </nowiki>}} | ||
+ | |||
+ | Assicurarsi che {{ic|/usr/local/bin}} abbia la precedenza su {{ic|/usr/bin}} nel vostro {{ic|PATH}}. | ||
===Gstreamer=== | ===Gstreamer=== | ||
− | Per fare in modo che [[Gstreamer]] utilizzi PulseAudio è necessario installare il pacchetto {{Pkg| | + | Per fare in modo che [[Gstreamer]] utilizzi PulseAudio è necessario installare il pacchetto {{Pkg|gst-plugins-good}} oppure {{Pkg|gstreamer0.10-good-plugins}} |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
===OpenAL=== | ===OpenAL=== | ||
Line 166: | Line 158: | ||
facade 1794 0.0 0.0 360464 6532 ? S<l 15:33 0:00 /usr/bin/pulseaudio --start | 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 | facade 1827 0.0 0.0 68888 2608 ? S 15:33 0:00 /usr/lib/pulse/gconf-helper | ||
Line 217: | Line 208: | ||
===Music Player Daemon (MPD)=== | ===Music Player Daemon (MPD)=== | ||
− | È necessario [http://mpd.wikia.com/wiki/PulseAudio configurare] mpd affinché usi Pulseaudio. | + | È necessario [http://mpd.wikia.com/wiki/PulseAudio configurare] mpd affinché usi Pulseaudio. Si veda anche [[MPD/Tips_and_Tricks#MPD_.26_PulseAudio]]. |
+ | |||
+ | 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=== | ||
Line 261: | Line 254: | ||
Questo comportamento potrebbe avere diverse cause, tra cui, la presenza di un file {{ic|.asoundrc}} nella propria home che ha la precedenza rispetto all'{{ic|/etc/asound.conf}}. | Questo comportamento potrebbe avere diverse cause, tra cui, la presenza di un file {{ic|.asoundrc}} nella propria home che ha la precedenza rispetto all'{{ic|/etc/asound.conf}}. | ||
− | Il file personale dell'utente è modificato dal tool | + | Il file personale dell'utente è modificato dal tool {{ic|asoundconf}}} o dal relativo frontend grafico {{ic|asoundconf-gtk}} (quest'ultimo è chiamato "Default sound card" nel menù applicazioni), non appena lo si avvia. |
È possibile inibire gli effetti del file {{ic|.asoundrc}} commentando l'ultima linea, in questo modo: | È possibile inibire gli effetti del file {{ic|.asoundrc}} commentando l'ultima linea, in questo modo: | ||
− | + | {{hc|.asoundrc| | |
+ | # </home/<nomeutente>/.asoundrc.asoundconf> | ||
+ | }} | ||
+ | |||
+ | È anche possibile che qualche programma abbia accesso esclusivo al dispositivo audio. Si provi il seguente comando: | ||
+ | |||
+ | # fuser -v /dev/snd/* | ||
+ | |||
+ | Se l'output è simile a questo, | ||
+ | |||
+ | {{hc|# fuser -v /dev/snd/*| | ||
+ | USER PID ACCESS COMMAND | ||
+ | /dev/snd/controlC0: root 931 F.... timidity | ||
+ | bob 1195 F.... panel-6-mixer | ||
+ | /dev/snd/controlC1: bob 1195 F.... panel-6-mixer | ||
+ | bob 1215 F.... pulseaudio | ||
+ | /dev/snd/pcmC0D0p: root 931 F...m timidity | ||
+ | /dev/snd/seq: root 931 F.... timidity | ||
+ | /dev/snd/timer: root 931 f.... timidity | ||
+ | }} | ||
+ | |||
+ | timidity potrebbe star impedendo a PulseAudio di accedere al dispositivo audio. Solitamente, uccidere il processo di timidity risolve il problema | ||
Questo problema potrebbe anche essere causato da un conflitto tra [[FluidSynth]] e PulseAudio, come riportato in [https://bbs.archlinux.org/viewtopic.php?id=154002 questo thread]. E' necessario rimuovere FluidSynth: | Questo problema potrebbe anche essere causato da un conflitto tra [[FluidSynth]] e PulseAudio, come riportato in [https://bbs.archlinux.org/viewtopic.php?id=154002 questo thread]. E' necessario rimuovere FluidSynth: | ||
Line 272: | Line 286: | ||
====KDE4==== | ====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. | + | È 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 {{ic|kmix}} per verificare che le applicazioni lo stiano utilizzando. |
====Errore "Failed to create sink input: sink is suspended"==== | ====Errore "Failed to create sink input: sink is suspended"==== | ||
Line 283: | Line 297: | ||
Alcuni utenti [https://bbs.archlinux.org/viewtopic.php?id=117420 riferiscono] di enormi ritardi nella riproduzione del suono, o addirittura assenza di suono quando la connessione bluetooth rimane inattiva. Ciò è causato da {{ic|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. | Alcuni utenti [https://bbs.archlinux.org/viewtopic.php?id=117420 riferiscono] di enormi ritardi nella riproduzione del suono, o addirittura assenza di suono quando la connessione bluetooth rimane inattiva. Ciò è causato da {{ic|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. | ||
− | + | $ cp /etc/pulse/default.pa ~/.pulse/default.pa | |
− | + | {{hc|~/.pulse/default.pa| | |
− | + | ; load-module module-suspend-on-idle | |
+ | }} | ||
+ | $ pulseaudio -k && pulseaudio --start | ||
[http://robert.orzanna.de/2011/08/prevent-idle-suspend-with-bluetooth.html Ulteriori informazioni] | [http://robert.orzanna.de/2011/08/prevent-idle-suspend-with-bluetooth.html Ulteriori informazioni] | ||
Line 291: | Line 307: | ||
===Switch automatico agli headset Bluetooth o USB=== | ===Switch automatico agli headset Bluetooth o USB=== | ||
− | Si aggiunga la seguente riga al {{ic|/etc/pulse/default.pa}}: | + | Si aggiunga la seguente riga al file {{ic|/etc/pulse/default.pa}}: |
− | + | ||
+ | {{hc|/etc/pulse/default.pa| | ||
# automatically switch to newly-connected devices | # automatically switch to newly-connected devices | ||
load-module module-switch-on-connect | load-module module-switch-on-connect | ||
+ | }} | ||
===Pulse sovrascrive le impostazioni di Alsa=== | ===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. | 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 {{ic|.xinitrc}}, {{ic|. | + | Si aggiunga il seguente comando a {{ic|.xinitrc}}, {{ic|.bash_profile}} o a qualsiasi altro file si utilizzi per l'[[Autostarting|autostart]] delle applicazioni: |
restore_alsa() { | restore_alsa() { | ||
Line 317: | Line 335: | ||
===Avvio del demone fallito=== | ===Avvio del demone fallito=== | ||
Si provi a ripristinare la configurazione di Pulseaudio, in questo modo: | Si provi a ripristinare la configurazione di Pulseaudio, in questo modo: | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | $ rm -rf /tmp/pulse* ~/.pulse* | |
+ | $ pulseaudio -k | ||
+ | $ pulseaudio --start | ||
Se il server PulseAudio non è in esecuzione ma si ottiene comunque l'errore "User-configured server at ... refusing to start/autospawn" potrebbe esserci un problema con le impostazioni di PulseAudio causato da un precedente login. Si individuino eventuali vecchie proprietà attribuite alla finestra root di X11 utilizzando {{ic|pax11publish -d}}. Se ve ne sono, le si rimuova con {{ic|pax11publish -r}} prima di riavviare il server. | Se il server PulseAudio non è in esecuzione ma si ottiene comunque l'errore "User-configured server at ... refusing to start/autospawn" potrebbe esserci un problema con le impostazioni di PulseAudio causato da un precedente login. Si individuino eventuali vecchie proprietà attribuite alla finestra root di X11 utilizzando {{ic|pax11publish -d}}. Se ve ne sono, le si rimuova con {{ic|pax11publish -r}} prima di riavviare il server. | ||
Questo genere di pulizia manuale è sempre richiesta in caso si utilizzi LXDM, in quanto lo stesso non riavvia il server X dopo il logout. Si veda a tal proposito [[LXDM#PulseAudio]]. | Questo genere di pulizia manuale è sempre richiesta in caso si utilizzi LXDM, in quanto lo stesso non riavvia il server X dopo il logout. Si veda a tal proposito [[LXDM#PulseAudio]]. | ||
+ | |||
+ | ====Problema con inotify==== | ||
+ | |||
+ | Se quanto sopra non funziona, si esegua quanto segue: | ||
+ | |||
+ | $ pulseaudio -vvvv | ||
+ | |||
+ | Se si nota un errore simile al seguente: | ||
+ | |||
+ | E: [pulseaudio] module-udev-detect.c: You apparently ran out of inotify watches, probably because Tracker/Beagle took them all away. I wished people would do their homework first and fix inotify before using it for watching whole directory trees which is something the current inotify is certainly not useful for. Please make sure to drop the Tracker/Beagle guys a line complaining about their broken use of inotify. | ||
+ | |||
+ | Allora si sono esauriti i watch di inotify. | ||
+ | |||
+ | È possibile risolvere il problema eseguendo: | ||
+ | |||
+ | # echo 100000 > /proc/sys/fs/inotify/max_user_watches | ||
+ | |||
+ | Per rendere la modifica permanente, si modifichi {{ic|/etc/sysctl.conf}}: | ||
+ | |||
+ | # Increase inotify max watches per user | ||
+ | fs.inotify.max_user_watches = 100000 | ||
===padevchooser=== | ===padevchooser=== | ||
Se non è possibile lanciare il Pulseaudio Device Chooser, si riavvii il demone Avahi, in questo modo: | Se non è possibile lanciare il Pulseaudio Device Chooser, si riavvii il demone Avahi, in questo modo: | ||
− | # | + | # systemctl restart avahi-daemon |
===Artefatti sonori, audio intermittente o gracchiante=== | ===Artefatti sonori, audio intermittente o gracchiante=== | ||
Line 338: | Line 373: | ||
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. | 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 | + | Per disattivarlo, si aggiunga {{ic|1=tsched=0}} come parametro al modulo udev-detect in {{ic|/etc/pulse/default.pa}}: |
− | load-module module-udev-detect | + | {{hc|/etc/pulse/default.pa|<nowiki> |
+ | load-module module-udev-detect tsched=0 | ||
+ | </nowiki>}} | ||
− | + | Poi si riavvii Pulseaudio: | |
− | + | $ pulseaudio -k | |
− | + | $ pulseaudio --start | |
− | |||
Si compiano gli stessi passaggi a ritroso per abilitare lo scheduling basato su timer, se non è stato abilitato di default. | Si compiano gli stessi passaggi a ritroso per abilitare lo scheduling basato su timer, se non è stato abilitato di default. | ||
Line 354: | Line 390: | ||
===Impostare il numero di frammenti e la dimensione del buffer in PulseAudio=== | ===Impostare il numero di frammenti e la dimensione del buffer in PulseAudio=== | ||
− | : | + | [http://forums.linuxmint.com/viewtopic.php?f=42&t=44862 Ulteriori informazioni] |
+ | |||
+ | ====Identificare i parametri della scheda audio in uso (1/4)==== | ||
Si eseguano i seguenti comandi bash per individuare le impostazioni di buffering della propria scheda audio: | Si eseguano i seguenti comandi bash per individuare le impostazioni di buffering della propria scheda audio: | ||
− | echo autospawn = no >> ~/.pulse/client.conf | + | $ echo autospawn = no >> ~/.pulse/client.conf |
− | + | $ pulseaudio -k | |
− | LANG=C timeout --foreground -k 10 -s kill 10 pulseaudio -vvvv 2>&1 | grep device.buffering -B 10 | + | $ LANG=C timeout --foreground -k 10 -s kill 10 pulseaudio -vvvv 2>&1 | grep device.buffering -B 10 |
− | sed -i '$d' ~/.pulse/client.conf | + | $ sed -i '$d' ~/.pulse/client.conf |
− | Per ogni scheda audio identificata da | + | Per ogni scheda audio identificata da PulseAudio si avrà un output simile al seguente: |
{{bc|<nowiki> | {{bc|<nowiki> | ||
Line 382: | Line 420: | ||
Si prenda nota dei valori {{ic|buffer_size}} e {{ic|fragment_size}} per la scheda audio in uso. | Si prenda nota dei valori {{ic|buffer_size}} e {{ic|fragment_size}} per la scheda audio in uso. | ||
− | + | ====Si calcolino la dimensione ed il numero di frammenti in millisecondi (2/4)==== | |
− | La frequenza di campionamento di default in PulseAudio e i bit utilizzati corrispondono rispettivamente a 44100 Hz e 16 bit. | + | La frequenza di campionamento di default in PulseAudio e i bit utilizzati corrispondono rispettivamente a {{ic|44100 Hz}} e {{ic|16 bit}}. |
− | Utilizzando questi valori, il bitrate da impostare corrisponde a {{ic|1=44100 * 16 = 705600}} bit al secondo, oppure 1411200 b/s in caso si utilizzino due canali (stereo). | + | Utilizzando questi valori, il bitrate da impostare corrisponde a {{ic|1=44100 * 16 = 705600}} bit al secondo, oppure {{ic|1411200 b/s}} in caso si utilizzino due canali (stereo). |
Utilizziamo i valori ottenuti nel passaggio precedente: | Utilizziamo i valori ottenuti nel passaggio precedente: | ||
Line 393: | Line 431: | ||
device.buffering.fragment_size = "384000" => 384000/1411200 = 0.272108843537s = 272 ms | device.buffering.fragment_size = "384000" => 384000/1411200 = 0.272108843537s = 272 ms | ||
− | + | ====Modificare il file di configurazione di PulseAudio (3/4)==== | |
− | + | {{hc|/etc/pulse/daemon.conf|<nowiki> | |
− | + | ; default-fragments = X | |
+ | ; default-fragment-size-msec = Y | ||
+ | </nowiki>}} | ||
Nel passagio precedente si è calcolata la dimensione del frammento. Il numero di frammenti è dato da {{ic|buffer_size / fragment_size}} che nel nostro caso ({{ic|544/272}}) è {{ic|2}}. | Nel passagio precedente si è calcolata la dimensione del frammento. Il numero di frammenti è dato da {{ic|buffer_size / fragment_size}} che nel nostro caso ({{ic|544/272}}) è {{ic|2}}. | ||
Line 402: | Line 442: | ||
Si modifichino quindi le righe di cui sopra utilizzando i risultati ottenuti: | Si modifichino quindi le righe di cui sopra utilizzando i risultati ottenuti: | ||
− | + | {{hc|/etc/pulse/daemon.conf|<nowiki> | |
− | + | ; default-fragments = '''272''' | |
+ | ; default-fragment-size-msec = '''2''' | ||
+ | </nowiki>}} | ||
− | + | ====Riavviare il demone PulseAudio (4/4)==== | |
− | pulseaudio -k | + | $ pulseaudio -k |
− | pulseaudio --start | + | $ pulseaudio --start |
− | + | Per ulteriori informazioni: [http://forums.linuxmint.com/viewtopic.php?f=42&t=44862 kwevej sul forum di Linux Mint] | |
===Il suono arriva in ritardo=== | ===Il suono arriva in ritardo=== | ||
Line 418: | Line 460: | ||
Si eliminino eventuali modifiche alle voci riportate di seguito e, se il problema persiste, decommentarle modificarle in questo modo: | Si eliminino eventuali modifiche alle voci riportate di seguito e, se il problema persiste, decommentarle modificarle in questo modo: | ||
− | + | {{hc|/etc/pulse/daemon.conf|<nowiki> | |
− | + | default-fragment-size-msec = 5 | |
+ | default-fragments = 8 | ||
+ | default-fragment-size-msec = 5 | ||
+ | </nowiki>}} | ||
===Suono intermittente e distorto=== | ===Suono intermittente e distorto=== | ||
− | La scelta di una frequenza di campionamento errata in {{ic|/etc/pulse/daemon.conf}}, può causare un suono intermittente. Si | + | La scelta di una frequenza di campionamento errata in {{ic|/etc/pulse/daemon.conf}}, può causare un suono intermittente. Si effettui la seguente modifica: |
− | + | ||
− | + | {{hc|/etc/pulse/daemon.conf|<nowiki> | |
− | + | default-sample-rate = 48000 | |
− | + | </nowiki>}} | |
− | |||
− | |||
− | E | + | E si riavvii il server Pulseaudio. |
Se il suono è intermittente in applicazioni che usano openAL, si dovrebbe cambiare la frequenza di campionamento anche in {{ic|/etc/openal/alsoft.conf}}: | Se il suono è intermittente in applicazioni che usano openAL, si dovrebbe cambiare la frequenza di campionamento anche in {{ic|/etc/openal/alsoft.conf}}: | ||
Line 448: | Line 491: | ||
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. | 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 {{ic|/etc/pulse/daemon.conf}} | + | È possibile risolvere questo problema modificando il file {{ic|/etc/pulse/daemon.conf}}: |
− | + | {{hc|/etc/pulse/daemon.conf|<nowiki> | |
− | + | flat-volumes = no | |
− | + | </nowiki>}} | |
− | |||
− | |||
Riavviare poi Pulseaudio con: | Riavviare poi Pulseaudio con: | ||
− | pulseaudio - | + | $ pulseaudio -k && pulseaudio --start |
Quando Pulseaudio si sarà riavviato, le applicazioni non altereranno più il volume di sistema e faranno riferimento ai propri livelli di volume. | Quando Pulseaudio si sarà riavviato, le applicazioni non altereranno più il volume di sistema e faranno riferimento ai propri livelli di volume. | ||
+ | |||
+ | {{Nota|Una precedente installazione e successiva rimozione di un equalizzatore per PulseAudio potrebbe lasciare tracce in {{ic|~/.pulse/default.pa}}, che potrebbero causare problemi di volume impostato al massimo. Si commentino le parti relative secondo le proprie necessità.}} | ||
===Microfono non funzionante su ThinkPad T400/T500/T420=== | ===Microfono non funzionante su ThinkPad T400/T500/T420=== | ||
Line 477: | Line 520: | ||
===Output monocanale su M-Audio Audiophile 2496=== | ===Output monocanale su M-Audio Audiophile 2496=== | ||
− | Si aggiunganno le seguenti righe a {{ic|/etc/ | + | Si aggiunganno le seguenti righe a {{ic|/etc/pulse/default.pa}}: |
− | {{ | + | {{hc|/etc/pulse/default.pa|<nowiki> |
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-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 | 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 | ||
Line 488: | Line 531: | ||
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 {{ic|/etc/pulse/daemon.conf}}. | 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 {{ic|/etc/pulse/daemon.conf}}. | ||
− | ==== | + | ====Determinare le schede audio installate nel sistema (1/5)==== |
È necessario che {{Pkg|alsa-utils}} e i relativi pacchetti siano installati: | È necessario che {{Pkg|alsa-utils}} e i relativi pacchetti siano installati: | ||
− | + | ||
− | + | {{hc|$ arecord --list-devices| | |
− | |||
**** List of CAPTURE Hardware Devices **** | **** List of CAPTURE Hardware Devices **** | ||
card 0: Intel [HDA Intel], device 0: ALC888 Analog [ALC888 Analog] | card 0: Intel [HDA Intel], device 0: ALC888 Analog [ALC888 Analog] | ||
Line 504: | Line 546: | ||
La scheda audio è {{ic|hw:0,0}}. | La scheda audio è {{ic|hw:0,0}}. | ||
− | ==== | + | ====Determinare la frequenza di campionamento della scheda audio (2/5)==== |
− | + | {{hc| arecord -f dat -r 60000 -D hw:0,0 -d 5 test.wav|<nowiki> | |
− | |||
− | |||
"Recording WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 60000 Hz, Stereo | "Recording WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 60000 Hz, Stereo | ||
Warning: rate is not accurate (requested = 60000Hz, got = 96000Hz) | Warning: rate is not accurate (requested = 60000Hz, got = 96000Hz) | ||
please, try the plug plugin | please, try the plug plugin | ||
</nowiki>}} | </nowiki>}} | ||
+ | |||
Si noti il {{ic|1=got = 96000Hz}}, che indica la frequenza di campionamento massima supportata dalla scheda audio. | Si noti il {{ic|1=got = 96000Hz}}, che indica la frequenza di campionamento massima supportata dalla scheda audio. | ||
− | ==== | + | ====Impostare la frequenza di campionamento nella configurazione di Pulseaudio (3/5)==== |
− | La frequenza di campionamento predefinita in Pulseaudio è: | + | La frequenza di campionamento predefinita in Pulseaudio è ottenibile con: |
− | + | ||
− | + | {{hc|$ grep "default-sample-rate" /etc/pulse/daemon.conf|<nowiki> | |
− | ; default-sample-rate = 44100 | + | ; default-sample-rate = 44100 |
+ | </nowiki>}} | ||
+ | |||
+ | È pari a {{ic|44100 Hz}} ed è disabilitata. Si imposti ora la frequenza di campionamento desiderata con il comando seguente: | ||
+ | |||
+ | # sed 's/; default-sample-rate = 44100/default-sample-rate = 96000/g' -i /etc/pulse/daemon.conf | ||
− | + | ====Riavviare Pulseaudio per applicare i cambiamenti(4/5)==== | |
− | + | $ pulseaudio -k | |
− | + | $ pulseaudio --start | |
− | |||
− | |||
− | |||
− | |||
− | ==== | + | ====Effettuare una prova registrando e poi ascoltando la registrazione (5/5)==== |
− | + | $ arecord -f cd -d 10 test-mic.wav | |
− | |||
− | |||
− | arecord -f cd -d 10 test-mic.wav | ||
Dopo 10 secondi, riprodurre la registrazione: | Dopo 10 secondi, riprodurre la registrazione: | ||
− | aplay test-mic.wav | + | $ aplay test-mic.wav |
Il problema dovrebbe essere stato risolto. | Il problema dovrebbe essere stato risolto. | ||
Line 544: | Line 583: | ||
'''Non aggiungere quanto segue al proprio''' {{ic|/etc/bluetooth/audio.conf}}: | '''Non aggiungere quanto segue al proprio''' {{ic|/etc/bluetooth/audio.conf}}: | ||
+ | {{hc|/etc/bluetooth/audio.conf|<nowiki> | ||
[General] | [General] | ||
Enable=Socket | Enable=Socket | ||
+ | </nowiki>}} | ||
− | Se si hanno problemi con A2DP e Pulseaudio 2.99 assicurarsi di aver installato la libreria | + | Se si hanno problemi con A2DP e Pulseaudio 2.99 assicurarsi di aver installato la libreria {{Pkg|sbc}}: |
− | pacman -S sbc | + | # pacman -S sbc |
===Il subwoofer smette di funzionare alla fine della riproduzione di una canzone=== | ===Il subwoofer smette di funzionare alla fine della riproduzione di una canzone=== | ||
Line 587: | Line 628: | ||
Problema conosciuto (non sarà sistemato): https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/223133 | Problema conosciuto (non sarà sistemato): https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/223133 | ||
− | Se non viene riprodotto alcun suono sotto un certo livello di volume, si | + | Se non viene riprodotto alcun suono sotto un certo livello di volume, si passi {{ic|1=ignore_dB=1}} come parametro al modulo udev-detect nel file {{ic|/etc/pulse/default.pa}}: |
{{hc|/etc/pulse/default.pa|<nowiki> | {{hc|/etc/pulse/default.pa|<nowiki> | ||
− | load-module module-udev-detect | + | load-module module-udev-detect ignore_dB=1 |
</nowiki>}} | </nowiki>}} | ||
− | + | ===Basso livello volume del microfono integrato=== | |
+ | |||
+ | Se il volume del microfono integrato del vostro notebook è troppo basso, si inserisca alla fine del file: | ||
+ | |||
{{hc|/etc/pulse/default.pa|<nowiki> | {{hc|/etc/pulse/default.pa|<nowiki> | ||
− | + | set-source-volume 1 300000 | |
</nowiki>}} | </nowiki>}} | ||
Revision as of 16:51, 6 May 2013
Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary end
Contents
- 1 Installazione
- 2 Esecuzione
- 3 Equalizzatore
- 4 Configurazione del backend
- 5 Ambienti Desktop
- 6 Applicazioni
- 7 Risoluzione dei problemi
- 7.1 Niente suono dopo l'installazione
- 7.2 Problemi di riproduzione con cuffie Bluetooth
- 7.3 Switch automatico agli headset Bluetooth o USB
- 7.4 Pulse sovrascrive le impostazioni di Alsa
- 7.5 Impedire il riavvio di PulseAudio una volta ucciso
- 7.6 Avvio del demone fallito
- 7.7 padevchooser
- 7.8 Artefatti sonori, audio intermittente o gracchiante
- 7.9 Impostare il numero di frammenti e la dimensione del buffer in PulseAudio
- 7.10 Il suono arriva in ritardo
- 7.11 Suono intermittente e distorto
- 7.12 I controlli del volume non funzionano correttamente
- 7.13 Il livello del volume si alza ogni volta che una nuova applicazione viene avviata
- 7.14 Microfono non funzionante su ThinkPad T400/T500/T420
- 7.15 Microfono non funzionante su Acer Aspire One
- 7.16 Output monocanale su M-Audio Audiophile 2496
- 7.17 Rumore statico durante la registrazione da microfono
- 7.17.1 Determinare le schede audio installate nel sistema (1/5)
- 7.17.2 Determinare la frequenza di campionamento della scheda audio (2/5)
- 7.17.3 Impostare la frequenza di campionamento nella configurazione di Pulseaudio (3/5)
- 7.17.4 Riavviare Pulseaudio per applicare i cambiamenti(4/5)
- 7.17.5 Effettuare una prova registrando e poi ascoltando la registrazione (5/5)
- 7.18 Il mio dispositivo bluetooth viene rilevato ma non riproduce alcun suono
- 7.19 Il subwoofer smette di funzionare alla fine della riproduzione di una canzone
- 7.20 Pulseaudio utilizza il microfono sbagliato
- 7.21 Suono intermittente quando si usa il profilo Analog Surround Sound
- 7.22 Assenza di suono sotto un certo livello di volume
- 7.23 Basso livello volume del microfono integrato
- 8 Link esterni
Installazione
- Pacchetto richiesto: pulseaudio
- GUI GTK opzionali: paprefs e pavucontrol
- Controllo volume opzionale via tastiera: pulseaudio_ctlAUR
- Mixer da console opzionale: ponymix-gitAUR e pamixer-gitAUR
- Icona nella tray di sistema opzionale: pasystray-gitAUR
- Applet di Plasma per KDE: kdemultimedia-kmix e kdeplasma-applets-veromixAUR
Esecuzione
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 -k
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
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
- Pacchetto raccomandato: pulseaudio-alsa
- Pacchetti opzionali: lib32-libpulse e lib32-alsa-plugins
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 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
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.
$ sudo pacman -R pulseaudio-alsa
- 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 kdemultimedia-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 funzionino anche con PulseAudio:
ossp
Si avvii osspd con:
# systemctl 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
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
Per fare in modo che Gstreamer utilizzi PulseAudio è necessario installare il pacchetto gst-plugins-good oppure gstreamer0.10-good-plugins
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. Si noti che è 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.
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
/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
KDE Plasma Workspaces 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.
Il supporto a PulseAudio è stato integrato in KMix, il sound mixed di default di KDE.
Se si utilizza il backend GStreamer per Phonon, sarà necessario configurare lo stesso affinchè utilizzi PulseAudio installando gstreamer0.10-good-plugins.
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.
Xfce
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. Si veda anche MPD/Tips_and_Tricks#MPD_.26_PulseAudio.
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
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.
In alternativa, è possibile installare libflashsupport-pulseAUR da AUR.
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:
.asoundrc
# </home/<nomeutente>/.asoundrc.asoundconf>
È anche possibile che qualche programma abbia accesso esclusivo al dispositivo audio. Si provi il seguente comando:
# fuser -v /dev/snd/*
Se l'output è simile a questo,
# fuser -v /dev/snd/*
USER PID ACCESS COMMAND /dev/snd/controlC0: root 931 F.... timidity bob 1195 F.... panel-6-mixer /dev/snd/controlC1: bob 1195 F.... panel-6-mixer bob 1215 F.... pulseaudio /dev/snd/pcmC0D0p: root 931 F...m timidity /dev/snd/seq: root 931 F.... timidity /dev/snd/timer: root 931 f.... timidity
timidity potrebbe star impedendo a PulseAudio di accedere al dispositivo audio. Solitamente, uccidere il processo di timidity risolve il problema
Questo problema potrebbe anche essere causato da un conflitto tra FluidSynth e PulseAudio, come riportato in questo thread. E' necessario rimuovere FluidSynth:
# pacman -Rnsc fluidsynth
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.
Errore "Failed to create sink input: sink is suspended"
Se non viene riprodotto alcun suono e journalctl -b
riceve molti errori relativi ad un sink sospeso, si effettui il backup e poi si rimuovano le cartelle di PulseAudio relative al proprio utente:
$ rm -r ~/.pulse ~/.pulse-cookie
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.
$ cp /etc/pulse/default.pa ~/.pulse/default.pa
~/.pulse/default.pa
; load-module module-suspend-on-idle
$ pulseaudio -k && pulseaudio --start
Switch automatico agli headset Bluetooth o USB
Si aggiunga la seguente riga al file /etc/pulse/default.pa
:
/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_profile
o a qualsiasi altro file si utilizzi per l'autostart delle applicazioni:
restore_alsa() { while [ -z "`pidof pulseaudio`" ]; do sleep 0.5 done alsactl -f /var/lib/alsa/asound.state restore } restore_alsa &
Impedire il riavvio di PulseAudio una volta ucciso
Potrebbe capitare di voler temporaneamente disabilitare il riavvio automatico di PulseAudio; per farlo si aggiunga la seguente riga al file ~/.pulse/client.conf
:
autospawn=no
Avvio del demone fallito
Si provi a ripristinare la configurazione di Pulseaudio, in questo modo:
$ rm -rf /tmp/pulse* ~/.pulse* $ pulseaudio -k $ pulseaudio --start
Se il server PulseAudio non è in esecuzione ma si ottiene comunque l'errore "User-configured server at ... refusing to start/autospawn" potrebbe esserci un problema con le impostazioni di PulseAudio causato da un precedente login. Si individuino eventuali vecchie proprietà attribuite alla finestra root di X11 utilizzando pax11publish -d
. Se ve ne sono, le si rimuova con pax11publish -r
prima di riavviare il server.
Questo genere di pulizia manuale è sempre richiesta in caso si utilizzi LXDM, in quanto lo stesso non riavvia il server X dopo il logout. Si veda a tal proposito LXDM#PulseAudio.
Problema con inotify
Se quanto sopra non funziona, si esegua quanto segue:
$ pulseaudio -vvvv
Se si nota un errore simile al seguente:
E: [pulseaudio] module-udev-detect.c: You apparently ran out of inotify watches, probably because Tracker/Beagle took them all away. I wished people would do their homework first and fix inotify before using it for watching whole directory trees which is something the current inotify is certainly not useful for. Please make sure to drop the Tracker/Beagle guys a line complaining about their broken use of inotify.
Allora si sono esauriti i watch di inotify.
È possibile risolvere il problema eseguendo:
# echo 100000 > /proc/sys/fs/inotify/max_user_watches
Per rendere la modifica permanente, si modifichi /etc/sysctl.conf
:
# Increase inotify max watches per user fs.inotify.max_user_watches = 100000
padevchooser
Se non è possibile lanciare il Pulseaudio Device Chooser, si riavvii il demone Avahi, in questo modo:
# systemctl 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 aggiunga tsched=0
come parametro al modulo udev-detect in /etc/pulse/default.pa
:
/etc/pulse/default.pa
load-module module-udev-detect tsched=0
Poi si riavvii Pulseaudio:
$ pulseaudio -k $ pulseaudio --start
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.
Impostare il numero di frammenti e la dimensione del buffer in PulseAudio
Identificare i parametri della scheda audio in uso (1/4)
Si eseguano i seguenti comandi bash per individuare le impostazioni di buffering della propria scheda audio:
$ echo autospawn = no >> ~/.pulse/client.conf $ pulseaudio -k $ LANG=C timeout --foreground -k 10 -s kill 10 pulseaudio -vvvv 2>&1 | grep device.buffering -B 10 $ sed -i '$d' ~/.pulse/client.conf
Per ogni scheda audio identificata da PulseAudio si avrà un output simile al seguente:
I: [pulseaudio] source.c: alsa.long_card_name = "HDA Intel at 0xfa200000 irq 46" I: [pulseaudio] source.c: alsa.driver_name = "snd_hda_intel" I: [pulseaudio] source.c: device.bus_path = "pci-0000:00:1b.0" I: [pulseaudio] source.c: sysfs.path = "/devices/pci0000:00/0000:00:1b.0/sound/card0" I: [pulseaudio] source.c: device.bus = "pci" I: [pulseaudio] source.c: device.vendor.id = "8086" I: [pulseaudio] source.c: device.vendor.name = "Intel Corporation" I: [pulseaudio] source.c: device.product.name = "82801I (ICH9 Family) HD Audio Controller" I: [pulseaudio] source.c: device.form_factor = "internal" I: [pulseaudio] source.c: device.string = "front:0" I: [pulseaudio] source.c: device.buffering.buffer_size = "768000" I: [pulseaudio] source.c: device.buffering.fragment_size = "384000"
Si prenda nota dei valori buffer_size
e fragment_size
per la scheda audio in uso.
Si calcolino la dimensione ed il numero di frammenti in millisecondi (2/4)
La frequenza di campionamento di default in PulseAudio e i bit utilizzati corrispondono rispettivamente a 44100 Hz
e 16 bit
.
Utilizzando questi valori, il bitrate da impostare corrisponde a 44100 * 16 = 705600
bit al secondo, oppure 1411200 b/s
in caso si utilizzino due canali (stereo).
Utilizziamo i valori ottenuti nel passaggio precedente:
device.buffering.buffer_size = "768000" => 768000/1411200 = 0.544217687075s = 544 ms device.buffering.fragment_size = "384000" => 384000/1411200 = 0.272108843537s = 272 ms
Modificare il file di configurazione di PulseAudio (3/4)
/etc/pulse/daemon.conf
; default-fragments = X ; default-fragment-size-msec = Y
Nel passagio precedente si è calcolata la dimensione del frammento. Il numero di frammenti è dato da buffer_size / fragment_size
che nel nostro caso (544/272
) è 2
.
Si modifichino quindi le righe di cui sopra utilizzando i risultati ottenuti:
/etc/pulse/daemon.conf
; default-fragments = '''272''' ; default-fragment-size-msec = '''2'''
Riavviare il demone PulseAudio (4/4)
$ pulseaudio -k $ pulseaudio --start
Per ulteriori informazioni: kwevej sul forum di Linux Mint
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:
/etc/pulse/daemon.conf
default-fragment-size-msec = 5 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 effettui la seguente modifica:
/etc/pulse/daemon.conf
default-sample-rate = 48000
E si riavvii 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
:
/etc/pulse/daemon.conf
flat-volumes = no
Riavviare poi Pulseaudio con:
$ pulseaudio -k && pulseaudio --start
Quando Pulseaudio si sarà riavviato, le applicazioni non altereranno più il volume di sistema e faranno riferimento ai propri livelli di volume.
~/.pulse/default.pa
, che potrebbero causare problemi di volume impostato al massimo. Si commentino le parti relative secondo le proprie necessità.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/pulse/default.pa
:
/etc/pulse/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
.
Determinare le schede audio installate nel sistema (1/5)
È necessario che alsa-utils e i relativi pacchetti siano installati:
$ arecord --list-devices
**** 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
.
Determinare la frequenza di campionamento della scheda audio (2/5)
arecord -f dat -r 60000 -D hw:0,0 -d 5 test.wav
"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.
Impostare la frequenza di campionamento nella configurazione di Pulseaudio (3/5)
La frequenza di campionamento predefinita in Pulseaudio è ottenibile con:
$ grep "default-sample-rate" /etc/pulse/daemon.conf
; default-sample-rate = 44100
È pari a 44100 Hz
ed è disabilitata. Si imposti ora la frequenza di campionamento desiderata con il comando seguente:
# sed 's/; default-sample-rate = 44100/default-sample-rate = 96000/g' -i /etc/pulse/daemon.conf
Riavviare Pulseaudio per applicare i cambiamenti(4/5)
$ pulseaudio -k $ pulseaudio --start
Effettuare una prova registrando e poi ascoltando la registrazione (5/5)
$ 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
A partire da PulseAudio 2.99 e bluez 4.101 è consigliabile evitare l'utilizzo dell'interfaccia Socket.
Non aggiungere quanto segue al proprio /etc/bluetooth/audio.conf
:
/etc/bluetooth/audio.conf
[General] Enable=Socket
Se si hanno problemi con A2DP e Pulseaudio 2.99 assicurarsi di aver installato la libreria sbc:
# pacman -S sbc
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.
Suono intermittente quando si usa il profilo Analog Surround Sound
Il canale LFE (low-frequency effects) non viene remixato di default. Per abilitare questa funzionalità si modifichi /etc/pulse/daemon.conf
:
/etc/pulse/daemon.conf
enable-lfe-remixing = yes
Assenza di suono sotto un certo livello di volume
Problema conosciuto (non sarà sistemato): https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/223133
Se non viene riprodotto alcun suono sotto un certo livello di volume, si passi ignore_dB=1
come parametro al modulo udev-detect nel file /etc/pulse/default.pa
:
/etc/pulse/default.pa
load-module module-udev-detect ignore_dB=1
Basso livello volume del microfono integrato
Se il volume del microfono integrato del vostro notebook è troppo basso, si inserisca alla fine del file:
/etc/pulse/default.pa
set-source-volume 1 300000
Link esterni
- http://www.pulseaudio.org/wiki/PerfectSetup - Una buona guida per avere una configurazione perfetta
- 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.