Einstellen der Mikrofoneingangslautstärke über die Befehlszeile?

7

Ich habe ein USB-Mikrofon, das ich immer wieder an mein Laptop-Dock anschließe. Wenn ich in das Dock gehe, möchte ich das Mikrofon-Setup automatisch als meinen aktuellen Audioeingang. Ich habe ein Skript "Ich bin angedockt", das ich ausführe und das xrandr / etc-Elemente festlegt. Ich brauche nur eine Methode, um die folgende Aktion auszuführen:

Gnome-Lautstärkeregler, Registerkarte Eingabe, Mikrofon auswählen

aber aus der cmd Zeile / Skript.

Irgendwelche Hinweise, wie ich dies automatisieren / skripten kann?

Rick
quelle

Antworten:

11

Wenn Sie ALSA verwenden, kann amixer für Ihre Skriptprogrammierung hilfreich sein.

Wenn Sie den amixer --helpBefehl in einem Terminal ablegen, sehen Sie ungefähr Folgendes:

Geben Sie hier die Bildbeschreibung ein

Abhängig von Ihrer Soundkarte können sich die Pegel von meinen unterscheiden. Sie können jedoch alsamixerim Terminal verwenden, um zu überprüfen, welche Pegel und welche Funktionen Ihrer Soundkarte Sie in einem Befehl aufrufen können, um die Lautstärke nach Ihren Wünschen einzustellen.

Geben Sie hier die Bildbeschreibung ein

In meinem Beispiel liegen die Pegel mit meiner Haupt-Soundkarte (ich habe 2: die eingebettete und eine PCI-Audiokarte) zwischen 0 und 100. Auf diese Weise kann ich die Lautstärke eines gewünschten Ein- / Ausgangs in meiner Soundkarte ändern, indem ich a einlege Terminal der nächste Befehl:

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

Im ersten Befehl setzt das Ergebnis den Frontpanel-Ausgang auf 78% und im zweiten den Frontpanel-Ausgang auf 100%.

Um Informationen zu Ihren Mixer-Steuerelementen zu sammeln, lassen Sie den amixerBefehl ohne Parameter fallen und Sie erhalten eine Liste. Oder geben Sie an, mit welchem ​​Audiogerät Sie eine Liste der Steuerelemente anzeigen möchten amixer -c X(wobei "X" die Nummer Ihres Audiogeräts ist).

Übrigens: Denken Sie daran, dass DB-Werte logarithmisch und nicht linear berechnet werden.

Geppettvs D'Constanzo
quelle
Wo kann ich den Amixer installieren? sudo apt-get install amixer auf ubuntu 13.04 macht den Trick nicht
vegard torvund
Möglicherweise müssen Sie installieren (oder bei Bedarf neu installieren) alsa-libund / oder alsa-utilsein Terminal installieren. sudo apt-get install alsa-utils --reinstallBitte beachten Sie, dass dies --reinstallnur erforderlich ist, wenn Sie eine Neuinstallation durchführen möchten. Viel Glück!
Geppettvs D'Constanzo
5

Funktioniert möglicherweise, pacmd set-default-sourcewenn Sie pulseaudio verwenden, zum Beispiel:

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

Suchen Sie den Quellennamen mit dem Befehl : pacmd list-sources.

Tomyl
quelle
Linux Mint 18.1 hier. Meine "Sound" -Einstellungen würden das Eingabegerät des integrierten Mikrofons von Acer nicht ändern, aber die Verwendung dieses Befehls funktionierte schließlich:pacmd set-default-source "alsa_input.usb-Samson_Technologies_Samson_Meteor_Mic-00.analog-stereo"
user207863
2

Ich habe eine bessere Antwort gefunden, indem ich in den Dokumenten nachgesehen habe (wahrscheinlich ist es eine neue Ergänzung zu pacmd ...

Verwenden Sie pacmd list-sourcesdiese Option , um die verschiedenen Eingabegeräte anzuzeigen. Das mit dem * index: ...ist das aktive.

Sie können es dann verwenden pacmd set-source-volume <index> <volume>, um es einzustellen. In meinem Fall schlug dies 50%fehl, also habe ich einfach verschiedene Zahlen ausprobiert, bis sie bei 50% lagen.

Für mich: pacmd set-source-volume 1 30000

Prost!

txomon
quelle