Como faço para alternar entre o Pulseaudio e o Jack no Ubuntu 12.04 LTS x86 Linux?

10

Existem algumas aplicações no meu Ubuntu 12.04 que requerem o Jack. Sem o Jack, eles não vão começar, então eu tenho que manter o Jackd + (QjackCtl). Agora o problema é que o jackd não está sendo iniciado corretamente o tempo todo. Às vezes funciona bem, às vezes falha começar (suspeito que o Pulseaudio seja o motivo).

Agora, encontrei uma solução para manter Jack e Pulseaudio correndo lado a lado Aqui está o que eu fiz

1. Installing pulseaudio-modules-jack
2. Editing /etc/pulse/default.pa and adding these lines
    ### Load audio drivers statically
        load-module module-jack-sink
        load-module module-jack-source

Depois de reiniciar o PC, consigo ver tanto o Jack quanto o Pulseaudio funcionando Ok. Mas aqui está outro problema, a saída de som dos alto-falantes são muito baixos, os picos de CPU aumentaram um pouco, dispositivos de hardware não são mostrados. O controle de som mostra o sistema de som 5: 1, onde eu tenho apenas o sistema de som 2: 1.

Eu preciso de uma maneira de alternar entre Pulseaudio e Jack. Eu não sou um criador profissional de música. Eu só preciso do Jackd quando estou usando o Ardour ou qualquer outro aplicativo que precise do Jack. Você deve estar pensando que o Pulseaudio será desativado automaticamente ao iniciar o Jack. Mas esse não é o caso para mim. Anteriormente tenho enfrentado erros tentando assim

Aqui está um log desse erro

14:36:48.194 Patchbay deactivated.
    14:36:48.198 Statistics reset.
    14:36:48.228 ALSA connection change.
    14:36:48.241 D-BUS: Service is available (org.jackaudio.service aka jackdbus).
    Cannot connect to server socket err = No such file or directory
    Cannot connect to server socket
    jack server is not running or cannot be started
    Registered event listener change listener:  true 
    14:36:48.258 ALSA connection graph change.
    14:37:12.679 D-BUS: JACK server could not be started. Sorry
    Cannot connect to server socket err = No such file or directory
    Cannot connect to server socket
    jack server is not running or cannot be started
    QSpiAccessible::accessibleEvent not handled:  "2"  obj:  QMessageBox(0xbfd7c2d0) "" 
    FIXME: handle dialog start. 
    Sat Feb  2 14:37:12 2013: Starting jack server...
    Sat Feb  2 14:37:12 2013: JACK server starting in realtime mode with priority 10
    Sat Feb  2 14:37:12 2013: [1m[31mERROR: Cannot lock down 82241434 byte memory area (Cannot allocate memory)[0m
    Sat Feb  2 14:37:12 2013: control device hw:0
    Sat Feb  2 14:37:12 2013: control device hw:0
    Sat Feb  2 14:37:12 2013: [1m[31mERROR: Failed to acquire device name : Audio0 error : Cannot allocate memory[0m
    Sat Feb  2 14:37:12 2013: [1m[31mERROR: Audio device hw:0 cannot be acquired...[0m
    Sat Feb  2 14:37:12 2013: [1m[31mERROR: Cannot initialize driver[0m
    Sat Feb  2 14:37:12 2013: [1m[31mERROR: JackServer::Open() failed with -1[0m
    Sat Feb  2 14:37:12 2013: [1m[31mERROR: Failed to open server[0m
    Sat Feb  2 14:37:13 2013: Saving settings to "/home/soham/.config/jack/conf.xml" ...
    FIXME: handle dialog end. 
    14:37:17.923 Could not connect to JACK server as client. - Overall operation failed. - Unable to connect to server. Please check the messages window for more info.
    Cannot connect to server socket err = No such file or directory
    Cannot connect to server socket
    jack server is not running or cannot be started
    QSpiAccessible::accessibleEvent not handled:  "2"  obj:  QMessageBox(0xbfd7cb40) "" 
    FIXME: handle dialog start. 
    FIXME: handle dialog end. 
    QSpiAccessible::accessibleEvent not handled:  "6"  obj:  QMenu(0x8d0f0a0) "" 

Agora, minha pergunta é: como posso alternar entre Pulse e Jack com segurança? Existe algum aplicativo para fazer isso?

Aqui está uma captura de tela -

    
por Curious Apprentice 02.02.2013 / 21:02

2 respostas

3

A melhor opção que encontrei no momento é suspender pulseaudio enquanto o jack está funcionando. É descrito na página pulseaudio e jack e envolve invocar o servidor de jack através de pasuspender .

Nas páginas man:

   pasuspender is a tool that can be used to tell a local PulseAudio sound
   server to temporarily suspend access to the  audio  devices,  to  allow
   other  applications  access  them  directly.  pasuspender  will suspend
   access to the audio devices, fork a child process, and when  the  child
   process terminates, resume access again.
    
por el.atomo 15.04.2013 / 10:32
0

Sei que essa pergunta foi feita / respondida há um tempo, mas tenho algumas informações extras que podem ajudar os que podem se deparar com essa questão.

O pôster original indica que estão experimentando picos de CPU (atraso) ao usar o pulso de áudio e o jackd juntos. Na minha experiência (eu sou um engenheiro de estúdio profissional) isso é causado por não executar o kernel de baixa latência que está disponível para uso com o ardor et. al.

Minha sugestão seria primeiro instalar e reiniciar seu PC usando o rt-kernel. O kernel deve estar disponível no repositório e synaptic, no entanto, as fontes podem precisar de ativação.

Pessoalmente, eu recomendaria o rt-kernel, já que o ubuntu o suporta ativamente e está disponível (e não afetará o uso geral do dia-a-dia do seu PC.

    
por Steve Schwarz 09.09.2015 / 12:26

Tags