Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 24/05/2009, à 15:18

loulouch

[Tuto] Pulseaudio en temps que démon système

Depuis jaunty, j'ai pas mal de problèmes avec pulseaudio, les fameuses "saccades", ou un son de mauvais qualité (en peu dommage avec une carte son optique).

Aucun tuto m'a permis de résoudre le problèmes ( droits "temps réel", high-priorityshedulging).

J'ai remarqué que une fois le processus lancé en root, no problemo tout marche niquel ! ( bug noyau linux avec les priorités ??).

Donc voila je vous explique comment faire de même, attention, cette manip n'est pas forcément très sécuritaire !
Depuis jaunty, il arrive que le son saccade avec pulseaudio. Chez moi, le son saccade toujours, malgré le temps réel.
Mais lancé en tant que root, plus de problèmes.
Editez  /etc/pulse/daemon.conf comme ceci :

# This file is part of PulseAudio.
#
# PulseAudio is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# PulseAudio is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with PulseAudio; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
# USA.

## Configuration file for the PulseAudio daemon. See pulse-daemon.conf(5) for
## more information. Default values a commented out.  Use either ; or # for
## commenting.

daemonize = no
fail = yes
disallow-module-loading = no
disallow-exit = no
use-pid-file = yes
system-instance = yes
disable-shm = no
shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB

high-priority = yes
nice-level = -11

realtime-scheduling = yes
; realtime-priority = 5

; exit-idle-time = 20
; module-idle-time = 20
; scache-idle-time = 20

; dl-search-path = (depends on architecture)

; load-default-script-file = yes
; default-script-file = 

; log-target = auto
; log-level = notice

resample-method = src-linear
; disable-remixing = no
; disable-lfe-remixing = yes

no-cpu-limit = yes

; rlimit-fsize = -1
; rlimit-data = -1
; rlimit-stack = -1
; rlimit-core = -1
; rlimit-as = -1
; rlimit-rss = -1
; rlimit-nproc = -1
; rlimit-nofile = 256
; rlimit-memlock = -1
; rlimit-locks = -1
; rlimit-sigpending = -1
; rlimit-msgqueue = -1
; rlimit-nice = 31
; rlimit-rtprio = 9
; rlimit-rtttime = 1000000

; default-sample-format = s16le
; default-sample-rate = 44100
 default-sample-channels = 2

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

Par défaut, les flux ne pourront pas êtres modifiés par pavucontrol, pour ceci, décommentez la ligne de /etc/pulse/default.pa :

load-module module-esound-protocol-tcp

Enfin, comme le lanceur d'Ubuntu ne prend pas en compte notre configuration ( à confirmer), il faut lui dire qu'on est plus en per-user sessions, commentez ces lignes de /etc/init.d/pulseaudio :

#if [ "$PULSEAUDIO_SYSTEM_START" != "1" ]; then
#       log_warning_msg "PulseAudio configured for per-user sessions"
#       exit 0
#fi

Vous pouvez maintenant relancer pulseaudio

     pulseaudio -k
     sudo /etc/init.d/pulseaudio start

