Alterar o volume do bash

Alterar o volume do bash

Cheguei até aqui (de .bashrc):

alias i="amixer -c 0 -- sset Master playback +1dB"
alias d="amixer -c 0 -- sset Master playback -1dB"
alias v4="amixer -c 0 -- sset Master playback 40%"
alias v8="amixer -c 0 -- sset Master playback 80%"

As duas primeiras linhas devem funcionar, se eu ler a man amixerpágina corretamente, e elas não produzem uma mensagem de erro, mas seu comportamento não é confiável: às vezes há uma grande mudança, na maioria das vezes nada acontece.

As duas últimas linhas funcionam. Acho que você poderia criar uns dez pseudônimos. Ainda assim, você gostaria que a funcionalidade de aumentar/diminuir fosse vinculada aos atalhos do teclado.

Estou usando amixero caminho errado ou existe alguma outra ferramenta para resolver o problema? ( alsamixernão parece ter essa funcionalidade como comandos CLI.)

Editar

Finalmente, fiz funcionar. Isso foi há muito tempo (que triste!), então perdi a noção de quem contribuiu com o quê. De qualquer forma, obrigado. (Abaixo: Para usuários bash, insira .bashrc)

# volume
alias vol="alsamixer"
MASTER="amixer -q -c 0 sset Master playback"
alias i="$MASTER 2dB+"
alias d="$MASTER 2dB-"
alias mute="echo \" Audio muted.\"; $MASTER mute"
alias play="echo \" Audio un-muted.\"; $MASTER unmute"
alias unmute="play"
alias stop="mute"
v () {
  amixer -q sset Master playback $1%
}

Responder1

Para os seus dois primeiros aliases, parece que +/- deve irdepoiso valor a ser tratado como uma mudança relativa, em vez de um valor absoluto(página de manual do amixer):

alias i="amixer -c 0 -- sset Master playback +1db+"
alias d="amixer -c 0 -- sset Master playback +1db-"

Eu substituiria os dois últimos (e seus 8 supostos irmãos) por uma única função Shell:

v () {
  amixer -c 0 -- sset Master playback $i%
}

informação relacionada