Saltar al contenido

¿Cómo usar JACK y Pulseaudio / ALSA al mismo tiempo en el mismo dispositivo de audio?

Melina, parte de nuestro equipo, nos ha hecho el favor de escribir esta crónica porque controla perfectamente el tema.

Solución:

A partir del 16.04, las cosas se vuelven mucho más simples 🙂

Solo instala qjackctl y pulseaudio-module-jack módulo:

apt-get install qjackctl pulseaudio-module-jack

Luego configura qjackctl para ejecutar el siguiente comando después del inicio. Cópielo en “Configuración …”> “Opciones”> “Ejecutar secuencia de comandos después del inicio”:

pacmd set-default-sink jack_out

Y eso es. Pulseaudio reconocerá (a través de D-Bus) que JACK inició y automáticamente enrutará el audio a él. Cuando JACK se detiene, Pulseaudio volverá al enrutamiento normal y comenzará a enviar audio directamente a la tarjeta nuevamente.

Entonces (casi) por defecto Pulseaudio implementa la configuración detallada arriba por mmv-ru.

Este video de Youtube: “Jack y PulseAudio juntos como amigos – Linux” parecía tener algunas respuestas:

El key a la solución parecía estar asegurándose de que pulseaudio-module-jack esté instalado con:

aptitude install pulseaudio-module-jack

luego sudo editando el archivo /etc/pulse/default.pa para incluir dos líneas debajo de la sección de carga manual de controladores de audio:

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

luego – creo – reiniciando pulseaudio. Acabo de reiniciar la PC (perezoso, lo sé) y funcionó de maravilla … encender Ardor ya no mató a pulseaudio, jugaron felices juntos.

Mi solución funciona en Fedora 23.

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

¡No toque /etc/pulse/default.pa!

Configurar qjackctl

Ajustes

El fragmento relevante de ~ / .config / rncbc.org / QjackCtl.conf:

[Settings]
Server=jack_control start
Driver=alsa
InDevice="hw:PCH,0"
OutDevice="hw:PCH,0"

Opciones

Los nombres de los lavabos para pactl se pueden encontrar por:

pacmd list-sinks

Aquí hay un fragmento más de ~ / .config / rncbc.org / QjackCtl.conf para mostrar los comandos completos

[Options]
...
StartupScript=true
StartupScriptShell=pactl suspend-sink alsa_output.pci-0000_00_1b.0.analog-stereo 1
PostStartupScript=true
PostStartupScriptShell=pactl set-default-sink jack_out
ShutdownScript=false
ShutdownScriptShell="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"

Misc
“Habilitar la interfaz D-Bus” es importante para Qjackctl.

Cómo funciona

Ahora, al arrancar, la PC se ejecuta solo con PulseAudio, todo funciona automáticamente como sin Jack.

Después de iniciar Qjackctl,

  1. El script de inicio Qjackctl suspende la tarjeta de audio principal en Pulseaudio y permite que Jack acceda a ella: pactl suspend-sink alsa_output.pci-0000_00_1b.0.analog-stereo 1
  2. Jack se inicia sobre d-bus: jack_control start
  3. Pulse detecta automáticamente el arranque del conector sobre D-Bus y carga el receptor del conector y la fuente del conector.
  4. Qjackctl después de que el script de inicio cambie el receptor predeterminado en Pulse a jack_out: pactl set-default-sink jack_out (al principio parece innecesario, ya que todos los clientes de PA en ejecución se cambian al nuevo receptor, pero las nuevas aplicaciones se atascarán en el receptor suspendido sin este comando)

Por tanto, el sistema se reconfigura para utilizar “Pulse encima de Jack”. (Me salto la suspensión de la entrada de hardware, porque de todos modos no la uso)

Si “Detener el servidor de audio JACK al salir de la aplicación” no está marcado, puedo cerrar Qjackctl y volver a ejecutarlo sin alterar la configuración.

Después de detener a Jack por Qjackctl, ¡todo vuelve a su estado normal y ordenado!

  1. Jackd detenido por Qjackctl sobre dbus – opción “Habilitar interfaz D-bus”.
  2. jack-source y jack-sink se eliminan de Pulseaudio automáticamente mediante d-bus
  3. el receptor predeterminado en el audio Pulse se cambia a la tarjeta de audio porque el jack-out desaparece
  4. Qjackctl después de que el script de apagado reactiva la tarjeta de audio en Pulseaudio: pactl suspend-sink alsa_output.pci-0000_00_1b.0.analog-stereo 1

Herramientas utilizadas

  1. jackd (del paquete pulseaudio-utils)
  2. jack_control (del paquete ack-audio-connection-kit-dbus)
  3. Qjackctl (del paquete pulseaudio-utils)
  4. pactl para controlar Pulseaudio desde scripts (desde el paquete pulseaudio-utils)

valoraciones y reseñas

Acuérdate de que te brindamos la opción de decir si te fue de ayuda.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *