Como usar JACK e Pulseaudio / ALSA ao mesmo tempo no mesmo dispositivo de áudio?

25

Sempre que eu lanço hidrogênio, ele interrompe meu áudio em todos os outros aplicativos que usam o Pulse. Por exemplo, não consigo mais reproduzir vídeos no Chrome depois de ter iniciado o Hydrogen uma vez, até que reiniciei meu PC ou sudo alsa force-reload. Eu encontrei pessoas com problemas semelhantes, mas nenhum guia real para corrigir isso, muitas vezes há links para link (que se mudou para link Eu estou usando o Ubuntu Studio 14.04 64bit.

ALTERNATIVAMENTE, se isso é realmente impossível de alcançar, alguém pode me dizer como usar o Jack em uma placa de som e o Pulse em outra? Dessa forma, eu poderia conectar uma placa de som USB somente quando precisar de JACK.

Por favor, não me faça usar janelas.

    
por Andreas Hartmann 10.01.2015 / 14:39

8 respostas

20

A partir de 16.04, as coisas se tornam muito mais simples:)

Basta instalar o módulo qjackctl e pulseaudio-module-jack :

apt-get install qjackctl pulseaudio-module-jack

Em seguida, configure qjackctl para executar o seguinte comando após a inicialização. Copie-o para "Configurar ..." > "Opções" > "Executar script após a inicialização":

pactl set-default-sink jack_out

E isso é. O Pulseaudio reconhecerá (por meio do D-Bus) que o JACK iniciou e roteará o áudio automaticamente para ele. Quando o JACK for parado, o Pulseaudio voltará ao roteamento normal e começará a enviar o áudio diretamente para o cartão novamente.

Então (quase) por padrão o Pulseaudio implementa a configuração detalhada acima por mmv-ru.

    
por José Micó 25.05.2016 / 06:41
14

Este vídeo do Youtube: "Jack e PulseAudio Together as Friends - Linux" parecia ter algumas respostas :

A chave para a solução parecia estar garantindo que o jack do módulo de áudio do pulsea fosse instalado com:

aptitude install pulseaudio-module-jack

sudo, em seguida, edite o arquivo /etc/pulse/default.pa para incluir duas linhas na seção carregar manualmente os drivers de áudio:

load-module module-jack-sink
load-module module-jack-source

então - eu acho - reiniciar o pulseaudio. Eu apenas reiniciei o PC (preguiçoso, eu sei) e funcionou muito bem ... acender o fogo O ardor não mais matou o pulseaudio, eles tocaram alegremente juntos.

    
por RobinsSea 03.10.2015 / 13:02
9

Apenas passei pela busca da coexistência de Jack e Pulse no Fedora. Geralmente estou feliz com o Pulseaudio, mas às vezes preciso de áudio Jack.

Minha solução trabalhando no Fedora 23.

dnf install jack-audio-connection-kit jack-audio-connection-kit-dbus qjackctl

Não toque em /etc/pulse/default.pa!

Configure o qjackctl

Existeumfragmentorelevantede~/.config/rncbc.org/QjackCtl.conf

[Settings]Server=jack_controlstartDriver=alsaInDevice="hw:PCH,0"
OutDevice="hw:PCH,0"

osnomesdodissipadorparaopactlpodemserencontradospelocomando:

pacmdlist-sinks

Existemaisumfragmentode~/.config/rncbc.org/QjackCtl.confparamostrarcomandoscompletos

[Options]...StartupScript=trueStartupScriptShell=pactlsuspend-sinkalsa_output.pci-0000_00_1b.0.analog-stereo1PostStartupScript=truePostStartupScriptShell=pactlset-default-sinkjack_outShutdownScript=falseShutdownScriptShell="pactl unload-module module-jack-sink; pactl load-module module-jack-source"
PostShutdownScript=true
PostShutdownScriptShell="pactl suspend-sink alsa_output.pci-0000_00_1b.0.analog-stereo 0; pactl set-default-sink alsa_output.pci-0000_00_1b.0.analog-stereo"

Lá,"Ativar interface D-Bus" é importante para o próprio Qjackctl.

Como funciona

Agora, no PC de inicialização, trabalhe apenas com o PulseAudio. Todo o trabalho automático como sem Jack.

