¿Cómo cambio entre Pulseaudio y Jack en Ubuntu 12.04 LTS x86 Linux?


10

Hay algunas aplicaciones en mi Ubuntu 12.04 que requieren Jack. Sin Jack simplemente no comenzarán, así que tengo que mantener Jackd + (QjackCtl). Ahora el problema es que Jackd no se inicia correctamente todo el tiempo. A veces funciona bien, a veces falla el inicio (sospecho que Pulseaudio es la razón).

Ahora, he encontrado una solución para mantener a Jack y Pulseaudio corriendo juntos. Esto es lo que he hecho.

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

Después de reiniciar la PC, puedo ver que Jack y Pulseaudio funcionan bien. Pero aquí hay otro problema, la salida de sonido de los altavoces es muy baja, los picos de la CPU han aumentado bastante, los dispositivos de hardware no se muestran. El control de sonido muestra un sistema de sonido 5: 1 donde solo tengo un sistema de sonido 2: 1.

Necesito una forma de cambiar entre Pulseaudio y Jack. No soy un creador de música profesional. Necesito a Jackd solo cuando estoy usando Ardor o cualquier otra aplicación que necesite a Jack. Debe estar pensando que Pulseaudio se desactivará automáticamente al iniciar Jack. Pero ese no es el caso para mí. Anteriormente me he enfrentado a erros intentando

Aquí hay un registro de ese error

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

Ahora mi pregunta es ¿cómo puedo cambiar entre Pulse y Jack de forma segura? ¿Hay alguna aplicación para hacerlo?

Aquí hay una captura de pantalla:

Respuestas:


3

La mejor opción que encontré en este momento es suspender pulseaudio mientras se está ejecutando Jack. Se describe en la página de pulseaudio y jack , e implica invocar el servidor jack a través pasuspender.

De las páginas del manual:

   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

Me doy cuenta de que esta pregunta se hizo / respondió hace bastante tiempo, sin embargo, tengo información adicional que puede ser de ayuda para aquellos que puedan encontrar esta pregunta.

El póster original indica que están experimentando picos de CPU (retraso) mientras usan audio de pulso y jackd juntos. En mi experiencia (soy un ingeniero de estudio profesional) esto se debe a que no se ejecuta el kernel de baja latencia que está disponible para su uso con ardor et. Alabama.

Mi sugerencia sería instalar y reiniciar su PC usando el kernel rt. El núcleo debe estar disponible en el repositorio y sináptico, sin embargo, las fuentes pueden necesitar activación.

Personalmente, recomendaría el kernel rt ya que ubuntu lo admite activamente y está disponible (y no afectará el uso general de su PC hoy en día).

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.