PULSEAUDIO : Créer et diriger un sink vers sortie audio

[size=85]Ce thread s’inscrit dans la continuité de Lier une application à une sortie audio, mais vous n’avez pas besoin de le lire pour m’aider ^^.[/size]

Bonjour,

Mes sorties audio sont sur la même carte, en tant que “profiles” du point de vue de pactl.
Habituellement, je change de profil via la ligne de commande

pacmd set-card-profile 1 output:analog-stereo+input:analog-stereo

J’aimerais créer des cartes virtuelles qui pointent vers les “profiles” de ma carte audio.
J’ai essayé “man pactl” mais je ne vois pas une telle commande.

Pouvez-vous m’aider à créer (et supprimer par la suite) ces cartes son virtuelles svp ?

Merci d’avance

Edit : Post clé pour la compréhension (ya des images ^^) : Post #4

freedesktop.org/wiki/Softwar … /Profiles/

Writing pulseaudio profiles

En debian, les profils sont stockés en

/usr/share/pulseaudio/alsa-mixer/profile-sets

(debian nicht lib, /usr/share/lib/pulseaudio/alsa-mixer/profile-sets).Pour créer un profil foobar,s’inspirer du modèle et des explications en

/usr/share/pulseaudio/alsa-mixer/profile-sets/default.conf

D’ac, je m’y plonge le week-end prochain (car j’ai beaucoup à faire cette semaine).

En attendant, tu ne connaitrais pas un moyen de le faire via pactl plutôt ?
Mon but serait de lancer un script quand j’ai besoin de ces sorties.

Merci encore

Je n’ai pas vu comment créer un sink grâce à ce que tu m’as indiqué.

Par contre, grâce à toi, je sais comment ajouter un profil à un sink existant.
MAIS, je ne sais pas dans quel fichier écrire les instructions : il a 10 fichiers dans

/usr/share/pulseaudio/alsa-mixer/profile-sets

Comment savoir dans lequel écrire ?

Voilà un schéma récapitulatif de ce que je voudrais faire (d’après ce que j’ai compris du système son linux) :


Mon but est de créer une sortie virtuelle qui sera listée dans “paramètres du son” - “Sortie”

Merci de votre aide

Je crois avoir une piste : blog.webtito.be/2014/01/05/carte … ulseaudio/

Je ne m’en sors pas :frowning:.

Voilà mes sorties audio

~$ ls /proc/asound/card*/codec* | xargs grep "\[\(Jack\|Fixed\|Both\)"
/proc/asound/card0/codec#2:  Pin Default 0x99430140: [Fixed] SPDIF Out at Int ATAPI
/proc/asound/card0/codec#2:  Pin Default 0x01014410: [Jack] Line Out at Ext Rear
/proc/asound/card0/codec#2:  Pin Default 0x01011412: [Jack] Line Out at Ext Rear
/proc/asound/card0/codec#2:  Pin Default 0x01016411: [Jack] Line Out at Ext Rear
/proc/asound/card0/codec#2:  Pin Default 0x01012414: [Jack] Line Out at Ext Rear
/proc/asound/card0/codec#2:  Pin Default 0x01a19c50: [Jack] Mic at Ext Rear
/proc/asound/card0/codec#2:  Pin Default 0x02a19c60: [Jack] Mic at Ext Front
/proc/asound/card0/codec#2:  Pin Default 0x0181345f: [Jack] Line In at Ext Rear
/proc/asound/card0/codec#2:  Pin Default 0x02214c20: [Jack] HP Out at Ext Front
/proc/asound/card0/codec#2:  Pin Default 0x01452130: [Jack] SPDIF Out at Ext Rear
/proc/asound/card0/codec#3:  Pin Default 0x18560030: [Jack] Digital Out at Int HDMI
/proc/asound/card2/codec#0:  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI

Je voudrais créer 1 sink qui envoie le son sur “SPDIF Out at Int ATAPI”
et 1 sink qui l’envoie sur “Line Out at Ext Rear”

Pourriez-vous me donner les étapes svp ?

Up :116

freedesktop.org/wiki/Softwar … #index38h3

Pour savoir comment renseigner source= et sink= , voir

$ pacmd list-sources
$ pacmd list-sinks

Hello

Tu me montres comment lier une source à un sink, mais mon problème est de l’autre côté : lier un sink à une sortie (un profile d’un autre sink).

Je crois que tu avais essayé de me l’expliquer dans tes posts précédents, mais je n’ai pas compris.

Désolé de mal avoir expliqué mon problème :blush:.
Voilà un schéma. Le vert est à implémenter.

up :116

Enfin !!!
J’ai pris mon courage (et mon temps) à 2 mains, je me suis plongé dans la compréhension de PulseAudio en profondeur.

J’ai réussi à pondre une ligne de commande qui me fait ce que je veux :

$ pactl load-module module-alsa-card device_id="PCH" card_name="virt" sink_name="virtu" profile=iec958-stereo

Explications :
je charge un module qui créé une carte PulseAudio virtuelle et qui lui alloue un sink. Il prend obligatoirement en entrée une carte physique, détectée par ALSA.
Quelles sont les cartes ALSA ?

$ cat /proc/asound/cards
 0 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0xfbff4000 irq 46
 1 [U0x46d0x8b5    ]: USB-Audio - USB Device 0x46d:0x8b5
                      USB Device 0x46d:0x8b5 at usb-0000:04:01.0-3, full speed
 2 [Generic        ]: HDA-Intel - HD-Audio Generic
                      HD-Audio Generic at 0xfbafc000 irq 47

C’est l’argument device_id.
card_name : nom que je donne à la carte
sink_name : nom que je donne au sink
profile : le profil (du sink de la carte) sur lequel rediriger ce qui arrive sur le nouveau sink (de la carte virtuelle)

Argh… Il manque la ligne de commande, c’est bête, j’aurais bien eut besoin… Je sais, je remonte un topic, mais il en manque un bout! ^^’
Bon, ben si quelqu’un se rappelle…

Voilà, j’ai récupéré la ligne de commande en remettant en forme les messages de ce fil de discussion.
Malheureusement, les images sont inaccessibles.

Formidable! Un énorme merci, MicP! Et accessoirement, 4ans après, TheJeje20…

1 J'aime