alsaucm - Gerenciador de casos de uso ALSA
alsaucm <options> [command]
alsaucm (ALSA Use Case Manager) é um programa para usar a interface ALSA Use Case a partir da linha de comando.
Em placas de som complexas, configurar rotas de áudio não é trivial e as configurações do mixer podem entrar em conflito umas com as outras impedindo que a placa de áudio funcione.
O ALSA Use Case Manager é um mecanismo para controlar hardware de áudio complexo que estabelece uma relação entre configurações de hardware e casos de uso significativos com os quais o usuário final pode se relacionar.
O gerenciador de casos de uso também pode ser usado para alternar entre casos de uso quando necessário, de forma consistente.
Em um nível inferior, o gerenciador de caso de uso funciona configurando os kcontrols ALSA da placa de som para alterar o roteamento de áudio digital e analógico do hardware para corresponder ao caso de uso do dispositivo solicitado.
As configurações do kcontrol do gerenciador de casos de uso são armazenadas em arquivos de texto fáceis de modificar. Um caso de uso de áudio pode ser definido por um parâmetro verbo e dispositivo.
O verbo descreve a ação do caso de uso, ou seja, uma chamada telefônica, ouvir música, gravar uma conversa, etc. O dispositivo descreve o hardware físico de captura e reprodução de áudio, como fones de ouvido, fone de ouvido, fone de ouvido bluetooth etc
Opções disponíveis:
- -h, --help
esta ajuda
- -c, --card NAME
cartão aberto NAME
- -i, --interactive
modo interativo
- -b, --batch FILE
modo em lote (use '-' para a entrada stdin)
- -n, --no-open
não abra o primeiro cartão encontrado
Comandos disponíveis:
- open NAME
abra o cartão NOME.
nomes válidos são nomes de placas de som conforme listado em /usr/share/alsa/ucm.
- reset
redefina a placa de som para o estado padrão.
- reload
recarregar a configuração.
- listcards
listar os cartões disponíveis.
- list IDENTIFIER
comando list, para itens que retornam duas entradas (valor+comentário).
o valor do argumento IDENTIFIER pode ser:
_verbs - obtém a lista de verbos (no par verbo+comentário)
_devices[/{verb}] - obtém a lista de dispositivos suportados (em par dispositivo+comentário)
_modifiers[/{verb}] - obtém a lista de modificadores suportados (no par modificador+comentário)
As formas sem o /{verb} à direita são válidas somente após a definição de um verbo específico.
- list1 IDENTIFIER
comando list, para listas que retornam um item por entrada.
o valor do argumento IDENTIFIER pode variar dependendo do contexto, pode ser:
TQ[/{verb}] - obtém a lista de identificadores de qualidade de tom
_enadevs - obtém a lista de dispositivos ativados
_enamods - obtém a lista de modificadores ativados
_supporteddevs/{modifier}|{device}[/{verb}] - lista de dispositivos suportados
_conflictingdevs/{modifier}|{device}[/{verb}] - lista de dispositivos conflitantes
- get IDENTIFIER
obter o valor da string.
o valor do argumento IDENTIFIER pode ser:
_verb - retorna o verbo atual
[=]{NAME}[/[{modifier}|{/device}][/{verb}]] (Para NAMEs válidos, consulte a Interface de caso de uso da ALSA )
- geti IDENTIFIER
obter valor inteiro.
o valor do argumento IDENTIFIER pode ser:
_devstatus/{dispositivo}
_modstatus/{dispositivo}
- set IDENTIFIER VALUE
definir valor da string
O valor do argumento IDENTIFIER pode ser:
_verb - defina o verbo como VALUE
_enadev - ativa o dispositivo especificado por VALUE
_disdev - desabilita o dispositivo especificado por VALUE
_swdev/{old_device} - switche device:
disable old_device and then enable the device specified by VALUE
se nenhum dispositivo foi habilitado, apenas retorne
_enamod - ativa o modificador especificado por VALUE
_dismod - desativa o modificador especificado por VALUE
_swmod/{old_modifier} - switch modifier:
disable old_modifier and then enable the modifier specified by VALUE
se nenhum modificador foi ativado, apenas retorne
Observe que os identificadores referentes a dispositivos e modificadores são válidos somente após a definição de um verbo.
- h, help
ajuda
- q, quit
desistir
Os arquivos principais de casos de uso para cada placa de som suportada estão em /usr/share/alsa/ucm.
Por exemplo, o arquivo mestre de caso de uso para o cartão Pandaboard está em /usr/share/alsa/ucm/PandaBoard/PandaBoard.conf, este arquivo lista todos os usos suportados casos, por ex.
SectionUseCase."HiFi" { File "hifi" Comment "Play HiFi quality Music." } ...
Cada caso de uso define um _verb, que é descrito no arquivo especificado na diretiva File, como acima.
O verbo HiFi acima é descrito em /usr/share/alsa/ucm/PandaBoard/hifi.
Para obter mais detalhes sobre a sintaxe dos arquivos UCM, consulte o código-fonte alsa-lib: http://git.alsa-project.org/?p=alsa-lib.git;a=blob;f=src/ ucm/parser.c
Alguns comandos, como por exemplo list _devices, só podem funcionar após definir um _verb na mesma execução, por exemplo, esta sequência não funciona :
# alsaucm -c bytcr-rt5640 set _verb HiFi # alsaucm -c bytcr-rt5640 list _devices
No entanto, este comando faz:
# alsaucm -n -b - <<EOM open bytcr-rt5640 set _verb HiFi list _devices EOM
Um exemplo de configuração do dispositivo Speaker para o verbo HiFi do cartão bytcr-rt5640:
# alsaucm -n -b - <<EOM open bytcr-rt5640 reset set _verb HiFi set _enadev Speaker EOM
Interface de caso de uso: http://www.alsa-project.org/alsa-doc/alsa-lib/group__ucm.html
Nenhum conhecido.
António Ospite ao2@ao2.it
GPLv2+