Após o lançamento do Qjackctl,

  1. O script de inicialização Qjackctl suspende a placa de áudio principal no Plseuaudio e permite que o Jackj tenha acesso a ele "pactl suspend-sink alsa_output.pci-0000_00_1b.0.analog-stereo 1"
  2. Jack começou o d-bus "jack_control start"
  3. O pulso detecta automaticamente o arranque do jaque através do D-Bus e carrega o jaque do dissipador e a fonte do jaque.
  4. Qjackctl após o script de inicialização altera o coletor padrão em Pulse para jack_out. (Eu sei que não foi feito em si) "pactl set-default-sink jack_out" (a princípio parece desnecessário, já que todos os clientes PA em execução mudaram para o novo coletor, mas novos aplicativos ficaram presos no coletor suspenso sem esse comando)

Então, o sistema é reconfigurado para usar "Pulse on top of Jack". (Aí eu pulo a entrada do hardware suspenso, porque eu não uso mesmo assim)

Se "Parar o servidor de áudio JACK no aplicativo exti" não estiver marcado, eu posso fechar o Qjackctl e re-executar a configuração não perturbadora.

Depois de parar o Jack por Qjackctl, todos retornam ao pulso limpo e organizado!

  1. Jackd parar por Qjackctl sobre dbus - opção "Ativar interface D-bus".
  2. jack-source e jack-sink removido do Pulseaudio automaticamente por d-bus
  3. O coletor padrão de
  4. no pulso de áudio foi alterado para a placa de áudio porque o jack-out desaparece
  5. Qjackctl após o script de desligamento ativar a placa de áudio em Pulseaudio "pactl suspender-dissipador alsa_output.pci-0000_00_1b.0.analog-stereo 1"

Ferramentas usadas

  1. jackd (do pacote pulseaudio-utils)
  2. jack_control (do pacote ack-audio-connection-kit-dbus)
  3. Qjackctl (do pacote pulseaudio-utils)
  4. pactl para controlar o Pulseaudio a partir de sctipts (do pacote pulseaudio-utils)
por mmv-ru 11.03.2016 / 18:44
6
  • O problema é o lançamento do Hydrog (como Ardour) na inicialização, mas não fechá-lo na saída:
    Mas você pode executar killall jackd em um terminal após a saída de hidrogênio.

  • Uma maneira complicada de usar o software Jack e pulseaudio ao mesmo tempo é instalar o "jack do módulo pulseaudio" (também instalar qjackctl (gui para jackd) e pavucontrol se não estiver presente). Reinicie o pulseaudio pulseaudio -k .
    Agora feche aplicativos de áudio (Jack e pulseaudio),
    execute o jackd usando o qjackctl (clique no botão iniciar) (a opção dbus deve ser selecionada na última aba das configurações do qjackctl).
    Na aba "dispositivo de saída" Pavucontrol, o botão verde "dispositivo padrão" clic perto de "jack sink"
    Agora, o software pulseaudio e o Hydrogen devem funcionar ao mesmo tempo.

  • Usando o qjackctl, na primeira guia "configurações", você pode alterar o dispositivo de áudio Jackd.

por laugeo 10.01.2015 / 19:34
3

Pode ser muito mais fácil agora. O que funcionou para mim hoje, para satisfazer minhas necessidades básicas, depois de uma nova instalação do Linux Mint 18.2 (base de pacotes do Ubuntu 16.04) foi:

  1. Use o Synaptic para instalar o QSynth e o QJackCtl.

  2. Copie as fontes de som necessárias para uma pasta apropriada, como /usr/share/sounds/sf2/

  3. Em Configuração do QSynth : na guia Áudio , altere Driver de áudio para pulseaudio .

  4. Em Configuração do QSynth : em SoundFonts : Abra ... e selecione um conforme necessário.

  5. Em Configuração do QJackCtl > Configurações > Avançado :

    Prefixo do servidor: pasuspsender - /usr/bin/jackd

  6. Em Configuração do QJackCtl > Opções :

    Execute o script após a inicialização:

    pactl load-module module-jack-sink channels=2; pactl load-module module-jack-source; pacmd set-default-sink jack_out
    
  7. Em QJackCtl Connect: ALSA : junte a entrada do teclado à esquerda para FLUID Synth à direita.

  8. Nas principais Configurações do sistema para Som, selecione o dispositivo de saída necessário.

