Come posso passare da Pulseaudio a Jack su Ubuntu 12.04 LTS x86 Linux?


10

Ci sono alcune applicazioni sul mio Ubuntu 12.04 che richiedono Jack. Senza Jack semplicemente non inizieranno, quindi devo tenere Jackd + (QjackCtl). Ora il problema è che jackd non si avvia sempre correttamente. A volte funziona bene, a volte non si avvia (sospetto che Pulseaudio sia la ragione).

Ora, ho trovato una soluzione alternativa per far correre fianco a fianco sia Jack che Pulseaudio. Ecco cosa ho fatto

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

Dopo aver riavviato il PC, vedo che sia Jack che Pulseaudio funzionano bene. Ma qui c'è un altro problema, l'uscita del suono dagli altoparlanti è molto bassa, i picchi della CPU sono aumentati un po ', i dispositivi hardware non sono mostrati. Il controllo del suono mostra il sistema audio 5: 1 in cui ho solo un sistema audio 2: 1.

Ho bisogno di un modo per passare da Pulseaudio a Jack. Non sono un musicista professionista. Ho bisogno di Jackd solo quando sto usando Ardor o qualsiasi altra app che ha bisogno di Jack. Devi pensare che Pulseaudio verrà automaticamente disabilitato all'avvio di Jack. Ma non è così per me. In precedenza ho affrontato errori provando così

Ecco un registro di quell'errore

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) "" 

Ora la mia domanda è: come posso passare tra Pulse e Jack in sicurezza? C'è qualche app per farlo?

Ecco uno screenshot -

Risposte:


3

L'opzione migliore che ho trovato al momento è la sospensione di pulseaudio mentre Jack è in esecuzione. È descritto nella pagina pulseaudio e jack e implica il richiamo del server jack pasuspender.

Dalle pagine 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.

0

Mi rendo conto che questa domanda è stata posta / ha risposto un po 'di tempo fa, tuttavia ho alcune informazioni extra che potrebbero essere di aiuto a coloro che potrebbero imbattersi in questa domanda.

Il poster originale indica che stanno sperimentando picchi di CPU (lag) mentre si usano sia audio a impulsi che jackd insieme. Nella mia esperienza (sono un ingegnere di studio professionale) questo è causato dal fatto che non si esegue il kernel a bassa latenza disponibile per l'uso con ardor et. al.

Il mio consiglio sarebbe di installare e riavviare prima il PC usando il kernel rt. Il kernel dovrebbe essere disponibile nel repository e in sinaptico, tuttavia potrebbe essere necessario attivare le fonti.

Personalmente, consiglierei rt-kernel in quanto Ubuntu lo supporta attivamente ed è disponibile (e non influirà sull'utilizzo generale del tuo PC oggi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.