Même si ma carte son s'occupe du mixage toute seule (HDA codec realtek), PulseAudio me permet de modifier le volume d'une application sans que ça affecte le volume globale (oui d'après certains c'est possible avec ALSA seul mais j'y suis jamais arrivé, même en installant dmix).
Il me permet aussi de mettre le son à 150% du volume, utile quand le son est vraiment bas. Il se souvient aussi du volume sonore / état sonore (muet/pas muet) des applications. Il détecte aussi si un casque est branché et se rappelle du volume globale appliqué au "périphérique de sortie" pré-nommé "Casque", ce qui évite de se péter les oreilles.
Je sais qu'il a bien plus de fonctionnalités, mais ce sont celles que j'apprécie le plus.
Bon, tout ça c'est bien, mais au début, j'avais des problèmes :
Beaucoup de latence / son distordu avec Timidity. Or, j'aime beaucoup la banque de sons Titanic(démo sonore sur Youtube), ça me donne l'impression d'avoir une Sound Blaster AWE32 plutôt qu'une HDA qui ne connaît même pas la synthé MIDI FM. ;-)
Pour ça, il m'a fallu trouver la commande magique :
timidity -iAD -Os &
L'argument qui évite d'avoir la moindre latence est le "-0s" :
-O mode, --output-mode=mode
--flac-verify
--flac-padding=n
--flac-complevel=n
--oggflac
--speex-quality=n
--speex-vbr
--speex-abr=n
--speex-vad
--speex-dtx
--speex-complexity=n
--speex-nframes=n
Selects the output mode from the compiled-in alternatives. mode
must begin with one of the supported output mode identifiers.
Run TiMidity++ with the -h option to see the list.
Special in Ogg FLAC output mode, verifying generated data (will
be a bit slower), the size of header padding (default is 4096),
the compression level (0 to 8) (default is 5), and enabling
OggFLAC stream can be specified by --flac-verify, --flac-pad‐
ding, --flac-complevel and --oggflac options respectively.
Special in Ogg Speex output mode, the compression quality (0 to
10) (default is 8), Enabling VBR output, enabling ABR output and
setting the ratio to n, enabling VAD (voice activity detection),
enabling DTX (discontinuous transmission), the encoding complex‐
ity (0 to 10) (default is 3), and frames in a single Ogg packet
(0 to 10) (default is 1) can be specified by --speex-quality,
--speex-vbr, --speex-abr, --speex-vad, --speex-dtx, --speex-com‐
plexity and --speex-nframes options respectively.
The following identifiers are available in all versions:
-Od Outputs via audio device (default)
-Os Output to ALSA
Pas d'intégration dans Xfce (du moins sous Archlinux, les utilisateurs de Xubuntu n'ont pas ce problème, ni celui de Timidity, ni celui après d'ailleurs)
Par défaut, Xfce n'a aucun support pour PulseAudio. En effet, xfce4-mixer et xfce4-mixer-plugin (le greffon pour le tableau de bord), et xfce4-volumed (le gestionnaire de touches multimédia liées au son) utilisent tous le mixer de gstreamer0.10, qui est compatible sous Linux avec ALSA uniquement.
En plus, cette API n'existe plus dans gstreamer1.0 (donc si des volontaires veulent contribuer, c'est l'un des gros bugs de Xfce en ce moment !)
En remplacement j'ai dû installer pnmixer-xfce4. Ce dernier met à disposition :
- un applet dans la zone de notification,
- un accès rapide au volume global via un clic gauche,
- modification du volume global en utilisant la molette de la souris sur l'icône
- notifications (désactivable)
- support pour les touches multimédia
- muet / pas muet via clic milieu sur l'icône (c'est l'action par défaut, on peut en mettre une autre)
- choix de la carte son et du canal principal
- spécification d'une commande à lancer lors d'un clic sur "Contrôle du volume" dans le menu contextuel (clic droit sur l'icône)
- rechargement d'ALSA à la volé
Et pour le support des touches multimédia (avec notifications), j'ai mis à disposition sur l'AUR xfce4-volumed-pulse, c'est à dire le fork de xfce4-volumed écrit par Lionel Le Folgoc (aussi connu sous le pseudonyme de mr_pouit) pour Xubuntu. Évidemment c'est un peu superflu avec pnmixer, mais ça je l'ai appris après.
Problème de 'race-condition' (pour ainsi dire) entre PulseAudio et ses serviteurs
Parfois, timidity se lancait avant PulseAudio : pas de son.
D'autres fois, xfce4-volumed-pulse se lançait avant PA : pas de support pour les touches multimédia
# PulseAudio, parce que j'ai trouvé un certain intérêt, et comment l'intégrer...
Posté par xcomcmdr . En réponse au sondage Votre solution pour le son. Évalué à 7.
Ma carte son :
Même si ma carte son s'occupe du mixage toute seule (HDA codec realtek), PulseAudio me permet de modifier le volume d'une application sans que ça affecte le volume globale (oui d'après certains c'est possible avec ALSA seul mais j'y suis jamais arrivé, même en installant dmix).
Il me permet aussi de mettre le son à 150% du volume, utile quand le son est vraiment bas. Il se souvient aussi du volume sonore / état sonore (muet/pas muet) des applications. Il détecte aussi si un casque est branché et se rappelle du volume globale appliqué au "périphérique de sortie" pré-nommé "Casque", ce qui évite de se péter les oreilles.
Je sais qu'il a bien plus de fonctionnalités, mais ce sont celles que j'apprécie le plus.
Bon, tout ça c'est bien, mais au début, j'avais des problèmes :
Pour ça, il m'a fallu trouver la commande magique :
L'argument qui évite d'avoir la moindre latence est le "-0s" :
Par défaut, Xfce n'a aucun support pour PulseAudio. En effet, xfce4-mixer et xfce4-mixer-plugin (le greffon pour le tableau de bord), et xfce4-volumed (le gestionnaire de touches multimédia liées au son) utilisent tous le mixer de gstreamer0.10, qui est compatible sous Linux avec ALSA uniquement.
En plus, cette API n'existe plus dans gstreamer1.0 (donc si des volontaires veulent contribuer, c'est l'un des gros bugs de Xfce en ce moment !)
En remplacement j'ai dû installer pnmixer-xfce4. Ce dernier met à disposition :
- un applet dans la zone de notification,
- un accès rapide au volume global via un clic gauche,
- modification du volume global en utilisant la molette de la souris sur l'icône
- notifications (désactivable)
- support pour les touches multimédia
- muet / pas muet via clic milieu sur l'icône (c'est l'action par défaut, on peut en mettre une autre)
- choix de la carte son et du canal principal
- spécification d'une commande à lancer lors d'un clic sur "Contrôle du volume" dans le menu contextuel (clic droit sur l'icône)
- rechargement d'ALSA à la volé
Et pour le support des touches multimédia (avec notifications), j'ai mis à disposition sur l'AUR xfce4-volumed-pulse, c'est à dire le fork de xfce4-volumed écrit par Lionel Le Folgoc (aussi connu sous le pseudonyme de mr_pouit) pour Xubuntu. Évidemment c'est un peu superflu avec pnmixer, mais ça je l'ai appris après.
Parfois, timidity se lancait avant PulseAudio : pas de son.
D'autres fois, xfce4-volumed-pulse se lançait avant PA : pas de support pour les touches multimédia
Ça, c'était simple à résoudre :
"Quand certains râlent contre systemd, d'autres s'attaquent aux vrais problèmes." (merci Sinma !)