Agora posso tocar o teclado enquanto assisto a um vídeo (por exemplo, no YouTube usando o Firefox) - anteriormente, eu só conseguia fazer um desses de cada vez sem muitos ajustes que eu raramente conseguia acompanhar.

Espero que ajude alguém ou incentive-o a tentar novamente: -).

    
por Kim Tucker 05.09.2017 / 18:12
1

A maneira mais fácil de rotear todo o sistema para executar com o jack:

Instalar

sudo apt-get install qjackctl pulseaudio-module-jack

Abra o qjackctl. Em Configuração, clique em Opções >

Marque Executar script após a inicialização e cole isto:

pacmd load-module module-jack-source channels=2; pacmd load-module module-jack-sink channels=2;

Marque Executar script após o encerramento e cole isto:

killall jackd

Agora inicie o qjack e abra suas configurações de som. Você encontrará a porta Pulse Audio Jack Sink Output. Selecione-o e todo o sistema será sincronizado. Se você parar o servidor Jack / qjack, o som voltará para a porta padrão novamente.

Aqui está a visão geral

    
por 21.01.2019 / 18:56
0

Estou executando o Linux Mint 19.1. Depois de tentar todas as várias soluções, as coisas ainda não funcionariam bem para mim.

Por fim, resolvi todos os meus problemas seguindo as etapas / instruções do vídeo: Link

Basicamente, ele instala aplicativos dos repositórios do Kxstudio. e eles têm um script para configurar tudo perfeitamente na inicialização.

Meu objetivo final era poder gravar entradas através da minha interface (Scarlett solo), enquanto era capaz de rodar / gravar sons de outras aplicações (desktop, navegador)

    
por 06.03.2019 / 20:05
0

É claro que um vai querer pulseaudio e jack funcionando se eles chegaram ao ponto em que eles precisam de jack, já que a maioria dos media players de navegador não conhece jack! ..infelizmente.

Eu continuei vendo a sugestão de ter apenas um deles funcionando em um momento que me parece um compromisso tão terrível. É um pouco trágico, na minha opinião, que esses dois serviços, ou seja, jack e pulseaudio, embora ambos funcionais sozinhos, sejam mal gerenciados pelo kxstudio, pelo menos é o que estou usando.

Então, o que acontece é:

  • O jack não pode iniciar enquanto o pulseaudio estiver em execução (e usando o driver da placa de som que deseja usar, o que é justo), portanto, ele precisa ser iniciado primeiro

  • pulseaudio precisa ser apontado para o jack quando estiver em funcionamento

Pretty simple..ey? Por certas razões, eu tive uma tristeza infinita com isso porque ...

Primeiro, acho que porque o pulseaudio 4.0 parece estar cheio de bugs e bagunçar o driver alsa, de modo que, em algumas situações, ele fica bloqueado e, portanto, o jack não pode ser iniciado, mesmo que o pulseaudio não esteja funcionando. (Diz que não conseguiu definir parâmetros de captura ou smtg assim)

O que eu fiz no final foi

  • removeu o jack e o pulseaudio completamente (com find e rm -rf: D após a limpeza do apt-get)
  • pulseaudio 11 instalado (a partir de fontes)
  • jack instalado e libs (libjack-dev)

nesta ordem e, finalmente, consegui executá-los normalmente através do qjackctl, o que faz com que eles comecem da maneira correta (carrega o jack sink no pulseaudio e o define como padrão).

Btw, eu vi Cadence é recomendado em vez disso e eu não entendo porque quanto a mim parece lixo em comparação com qjackctl.

De qualquer forma, o problema é começar a usar o jack qjackctl leva algum tempo e, para evitar os tempos de espera em cada inicialização, você pode usar esse recurso de salva-vidas do kde, que é carregar a sessão anterior. Certifique-se de que você não tenha o qjackctl em autostart, já que você terminará com mais uma instância em cada reinicialização, independentemente da configuração singleton = true (buggy buggy durante toda a noite).

Isso porque eu não me atrapalhei mais com isso, como escrever um script inteligente que garantirá que o pulseaudio está inativo (ou suspenso) no início e verifique se ele começou corretamente, depois inicie o pulseaudio, carregue o módulo jack etc

Caso contrário, confiar no sistema operacional para iniciar os daemons e carregar a configuração corretamente seria o cenário normal (saudável), no entanto, isso não parece estar acontecendo.

Divirta-se ..

    
por Negru Voda 10.11.2017 / 14:24