web-dev-qa-db-fra.com

Réglage du volume d'entrée du microphone à l'aide de la ligne de commande?

J'ai un micro USB que je n'arrête pas de brancher sur la station d'accueil pour ordinateur portable. Lorsque je me connecte au dock, je souhaite que la configuration du micro soit automatiquement utilisée comme entrée audio actuelle. J'exécute un script "Je suis ancré" qui définit les éléments xrandr/etc.

gnome-volume-control, onglet input, choisissez mic

mais de la ligne/script cmd.

Des astuces sur la façon dont je peux automatiser/écrire ceci?

7
Rick

Si vous utilisez ALSA, amixer peut être utile pour votre programmation de script.

Lorsque vous supprimez la commande amixer --help dans un terminal, vous verrez quelque chose comme ceci:

enter image description here

En fonction de votre carte son, les niveaux peuvent être différents des miens, mais vous pouvez utiliser alsamixer dans le terminal afin de vérifier quels niveaux et quelles fonctionnalités de votre carte son vous pouvez appeler dans une commande pour régler le volume à votre guise. .

enter image description here

Dans mon exemple, avec ma carte son principale (j’en ai 2: la carte son intégrée et une carte son PCI), les niveaux vont de 0 à 100, ainsi je peux changer le volume de l’entrée/sortie souhaitée dans ma carte son en y glissant un terminal la prochaine commande:

amixer -c 0 set Front 50DB 
amixer -c 0 set Front 64DB 

Dans la première commande, le résultat définira la sortie du panneau avant sur un niveau de 78% et la seconde sur la sortie du panneau avant à un niveau de 100%.

Afin de collecter des informations relatives à vos commandes de mixage, supprimez la commande amixer sans paramètres et vous obtiendrez une liste. Ou indiquez quel périphérique audio vous souhaitez voir une liste de commandes avec amixer -c X (où "X" est le numéro de votre périphérique audio).

BTW: N'oubliez pas que les valeurs de base de données sont calculées de manière logarithmique et non linéaire.

10
Geppettvs D'Constanzo

Peut-être pacmd set-default-source fonctionne si vous utilisez pulseaudio, par exemple:

pacmd set-default-source alsa_input.usb-046d_0819_9F13DC90-02-U0x46d0x819.analog-mono

Recherchez le nom de source à l'aide de la commande: pacmd list-sources.

5
tomyl

J'ai trouvé une meilleure réponse en consultant la documentation (probablement un ajout récent à pacmd ...

Utilisez pacmd list-sources pour voir les différents périphériques d’entrée, celui avec le * index: ... est celui qui est actif.

Vous pouvez ensuite utiliser pacmd set-source-volume <index> <volume> pour le définir. Dans mon cas, 50% échouait. J'ai donc essayé différents nombres jusqu'à 50%.

Pour moi: pacmd set-source-volume 1 30000

À votre santé!

1
txomon