J'ai pis cette manip sur la page de pulseaudio, j'ai peut-être oublié quelques éléments ( j'ai fait pas mal de trucs avant), merci de signaler tout bug.

Hors ligne

#2 Le 26/05/2009, à 10:47

BorX

Re : [Tuto] Pulseaudio en temps que démon système

Salut smile

J'ai vite parcouru ton post, mais je pense qu'il constitue une bonne solution de contournement à un problème que j'avais moi-même rencontré avec une Ubuntu Hardy Heron (8.04).

Je voudrais juste préciser que, dans mon cas, c'est précisément le temps réel (kernel RT) qui me posait problème. En effet, j'ai cessé d'être importuné par un son saccadé dès lors que je suis repassé, à contre-cœur, à un noyau générique.

Donc ton astuce permet finalement d'avoir un son clean si tu tiens à garder un noyau realtime. Sinon, il est certainement préférable de se passer de cette fonctionnalité afin de laisser pulseaudio tourner avec des droits pas trop permissifs.

Dernière modification par BorX (Le 26/05/2009, à 10:48)

Hors ligne

#3 Le 26/05/2009, à 11:24

Emralegna

Re : [Tuto] Pulseaudio en temps que démon système

Salut,

Pour un son de meilleur qualité, il faut changer ces lignes en indiquant ces paramètres :

resample-method = src-sinc-fastest

D'autres options sont disponibles, par ordre de qualité : src-sinc-best-quality, src-sinc-medium-quality, src-sinc-fastest, src-linear, trivial.

En général on ne remarque pas de grande différence, mais src-sinc-fastest doit être suffisant sans pour autant requérir à trop de ressources (voir pas du tout). L'option src-sinc-best-quality permet d'avoir mathématiquement la meilleure qualité de son, mais à vous de voir si vous tenez à utiliser la moitier des ressources processeur (à relativiser selon) pour jouer un morceau. wink

Il existe aussi d'autres méthodes mais je ne les connais pas assez pour en dire davantage : src-zero-order-hold, speex-float-N, speex-fixed-N (ou N est une valeur entre 0 et 9, représentant la qualité), ffmpeg.

default-sample-format = float32le

Avec une carte son de type HDA, le son 24 bits est pris en charge alors pourquoi se rétrograder à l'instar de DirectSound sous Windows qui rééchantillonne le son à 16 bits de piètre qualité ? Normalement la valeur ci dessus devrait fonctionner (ce fut le cas pour ma part) sans perte de performance (à tester).

Il existe d'autres options : u8, s16le, s16be, float32le, float32be, ulaw, alaw ; s16ne, s16re, float32ne, float32re.

default-sample-rate = 48000

Là encore, le rééchantillonage en 44100 Hz est absurde étant donné que Alsa traite tout en 48000 Hz ; pourquoi alors, rééchantilloner deux fois ? C'est une perte de ressource et de qualité ; autant indiquer la valeur citée.

Et pour avoir le son 5.1 :

default-sample-channels = 6

Voilà. smile

Dernière modification par Emralegna (Le 26/05/2009, à 11:26)

Hors ligne

#4 Le 26/05/2009, à 17:41

Le Galéanthrope

Re : [Tuto] Pulseaudio en temps que démon système

J'ai fait tes modifs loulouch et ça ne marche pas, j'ai tout essayé mais pulseaudio ne marche plus.

Sinon les modifs de Emralegna marche mais float32le n'est pas supporté par mon matos (ca fait du morse), j'ai remplacé par float32be qui marche mais je sais pas si c'est mieux. En src-sinc-best-quality ça marche bien.

Dernière modification par Le Galéanthrope (Le 26/05/2009, à 20:32)


Miaou ! ー Nyamiou Le Galéanthrope

Hors ligne

#5 Le 27/05/2009, à 09:31

Emralegna

Re : [Tuto] Pulseaudio en temps que démon système

Tu as bien fait ; tout dépend apparemment du processeur son (?) d'après ce que j'ai pu comprendre.

Hors ligne

#6 Le 04/06/2009, à 15:58

d10g3n

Re : [Tuto] Pulseaudio en temps que démon système

Merci beaucoup pour toutes ces manips à loulouch et Emralegna.

Bon je signale un petit bug, dans le contrôleur de volume seul le lineout fonctionne, pas le PCM....
et pis pavucontrol fonctionne plus non plus...

Dernière modification par d10g3n (Le 04/06/2009, à 16:06)

Hors ligne

#7 Le 05/06/2009, à 22:00

loulouch

Re : [Tuto] Pulseaudio en temps que démon système

C'est normal, le pavucontrol cherche dasn les préférences du profil personnel.

Il faut donc activer l'accès à distance manuellement :

/etc/pulse/system.pa

load-module module-esound-protocol-tcp auth-ip-acl=127.0.0.1;192.168.0.0/16
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.0.0/16
load-module module-zeroconf-publish

Hors ligne

#8 Le 16/07/2013, à 23:19

Esprit_Funk

Re : [Tuto] Pulseaudio en temps que démon système

Salut !

Moi j'ai trouvé une solution aux problèmes de son saccadés de Pulseaudio, je vous la donne tant que je suis là !

Dans le terminal

sudo gedit /etc/pulse/daemon.conf

Pour pouvoir éditer daemon.conf avec les droits du superutilisateur, qui sont nécessaires. Utilisez gedit ou tout autre éditeur de texte, libre à vous smile.

De là, modifier cette ligne :

; high-priority = yes

en

high-priority = no

Et redémarrer Pulseaudio

pulseaudio -k
pulseaudio

En effet, il se trouvais que Pulseaudio utilisait beaucoup de ressources en processeur, ce qui en résultait des pics de 100% d'utilisation (au total avec tout les processus) de celui-ci, et à ces moments là, le son sautait. Depuis cette manip', je n'ai plus de problèmes de ressources. Et ça marche nikel, c'est du bonheur !

A plus.

Dernière modification par Esprit_Funk (Le 16/07/2013, à 23:20)


L'utilisateur doit pouvoir contrôler sa machine librement.
Linux Mint 15, 64bits, MATE.

Hors ligne

#9 Le 18/08/2013, à 10:59

Slyvester

Re : [Tuto] Pulseaudio en temps que démon système

Bonjour,

Merci Esprit_Funk pour ce excellent conseil. Cependant, après avoir modifié la ligne : high-priority = yes en high-priority = no, il est sans utile de modifier également la ligne : nice-level = -11 en nice-level = 0.
Ne pas oublier de sauvegarder, puis de tuer et re-démarrer le démon :
pulseaudio -k
pulseaudio -D

Dernière modification par Slyvester (Le 18/08/2013, à 11:04)

Hors ligne