Journal Alsa, esd, arts ... quelques tests, beaucoups de questions

Posté par  (site Web personnel) .
Étiquettes : aucune
0
5
mar.
2004
Cher LinuxFR, voila mon premier journal.

Cette soirée fu la soirée prise de tête "son".
J'utilise Alsa avec un noyau 2.6, compatibilitée OSS activée - distribution Gentoo, jusque là pas trop de restrictions. Window Maker comme window manager donc pas grand chose de configuré de base ...

Aux choix, 2 démons : ESounD (esd) ou Analog Real time Synthesizer (arts).

--== ESD ==--
+ Marche pas trop mal.
+ permet à plusieurs applications d'utiliser le son
+ permet à chaque application de contrôler son propre volume (xmms, mplayer ...).
- Gros problème, il y a un décalage de l'orde de la seconde lors de la difusion du son (un retard). En général, c'est très peu gênant mais dans le cas d'un film, c'est super désagréable : quand quelqu'un claque une porte, on a l'image avant le son, quand quelqu'un parle, on a pas l'impression que c'est le bon gars qui parle.
- contrôle de volume assez lent dans les applications.
- esd viens de gnome, rien de grave, mais un démon indépendant aurait été mieux ...

--== ARTS ==--
+ Comme c'est dit dans le nom, c'est relativement temps réel ... pas de décalage entre le son et l'image.
+ Ce démon propose également à plusieurs applications de jouer du son.
- apparemment pour le controle du volume, certaine passent (xmms), d'autre ne peuvent pas controler leur volume (mplayer).
- Utilise tout le cpu dispo (load average de 1 sans rien faire)
- Dès que le cpu est utilisé pour autre chose (afficher une page dans mozilla, lancer xcalc ...) le son "saute" comme un vieux vinyle : légère coupure du son très désagréable.
- arts "vient" de chez kde, ca pue. Leur histoire de DCOP me gonfle et je sait meme pas a quoi ca sert :-)

--== Ma solution ==--
* J'utilise ESD pour toutes mes applis
* à l'exeption de mplayer qui utilise OSS et qui n'a donc pas de décalage entre le son et l'image.
-> Cette solution n'est pas très élégante ...
-> Inconvénient, je ne peut lancer qu'un seul mplayer.
-> Pour les applis dont on ne peut pas choisir le driver son (oss/alsa/esd/arts ...) comme par exemple xawdecode (en mode déscrambouillage C+, en moe normal, ca passe par le line-in ou autre), J'ai l'impression qu'alsa est souvent pris par default : si le son n'est pas utilisé, cette appli se réserve le driver alsa et bloque toutes les autres, si non elle n'arrive pas a utiliser le son. En gros, c'est le fonctionnement classique d'ALSA.
-> mozilla a l'air de passer par esd, donc no pb.


Hors sujet (pas tant que ça en fait) :

Est ce que esd ou arts permettrait de contrôler le volume de mozilla ? De plus en plus de site on de la musique, voir de la musique qui tourne en boucle, mozilla n'a toujours pas son contrôle de volume. Au pire, une fonction du style "arts --control mozilla-bin sound_off".


TODO : Non encore étudié (plutot pas encore compris comment ca marche).
* l'utilisation de 2 cartes son pour faire du Dolby Pro Digital Surround méga bass Numérique Spatial ... du 4 canaux quoi.
* parait il que l'on peut configurer une entrée ligne en sortie sur beaucoup de chip "récent", ca permettrait de faire du 4 canaux moins bidouille.
* utilisation de jack pour faire semblant de faire le DJ et notament utiliser une sortie diffusion et une sortie pré-écoute au casque (sou win ca marche super bien depuis longtemps).

ps : pour les questions, n'hésitez pas ... j'attend vos propositions et de savoir comment vous êtes configurés.
pps : j'ai pas encore trouvé de doc bien faite pour configurer alsa et savoir ce que peut faire alsa

