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

10

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

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

Muito obrigado!

Yamaho
fonte
Isso funciona para a nova data se clicar no link askubuntu.com/questions/289042/...
Scott caça

Respostas:

17

Consegui fazer isso, mas as alterações são revertidas após a reinicialização. ( Atualização: isso pode ser contornado; veja a parte inferior desta postagem.)

Fiz isso por meio de uma GUI em python chamada HDA Analyzer que pode ser buscada e usada no site da ALSA da seguinte maneira:

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

  • sudo python run.py(A página deles não diz sudo, mas se você não fizer isso sudo, ele fará o download dos scripts, mas falhará em executá-los e reclamará dos privilégios.)

Agora isso fará com que a GUI inicie, mas seu uso não é explicado e não é exatamente propício para iniciantes. Então, para facilitar a vida, vou explicar como fiz. No meu caso, foram apenas dois cliques; a parte complicada foi localizar exatamente o que precisa ser clicado.

(Observação: você pode explorar todos os nós, um por um, mas não modifica nada que não entenda. Qualquer modificação (por exemplo, assinalando uma caixa de seleção) entra em vigor imediatamente; não há botão de aplicar.)

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

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

  • Dentro do campo Padrão da configuração, alguns nós terão na primeira linha Jack Connection: N/A; precisamos dos que dizem Jack Connection: Jackcomo na imagem.

  • Para alterar uma entrada de linha para uma tomada de saída, procure até encontrar o nó que diz Jack Type: Line In. (E observe o Jack Location2: Reare Jack Color: Blue.)

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

  • Da mesma maneira, você pode atribuir qualquer um dos conectores dianteiro ou traseiro à entrada ou saída.

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

Se você deseja 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.pye edite /etc/rc.localcomo root (por exemplo, usando gksudo gedit /etc/rc.local) e adicione a linha python /etc/hda-mods.pylogo antes da exit 0linha, salve-a e reinicie. Suas mudanças devem sobreviver.

Yamaho
fonte
Eu gostaria de saber como isso é útil para as pessoas que querem usar HDA Analyzer para configurar uma configuração de 5.1 ...
Yamaho
Usei esse incrível artigo para usar minha porta de microfone rosa (traseira) como saída sub / central e minha porta de entrada de linha azul (traseira) como canal traseiro. Não é "5.1" no sentido de ser um som posicional em si, mas eu realmente não preciso disso agora. Só preciso de saída estéreo analógica em todos os canais.
Digitalextremist
11
Tem que haver uma maneira de marcar cada saída como para qualquer fim, ou seja designá-lo como um sub-woofer, etc.
digitalextremist
3

Outra ferramenta de GUI pode ser hdajackretaskdo alsa-tools-guipacote. GUI muito simples, suporta substituição de inicialização e opções avançadas.

insira a descrição da imagem aqui

Espero não ter entendido completamente a pergunta. O OP pediu opções que não sejam do JACK, mas tenho certeza de que isso pode ajudar outra pessoa. No meu caso, eu tive que verificar a substituição avançada e mostrar pinos desconectados e definir uma entrada de microfone não conectada para uma saída de fone de ouvido ... muito estranho, mas funciona. Gostaria de ver uma solução de linha cmd embora

phil294
fonte
funcionou para mim somente após a instalação como aplicação de inicialização.
Ruslan Gerasimov 05/09
@RuslanGerasimov sim, eu frequentemente recebo algum erro "não poderia xyz". Depois de reiniciar o programa pela décima vez (algumas vezes com sudo, outras sem), funcionou. Eu acho que também é necessário fechar outras aplicações. Na minha experiência, a reinicialização não é necessária.
phil294