Som do Linux: como funciona e por que preciso encadear 3 arquiteturas para usar o JACK?

7

Linux newbie: Como eu uso o Jack? Como o som do Linux funciona?

Eu tenho um aplicativo que está tentando gerar som através do ALSA ou do JACK, mas não estou ouvindo nada.

Aqui estão alguns artigos , a partir da qual aprendi que o ALSA é o driver de som do modo kernel para o linux, e libasound é a biblioteca de espaço do usuário para a qual as aplicações interagem.

Além disso, o PulseAudio e o JACK são servidores / roteadores de áudio para permitir que vários aplicativos controlem vários hardwares e aplicativos.

Aqui está um artigo sobre como rotear all-applications -> jack -> PulseAudi -> ALSA . Parece bem simples, mas não entendo por que a necessidade de tantas camadas. Por que não jack diretamente para alsa?

  • Como faço para listar os aplicativos clientes usando o alsa? (Eu preciso descobrir porque eu não estou ouvindo nada)
  • Como direciono o jack diretamente para o alsa? Ou devo fazer como o último artigo aponta - encaminhá-lo através do PulseAudio?
  • Depois de tudo isso, como faço para listar informações em todos os aplicativos clientes para o jack?
por Vorac 06.08.2013 / 11:20

1 resposta

5

Eu posso entender sua confusão, eu estive lá:)

Vamos começar pelo fato de que o PulseAudio, como o JACK, são servidores de som em certo sentido, com diferentes objetivos em mente. O JACK é direcionado ao usuário / músico profissional de áudio, enquanto o PA visa proporcionar facilidade de uso.

O percurso de áudio é um pouco diferente do que você tem em sua pergunta.

all-applications->PA to jack sink->jack audio server -> libasound and ALSA.

Desta forma, o PA que é, como de costume, a saída de áudio padrão (sink) canaliza o som para o jack. O exemplo acima aparece assim no patchbay do jack (depois que os módulos sink e source foram carregados com load-module )

asentradasde'sistema'sãofornecidaspelobackendALSA,enquantoocoletorPAJACKeafontesãofornecidospeloPAaosmódulosdetomadas.

SevocêestáexecutandoalgumsabordoUbuntu,entãovocêpodeadicionaroseguinteemqjackctl->configuração->guia"opções" - > executar após a inicialização

pactl load-module module-jack-sink channels=2; pactl load-module module-jack-source channels=2; pactl set-default-sink jack_out; pactl set-default-source jack_in

O item acima deve carregar os módulos "PA to jack" (2 canais L + R para cada um) e definir o dispositivo de reprodução padrão para todos os aplicativos como o módulo PA to jack sink. Além disso, conecta a entrada de entrada de linha / microfone à entrada de fonte de entrada de PA, para que os aplicativos que precisam acessar o dispositivo de entrada padrão (como o skype) possam obtê-lo através do módulo de origem de tomada PA.

Agora, se um aplicativo emitir um som para o ALSA, ele deverá ser reproduzido pelo dispositivo padrão, por meio do pulseaudio. O que implora a pergunta, você realmente precisa de jack completamente? E qual aplicativo é esse?

Em qualquer caso, se o aplicativo for compatível com o conector, ele deverá aparecer no patchbay do qjackctl e, em seguida, você poderá conectá-lo no caminho de áudio da forma que achar melhor.

Para mais informações, consulte aqui . Também as FAQ e wiki do JACK são tremendamente úteis.

    
por 06.08.2013 / 12:03

Tags