Comando del terminale per impostare il volume dell'audio?


96

Ho una scheda audio esterna che funziona per lo più bene, tranne per il fatto che quando viene collegata per la prima volta o quando accendo il mio laptop, il volume viene impostato al 100%. Cioè, il volume complessivo del sistema, come mostrato nell'indicatore del suono.

Quello che sto cercando è un comando terminale che imposterà quel volume al 50%, in modo da poterlo eseguire al momento del login e non dovrò preoccuparmi che il primo audio che ascolto mi farà esplodere se dimentico di girare il volume in basso. Quali comandi ti consentono di cambiare quel volume, cioè quello nell'indicatore del suono?

Ho cercato in gsettings e dbus, ma non sono riuscito a trovare nulla che mi permettesse di impostare il volume del sistema in quel modo. Conosco alsamixer, ma questa non è la soluzione che sto cercando, poiché ciò non mi consente di modificare il volume utilizzando l'indicatore audio o i tasti multimediali del mio laptop.


@rajagenupula vuole ridurre lo stesso volume della GUI. ALSA non funzionerebbe in questo caso poiché non è controllato da ALSA ma da Pulseaudio. i.stack.imgur.com/9C8Z2.png
Braiam,

Risposte:


120

Parti di questa risposta provengono dall'impostazione del volume di ingresso del microfono tramite la riga di comando? , posizionato qui per comodità.

Aumenta il volume del 5%

amixer -D pulse sset Master 5%+

Riduci il volume del 5%

amixer -D pulse sset Master 5%-

Imposta il volume al 50%

amixer -D pulse sset Master 50%

Se si utilizza ALSA, amixer può essere utile per la programmazione degli script.

Quando si rilascia il amixer --helpcomando in un terminale vedrai qualcosa del genere:

inserisci qui la descrizione dell'immagine

A seconda della scheda audio, i livelli possono essere diversi dai miei, ma è possibile utilizzare alsamixernel terminale per verificare quali livelli e quali funzioni nella scheda audio è possibile chiamare in un comando per impostare il volume come desiderato.

inserisci qui la descrizione dell'immagine

Nel mio esempio, con la mia scheda audio principale (ne ho 2: la scheda audio integrata e una scheda audio PCI), i livelli vanno da 0 a 100, in questo modo posso cambiare il volume di un input / output desiderato nella mia scheda audio facendo cadere un termina il comando successivo:

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

Nel primo comando, il risultato imposterà l'uscita del pannello frontale al livello del 78% e il secondo imposterà l'uscita del pannello frontale al livello del 100%.

Per raccogliere informazioni relative ai controlli del mixer, rilascia il amixercomando senza parametri e otterrai un elenco. Oppure indica con quale dispositivo audio desideri visualizzare un elenco di controlli amixer -c X(dove "X" è il numero del tuo dispositivo audio).

A proposito: ricorda che i valori dei DB sono calcolati logaritmicamente e non linearmente.

Ricorda che questo comando ti consente di controllare i parametri su qualsiasi dispositivo audio che stai attualmente utilizzando.

In bocca al lupo!


1
Vale la pena notare che se non si dispone di un controller "Master" o "Master" non è possibile modificare il volume di uscita effettivo, probabilmente si sta lavorando con una scheda audio errata. F6on alsamixere --card non amixercambia scheda audio.
Pooyan Khosravi,

È un buon punto! @PooyanKhosravi, anche quando puoi invocare la scheda audio che desideri automatizzare dalla riga di comando rilasciando "-c X" (dove "X" è il numero della tua scheda audio), è bene conoscere le informazioni che hai fornito. Grazie mille!
Geppettvs D'Constanzo,

pactl(a differenza amixer) consente di aumentare il volume oltre il 100% (vedere in pavucontrol) :-)
pevik

80

Puoi farlo usando PulseAudio stesso (non consiglierei di usare ALSA perché non puoi usare la GUI per alzare / abbassare il volume).

Utilizzando pactl : è possibile impostare i volumi per un dispositivo specifico come segue:

pactl set-sink-volume 0 +10%

Questo aumenta il volume del 10%. Se lo vuoi in calo del 10%:

pactl set-sink-volume 0 -10%

Se hai bisogno del volume al 50%:

pactl set-sink-volume 0 50%

Se devi scuotere l'intero posto:

pactl set-sink-volume 0 150%

Puoi usare percentuali o numeri interi, ma i numeri interi sono lenti e potrebbero non essere la tua cosa.

pactl/ pacmd(a differenza amixer) consente di aumentare il volume oltre il 100% :-).


3
Se stai usando le cuffie, prova ad aumentare lo zero a uno: pactl set-sink-volume 1 50%
Smile4ever

13
Se si desidera condividere gli stessi comandi su host diversi con diversi sink, è possibile utilizzare @DEFAULT_SINK@come sink anziché numero 0. Si imposta il sink predefinito con pactl set-default-sink my-sink-name(elenca i nomi con pactl list short sinks).
pevik,

3
Come: Failed to get sink information: No such entitycome risolvere questo problema? - Modifica, dovevo usare anche un lavandino 0. È pactl list short sinkspossibile utilizzare il primo numero di . Questo comando funziona ad esempio:pactl set-sink-volume $(pactl list short sinks | head -n1 | cut -f1) 50%
ideasman42

23

amixer set 'Master' 10%+- per aumentare il suono massimo del 10%

amixer set 'Master' 10%-- per ridurre il suono massimo del 10%

amixer set 'Master' 10% - per ottenere il 10% del suono massimo

amixer set 'Master' 80% - per ottenere l'80% del suono massimo

.. eccetera.

Se si desidera impostare un volume diverso da "Master", controllare l'elenco per:

amixer scontrols


Potresti anche voler dare un'occhiata alsamixerepacmd


6

Una risposta in ritardo, ma potrebbe essere utile per qualcuno.


È possibile controllare il volume per il sink corrente utilizzando i seguenti comandi

  • Aumenta volume :pactl set-sink-volume @DEFAULT_SINK@ +1000

  • Volume inferiore :pactl set-sink-volume @DEFAULT_SINK@ -1000

  • Muto :pactl set-sink-mute @DEFAULT_SINK@ toggle

È possibile utilizzare i seguenti valori per controllare il volume:

Numero intero

  • Valore specifico: <number>
  • Aumentare: +<number>
  • Diminuire: -<number>

Esempio:

pactl set-sink-volume @DEFAULT_SINK@ 50000 imposterà il volume attorno al 76%

Fattore lineare

  • Valore specifico: <number>.<number>
  • Aumentare: +<number>.<number>
  • Diminuire: -<number>.<number>

Esempio:

pactl set-sink-volume @DEFAULT_SINK@ 0.44\ imposterà il volume attorno al 76%

Percentaje

  • Valore specifico: <number>%
  • Aumentare: +<number>%
  • Diminuire: -<number>%

Esempio:

pactl set-sink-volume @DEFAULT_SINK@ 76% imposterà il volume attorno al 76%

Valore decibel

ATTENZIONE: non sperimentare i valori di decibel mentre si usano le cuffie a meno che non si sappia cosa si sta facendo, si potrebbe danneggiare l'orecchio

  • Valore specifico: <number>dB
  • Aumentare: +<number>dB
  • Diminuire: -<number>dB

Esempio:

pactl set-sink-volume @DEFAULT_SINK@ 0.0dB imposterà il volume al 100%


Fonti Arch Wiki , pagina man di pactl


+1 !! L'unica soluzione che ha funzionato per me all'istante.
Dboris,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.