Forum Linux.général Alsa, 2 cartes son...

Posté par (page perso) .
Tags : aucun
0
12
août
2004
Je possède deux cartes son, l'une intégrée à la carte mère, l'autre sur bus PCI. Alsa, comme OSS en son temps pour la carte PCI, les reconnaissent très bien, tout fonctionne.
Cependant, j'ai cherché comment les utiliser simultanément, jouer la même chose, ou presque, sur chaque carte, imitant un 4.1 en quelque sorte, mais je ne trouve rien, et ne voit pas du tout comment faire, je me tourne donc vers toi.

Une autre question beaucoup moins importantes, il y a déjà deux ans, si mes souvenirs sont bon, j'utilisais Alsa 0.9 avec cette même carte PCI (ens1371) et j'avais pu jouer deux sons simultanément, sans rien faire (à part évidement l'installation de ces drivers). J'ai ré-essayé récemment, mais n'y arrive plus. Serait-ce le passage de ces drivers à ceux inclus dans le 2.6? Une différence dans la configuration par défaut? J'ignore depuis quand cela ne marche pas, et ne me servant que rarement (jamais?) d'une telle fonctionnalité, la question n'est que théorique, pour ma culture générale.

Si cela est de quelque importance, je suis sous Debian Sid.

PS: le correcteur ne connaît pas Alsa, ni Sid, c'est un peu dommage non?
  • # dmix

    Posté par . Évalué à 2.

    Pour jouer deux sons en même temps nativement avec Alsa, il faut utiliser dmix qui permet de faire du mixage software. En googlant dmix et asound.conf, tu devrais trouver ton bonheur.
    • [^] # Re: dmix

      Posté par (page perso) . Évalué à 2.

      Merci de ta réponse, je cherche ça (je viens d'ailleurs de voir pourquoi ça avait fonctionné sans ça en faisant les recherches conseillé, rien à voir avec du mixage logicicel, mais en contrepartie, pas plus de 2 sons)
      Par contre, asound.conf semble ne plus être utilisé par Debian, je cherche maintenant comment faire entendre raison à ce garnement de Sid.
      Merci
      • [^] # Re: dmix

        Posté par (page perso) . Évalué à 2.

        asound.conf semble ne plus être utilisé par Debian

        rm asound.conf
        vi asound.conf

        Et ça tourne, j'avais du faire (encore) une connerie.
  • # .asoundrc

    Posté par . Évalué à 2.

    Pour utiliser les deux cartes sons en même temps regarde du côté du $HOME/.asoundrc
    Tu peux trouver de la documentation dans le wiki d'ALSA :
    http://alsa.opensrc.org(...)
    http://alsa.opensrc.org/index.php?page=TwoCardsAsOne(...)

    il y a aussi le rapport de stage de François Gueurce qui est disponible sur mon compte agnula:
    http://www.agnula.org/Members/p_tisserand/view(...)
    Sa partie sur .asoundrc est bien complète.

    Pour ce qui est de jouer les sons sur les 2 cartes, je ne sais pas si dans ALSA il y a quelque chose pour resynchroniser (ce dont je doute beaucoup).
    En effet les cartes sons ne sont que rarement à la bonne fréquence d'échantillonnage.
    Par exemple sur ta carte 1 tu vas avoir 44101 et sur ta carte 2 44099 alors que tu as demande 44100Hz.
    Cela signifie que à chaque seconde tu as 2 echantillons d'écart. Ce n'est pas énorme mais malheureusement cela va s'ajouter au cours du temps.
    Par exemple au bout de 2h, tu auras un délai de 300ms ce qui peut être très génant pour certaine application.
    • [^] # Re: .asoundrc

      Posté par . Évalué à 2.

      Normalement, on peux faire du rééchantillonage dynamique avec alsa, en utilisant la valeur rate.
      Typiquement, ~/asound.rc ou /etc/asound.conf se présente comme ça :

      # Entrée : Tout est redirigé vers le mixer
      pcm.dsp0 {
      type plug
      slave.pcm "dmixed"
      }

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

      ctl.!default {
      type hw
      card 0
      }

      # Le mixer
      pcm.dmixed {
      type dmix
      ipc_key 1024 # valeur arbitraire, devant être unique
      slave {
      pcm "carte_son"
      rate "la_bonne_fréquence" (44100 ou 48000)
      period_size 1024 # valeur générique
      }
      }

      # Sortie : la carte son
      pcm.carte_son {
      type hw
      card 0
      }
      • [^] # Re: .asoundrc

        Posté par . Évalué à 1.

        Je ne pense pas que l'utilisation de rate va fixer le problème.
        Car rate est côté software alors que la dérive d'horlge est côté hardware.

        En fait sur les cartes sons dites professionnelle, tu as la possibilité d'utiliser une horlge externe ceci afin de corriger ce problème de synchronisation.
    • [^] # Re: .asoundrc

      Posté par (page perso) . Évalué à 2.

      Tu peux trouver de la documentation dans le wiki d'ALSA
      J'avais vu ça aprés le premier message à cette entrée du forum, c'est effectivement trés complet.

      le rapport de stage de François Gueurce
      Je n'ai pas encore tout lu, mais ça a l'air prometteur en effet (pour l'instant, copie de la conf sans modif, ça marche si on aime les parasites. :) )

      Pour la synchronisation, je n'y avais pas pensé, mais mplayer permet de définir la fréquence a utiliser, il faudra que je teste si j'arrive a tout bien configurer.

      Merci!

Suivre le flux des commentaires

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