Forum Linux.debian/ubuntu Playback audio 32 bits non sollicité avec les codecs par défaut

Posté par  . Licence CC By‑SA.
Étiquettes :
1
9
jan.
2014

Bonjour à tous,

Je commence à m'arracher les cheveux sur ce problème.

J'ai une Debian sid KDE (fresh install, dépôts officiels) qui fonctionne avec Pulseaudio et le backend Phonon/VLC (celui par défaut).

Lorsque je lis un mp3 (16 bits) avec la majorité de mes players (VLC, cLVC, Juk, SMPlayer), le manager Pulseaudio (paman) constate que le stream est joué en f32l (32 bits), ce que je ne souhaite pas du tout.

Quand je lis le même fichier avec mplayer (ligne de commande) ou Spotify, le stream est en 16 bits comme souhaité.

VLC donne un mystérieux message :

mpgatofixed32 audio converter debug: mpga->f32l

Mais je n'ai pu en tirer aucune info intéressante.

J'ai suspecté le backend Phonon/VLC, j'ai essayé avec GStreamer mais c'est la même chose. Aucun des backends ne propose de configuration.

J'ai regardé dans /usr/bin/start-pulseaudio-kde mais rien d'intéressant, j'ai greppé f32l et float32 dans ~ et /etc mais je n'ai rien trouvé.

Dans /etc/pulse/daemon.conf j'ai bien précisé

default-sample-format = s16le

Mon /etc/asound.conf

pcm.!default {
  type pulse
}
ctl.!default {
  type pulse
}
defaults.pcm.dmix.!rate 44100
defaults.pcm.!rate_converter "samplerate_best"

Mais c'est la même chose si je supprime le fichier.

Je commence à être à court d'idées. Quelqu'un sait d'où ça pourrait venir ? Peut-être le codec mp3, mais j'ai du mal à détecter qui fait quoi dans l'histoire, et à trouver des informations utiles sur le sujet.

Merci pour votre aide !!

  • # pulseaudio ?

    Posté par  (site web personnel) . Évalué à 2.

    Si ça ne vient pas d'alsa, on peut continuer à dérouler le fil : alsa redirige le son vers pulseaudio.

    Qu'as tu dans ta configuration pa ?

    par exemple : /etc/pulse/daemon.conf, ~/.pulse/default.pa ?

    • [^] # Re: pulseaudio ?

      Posté par  . Évalué à 2.

      Salut et merci de ton intérêt.

      Comme précisé dans le post, mon daemon.conf possède la ligne :

      default-sample-format = s16le
      

      Qui suffit normalement à maîtriser le sample type.

      Les modules actifs chez moi :
      http://imgur.com/at0PzEB

      Mon default.pa n'a pas été modifié, j'ai en plus du mal à voir quel module pourrait provoquer ce comportement :
      http://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Modules/

      De plus pulseaudio (selon la doc) fait référence au 32bits par les termes "s32le, s32be, float32le, float32be, s32ne, s32re, float32ne, float32re" mais jamais "f32l".

      Je pense effectviement qu'il faut remonter le fil, mais dans l'autre sens. Le message de VLC me conforte dans cette idée : je ne crois pas que Pulseaudio puisse dicter à VLC le sample type, c'est Pulseaudio lui-même qui s'en chargerait si il était configuré pour.

      Peut-être quelque chose dans la configuration des codecs mp3 ? Je n'arrive pas à y accéder.

  • # le point commun, trouver tu devras, jeune padawan

    Posté par  . Évalué à 2.

    la majorité de mes players (VLC, cLVC, Juk, SMPlayer), […] le stream est joué en f32l (32 bits), ce que je ne souhaite pas du tout.
    […]même fichier avec mplayer (ligne de commande) ou Spotify, le stream est en 16 bits comme souhaité.

    il y a donc une difference de bibliotheque ou d'interpretation du fichier entre ces logiciels.

    • cherche les points communs de ceux qui ne marchent pas
    • cherche si ce point communs est aussi utilisé dans mplayer/spotify

    si ce n'est pas le cas tu viens de trouver le fautif (present chez les premiers, absent du 2e).

    un file lefichier.mp3te donne quoi comme infos ?

    • [^] # Re: le point commun, trouver tu devras, jeune padawan

      Posté par  . Évalué à 2.

      Salut,

      Justement j'ai beaucoup de mal à trouver ce genre d'information, ou même à trouver de l'information sur comment obtenir ces informations. Il y a très peu de littérature à ce sujet et les résultats sont extrêmement pollués (problèmes audio divers, enregistrement, etc). Aurais-tu de quoi me mettre sur la piste ?

      un file lefichier.mp3te donne quoi comme infos ?

      Juste un

      Audio file with ID3 version 2.3.0

      • [^] # Re: le point commun, trouver tu devras, jeune padawan

        Posté par  . Évalué à 4.

        strace, ltrace sur le programme que tu lances pour voir comment les librairies ou les appels systemes sont faits.

        sinon parait que l'outil mediainfo fait des miracles.

        • [^] # Re: le point commun, trouver tu devras, jeune padawan

          Posté par  . Évalué à 3.

          Super merci ça m'a ouvert pas mal de portes, avec un

          lsof -c vlc

          J'ai pu repérer les plugins actifs. Et notamment supprimer libmpgatofixed32_plugin.so qui semble convertir bêtement tout ce qui lui tombe sous la main en 32 bits. C'est très étonnant que ce soit le comportement par défaut de VLC.

          Pour rappel sur-échantilloner un fichier audio est non seulement inutile, mais en plus préjudiciable pour la qualité :
          http://people.xiph.org/~xiphmont/demo/neil-young.html

          Quoi qu'il en soit mon problème est résolu, les fichiers passent en 16 bits sur vlc. Mais pas sur smplayer, je suppose qu'il appelle un autre plugin du même type, il faut croire que c'est la mode de faire ce genre de trucs dans le dos de l'utilisateur.

          Merci en tout cas !

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.