Como eu altero quais tomadas de áudio são usadas para entrada e saída?

8

Estou usando uma placa de áudio Realtek HD embutida na minha placa-mãe. O driver do Windows vem com um painel de controle que me permite selecionar quais tomadas do painel traseiro são usadas para o quê. Então, por exemplo, eu posso fazer tanto o jack azul quanto o jack verde para a saída e apenas o vermelho para o mic-in. (Considerando que, por padrão, o conector azul é para entrada de linha, o que eu nunca preciso).

Como posso fazer o mesmo no Linux? Se possível, por favor, não sugira algo que envolva o PulseAudio ou o JACK; Eu gostaria de fazer do jeito simples, por exemplo editando os arquivos de configuração do ALSA, se possível. Do jeito que eu entendo, o meu problema não deve ter nada a ver com servidores de software redirecionando streams, apenas instruindo o driver a tratar este conector como tal, porque é suportado por hardware.

Muito obrigado!

    
por Yamaho 03.12.2012 / 17:02

2 respostas

15

Eu consegui fazer isso, mas as alterações são revertidas após a reinicialização. ( Atualização: Isso pode ser contornado; veja o final deste post.)

Eu fiz isso através de uma GUI em python chamada HDA Analyzer que pode ser obtida e usada do site da ALSA, como o seguinte:

  • wget -O run.py http://www.alsa-project.org/hda-analyzer.py

  • sudo python run.py (Sua página não diz sudo , mas se você não fizer isso com sudo , ele baixará os scripts, mas não os executará e reclamará sobre privilégios.)

Agora, isso fará com que a GUI seja iniciada, mas seu uso não será explicado, e não é exatamente compatível com novatos. Então, para facilitar a vida, vou explicar como fiz isso. No meu caso, foi uma questão de dois cliques; a parte complicada era localizar exatamente o que precisa ser clicado.

(Observação: você pode explorar todos os nós, um por um, mas não modifique nada que não entenda. Qualquer modificação (por exemplo, marcar uma caixa de seleção) se torna efetiva imediatamente; não há nenhum botão de aplicação.)

  • A lista contém muitos nós chamados Node[0x##] seguidos por qualquer um dos AUD_OUT , AUD_IN , AUD_MIX , PIN e VENDOR . Os únicos que você precisa procurar são os PIN .

  • Existem vários tipos de nós PIN; o tipo que queremos irá preencher toda a janela com painéis / grupos de controle (ajuda a esticar ou maximizar a janela), como em captura de tela . (O site me impediu de inserir a imagem inline, desculpe.)

  • Dentro do campo Config Default, alguns nós terão na primeira linha Jack Connection: N/A ; precisamos dos que dizem Jack Connection: Jack como na captura de tela.

  • Para alterar um Line-In para um conector de saída, procure até encontrar o nó que diz Jack Type: Line In . (E observe o Jack Location2: Rear e Jack Color: Blue .)

  • Em seguida, nas três caixas de seleção no grupo Controle de widget abaixo, desmarque IN e marque OUT .

  • Usando da mesma maneira, você pode atribuir qualquer um dos conectores frontal ou traseiro para entrada ou saída.

Agora, se você fechar a janela, perguntará se deseja reverter as alterações. Dizer sim os reverte imediatamente; dizendo "não", mas apenas para esta sessão.

Se você quiser manter suas alterações permanentemente, não feche o HDA Analyzer ainda. Em vez disso, clique em "Exp" (Exportar) na parte inferior esquerda e use Salvar como para gravar o script python em um arquivo. Agora copie esse arquivo para algo como /etc/hda-mods.py e edite /etc/rc.local como raiz (por exemplo, usando gksudo gedit /etc/rc.local ) e adicione a linha python /etc/hda-mods.py logo antes da linha exit 0 , salve e reinicialize. Suas alterações devem sobreviver.

    
por Yamaho 05.12.2012 / 05:04
2

Outra ferramenta de GUI pode ser hdajackretask do pacote alsa-tools-gui . Gui muito simples, suporta override de boot e opções avançadas.

Espero não ter entendido mal a questão. OP pediu opções não-JACK, mas tenho certeza que isso pode ajudar alguém.

    
por Blauhirn 04.05.2017 / 22:03