• [^] # Re: Problème résolu pour mplayer

    Posté par . En réponse au journal Problème résolu pour mplayer. Évalué à 1.

    si si, on peut. Bon, c'est en user-space, donc c'est presque un serveur de sons, mais c'est intégré à alsa, donc totalement transparent pour toutes les applications.

    Alsa permet de créer des périphériques virtuels, qui ne correspondent à aucun matériel, mais qui permettent de faire tout un tas de manipulations sur les flux sonores. Si rien de particulier n'est configuré, il existe un seul périphérique, appelé "default" (logique), et qui se contente d'envoyer le son au vrai périphérique, appelé "hardware" (la carte son, en gros). En tout cas, c'était comme ça chez moi :-).

    L'idée, c'est de paramétrer un module appelé "dmix", qui est capable de recevoir plusieurs flux (envoyés par les applications), de les fusionner, et d'envoyer le résultat au hardware. Super, c'est juste ce qu'il nous faut. Sauf que, ce "dmix" ne sais pas gérer les fréquences d'échantillonnages multiples : il faut forcément que tous les flux qu'il reçoit soient de même fréquence que le flux final envoyé au hardware. Pour avoir une qualité de son normale, le flux dmix -> hardware sera à 44100 ou 48000 Hz. Concrêtement, si vous lisez une vidéo ou un fichier son avec un taux d'échantillonage plus faible, le fichier sera lu trop rapidement (avec un son trop aigu).
    Pour éviter ça, il y a le module "plug". Son rôle et de recevoir les flux envoyés par les applications, de tous les convertir en 44100 ou 48000, et de les envoyer à "dmix", qui lui va les fusionner et les envoyer au hardware.

    Enfin, pour éviter de devoir reconfigurer toutes les applications, il faut faire en sorte que le "plug" soit le périphérique par défaut, pour que les applications y envoient leur flux sonore.

    Donc au final, on a : application -> plug -> dmix -> carte son.

    Pour régler tout ça, ça se passe dans le ~/.asoundrc. Le mien est ici :

    http://www.macolu.org/.asoundrc(...)

    Voilà, c'est ce que j'ai fait chez moi, et ça permet d'avoir plusieurs sons en même temps sur toutes les cartes sons, même les plus basiques.

    Avec cette méthode, j'arrive à avoir plusieurs sons dans toutes les applis que j'utilise : mplayer, xmms, toutes les applis SDL, et j'en oublie sûrement.

    Pour les cartes plus évoluées, et qui gèrent le mixage en hard, je en pense pas qu'il soit nécessaire de faire tout ça.