Journal Pulseaudio & Android

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
28
24
août
2015

Bonjour Nal,

Un mot bookmark pour signaler que Pulseaudio, trois ans après se fait confirmer dans sa position d'inexploitabilité pragmatique sur Android. C'est JACK qui se voit choisi par Samsung via le profil "ProfessionalAudio" (jackd, jack_loopback, fluidsynth, …) afin de répondre aux besoins auxquels AudioFlinger n'est pas adapté.

Bon, troll mis à part, il se pourrait bien qu'il s'agisse d'un véritable élan pour Android, qui jusqu'alors souffrait de grosses latences de sa pile audio. 20ms c'est toujours mieux que 170, mais nettement moins bien 0,20ms …

C'était un des deux points bloquants (avec le fait, moins objectif, que Apple truste le monde Audio - au moins il n'y aura plus de barrières techniques) qui empêchait, probablement, sur Android le développement d'outils (logiciels et matériels) typiquement orientés création audio. Pour les chagrins comme moi : non JACK n'est pas (encore?) dans AOSP. La jolie Nimage de circonstance.
Vous pouvez moinsser.

Voilà, voilà …
et sinon on peut causer du FS du fioutchiourze

  • # ...

    Posté par  . Évalué à 4.

    Merci pour ce journal, mais quelqu'un a compris ?

    • [^] # Re: ...

      Posté par  . Évalué à 10. Dernière modification le 24 août 2015 à 21:36.

      il a dit qu'on pouvait moinsser, pis après un truc avec les fesses

      mais bon si t'as compris qu'on pouvait moinsser, t'as compris l'essentiel :o

      *splash!*

  • # Jack

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

    Bon, troll mis à part, il se pourrait bien qu'il s'agisse d'un véritable élan pour Android

    J’espère surtout que ce sera un véritable élan pour Jack et qu’il recevra un regain d’attention.

    Parce que dans les faits, j’utilise Jack de manière assez intensive mais…

    • Jack est sensĂ© permettre le transport du son sur le rĂ©seau, mais je n’ai jamais rĂ©ussi Ă  obtenir quelque chose de potable, et quand un truc plante, tout part avec, ce qui est disqualifiant (certaines connexions sont sensĂ©es durer des mois).
    • Jack est sensĂ© permettre d’ajouter des cartes sons Ă  un server jack existant, dans les faits ça marchotte mal (certaines connexions sont sensĂ©es durĂ©es quelques secondes)
    • Jack ne permet pas de dĂ©brancher la première carte son qui a Ă©tĂ© ajoutĂ©e.

    Donc en fait j’utilise un serveur Jack en configuration dummy (sans aucune carte son), et je branche dessus des modules gstreamer qui refont la connexion alsa → jack, jack → alsa, opus/rtp → jack et jack → opus/rtp. En gros je me sers de jack uniquement comme un mixeur audio, ce qu’il fait très bien, mais je ne lui laisse gérer que cela, je lui empêche de gérer lui même les cartes sons.

    Bref, pour le moment, j’ai l’impression que Jack ne fonctionne que dans la configuration « j’ai un éditeur/enregistreur audio sur mon bureau qui interagit avec jack qui interagit avec ma carte son », en faisant accessoirement des boucles vers d’autres logiciels d’effets, alors que dans mon usage, je dois pouvoir ajouter et retirer des cartes sons à la volée, router le son entre elles, ajouter des sources et sorties réseaux, et faire de même, peut-être qu’un jour j’ajouterai des éditeurs et des effets dessus, mais mon premier usage est le mixage et la commutation de flux audio entre sources et sorties volatiles.

    J’ai besoin d’une très basse latence, et la pile jack/gstreamer/alsa fait l’affaire pour le moment, même si jack seul devrait être encore plus performant.

    ce commentaire est sous licence cc by 4 et précédentes

    • [^] # Re: Jack

      Posté par  (site web personnel) . Évalué à 5. Dernière modification le 24 août 2015 à 21:58.

      en synthèse, tu trouves insensé que jack ne fasse que marchotter, alors que c'est censé fonctionner ? :-)

      • [^] # Re: Jack

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

        Exact /o\

        Je n’ai pas écrit assez en français ces derniers mois. :-/

        ce commentaire est sous licence cc by 4 et précédentes

    • [^] # Re: Jack

      Posté par  . Évalué à 4.

      J’espère surtout que ce sera un véritable élan pour Jack et qu’il recevra un regain d’attention.

      Oui moi aussi. Je dois dire que Jack c’est pour l’instant le truc le plus prometteur que j’ai vu sous GNU/Linux pour gérer le son de manière… satisfaisante… Si je ne dis pas de connerie c’est un peu la même approche que Portaudio qui est si je ne m’abuse le standard de fait sur Mac ?

      « j’ai un éditeur/enregistreur audio sur mon bureau qui interagit avec jack qui interagit avec ma carte son »

      Moi je vois Jack surtout comme : « j’ai un éditeur audio qui interagit avec un contrôleur MIDI (ou 36…) qui interagit avec un rack de plugins LADSPA (ou LV2) qui interagit avec ma carte son ». Je ne crois pas que pulseaudio permette de faire ça… Si ?

      je dois pouvoir ajouter et retirer des cartes sons à la volée, router le son entre elles, ajouter des sources et sorties réseaux, et faire de même

      C’est quoi ton usage précisément ?

      Jack est sensé permettre d’ajouter des cartes sons à un server jack existant, dans les faits ça marchotte mal (certaines connexions sont sensées durées quelques secondes)
      Jack ne permet pas de débrancher la première carte son qui a été ajoutée.

      Je ne savais pas que c’était dans le cahier des charges de JACK et j’avoue mon ignorance… à quoi servent ces fonctionnalités ?

      • [^] # Re: Jack

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

        C’est quoi ton usage précisément ?

        Je travaille pour une radio FM associative, avec jack/gstreamer/alsa/opus je peux connecter des régies de studios distants entre elles (ça c’est pour le h24) et je peux aussi diffuser du son depuis n’importe où avec une connexion 3G pour une opération extérieure.

        Dans ce dernier cas, la bascule entre les programmes (entre la playlist et le direct pour les décrochages/raccrochages par exemple) se fait avec jack, de même la sélection de son que je peux monitorer. Par exemple depuis le lieu du direct je peux préécouter le son après capture avant d’envoyer au studio (qui envoie à l’émetteur), donc après tous les différents traitements et toutes les sources de parasites, ou bien préécouter un retour du son à l’arrivée du studio donc après transport (qui me revient, ou encore le son au niveau du codec qui envoie à l’émetteur (donc après la sortie de jack) ou encore le son qui nous arrive du satellite pour le programme natio (ce qui fait que je peux écouter le programme natio qui arrive au studio depuis le lieu du direct pour raccrocher entre deux émissions proprement si je n’ai pas de balise).

        Accessoirement je branche sur Jack un simple module gstreamer qui enregistre sur disque un son, ou un simple vu-mètre en mode texte.

        Donc en fait, à part l’enregistrement et le vu-mètre, je n’utilise jack que pour connecter des cartes sons entre elles sur un même PC et opus/rtp pour connecter différents serveurs jack à plusieurs kilomètres (parfois centaine) de distance. Ce qui fait qu’un son qui rentre dans une carte son peut sortir sur une autre à l’autre bout du département, et l’ajout d’une carte son en enregistrement ou en sortie ou la connexion et déconnexion de réseaux doivent être complètement indépendant des serveurs jacks qui doivent pouvoir tourner seuls, sans rien, ou chargés de différentes sources.

        En gros je fais de l’Audio sur IP et jack est un mixeur/pathfinder, et ne fait que cela (et surtout que cela).

        ce commentaire est sous licence cc by 4 et précédentes

        • [^] # Re: Jack

          Posté par  (site web personnel, Mastodon) . Évalué à 10.

          En gros je fais de l’Audio sur IP et jack est un mixeur/pathfinder, et ne fait que cela (et surtout que cela).

          Miam. Tu devrais écrire un journal pour décrire tout ça en détail. Techniquement ça me semble assez complexe à gérer, non ?

          • [^] # Re: Jack

            Posté par  (site web personnel) . Évalué à 4. Dernière modification le 26 août 2015 à 18:01.

            Non, pas énormément, GStreamer est fabuleux pour cela.
            Il faut que je publie le source sous GitHub et je ferais un journal pour sûr quand je publierai le source, mais ça peut être dans un an ou demain (mais c’est sûr que ce n’est pas demain)… :p

            ce commentaire est sous licence cc by 4 et précédentes

  • # il n'y a pas que la latence de l'audio dans la vie

    Posté par  . Évalué à 0.

    il y a aussi la latence de l'Ă©cran :

    http://www.igen.fr/ipad/de-gros-ecarts-de-latence-entre-les-ecrans-de-tablettes-108430

    si quelqu'un a un test plus récent je ne dis pas non.

  • # Latence

    Posté par  . Évalué à 3.

    Concernant l'aspect latence, OpenSL-ES est présent depuis bien longtemps (après ça dépend beaucoup du hard), on commence à avoir les premiers téléphones avec des
    latences potables depuis Android 4.0.

    Concernant Jack sur Android chez Samsung, ma mémoire me fait peut être défaut mais il me semble que c'est déjà présent dans leur ROM depuis un bon bout de temps (les premiers commits d'un dépôt miroir de jack pour samsung datent d'il y a 2 ans)

    À mon avis le gros avantage de jack pour Android serait surtout de permettre l'interconnexion entre des applis audios

  • # Pendant ce temps chez Samsung

    Posté par  . Évalué à 7.

    J'imagine le test : "On a installé pulseaudio pour tester, dès que le cpu est monté en charge le son s'est mis à grésiller méchamment, et finalement tout a planté. On a du le redémarrer pour retrouver du son. Donc on a pris Jack".

    Quoi c'est pas Vendredi ?

  • # Pulseaudio et Android

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

    J'avais déjà regardé, parce que j'ai chez moi un montage à base de raspberry et pulseaudio. Ça me permet d'utiliser mon système Hi-Fi (… low cost) depuis mon ordinateur portable sans devoir tendre un cable jack à travers mon salon, ou de décider d'envoyer le son dans la salle de bain sur un vieux pc recyclé en enceinte sans fil. Et ça marche plutôt pas mal (en général).

    Le seul défaut de cette installation, c'est que mon téléphone intelligent n'en fait pas partie. À défaut d'avoir un Pulseaudio complet pour envoyer du son (ce que je pourrais faire en ajoutant une clef bluetooth à ma raspberry) j'aimerais au moins avoir une application qui sache parler Pulseaudio pour pouvoir au minimum régler le son de mon PC depuis mon smartphone, mais ça ne semble pas exister (l'équivalent de export PULSE_SERVER=ip && pavucontrol). J'en avais trouvé une qui faisait une arnaque à base de ssh et de pacmd, mais je n'ai pas réussi à la faire marcher.

    Et même si je trouvais un jour la motivation de me documenter sur le protocole réseau de configuration de Pulseaudio, il est improbable que je me motive à développer une application Android.

    Il existe deux catégories de gens : ceux qui divisent les gens en deux catégories et les autres.

Suivre le flux des commentaires

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