3 votes

MPD pour jouer de la musique sur un seul canal de ma carte multi-canaux?

J'ai installé un serveur Ubuntu 12-04 LTS pour une application spéciale de musique d'ambiance, où j'utilise le serveur avec une carte son Asus Xonar DS.

L'installation est réussie, le MPD fonctionne, la carte son fonctionne avec Alsa et ses bibliothèques installées sauf pour alsa-oss. Alsamixer fonctionne bien avec le contrôle du volume gauche/droite de chaque canal à travers les raccourcis de touches Q/Z lorsque alsamixer est ouvert dans le terminal.

En utilisant la commande speaker-test -Dplug:surround71 -c8 -l1 -twav, je peux entendre chaque message vocal sortant de la carte au bon connecteur, donc les messages vocaux "droit avant / gauche avant" viennent du premier port de sortie à l'arrière de la carte, tandis que les autres sorties sont silencieuses... et ainsi de suite.

Le problème est que le MPD joue simultanément le même audio sur toutes les sorties. J'ai essayé différentes configurations ces 12 derniers jours sans succès, y compris en essayant de mettre en place des mappings dans le fichier /etc/asound.conf.

Est-ce que quelqu'un peut m'aider à réaliser ce qui précède, ou me diriger vers la bonne configuration du MPD ou de asound.conf ?

1voto

walkerk Points 272

J'ai une carte Asus Xonar DSX. J'utilise uniquement alsa sur mon système basé sur Ubuntu 13.04 et j'ai divisé la carte en 4 canaux distincts, donc je peux envoyer l'audio à n'importe lequel d'entre eux en utilisant n'importe quel client mpd. Mon fichier /etc/asound.conf est ici :

pcm\_slave.eightchannels {
        pcm "hw:0,0"            # or "hw:1,0" for the second card
        #pcm "CARD=DSX,DEV=0"
        channels 8
}

pcm.stereo1 {
        type plug
        slave.pcm {
                type dshare
                ipc\_key 87654321
                slave eightchannels
                bindings \[ 2 3 \]
        }
}
pcm.stereo2 {
        type plug
        slave.pcm {
                type dshare
                ipc\_key 87654321
                slave eightchannels
                bindings \[ 4 5 \]
        }
}
pcm.stereo3 {
        type plug
        slave.pcm {
                type dshare
                ipc\_key 87654321
                slave eightchannels
                bindings \[ 6 7 \]
        }
}
pcm.stereo4 {
        type plug
        slave.pcm {
                type dshare
                ipc\_key 87654321
                slave eightchannels
                bindings \[ 0 1 \]
        }
}

Les sorties dans /etc/mpd.conf sont configurées comme ceci :

audio\_output {
        type            "alsa"
        name            "Schlofzëmmer"
        mixer\_device    "hw:0"
        device          "stereo1"
        mixer\_control   "Master"
        use\_mmap        "yes"
}

audio\_output {
        type            "alsa"
        name            "Kichen"
        mixer\_device    "hw:0"
        device          "stereo2"
        mixer\_control   "Master"
        use\_mmap        "yes"
}

audio\_output {
        type            "alsa"
        name            "Living"
        mixer\_device    "hw:0"
        device          "stereo3"
        mixer\_control   "Master"
        use\_mmap        "yes"
}

audio\_output {
        type            "alsa"
        name            "Iesszëmmer"
        mixer\_device    "hw:0"
        device          "stereo4"
        mixer\_control   "Master"
        use\_mmap        "yes"
}

De cette façon, je peux choisir sur quelle(s) sortie(s) (paires d'enceintes) la musique se joue.

0voto

trustyfrog Points 4160

Vous pourriez essayer le serveur audio JACK, vous auriez à le remplacer par ALSA, mais si je me souviens bien, il y a 3 ans, vous pouviez spécifier la sortie et l'entrée exactes.

Je ne sais pas si cela fonctionnerait bien avec votre propre application, mais vous pouvez certainement essayer. (cela serait expliqué ici, en allemand)

Je ne sais pas si je vous ai donné un indice ou si j'ai juste perdu votre temps, faites le moi savoir, spheniscida

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X