#1 Le 01/10/2016, à 11:40
- Baltazard
Changer de matériel son en ligne de commande
Salut, je voudrai savoirs si c'est possible de switcher de matériel son avec des lignes de commande
histoire de se faire un petit script pour automatiser la chose
Voila mon problème, j'ai un problème d'ampli du coup en se moment j'utilise ma carte graphique pour
envoyer le son par l'hdmi pour utiliser les haut parleur de mon écran mais quand j'ai besoin
d'une bonne qualité audio je change manuellement de matériel dans les "préférence du son"
pour repasser sur mon dac où je peu brancher mon casque en directe en me passant de mon ampli
Et faire le changement a chaque fois éteindre/allumer les périphérique c'est bien chiant
Dernière modification par Baltazard (Le 01/10/2016, à 11:43)
Hors ligne
#2 Le 01/10/2016, à 13:13
- J5012
Re : Changer de matériel son en ligne de commande
les utilitaires de pulseaudio (paquet pulseaudio-utils) :
/usr/bin/pacat
/usr/bin/pacmd
/usr/bin/pactl
/usr/bin/padsp
/usr/bin/pamon
/usr/bin/paplay
/usr/bin/parec
/usr/bin/parecord
/usr/bin/pasuspender
/usr/bin/pax11publish
ex pour pacat : https://linux.die.net/man/1/pacat
→ option --device
Hors ligne
#3 Le 01/10/2016, à 16:02
- Baltazard
Re : Changer de matériel son en ligne de commande
J'ai regarder pour tousse le seule truc que j'ai remarqué c'est ça
-d | --device=SINKORSOURCE
Specify the symbolic name of the sink/source to play/record this stream on/from.
pour pacat mais je n'ai pas l'impression que ça soit ça
Hors ligne
#4 Le 02/10/2016, à 21:16
- J5012
Re : Changer de matériel son en ligne de commande
ca par ex: http://askubuntu.com/questions/150851/h … -with-alsa ?
Hors ligne
#5 Le 02/10/2016, à 21:50
- Baltazard
Re : Changer de matériel son en ligne de commande
Je viens d'essayer mais apparemment ça n'a pas l'air de marcher non plus
$ pactl set-sink-port alsa_output.pci-0000_04_00.1.hdmi-stereo-extra1 hdmi-output-1
Échec : Aucune entité de ce type
$ pactl set-sink-port 1 hdmi-output-1
Échec : Aucune entité de ce type
$ pactl list sinks
Sink #18
State: SUSPENDED
Name: alsa_output.pci-0000_04_00.1.hdmi-stereo-extra1
Description: GK110 HDMI Audio Digital Stereo (HDMI 2)
Driver: module-alsa-card.c
Sample Specification: s16le 2ch 48000Hz
Channel Map: front-left,front-right
Owner Module: 6
Mute: no
Volume: front-left: 41944 / 64% / -11,63 dB, front-right: 41944 / 64% / -11,63 dB
balance 0,00
Base Volume: 65536 / 100% / 0,00 dB
Monitor Source: alsa_output.pci-0000_04_00.1.hdmi-stereo-extra1.monitor
Latency: 0 usec, configured 0 usec
Flags: HARDWARE DECIBEL_VOLUME LATENCY SET_FORMATS
Properties:
alsa.resolution_bits = "16"
device.api = "alsa"
device.class = "sound"
alsa.class = "generic"
alsa.subclass = "generic-mix"
alsa.name = "HDMI 1"
alsa.id = "HDMI 1"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.device = "7"
alsa.card = "1"
alsa.card_name = "HDA NVidia"
alsa.long_card_name = "HDA NVidia at 0xf2ffc000 irq 17"
alsa.driver_name = "snd_hda_intel"
device.bus_path = "pci-0000:04:00.1"
sysfs.path = "/devices/pci0000:00/0000:00:03.0/0000:02:00.0/0000:03:00.0/0000:04:00.1/sound/card1"
device.bus = "pci"
device.vendor.id = "10de"
device.vendor.name = "NVIDIA Corporation"
device.product.id = "0e1a"
device.product.name = "GK110 HDMI Audio"
device.string = "hdmi:1,1"
device.buffering.buffer_size = "65536"
device.buffering.fragment_size = "32768"
device.access_mode = "mmap+timer"
device.profile.name = "hdmi-stereo-extra1"
device.profile.description = "Digital Stereo (HDMI 2)"
device.description = "GK110 HDMI Audio Digital Stereo (HDMI 2)"
alsa.mixer_name = "Nvidia GPU 44 HDMI/DP"
alsa.components = "HDA:10de0044,19da314c,00100100"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-pci"
Ports :
hdmi-output-1: HDMI / DisplayPort 2 (priority: 5800, available)
Port actif : hdmi-output-1
Formats :
pcm
Modération : merci à l'avenir d'utiliser les balises code (explications ici).
Dernière modification par cqfd93 (Le 02/10/2016, à 21:55)
Hors ligne
#6 Le 04/10/2016, à 12:25
- J5012
Re : Changer de matériel son en ligne de commande
l'exemple de askubuntu dit d'utiliser la commande set-default-sink ...
Hors ligne
#7 Le 04/10/2016, à 12:47
- Baltazard
Re : Changer de matériel son en ligne de commande
Malheureusement ça ne marche pas non plus (javais suivi le lien donné dans ton lien)
$ set-default-sink alsa_output.pci-0000_04_00.1.hdmi-stereo-extra1
set-default-sink : commande introuvable
Hors ligne
#8 Le 04/10/2016, à 13:19
- J5012
Re : Changer de matériel son en ligne de commande
il semble que dans ta version ubuntu , la commande set-default-sink soit dependante d'une autre commande pacmd
http://askubuntu.com/questions/71863/ho … back#72076
Hors ligne
#9 Le 04/10/2016, à 14:47
- Baltazard
Re : Changer de matériel son en ligne de commande
Avec la sorti HDMI activé
$ pacmd list-sinks
1 sink(s) available.
* index: 0
name: <alsa_output.pci-0000_04_00.1.hdmi-stereo-extra1>
driver: <module-alsa-card.c>
flags: HARDWARE DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
state: SUSPENDED
suspend cause: IDLE
priority: 9050
volume: front-left: 65536 / 100% / 0,00 dB, front-right: 65536 / 100% / 0,00 dB
balance 0,00
base volume: 65536 / 100% / 0,00 dB
volume steps: 65537
muted: no
current latency: 0,00 ms
max request: 0 KiB
max rewind: 0 KiB
monitor source: 0
sample spec: s16le 2ch 48000Hz
channel map: front-left,front-right
Stéréo
used by: 0
linked by: 1
configured latency: 0,00 ms; range is 0,50 .. 341,33 ms
card: 0 <alsa_card.pci-0000_04_00.1>
module: 6
properties:
alsa.resolution_bits = "16"
device.api = "alsa"
device.class = "sound"
alsa.class = "generic"
alsa.subclass = "generic-mix"
alsa.name = "HDMI 1"
alsa.id = "HDMI 1"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.device = "7"
alsa.card = "1"
alsa.card_name = "HDA NVidia"
alsa.long_card_name = "HDA NVidia at 0xf2ffc000 irq 17"
alsa.driver_name = "snd_hda_intel"
device.bus_path = "pci-0000:04:00.1"
sysfs.path = "/devices/pci0000:00/0000:00:03.0/0000:02:00.0/0000:03:00.0/0000:04:00.1/sound/card1"
device.bus = "pci"
device.vendor.id = "10de"
device.vendor.name = "NVIDIA Corporation"
device.product.id = "0e1a"
device.product.name = "GK110 HDMI Audio"
device.string = "hdmi:1,1"
device.buffering.buffer_size = "65536"
device.buffering.fragment_size = "32768"
device.access_mode = "mmap+timer"
device.profile.name = "hdmi-stereo-extra1"
device.profile.description = "Digital Stereo (HDMI 2)"
device.description = "GK110 HDMI Audio Digital Stereo (HDMI 2)"
alsa.mixer_name = "Nvidia GPU 44 HDMI/DP"
alsa.components = "HDA:10de0044,19da314c,00100100"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-pci"
ports:
hdmi-output-1: HDMI / DisplayPort 2 (priority 5800, latency offset 0 usec, available: yes)
properties:
device.icon_name = "video-display"
device.product.name = "PLB2712HDS"
active port: <hdmi-output-1>
Avec le DAC activé
$ pacmd list-sinks
1 sink(s) available.
* index: 2
name: <alsa_output.usb-E-MU_Systems__Inc._E-MU_0202___USB_E-MU-8A-3F02-07D90A14-02E75-8740T2A-00.iec958-stereo>
driver: <module-alsa-card.c>
flags: HARDWARE DECIBEL_VOLUME LATENCY
state: IDLE
suspend cause:
priority: 9048
volume: front-left: 49808 / 76% / -7,15 dB, front-right: 49808 / 76% / -7,15 dB
balance 0,00
base volume: 65536 / 100% / 0,00 dB
volume steps: 65537
muted: no
current latency: 102,27 ms
max request: 28 KiB
max rewind: 28 KiB
monitor source: 2
sample spec: s24le 2ch 48000Hz
channel map: front-left,front-right
Stéréo
used by: 0
linked by: 0
fixed latency: 100,00 ms
card: 2 <alsa_card.usb-E-MU_Systems__Inc._E-MU_0202___USB_E-MU-8A-3F02-07D90A14-02E75-8740T2A-00>
module: 26
properties:
alsa.resolution_bits = "24"
device.api = "alsa"
device.class = "sound"
alsa.class = "generic"
alsa.subclass = "generic-mix"
alsa.name = "USB Audio"
alsa.id = "USB Audio"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.device = "0"
alsa.card = "2"
alsa.card_name = "E-MU 0202 | USB"
alsa.long_card_name = "E-MU Systems, Inc. E-MU 0202 | USB at usb-0000:00:1a.1-2, full speed"
alsa.driver_name = "snd_usb_audio"
device.bus_path = "pci-0000:00:1a.1-usb-0:2:1.0"
sysfs.path = "/devices/pci0000:00/0000:00:1a.1/usb4/4-2/4-2:1.0/sound/card2"
udev.id = "usb-E-MU_Systems__Inc._E-MU_0202___USB_E-MU-8A-3F02-07D90A14-02E75-8740T2A-00"
device.bus = "usb"
device.vendor.id = "041e"
device.vendor.name = "Creative Technology, Ltd"
device.product.id = "3f02"
device.product.name = "E-Mu 0202"
device.serial = "E-MU_Systems__Inc._E-MU_0202___USB_E-MU-8A-3F02-07D90A14-02E75-8740T2A"
device.string = "iec958:2"
device.buffering.buffer_size = "28800"
device.buffering.fragment_size = "7200"
device.access_mode = "mmap"
device.profile.name = "iec958-stereo"
device.profile.description = "Stéréo numérique (IEC958)"
device.description = "E-Mu 0202 Stéréo numérique (IEC958)"
alsa.mixer_name = "USB Mixer"
alsa.components = "USB041e:3f02"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-usb"
ports:
iec958-stereo-output: Sortie numérique (S/PDIF) (priority 0, latency offset 0 usec, available: unknown)
properties:
active port: <iec958-stereo-output>
hdmi -> index 0 -> alsa_output.pci-0000_04_00.1.hdmi-stereo-extra1
dac -> index 2 -> alsa_output.usb-E-MU_Systems__Inc._E-MU_0202___USB_E-MU-8A-3F02-07D90A14-02E75-8740T2A-00.iec958-stereo
J'ai édité /etc/pulse/default.pa et rajouté "restore_device=false" a la ligne "load-module module-stream-restore"
mais j’obtiens
$ pacmd set-default-sink 2
Sink 2 does not exist.
Hors ligne
#10 Le 05/10/2016, à 23:33
- J5012
Re : Changer de matériel son en ligne de commande
si tu modifies default.pa à la main
la commande est inutile ...
pacmd est utile si tu l'utilises pour activer l'un ou l'autre sortie en la mettant en sortie primaire quand les deux sorties sont activées (le but de cette commande etant de ne pas toucher à chaque fois aux reglages materiels)
Hors ligne
#11 Le 06/10/2016, à 14:45
- Baltazard
Re : Changer de matériel son en ligne de commande
J'ai essayer sans modifier le fichier, avec les 2 sorties activés mais ça ne marche pas non plus
Laisse tomber c'est pas grave, c’était intéressent si il y avais une commende pour passer une sortie
sur éteint dans Préférences du son et une commande pour activé la sortie dont javais besoin
Dans mon cas je n'est pas de modification "matériel" a réaliser tout est déjà brancher au PC
je change juste de périphérique dans l'onglet "matériel" de "Préférences du son"
Merci d'avoir essayer de trouver une solution
Hors ligne