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

**URL:** <https://www.debian-fr.org/t/pulseaudio-creer-et-diriger-un-sink-vers-sortie-audio/64083>\
**Category:** Support Debian\
**Created:** [Février 21, 2016, 8:59 UTC](https://www.debian-fr.org/t/pulseaudio-creer-et-diriger-un-sink-vers-sortie-audio/64083 "2016-02-21T20:59:38Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![TheJeje20](https://www.debian-fr.org/user_avatar/www.debian-fr.org/thejeje20/32/3976_2.png) [@TheJeje20](https://www.debian-fr.org/u/TheJeje20)\
**Post date:** [Février 21, 2016, 8:59 UTC](https://www.debian-fr.org/t/pulseaudio-creer-et-diriger-un-sink-vers-sortie-audio/64083/1 "2016-02-21T20:59:38Z")

</div>

[size=85]Ce thread s’inscrit dans la continuité de [Lier une application à une sortie audio](https://www.debian-fr.org/audio-lier-chaque-application-avec-sa-sortie-audio-dediee-t50211.html), 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

```nohighlight
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](http://www.debian-fr.org/pulseaudio-creer-carte-son-virtuelle-t50276.html#p501269)

---

<div class="post-metadata">

**Author:** ![etxeberrizahar](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/e/43a26b/32.png) [@etxeberrizahar](https://www.debian-fr.org/u/etxeberrizahar)\
**Post date:** [Février 21, 2016, 8:59 UTC](https://www.debian-fr.org/t/pulseaudio-creer-et-diriger-un-sink-vers-sortie-audio/64083/2 "2016-02-21T20:59:38Z")

</div>

[freedesktop.org/wiki/Softwar … /Profiles/](http://www.freedesktop.org/wiki/Software/PulseAudio/Backends/ALSA/Profiles/)

Writing pulseaudio profiles

> [@](#):
>
> must exist in /usr/share/lib/pulseaudio/alsa-mixer/profile-sets  
> In the beginning of default.conf, you can see comments describing file format, but not in a great details. Here is an example of the statements from the real file:
> 
> ```plaintext
> [Mapping analog-stereo]
> device-strings = front:%f hw:%f
> channel-map = left,right
> paths-output = analog-output analog-output-speaker analog-output-desktop-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono
> paths-input = analog-input-front-mic-cx analog-input-rear-mic-cx analog-input-mic-cx analog-input-linein-cx
> priority = 10
> 
> ```
> 
> device-strings describes the ALSA device string(s) that PulseAudio uses to open the device, where «&nbsp;%f&nbsp;» specifies the card number (should always be present in the string).
> 
> paths-output and path-input specify names of different paths with .conf added

En debian, les profils sont stockés en

```plaintext
/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

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

```

---

<div class="post-metadata">

**Author:** ![TheJeje20](https://www.debian-fr.org/user_avatar/www.debian-fr.org/thejeje20/32/3976_2.png) [@TheJeje20](https://www.debian-fr.org/u/TheJeje20)\
**Post date:** [Février 21, 2016, 8:59 UTC](https://www.debian-fr.org/t/pulseaudio-creer-et-diriger-un-sink-vers-sortie-audio/64083/3 "2016-02-21T20:59:42Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![TheJeje20](https://www.debian-fr.org/user_avatar/www.debian-fr.org/thejeje20/32/3976_2.png) [@TheJeje20](https://www.debian-fr.org/u/TheJeje20)\
**Post date:** [Février 21, 2016, 9:02 UTC](https://www.debian-fr.org/t/pulseaudio-creer-et-diriger-un-sink-vers-sortie-audio/64083/4 "2016-02-21T21:02:29Z")

</div>

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

```nohighlight
/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) :  
 ![](https://www.debian-fr.org/uploads/default/original/2X/e/e14bdb38753b1f26a3f1d4c8740f8b99d66b6eba.png)  
  
Mon but est de créer une sortie virtuelle qui sera listée dans “paramètres du son” - “Sortie”  
 ![](https://www.debian-fr.org/uploads/default/original/2X/c/c846ea3f35d053e4afed207214c22089ca11d116.png)

Merci de votre aide

---

<div class="post-metadata">

**Author:** ![TheJeje20](https://www.debian-fr.org/user_avatar/www.debian-fr.org/thejeje20/32/3976_2.png) [@TheJeje20](https://www.debian-fr.org/u/TheJeje20)\
**Post date:** [Février 21, 2016, 9:02 UTC](https://www.debian-fr.org/t/pulseaudio-creer-et-diriger-un-sink-vers-sortie-audio/64083/5 "2016-02-21T21:02:43Z")

</div>

Je crois avoir une piste : [blog.webtito.be/2014/01/05/carte … ulseaudio/](http://blog.webtito.be/2014/01/05/carte-son-virtuelle-pour-pulseaudio/)

---

<div class="post-metadata">

**Author:** ![TheJeje20](https://www.debian-fr.org/user_avatar/www.debian-fr.org/thejeje20/32/3976_2.png) [@TheJeje20](https://www.debian-fr.org/u/TheJeje20)\
**Post date:** [Février 21, 2016, 9:02 UTC](https://www.debian-fr.org/t/pulseaudio-creer-et-diriger-un-sink-vers-sortie-audio/64083/6 "2016-02-21T21:02:43Z")

</div>

Je ne m’en sors pas ☹.

Voilà mes sorties audio

```nohighlight
~$ 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 ?

---

<div class="post-metadata">

**Author:** ![TheJeje20](https://www.debian-fr.org/user_avatar/www.debian-fr.org/thejeje20/32/3976_2.png) [@TheJeje20](https://www.debian-fr.org/u/TheJeje20)\
**Post date:** [Février 21, 2016, 9:04 UTC](https://www.debian-fr.org/t/pulseaudio-creer-et-diriger-un-sink-vers-sortie-audio/64083/7 "2016-02-21T21:04:02Z")

</div>

Up ![:116](https://www.debian-fr.org/uploads/default/original/1X/eae5ac515968d1af3d7141407139e6921afb85d3.gif "heu!")

---

<div class="post-metadata">

**Author:** ![etxeberrizahar](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/e/43a26b/32.png) [@etxeberrizahar](https://www.debian-fr.org/u/etxeberrizahar)\
**Post date:** [Février 21, 2016, 9:04 UTC](https://www.debian-fr.org/t/pulseaudio-creer-et-diriger-un-sink-vers-sortie-audio/64083/8 "2016-02-21T21:04:03Z")

</div>

[freedesktop.org/wiki/Softwar … #index38h3](http://www.freedesktop.org/wiki/Software/PulseAudio/FAQ/#index38h3)

> [@](#):
>
> How do I connect an input source to an output sink?
> 
> Load the loopback module.
> 
> The following example maps the output of a USB TV Tuner to the main sink.
> 
> ```plaintext
> pactl load-module module-loopback source="alsa_input.usb-Hauppauge_WinTV_HVR-950_4034194782-01-U0x20400x7200.analog-stereo" sink="alsa_output.pci-0000_00_08.0.analog-stereo"
> 
> ```

Pour savoir comment renseigner source= et sink= , voir

```plaintext
$ pacmd list-sources
$ pacmd list-sinks

```

---

<div class="post-metadata">

**Author:** ![TheJeje20](https://www.debian-fr.org/user_avatar/www.debian-fr.org/thejeje20/32/3976_2.png) [@TheJeje20](https://www.debian-fr.org/u/TheJeje20)\
**Post date:** [Février 21, 2016, 9:04 UTC](https://www.debian-fr.org/t/pulseaudio-creer-et-diriger-un-sink-vers-sortie-audio/64083/9 "2016-02-21T21:04:47Z")

</div>

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.

> [@TheJeje20](#):
>
> MAIS, je ne sais pas dans quel fichier écrire les instructions : il a 10 fichiers dans
> 
> ```plaintext
> /usr/share/pulseaudio/alsa-mixer/profile-sets
> 
> ```
> 
> Comment savoir dans lequel écrire ?

Désolé de mal avoir expliqué mon problème 😊.  
Voilà un schéma. Le vert est à implémenter.  
 ![](https://www.debian-fr.org/uploads/default/original/2X/8/8ba6f574146b1cb40837fda69130d9d8c8ba0863.png)

---

<div class="post-metadata">

**Author:** ![TheJeje20](https://www.debian-fr.org/user_avatar/www.debian-fr.org/thejeje20/32/3976_2.png) [@TheJeje20](https://www.debian-fr.org/u/TheJeje20)\
**Post date:** [Février 21, 2016, 9:06 UTC](https://www.debian-fr.org/t/pulseaudio-creer-et-diriger-un-sink-vers-sortie-audio/64083/10 "2016-02-21T21:06:56Z")

</div>

up ![:116](https://www.debian-fr.org/uploads/default/original/1X/eae5ac515968d1af3d7141407139e6921afb85d3.gif "heu!")

---

<div class="post-metadata">

**Author:** ![TheJeje20](https://www.debian-fr.org/user_avatar/www.debian-fr.org/thejeje20/32/3976_2.png) [@TheJeje20](https://www.debian-fr.org/u/TheJeje20)\
**Post date:** [Février 21, 2016, 9:11 UTC](https://www.debian-fr.org/t/pulseaudio-creer-et-diriger-un-sink-vers-sortie-audio/64083/11 "2016-02-21T21:11:15Z")

</div>

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 :

```nohighlight
$ 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 ?

```nohighlight
$ 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)

---

<div class="post-metadata">

**Author:** ![neb-toi](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/n/a88e4f/32.png) [@neb-toi](https://www.debian-fr.org/u/neb-toi)\
**Post date:** [Septembre 2, 2019, 4:51 UTC](https://www.debian-fr.org/t/pulseaudio-creer-et-diriger-un-sink-vers-sortie-audio/64083/12 "2019-09-02T16:51:42Z")

</div>

> [@TheJeje20](#):
>
> J’ai réussi à pondre une ligne de commande qui me fait ce que je veux :
> 
> ```plaintext
> $ pactl load-module module-alsa-card device_id="PCH" card_name="virt" sink_name="virtu" profile=iec958-stereo
> 
> ```
> 
> Explications :  
> je charge un mod

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…

---

<div class="post-metadata">

**Author:** ![anon29980398](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/f4b2a3/32.png) [@anon29980398](https://www.debian-fr.org/u/anon29980398)\
**Post date:** [Septembre 2, 2019, 5:19 UTC](https://www.debian-fr.org/t/pulseaudio-creer-et-diriger-un-sink-vers-sortie-audio/64083/13 "2019-09-02T17:19:11Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![neb-toi](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/n/a88e4f/32.png) [@neb-toi](https://www.debian-fr.org/u/neb-toi)\
**Post date:** [Septembre 2, 2019, 5:55 UTC](https://www.debian-fr.org/t/pulseaudio-creer-et-diriger-un-sink-vers-sortie-audio/64083/14 "2019-09-02T17:55:31Z")

</div>

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