Nico_206
  • # Re: Alsa, esd, arts ... quelques tests, beaucoups de questions

    Posté par  . Évalué à 2.

    > esd viens de gnome, rien de grave, mais un démon indépendant aurait été mieux ...

    ESound (aka ESD) est un démon totalement indépendant de GNOME : il n'utilise que la bibliothèque audiofile (voir ci-dessous) qui n'a aucun lien avec GNOME et qui d'ailleurs aussi utilisée par ArtsD. ESound est utilisé par GNOME en tant que serveur de son officiel, mais cela ne signifie pas qu'il est lié à GNOME de telle sorte que pour l'utiliser, il faille installer GNOME.

    $ ldd $(which esd)
    libesd.so.0 => /usr/lib/libesd.so.0 (0x40028000)
    libaudiofile.so.0 => /usr/lib/libaudiofile.so.0 (0x40033000)
    libasound.so.2 => /usr/lib/libasound.so.2 (0x40058000)
    libm.so.6 => /lib/libm.so.6 (0x400fd000)
    libdl.so.2 => /lib/libdl.so.2 (0x40120000)
    libpthread.so.0 => /lib/libpthread.so.0 (0x40123000)
    libc.so.6 => /lib/libc.so.6 (0x40174000)
    /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

    « Je vous présente les moines Shaolin : ils recherchent la Tranquillité de l'Esprit et la Paix de l'Âme à travers le Meurtre à Main Nue »

  • # Re: Alsa, esd, arts ... quelques tests, beaucoups de questions

    Posté par  (site Web personnel) . Évalué à 0.

    Ca t'aidera pas beaucoup, mais avec une vraie carte son et ses drivers oss tu peux espere partager ta carte son sans problemes sans serveur de son... c'est ce que je fais sur ma sblive...

    Sinon, alsa doit pouvoir faire ca, toujours sans serveur de son et avec du matos supportant pas ca a la base, mais ca depend des drivers et j'ai pas de doc sous la main, je suis resté en oss moi :)
    • [^] # Re: Alsa, esd, arts ... quelques tests, beaucoups de questions

      Posté par  . Évalué à 1.

      Nan, Alsa supporte le multi canal si la carte le supporte, c'est tout.
      Pareil pour OSS.
      Mais Alsa c'est l'avenir...
      Et moi je vais me coucher (rq pour dormir 1h30 je sais pas trop si c'est utile ?)
    • [^] # Re: Alsa, esd, arts ... quelques tests, beaucoups de questions

      Posté par  . Évalué à 4.

      > Sinon, alsa doit pouvoir faire ca, toujours sans serveur de son et avec du matos supportant pas ca a la base, mais ca depend des drivers et j'ai pas de doc sous la main, je suis resté en oss moi :)

      oui, moi avec ma nforce2 (réputer pour ne pas supporter le multichannel), j'ai réussi à configurer alsa pour avoir plusieurs sont en même temps sans passer par les serveurs de sons
      il faut utiliser le plugin de sorti dmix et le configurer bien comme il faut (et c'est pas évident !)

      c'est pas encore top au point (avec mplayer je dois un peu bidouiller) mais dans l'ensemble ça marche bien et ce, sans reconfigurer les appli
      • [^] # Re: Alsa, esd, arts ... quelques tests, beaucoups de questions

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

        Quand vous parlez multicanal, ca veux dire 2 canaux ? ca j'avait réussi a faire mais c'est pas le but non plus, une appli sur un canal, une autre sur le second ... (ou peut etre 3 ou 4 canaux, je ne me rapelles plus).

        Tu m'intéresses, j'ai aussi un NForce 2
        Je peut vois a quoi ressemble tes fichiers de conf relatif à alsa ?

        En tout cas, si on peut se passer de serveur de son, ca serait cool !
        • [^] # Re: Alsa, esd, arts ... quelques tests, beaucoups de questions

          Posté par  . Évalué à 1.

          oui, c'est ça que je voulais dire (j'ai peut-être mal choisis les termes) :
          plusieurs applis peuvent utiliser le device pcm en même temps.

          Pour ça j'utilise un ~/.asoundrc :

          pcm.dmix_44 {
          type dmix
          ipc_key 321456 # any unique value
          ipc_key_add_uid true
          slave {
          pcm "hw:0,0"
          format S32_LE
          rate 48000
          }
          }

          pcm.dmixoss {
          type dmix
          ipc_key 321456 # any unique value
          ipc_key_add_uid true
          slave {
          pcm "hw:0,0"
          period_time 0
          period_size 1024 # must be power of 2
          buffer_size 8192 # ditto
          rate 48000
          }
          }

          pcm.!default {
          type plug
          slave.pcm "dmix_44"
          }

          pcm.dsp0 {
          type plug
          slave.pcm "dmixoss"
          }

          ctl.mixer0 {
          type hw
          card 0
          }


          c'est pas encore parfait.
          comme je l'ai dit avant, dans mplayer je dois préciser ce que j'utilise, mais le plus chiant c'est qu'il ne faut pas préciser à chaque fois la même chose :/
          en général, l'audio output de mplayer (ao) doit être alsa9:pcm.dmixoss
          le pb c'est que certaine video/music au format microsoftien (wm*) fonctionnent en vitesse accélérée et il faut alors utiliser la sortie oss (mais là il monopolise le device à lui tout seul)

          dans xmms on met juste le alsa par défaut
          pour les bruitages de kde il suffit d'utiliser la commande aplay (aplay son.wav)
          et pour les jeux il n'y a rien de spécifiques à dmix mais par contre depuis alsa 1.0.2c je dois faire :
          echo "et.x86 0 0 direct" > /proc/asound/card0/pcm0p/oss
          par exemple, dans le cas de enemy-territory
          • [^] # Re: Alsa, esd, arts ... quelques tests, beaucoups de questions

            Posté par  (site Web personnel) . Évalué à 1.

            Heu t'aurais une (autre que celle du site d'alsa) qui explique la configuration du plugin dmix, j'ai une sb 128 pci (ens1370) et je capte rien, ca serais simpa. merci.
          • [^] # Re: Alsa, esd, arts ... quelques tests, beaucoups de questions

            Posté par  (site Web personnel) . Évalué à 1.

            Ca y est, je suis dans le bain de la config d'alsa ...

            je comprend pas pkoi tu crée 2 truc (dmixoss et dmix_44) ?
            pkoi le default tu l'envoi sur dmix_44 et dsp0 sur dmixoss ?



            J'ai peut etre une idée ... je suis pas tres sur

            dsp0->dmixoss c'est pour les appli compatible oss
            default-> c'est pour les appli gérant alsa (essayant probablement de se connecter à /dev/adsp ?)

            ton format S32_LE c'est spécifique à ta carte son je suppose, mais pkoi ne pas le mettre dans le dmixoss ?
            • [^] # Re: Alsa, esd, arts ... quelques tests, beaucoups de questions

              Posté par  . Évalué à 1.

              alors là, il faudrait que je remette la main sur les docs, je ne sais plus (j'en ai lu trois en tout pour arriver à ce résultat)

              en fait j'ai pris un exemple sur l'une des trois doc, et je l'ai un peu modifié pour que ça marche chez moi, et quand ça a marché j'ai arreté de toucher :)
              si on ne tient pas compte de mplayer, dsp0 est effectivement pour les appli oss et default pour les appli alsa
              S32_LE regroupe plusieurs caractéristique standard que j'ai précisé à la main dans dmix_oss (parce que dans dmix_oss elle ne sont pas standard, il fallait les modifier pour que ça marche)
              pour le cas mplayer, c'est un peu le bordel, des fois faut utiliser dsp0 comme sorti, d'autre fois il faut tapper directement sur dmix.oss ... et parfois il ne veut rien entedre d'autre que la sorti oss directement :/ (et pour ce dernier, plus de multi channel)

              [HS]
              par contre chez moi ça ne marche pas du tout avec gstreamer
              ça vient pas de dmix mais du fait que ma nforce2 n'échantillone qu'en 48000 au lieu des 44100 standard ... en fait cette nforce2 a 2 gros pb : pas de multi channel, et échantillonage à 48k seulement, donc un peu pénible à faire fonctionner
              bref, si qq'un arrive à faire fonctionner sa nforce2 sous debian sid avec gstreamer, ça m'interesse :)
          • [^] # Re: Alsa, esd, arts ... quelques tests, beaucoups de questions

            Posté par  . Évalué à 1.

            Je viens juste de découvrir cette solution sur les forums Gentoo. Le fichier .asoundrc est un peu différent de celui présenté ici mais ca marche chez moi.
            Desormais j'arrive a jouer du son avec XMMS et lancer une video avec mplayer: c'est ce que je cherchais a faire.
            Mais il me reste encore un problème...avec Xawdecode et son piti plugin qui va bien. En effet, lorsque je lance xawdecode, j'obtient:

            ALSA lib pcm_dmix.c:812:(snd_pcm_dmix_open) The dmix plugin supports only playback stream
            snd_pcm_open in: Invalid argument
            Exiting Nagraudio thread.


            Je pense que je vais me plonger un peu dans la doc d'ALSA mais en attendant, si qu'un a une solution qui permettrai de a xawdecode de ne pas utiliser dmix mais directement hw0, toutes tentatives sont les bienvenues
  • # Re: Alsa, esd, arts ... quelques tests, beaucoups de questions

    Posté par  (site Web personnel) . Évalué à 1.

    Pour info si on est sur Debian il vaut mieux mettre le package libesd-alsa0 plutôt que de mettre l'émulation oss sur alsa...

    http://packages.debian.org/unstable/libs/libesd-alsa0(...)
  • # Re: Alsa, esd, arts ... quelques tests, beaucoups de questions

    Posté par  . Évalué à 1.

    Gros problème, il y a un décalage de l'orde de la seconde lors de la difusion du son (un retard)

    Je n'ai pas ce probleme la avec Esd, il fontionne nikel chez moi.
  • # Re: Alsa, esd, arts ... quelques tests, beaucoups de questions

    Posté par  . Évalué à 0.

    comme par exemple xawdecode (en mode déscrambouillage C+, en moe normal, ca passe par le line-in ou autre)

    A part ça, xdtv (ex xawdecode) ne sert pas à décrypter canal + ?
    http://linuxfr.org/comments/344173.html(...)

    Je rappelle que normalement il faut un décodeur par téléviseur (même si dans la pratique, ils ne controlent pas et sont déjà bien contents qu'on en prennent un !)
  • # Re: Alsa, esd, arts ... quelques tests, beaucoups de questions

    Posté par  (site Web personnel) . Évalué à -1.

    --== ARTS ==--
    + Comme c'est dit dans le nom, c'est relativement temps réel ... pas de décalage entre le son et l'image.


    Le nom n'a rien à voir avec ce que tu imagines.

    + Ce démon propose également à plusieurs applications de jouer du son.

    Yep.

    - apparemment pour le controle du volume, certaine passent (xmms), d'autre ne peuvent pas controler leur volume (mplayer).

    Pour résoudre tous tes problèmes de volume sur ordinateur (ou presque), met le son « fort » sur ta carte son (au max sans que ça sature), et utilise le réglage de volume de ton ampli, de ta mini-chaîne ou de tes hauts-parleurs.

    - Utilise tout le cpu dispo (load average de 1 sans rien faire)

    Pas sur mon Pentium II @ 275 MHz. Là je suis en train de faire tourner KDE, Mozilla, de taper au clavier, et j'ai un load average de 0.20.

    - Dès que le cpu est utilisé pour autre chose (afficher une page dans mozilla, lancer xcalc ...) le son "saute" comme un vieux vinyle : légère coupure du son très désagréable.

    Pas si tu règles bien artsd. Double le nombre de tampons, passe en priorité « temps-réel ». Depuis que j'ai fait ça, plus de problème de coupure de son ici.

    - arts "vient" de chez kde, ca pue. Leur histoire de DCOP me gonfle et je sait meme pas a quoi ca sert :-)

    Voici un des commentaires les plus abrutis que j'aie jamais lu.
    • [^] # Re: Alsa, esd, arts ... quelques tests, beaucoups de questions

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

      > Le nom n'a rien à voir avec ce que tu imagines.
      Juste pour dire que sur ma config, artsd est un peu plus temps réel que esd.

      > Pour résoudre tous tes problèmes de volume sur ordinateur (ou presque), met le
      > son « fort » sur ta carte son (au max sans que ça sature), et utilise le réglage de
      > volume de ton ampli, de ta mini-chaîne ou de tes hauts-parleurs.

      Euh, tu oublie une partie du problème là ... le but étant de contrôler chaque volume séparément.

      > Pas sur mon Pentium II @ 275 MHz. Là je suis en train de faire tourner KDE, Mozilla,
      > de taper au clavier, et j'ai un load average de 0.20.

      J'ai bien compris que ce n'était pas une question de puissance du proco, mais bien une pb de config ...

      > Pas si tu règles bien artsd. Double le nombre de tampons, passe en priorité
      > « temps-réel ». Depuis que j'ai fait ça, plus de problème de coupure de son ici.

      Voila un commentaire constructif ... j'étudierais ces voies.

      > Voici un des commentaires les plus abrutis que j'aie jamais lu.
      La question déguisé était "pourrait on avoir une brève présentation de dcop pour ceux qui voulait commenter cette ligne.
      Je ne rigoles pas, dcop me fait vraiment chier (ou m'a fait, là j'évite d'utiliser) : j'ai eu quelques plantage de Licq a ce propos, dcop n'aime pas trop les environements non kde je pense, j'utilise WMaker.
      Pour le kde ca pue, le prend pas mal, c'est comme les gout et les couleurs, chacun ses idée.
      • [^] # Re: Alsa, esd, arts ... quelques tests, beaucoups de questions

        Posté par  . Évalué à 1.

        > Le nom n'a rien à voir avec ce que tu imagines.
        Juste pour dire que sur ma config, artsd est un peu plus temps réel que esd.


        "temps réel" ne veut pas dire ce que tu imagines.
        Tu dis "temps réel" en parlant de "faible latence". Attention, c'est pas pareil.
        • [^] # Re: Alsa, esd, arts ... quelques tests, beaucoups de questions

          Posté par  (site Web personnel) . Évalué à 1.

          Temps réel peut vouloir dire plusieurs choses ...
          une définition "large" dit que tu est capable de traiter les données a la vitesse ou elles arrivent (debit d'entré egal au débit de sortie par ex) là on ne parle pas de latence : par ex un magnétoscope est un système temps réel. Un transcode qui encode a une vitesse supérieure a 1x peu être considéré comme temps réel dans une certaine mesure.

          Une autre définition est que tu es capable de fournir la sortie d'un traitement en un temps fixé (os temps réel -> garantir un temps d'exécution max, on parle de date butoire - quand je clicke sur un bouton, indépendament de la charge cpu, je peut garantir une réponse en xxx miliseconde sur un système temps réel)
          par ex un abs doit etre temps réel car il doit tjs réagir vite (tjs réagir en xxx milisecondes)
          Certe temps réel ne veux pas dire latence nulle mais veu souvent dire latence faible, inférieure à une valeur critique dépendant du système. (apres la notion de faible dépend de tes besoins).

          Ai je été clair ? Il y aurait de quoi faire tout un journal sur le sujet ... difficile de résumer.
      • [^] # Re: Alsa, esd, arts ... quelques tests, beaucoups de questions

        Posté par  (site Web personnel) . Évalué à 3.

        La question déguisé était "pourrait on avoir une brève présentation de dcop pour ceux qui voulait commenter cette ligne.
        Je ne rigoles pas, dcop me fait vraiment chier (ou m'a fait, là j'évite d'utiliser)


        http://www.google.fr/search?q=dcop(...)

        DCOP c'est vraiment énorme, ça permet de scripter toute application KDE. Forcément c'est plus utile si tu es sous KDE, mais par exemple j'utilise xbindkeys pour connecter une commande à une touche ou une séquence de touches. Et ben j'ai mappé une touche à : "dcop kmix Mixer0 increaseVolume 0" et hop, un appui sur cette touche augmente mon volume général. Pareil pour diminuer le volume. Quasiment toutes les applis KDE offrent une interface DCOP pour lancer leurs fonctions. Les possibilités sont immenses. Par exemple, lance "kdcop" qui est un navigateur dans les fonctions dispo.
  • # Re: Alsa, esd, arts ... quelques tests, beaucoups de questions

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

    Si tu veux faire de l'audio professionnelle à très faible latence, va voir du côté de Jack Audio Connection Kit : http://jackit.sourceforge.net(...)
    C'est de loin le plus puissant et ça n'a même pas d'équivalent sous windows. Ca doit être un peu plus dur à mettre en place par contre.
  • # Re: Alsa, esd, arts ... quelques tests, beaucoups de questions

    Posté par  . Évalué à 3.

    -> mozilla a l'air de passer par esd, donc no pb.

    Tiens, à propos de son sous Mozilla, comment faire pour que ce dernier joue des sons, entre-autres à la réception des mails ? Je n'ai jamais réussi à faire ça. Curieusement, j'ai quelques sites qui jouent pourtant de la musique, mais c'est sans doute via les plugins Flash.

    J'ai cherché sur le net, et j'en ai trouvé plein qui posaient la même question ... sans qu'il y a de réponse !

Suivre le flux des commentaires

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