Difference between revisions of "JACK Audio Connection Kit (Español)"

From ArchWiki
Jump to navigation Jump to search
(Terminado y sin revisión)
Line 17: Line 17:
  
 
===JACK2===
 
===JACK2===
'''JACK2''' Es una implementación de C++ con soporte SMP. [[Help:Reading (Español)#Instalación de paquetes|instálalo]] con el paquete {{Pkg|jack2}} Si está en una instalación de 64 bits y necesita ejecutar aplicaciones de 32 bits que requieren JACK, también instale el paquete {{Pkg|lib32-jack2}} desde el repositorio [[multilib]].
+
'''JACK2''' Es una implementación de C++ con soporte SMP. [[Help:Reading (Español)#Instalación de paquetes|instálalo]] con el paquete {{Pkg|jack2}} Si está en una instalación de 64 bits y necesita ejecutar aplicaciones de 32 bits que requieren JACK, también instale el paquete {{Pkg|lib32-jack2}} desde el repositorio [[Official_repositories_(Español)#multilib|multilib]].
  
 
====JACK2 D-Bus====
 
====JACK2 D-Bus====
JACK2 with [[D-Bus]] can be installed via {{Pkg|jack2-dbus}}. It is the same as the {{Pkg|jack2}} package but does not provide the legacy "jackd" server.
+
JACK2 con [[D-Bus]] se puede instalar a través de {{Pkg|jack2-dbus}}. Es igual que el paquete {{Pkg|jack2}} pero no proporciona el servidor "jackd" heredado.
  
It is controlled by the {{ic|jack_control}} utility. The jack_control utility requires you to also install the {{pkg|python2-dbus}} package as well.
+
Está controlado por la utilidad {{ic|jack_control}}. La utilidad jack_control requiere que también instales el paquete {{pkg|python2-dbus}}.
  
  The important commands are listed below:
+
  Los comandos importantes se enumeran a continuación:
  jack_control start  -  starts the jack server
+
  jack_control start  -  inicia el servidor jack
  jack_control stop  - stops the jack server
+
  jack_control stop  - detiene el servidor jack
  jack_control ds alsa  -  selects alsa as the driver (backend)
+
  jack_control ds alsa  -  Selecciona alsa como el conductor (backend)
  jack_control eps realtime True  -  set engine parameters, such as realtime
+
  jack_control eps realtime True  -  establecer los parámetros del motor, como en tiempo real
  jack_control dps period 256  -  set the driver parameter period to 256
+
  jack_control dps period 256  -  establecer el período de parámetros del controlador a 256
  
 
===JACK===
 
===JACK===
'''JACK''' uses a C API and supports more than one soundcard on Linux (plus MIDI). [[Install]] it with the {{pkg|jack}} package. If you are on a 64-bit installation and need to run 32-bit applications that require JACK, also install the {{Pkg|lib32-jack}} package from the [[multilib]] repository.
+
utiliza una API de C y admite más de una tarjeta de sonido en Linux (más MIDI). [[Help:Reading (Español)#Instalación de paquetes|instálalo]] con el paquete {{pkg | jack}}. Si está en una instalación de 64 bits y necesita ejecutar aplicaciones de 32 bits que requieren JACK, también instale el paquete {{Pkg|lib32-jack}} desde el repositorio [[Official_repositories_(Español)#multilib|multilib]].
  
 
===GUI===
 
===GUI===
  
* {{App|Cadence|Set of tools useful for audio production. It performs system checks, manages JACK, calls other tools and make system tweaks.|https://kxstudio.linuxaudio.org/Applications:Cadence|{{Pkg|cadence}}}}
+
* {{App|Cadence|Conjunto de herramientas útiles para la producción de audio. Realiza comprobaciones del sistema, administra JACK, llama a otras herramientas y realiza ajustes en el sistema.|https://kxstudio.linuxaudio.org/Applications:Cadence|{{Pkg|cadence}}}}
* {{App|Patchage|Modular patch bay for audio and MIDI systems based on JACK and ALSA.|https://drobilla.net/software/patchage|{{Pkg|patchage}}}}
+
* {{App|Patchage|Bahía de parches modulares para sistemas de audio y MIDI basados en JACK y ALSA.|https://drobilla.net/software/patchage|{{Pkg|patchage}}}}
* {{App|PatchMatrix|JACK patch bay in flow matrix style.|https://git.open-music-kontrollers.ch/lad/patchmatrix/about/|{{Pkg|patchmatrix}}}}
+
* {{App|PatchMatrix|Parche de JACK en estilo de matriz de flujo.|https://git.open-music-kontrollers.ch/lad/patchmatrix/about/|{{Pkg|patchmatrix}}}}
* {{App|[[Wikipedia:Qjackctl|QjackCtl]]|Simple Qt application to control the JACK sound server daemon.|https://qjackctl.sourceforge.io/|{{Pkg|qjackctl}}}}
+
* {{App|[[Wikipedia:Qjackctl|QjackCtl]]|Aplicación Qt simple para controlar el daemon del servidor de sonido JACK.|https://qjackctl.sourceforge.io/|{{Pkg|qjackctl}}}}
  
==Basic Configuration==
+
==Configuracion basica==
  
===Overview===
+
===Descripción general===
The right configuration for your hardware and application needs depends on several factors. Your sound card and CPU will heavily affect how low of latency you can achieve when using JACK.
+
La configuración correcta para sus necesidades de hardware y aplicaciones depende de varios factores. Su tarjeta de sonido y la CPU afectarán en gran medida la baja latencia que puede alcanzar al usar JACK.
  
The mainline Linux kernel now supports realtime scheduling, so using a patched kernel is no longer necessary. However, {{AUR|linux-rt}} in the AUR is a patched kernel that has some extra patches that can help to get lower latencies.
+
La línea principal del kernel de Linux ahora admite la programación en tiempo real, por lo que ya no es necesario usar un kernel parcheado. Sin embargo, {{AUR|linux-rt}} en el AUR es un kernel parcheado que tiene algunos parches adicionales que pueden ayudar a obtener latencias más bajas.
  
===A shell-based example setup===
+
===Una configuración de ejemplo basada en shell===
The D-Bus edition of JACK2 can make startup much easier. Formerly, QjackCtl was used to start it, or a daemonizer was used, or some other method. But using {{Pkg|jack2-dbus}}, JACK2 can be easily started and configured via a shell script.
+
La edición D-Bus de JACK2 puede hacer que el arranque sea mucho más fácil. Anteriormente, se usaba QjackCtl para iniciarlo, o se usaba un demonio o algún otro método. Pero utilizando {{Pkg|jack2-dbus}}, JACK2 se puede iniciar y configurar fácilmente a través de un script de shell.
  
Create a shell script that can be executed at X login:
+
Cree un script de shell que se pueda ejecutar al iniciar sesión en X:
  
 
{{hc|start_jack.sh|
 
{{hc|start_jack.sh|
Line 68: Line 68:
 
}}
 
}}
  
The above will start a working JACK instance which other programs can then utilize. Details of each line follow. When discovering your own best configuration, it is helpful to do trial and error using QjackCtl's GUI with a non-D-Bus JACK2 version.
+
Lo anterior iniciará una instancia de JACK de trabajo que otros programas pueden utilizar. Los detalles de cada línea siguen. Cuando descubra su propia mejor configuración, es útil hacer pruebas y errores utilizando la GUI de QjackCtl con una versión de D-Bus JACK2.
  
====Details of the shell-based example setup====
+
====Detalles de la configuración de ejemplo basada en shell====
  
 
  jack_control start
 
  jack_control start
Starts JACK if it is not already started.
+
Inicia JACK si aún no está iniciado.
 
  jack_control ds alsa
 
  jack_control ds alsa
Sets JACK to use the ALSA driver set.
+
Establece JACK para usar el conjunto de controladores ALSA.
 
  jack_control dps device hw:HD2
 
  jack_control dps device hw:HD2
Sets JACK to use ALSA-compatible sound card named HD2. One can find the names with {{ic|cat /proc/asound/cards}}. Most ALSA tutorials and default configurations use card numbers, but this can get confusing when external MIDI devices are in use; names make it easier.
+
Configura a JACK para usar una tarjeta de sonido compatible con ALSA llamada HD2. Uno puede encontrar los nombres con {{ic|cat /proc/asound/cards}}. La mayoría de los tutoriales y configuraciones predeterminadas de ALSA utilizan números de tarjeta, pero esto puede resultar confuso cuando se utilizan dispositivos MIDI externos; Los nombres lo hacen más fácil.
 
  jack_control dps rate 48000
 
  jack_control dps rate 48000
Sets JACK to use 48000 khz sampling. Happens to work very well with this card. Some cards only do 44100, many will go much higher. The higher you go, the lower your latency, but the better your card and your CPU have to be, and software has to support this as well.
+
Establece JACK para utilizar muestreo de 48000 khz. Sucede que funciona muy bien con esta tarjeta. Algunas tarjetas sólo se hacen 44100, muchos van a subir mucho más. Cuanto más alto vaya, más baja será su latencia, pero mejor deberán ser su tarjeta y su CPU, y el software también tiene que admitir esto.
 
  jack_control dps nperiods 2
 
  jack_control dps nperiods 2
Sets JACK to use 2 periods. 2 is right for motherboard, PCI, PCI-X, etc.; 3 for USB.
+
Establece JACK para usar 2 periodos. 2 es adecuado para la placa base, PCI, PCI-X, etc .; 3 para USB.
 
  jack_control dps period 64
 
  jack_control dps period 64
Sets JACK to use 64 periods per frame. Lower is less latency, but the setting in this script gives 2.67 ms latency, which is nicely low without putting too much stress on the particular hardware this example was built for. If a USB sound system were in use it might be good to try 32. Anything less than 3-4 ms should be fine for realtime synthesis and/or FX, 5 ms is the smallest a human being can detect. QjackCtl will tell you how you are doing; at no-load, which means no clients attached, you will want a max of 3-5% CPU usage, and if you cannot get that without xruns (the red numbers which mean the system cannot keep up with the demands), you will have to improve your hardware.
+
Establece JACK para usar 64 periodos por cuadro. Inferior es menos latencia, pero la configuración en este script proporciona 2.67 ms de latencia, que es bastante baja sin poner demasiado énfasis en el hardware en particular para el que se creó este ejemplo. Si un sistema de sonido USB estuviera en uso, podría ser bueno probar 32. Cualquier cosa menor a 3-4 ms debería estar bien para síntesis en tiempo real y/o efectos, 5 ms es lo más pequeño que un ser humano puede detectar. QjackCtl te dirá cómo estás; sin carga, lo que significa que no hay clientes conectados, deseará un máximo de 3-5% de uso de CPU, y si no puede obtener eso sin xruns (los números rojos que significan que el sistema no puede cumplir con las demandas), Tienes que mejorar tu hardware.
 
  sleep 10
 
  sleep 10
Wait for the above to settle.
+
Espera a que lo anterior se asiente.
 
  a2jmidid -e &
 
  a2jmidid -e &
Start the ALSA-to-JACK MIDI bridge. Good for mixing in applications which take MIDI input through ALSA but not JACK.
+
Inicie el puente MIDI de ALSA a JACK. Bueno para mezclar en aplicaciones que toman entrada MIDI a través de ALSA pero no JACK.
 
  sleep 10
 
  sleep 10
Wait for the above to settle.
+
Espera a que lo anterior se asiente.
 
  qjackctl &
 
  qjackctl &
Load QjackCtl. GUI configuration tells it to run in the system tray. It will pick up the JACK session started by D-Bus just fine, and very smoothly too. It maintains the patchbay, the connections between these applications and any other JACK-enabled apps to be started manually. The patchbay is set up using manual GUI, but connections pre-configured in the patchbay are automatically created by QjackCtl itself when apps are started.
+
Cargar QjackCtl. La configuración de la GUI le dice que se ejecute en la bandeja del sistema. Recogerá la sesión JACK iniciada por D-Bus muy bien, y muy bien también. Mantiene el patchbay, las conexiones entre estas aplicaciones y cualquier otra aplicación habilitada para JACK para iniciarse manualmente. El patchbay se configura mediante la GUI manual, pero las conexiones preconfiguradas en el patchbay son creadas automáticamente por QjackCtl cuando se inician las aplicaciones.
  
===A GUI-based example setup===
+
===Una configuración de ejemplo basada en GUI===
This example setup utilizes a more GUI focused configuration and management of JACK
+
Esta configuración de ejemplo utiliza una configuración y administración más centrada en la GUI de JACK
  
* Install {{Pkg|jack2-dbus}}.
+
* Instale {{Pkg|jack2-dbus}}.
* Install {{Pkg|qjackctl}}, and tell your GUI window/desktop system to run it at startup.
+
* Instale {{Pkg|qjackctl}}, e informe a su sistema de escritorio/ventana GUI para que se ejecute al inicio.
* Make sure QjackCtl is told to:
+
* Asegúrese de que se diga a QjackCtl que:
** use the D-Bus interface,
+
** usar la interfaz D-Bus,
** run at startup,
+
** ejecutar en el arranque,
** save its configuration to the default location,
+
** guardar su configuración en la ubicación predeterminada,
** start the JACK audio server on application startup,
+
** iniciar el servidor de audio JACK en el inicio de la aplicación,
** enable the system tray icon, and
+
** habilitar el icono de la bandeja del sistema, y
** start minimized to system tray.
+
** inicio minimizado a la bandeja del sistema.
* Reboot.
+
* Reiniciar.
* After logging in, you will see QjackCtl in your system tray. Left-click on it.
+
* Después de iniciar sesión, verá QjackCtl en la bandeja del sistema. Haz clic izquierdo en él.
* Tweak settings in the QjackCtl GUI to lower latency. The Frame Size, Frame Buffer, and Bitrate settings all affect latency. Larger frame sizes lower latency, lower frame buffers lower latency, and higher bitrate settings lower latency, but all increase load on the sound card and your CPU. A Latency of about ~5ms is desirable for direct monitoring of instruments or microphones, as the latency begins to become perceptible at higher latencies.
+
* Ajustar la configuración en la interfaz gráfica de QjackCtl para reducir la latencia. La configuración de Tamaño de marco, Búfer de marco y Velocidad de bits afectan la latencia. Los tamaños de fotogramas más grandes reducen la latencia, los fotogramas inferiores reducen la latencia y los valores de bitrate más altos reducen la latencia, pero todos aumentan la carga en la tarjeta de sonido y en la CPU. Una latencia de aproximadamente ~ 5 ms es deseable para el monitoreo directo de instrumentos o micrófonos, ya que la latencia comienza a ser perceptible en latencias más altas.
  
===Playing nice with ALSA===
+
===Jugando bien con ALSA===
To allow Alsa programs to play while jack is running you must install the jack plugin for alsa with {{Pkg|alsa-plugins}}.
+
Para permitir que los programas Alsa se reproduzcan mientras se está ejecutando el conector, debe instalar el complemento del conector para alsa con {{Pkg|alsa-plugins}}.
  
And enable it by editing (or creating) /etc/asound.conf (system wide settings) to have these lines:
+
Y habilítelo editando (o creando) /etc/asound.conf (configuración de todo el sistema) para tener estas líneas:
 
{{bc|<nowiki>
 
{{bc|<nowiki>
# convert alsa API over jack API
+
# convertir alsa API sobre jack API
# use it with
+
# usarlo con
# % aplay foo.wav
+
#% aplay foo.wav
  
# use this as default
+
# usa esto como predeterminado
 
pcm.!default {
 
pcm.!default {
 
     type plug
 
     type plug
Line 129: Line 129:
 
}
 
}
  
# pcm type jack
+
# pcm tipo jack
 
pcm.jack {
 
pcm.jack {
 
     type jack
 
     type jack
Line 142: Line 142:
 
}</nowiki>}}
 
}</nowiki>}}
  
You need not restart your computer or anything. Just edit the alsa config files, start up jack, and there you go...
+
No necesitas reiniciar tu computadora ni nada. Solo edita los archivos de configuración alsa, inicia el jack, y listo...
  
Remember to start it as a '''user'''. If you start it with {{ic|jackd}} -d alsa" as user X, it will not work for user Y.
+
Recuerde iniciarlo como '''usuario'''. Si lo inicia con {{ic|jackd}} -d alsa como usuario X, no funcionará para el usuario Y.
 
+
Otro enfoque, utilizando el dispositivo de bucle de retorno ALSA (más complejo pero probablemente más robusto), se describe en [http://alsa.opensrc.org/Jack_and_Loopback_device_as_Alsa-to-Jack_bridge este artículo].
Another approach, using ALSA loopback device (more complex but probably more robust), is described in [http://alsa.opensrc.org/Jack_and_Loopback_device_as_Alsa-to-Jack_bridge this article].
 
  
 
=== GStreamer ===
 
=== GStreamer ===
  
GStreamer requires the {{pkg|gst-plugins-good}} package to work with JACK, which contains the jackaudiosink plugin that adds JACK playback support.
+
GStreamer requiere que el paquete {{pkg|gst-plugins-good}} funcione con JACK, que contiene el complemento jackaudiosink que agrega compatibilidad con la reproducción de JACK.
  
Further information (outdated): http://jackaudio.org/faq/gstreamer_via_jack.html
+
Más información (desactualizada): http://jackaudio.org/faq/gstreamer_via_jack.html
  
 
=== PulseAudio ===
 
=== PulseAudio ===
If you need to keep {{Pkg|pulseaudio}} installed (in the event it is required by other packages, like {{Pkg|gnome-settings-daemon}}), you may want to prevent it from spawning automatically with X and taking over from JACK.
+
Si necesita mantener {{Pkg | pulseaudio}} instalado (en caso de que lo requieran otros paquetes, como {{Pkg|gnome-settings-daemon}}), es posible que desee evitar que se genere automáticamente con X y tomando el relevo de JACK.
  
Edit {{ic|/etc/pulse/client.conf}}, uncomment "autospawn" and set it to "no":
+
Edite {{ic|/etc/pulse/client.conf}}, elimine el comentario "autospawn" y configúrelo en "no":
 
  ;autospawn = yes
 
  ;autospawn = yes
 
  autospawn = no
 
  autospawn = no
  
''If you want both to play along, see: [[PulseAudio/Examples#PulseAudio through JACK]]''
+
''Si desea que ambos se reproduzcan, consulte: [[PulseAudio/Examples#PulseAudio a través de JACK]]''
  
 
=== Firewire ===
 
=== Firewire ===
In order to prevent ALSA from messing around with your firewire devices you have to blacklist all firewire related kernel modules. This also prevents PulseAudio from using firewire. Create the following file:
+
Para evitar que ALSA pierda el tiempo con sus dispositivos firewire, debe incluir en la lista negra todos los módulos de kernel relacionados con firewire. Esto también evita que PulseAudio use Firewire. Crea el siguiente archivo:
  
 
{{hc|/etc/modprobe.d/alsa-no-jack.conf|
 
{{hc|/etc/modprobe.d/alsa-no-jack.conf|
Line 179: Line 178:
 
}}
 
}}
  
''The list of modules is the most recent available at the time of writing at [https://github.com/takaswie/snd-firewire-improve Alsa Firewire Improve Repository].''
+
''La lista de módulos es la más reciente disponible en el momento de escribir en [https://github.com/takaswie/snd-firewire-mejorar Alsa Firewire mejorar repositorio].''
  
Now you can unload your loaded firewire modules or reboot.
+
Ahora puede descargar sus módulos Firewire cargados o reiniciar.
  
 
==MIDI==
 
==MIDI==
  
JACK can handle one soundcard very well, and an arbitrary number of MIDI devices (connected e.g. via USB).
+
JACK puede manejar una tarjeta de sonido muy bien y un número arbitrario de dispositivos MIDI (conectados, por ejemplo, a través de USB).
If you start JACK and want to use a MIDI keyboard or a synthesizer or some other pure MIDI device, you have to start JACK with a proper soundcard (one that actually outputs or inputs PCM sound).
+
Si inicia JACK y desea usar un teclado MIDI o un sintetizador o algún otro dispositivo MIDI puro, debe iniciar JACK con una tarjeta de sonido adecuada (una que realmente emita o ingrese sonido PCM).
As soon you have done that, you can connect the MIDI device. E.g. with QjackCtl ({{pkg|qjackctl}}), you click on the connect button and you will find your device listed under JACK-MIDI or ALSA-MIDI, depending on the driver.
+
Tan pronto como lo hayas hecho, puedes conectar el dispositivo MIDI. P.ej. con QjackCtl ({{pkg|qjackctl}}), haga clic en el botón de conexión y encontrará su dispositivo en la lista de JACK-MIDI o ALSA-MIDI, dependiendo del controlador.
 
+
Para JACK-MIDI, puede configurar el '''Controlador MIDI''' en '''seq''' o '''raw''' en Configuración> Configuración de QjackCtl ''. Esto debería hacer que su dispositivo MIDI aparezca en la pestaña '' MIDI ''. También puede cambiar el nombre del cliente (de un genérico "midi_capture_1" a algo más descriptivo), si habilita "Configuración> Pantalla> Habilitar alias de puerto/cliente" y luego "Permitir la edición de alias de cliente/puerto (renombrar) ''.
For JACK-MIDI, you may want to set the '''MIDI Driver''' to '''seq''' or '''raw''' in QjackCtl ''Setup > Settings''. This should make your MIDI device appear under the ''MIDI'' tab. You can also change the name of the client (from a generic "midi_capture_1" to something more descriptive), if you enable ''Setup > Display > Enable client/port aliases'' and then ''Enable client/port aliases editing (rename)''.
 
  
For ALSA-MIDI, make sure to turn on '''Enable ALSA Sequencer support''' in QjackCtl ''Setup > Misc''. This will add the ''ALSA'' tab in QjackCtl ''Connect'' window where your MIDI controller will show up.
+
Para ALSA-MIDI, asegúrese de activar '' 'Habilitar el soporte del secuenciador ALSA' '' en QjackCtl '' Configuración> Miscelánea ''. Esto agregará la pestaña '' ALSA '' en la ventana '' Conectar '' de QjackCtl donde se mostrará su controlador MIDI.
  
{{Note| {{pkg|jack2}} does not come with bridging support for legacy ALSA MIDI only applications. Therefore {{pkg|a2jmidid}} is required [https://github.com/jackaudio/jack2/issues/362 until upstream achieves feature parity on this].}}
+
{{note| {{pkg|jack2}} no viene con soporte de puente para aplicaciones heredadas de ALSA MIDI solamente. Por lo tanto, se requiere {{pkg|a2jmidid}} [https://github.com/jackaudio/jack2/issues/362 hasta que el flujo ascendente alcance paridad de características en esto].}}
For bridging ALSA-MIDI to JACK-MIDI, you may consider using a2jmidid ({{Pkg|a2jmidid}}). The following command will export all available ALSA MIDI ports to JACK MIDI ports:
+
Para conectar ALSA-MIDI a JACK-MIDI, puede considerar el uso de a2jmidid ({{Pkg|a2jmidid}}). El siguiente comando exportará todos los puertos ALSA MIDI disponibles a los puertos JACK MIDI:
 
  $ a2jmidid -e
 
  $ a2jmidid -e
They will be visible in QjackCtl under the ''MIDI'' tab labelled "a2j" client.
+
Serán visibles en QjackCtl en la pestaña '' MIDI '' etiquetada como cliente "a2j".
You can automate starting of a2jmidid by adding to QjackCtl ''Setup > Options > Execute script after Startup'': {{ic|/usr/bin/a2jmidid -e &}}
+
Puede automatizar el inicio de a2jmidid agregando a QjackCtl '' Configuración> Opciones> Ejecutar secuencia de comandos después del inicio '': {{ic|/usr/bin/a2jmidid -e &}}
{{note|When connecting MIDI keyboard controllers in QjackCtl, make sure to ''Expand All'' first and connect the desired ''Output Ports'' (below the ''Readable Clients'') to the ''Input Ports'' (below the ''Writable Clients''). As a shortcut, if you select a writable client instead of individual ports as your destination, it should connect all its currently displayed output ports underneath.}}
+
{{note | Al conectar controladores de teclado MIDI en QjackCtl, asegúrese de '' Expandir todo '' primero y conecte los '' Puertos de salida '' deseados (debajo de '' Clientes legibles '') a los '' Puertos de entrada '' (debajo de los '' clientes escribibles ''). Como acceso directo, si selecciona un cliente de escritura en lugar de puertos individuales como su destino, debería conectar todos los puertos de salida que se muestran actualmente debajo.}}
  
*'''Q:''' What is the difference between JACK-MIDI and ALSA-MIDI?
+
*'''Q:''' ¿Cuál es la diferencia entre JACK-MIDI y ALSA-MIDI?
*'''A:''' The former has improved timing and sample accurate MIDI event alignment. It extends or may even replace the latter but at this point they both co-exist.
+
*'''A:''' El primero ha mejorado la sincronización y muestra la alineación precisa de eventos MIDI. Extiende o incluso puede reemplazar a este último, pero en este punto ambos coexisten.
  
To install some M-Audio MIDI keyboards, you will need the firmware package {{AUR|midisport-firmware}} in the [[AUR]]. Also, the snd_usb_audio module has to be available.
+
Para instalar algunos teclados MIDI M-Audio, necesitará el paquete de firmware {{AUR|midisport-firmware}} en [[AUR]]. Además, el módulo snd_usb_audio debe estar disponible.
For more information about specific USB MIDI devices, see http://alsa.opensrc.org/USBMidiDevices.
+
Para obtener más información sobre dispositivos USB MIDI específicos, consulte http://alsa.opensrc.org/USBMidiDevices.
  
==Troubleshooting==
+
==Solución de problemas==
==="Cannot lock down memory area (Cannot allocate memory)" message on startup===
+
===Mensaje de "No se puede bloquear el área de memoria (No se puede asignar memoria)" en el inicio===
  
See [[Realtime process management#Configuring PAM]] and ensure that the user is in the {{ic|realtime}} [[group]].
+
Consulte [[Realtime process management#Configuring PAM]] y asegurarse de que el usuario está en el [[grupo]] {{ic|realtime}}.
  
===jack2-dbus and qjackctl errors===
+
===Jack2-dbus y qjackctl errores===
Still having the "Cannot allocate memory" and/or "Cannot connect to server socket err = No such file or directory" error(s) when pressing qjackctl's start button (assuming that you have package jack2-dbus installed) ?
+
¿Aún tiene el error "No se puede asignar memoria" y/o "No se puede conectar con el socket del servidor = No hay tal archivo o directorio" al presionar el botón de inicio de qjackctl (suponiendo que tiene el paquete jack2-dbus instalado)?
  
Please delete {{ic|~/.jackdrc}}, {{ic|~/.config/jack/conf.xml}}, {{ic|~/.config/rncbc.org/QjackCtl.conf}}. Kill ''jackdbus'' and restart from scratch :)
+
Borre {{ic|~/.jackdrc}}, {{ic|~/.config/jack/conf.xml}}, {{ic|~/.config/rncbc.org/QjackCtl.conf}}. Mate ''jackdbus'' y reiniciar desde cero :)
(Thanks to nedko)
+
(Gracias a nedko)
  
Also try running
+
Tambien intenta correr
 
  $ fuser /dev/snd/*
 
  $ fuser /dev/snd/*
and check the resulting PID's with
+
y verifique los PID resultantes con
 
  $ ps ax | grep [PID here]
 
  $ ps ax | grep [PID here]
This will hopefully show the conflicting programs.
+
Esperemos que esto muestre los programas conflictivos.
  
==="ALSA: cannot set channel count to 1 for capture" error in logs===
+
===Error "ALSA: no se puede establecer el número de canales en 1 para la captura" en los registros===
Change ALSA input and output channels from 1 to 2
+
Cambie los canales de entrada y salida de ALSA de 1 a 2.
  
===Crackling or pops in audio===
+
===Crackling y chasquidos en audio===
Your CPU or sound card is too weak to handle your settings for JACK. Lower the bitrate, lower the frame size, and raise the frame period in small increments until crackling stops.
+
Su CPU o tarjeta de sonido es demasiado débil para manejar su configuración para JACK. Baje la tasa de bits, baje el tamaño del cuadro y aumente el período del cuadro en pequeños incrementos hasta que cese el crujido.
  
===Problems with specific applications===
+
===Problemas con aplicaciones específicas.===
====VLC - no audio after starting JACK====
+
====VLC - no hay audio después de iniciar JACK====
Run VLC and change the following menu options:
+
Ejecuta VLC y cambia las siguientes opciones de menú:
* Tools > Preferences
+
* Herramientas> Preferencias
* Show settings: All
+
* Mostrar ajustes: Todos
* Audio > Output modules > Audio output module: JACK audio output
+
* Audio> Módulos de salida> Módulo de salida de audio: salida de audio JACK
* Audio > Output modules > JACK: Automatically connect to writable clients (enable)
+
* Audio> Módulos de salida> JACK: conectarse automáticamente a clientes grabables (habilitar)
  
==See also==
+
==Ver también==
  
* [https://github.com/jackaudio/jackaudio.github.com/wiki/Q_difference_jack1_jack2 Differences between JACK 1 and JACK2]
+
* [https://github.com/jackaudio/jackaudio.github.com/wiki/Q_difference_jack1_jack2 Diferencias entre JACK 1 y JACK2]
* [http://jackaudio.org/faq/ JACK FAQ]
+
* [http://jackaudio.org/faq/ Preguntas frecuentes de JACK]

Revision as of 03:42, 19 October 2018

From JACK Audio Connection Kit:

JACK Audio Connection Kit (o JACK; un acrónimo recursivo) es un demonio de servidores de sonido profesional que proporciona conexiones de baja latencia en tiempo real para audio y datos MIDI entre aplicaciones que implementan su API.

Instalacción

Para que JACK funcione correctamente, su usuario debe ser agregado al grupo realtime para acceder a límites superiores definidos en /etc/security/limits.d/99-realtime-privileges.conf (proporcionado por el paquete realtime-privileges package), que es necesario para el procesamiento de audio en tiempo real.

Note: Debe agregar manualmente su usuario al grupo realtime incluso si está usando logind, ya que logind solo maneja el acceso al hardware directo.

Hay dos implementaciones de JACK, consulte esta comparación para ver la diferencia entre las dos. En resumen, Jack 1 y Jack 2 son implementaciones equivalentes del mismo protocolo. Los programas compilados contra Jack 1 funcionarán con Jack 2 sin recompilar (y viceversa).

JACK2

JACK2 Es una implementación de C++ con soporte SMP. instálalo con el paquete jack2 Si está en una instalación de 64 bits y necesita ejecutar aplicaciones de 32 bits que requieren JACK, también instale el paquete lib32-jack2 desde el repositorio multilib.

JACK2 D-Bus

JACK2 con D-Bus se puede instalar a través de jack2-dbus. Es igual que el paquete jack2 pero no proporciona el servidor "jackd" heredado.

Está controlado por la utilidad jack_control. La utilidad jack_control requiere que también instales el paquete python2-dbus.

Los comandos importantes se enumeran a continuación:
jack_control start  -  inicia el servidor jack
jack_control stop  - detiene el servidor jack
jack_control ds alsa  -  Selecciona alsa como el conductor (backend)
jack_control eps realtime True  -  establecer los parámetros del motor, como en tiempo real
jack_control dps period 256  -  establecer el período de parámetros del controlador a 256

JACK

utiliza una API de C y admite más de una tarjeta de sonido en Linux (más MIDI). instálalo con el paquete jack. Si está en una instalación de 64 bits y necesita ejecutar aplicaciones de 32 bits que requieren JACK, también instale el paquete lib32-jack desde el repositorio multilib.

GUI

  • Cadence — Conjunto de herramientas útiles para la producción de audio. Realiza comprobaciones del sistema, administra JACK, llama a otras herramientas y realiza ajustes en el sistema.
https://kxstudio.linuxaudio.org/Applications:Cadence || cadence
  • Patchage — Bahía de parches modulares para sistemas de audio y MIDI basados en JACK y ALSA.
https://drobilla.net/software/patchage || patchage
  • PatchMatrix — Parche de JACK en estilo de matriz de flujo.
https://git.open-music-kontrollers.ch/lad/patchmatrix/about/ || patchmatrix
  • QjackCtl — Aplicación Qt simple para controlar el daemon del servidor de sonido JACK.
https://qjackctl.sourceforge.io/ || qjackctl

Configuracion basica

Descripción general

La configuración correcta para sus necesidades de hardware y aplicaciones depende de varios factores. Su tarjeta de sonido y la CPU afectarán en gran medida la baja latencia que puede alcanzar al usar JACK.

La línea principal del kernel de Linux ahora admite la programación en tiempo real, por lo que ya no es necesario usar un kernel parcheado. Sin embargo, linux-rtAUR en el AUR es un kernel parcheado que tiene algunos parches adicionales que pueden ayudar a obtener latencias más bajas.

Una configuración de ejemplo basada en shell

La edición D-Bus de JACK2 puede hacer que el arranque sea mucho más fácil. Anteriormente, se usaba QjackCtl para iniciarlo, o se usaba un demonio o algún otro método. Pero utilizando jack2-dbus, JACK2 se puede iniciar y configurar fácilmente a través de un script de shell.

Cree un script de shell que se pueda ejecutar al iniciar sesión en X:

start_jack.sh
#!/bin/bash

jack_control start
jack_control ds alsa
jack_control dps device hw:HD2
jack_control dps rate 48000
jack_control dps nperiods 2
jack_control dps period 64
sleep 10
a2jmidid -e &
sleep 10
qjackctl &

Lo anterior iniciará una instancia de JACK de trabajo que otros programas pueden utilizar. Los detalles de cada línea siguen. Cuando descubra su propia mejor configuración, es útil hacer pruebas y errores utilizando la GUI de QjackCtl con una versión de D-Bus JACK2.

Detalles de la configuración de ejemplo basada en shell

jack_control start

Inicia JACK si aún no está iniciado.

jack_control ds alsa

Establece JACK para usar el conjunto de controladores ALSA.

jack_control dps device hw:HD2

Configura a JACK para usar una tarjeta de sonido compatible con ALSA llamada HD2. Uno puede encontrar los nombres con cat /proc/asound/cards. La mayoría de los tutoriales y configuraciones predeterminadas de ALSA utilizan números de tarjeta, pero esto puede resultar confuso cuando se utilizan dispositivos MIDI externos; Los nombres lo hacen más fácil.

jack_control dps rate 48000

Establece JACK para utilizar muestreo de 48000 khz. Sucede que funciona muy bien con esta tarjeta. Algunas tarjetas sólo se hacen 44100, muchos van a subir mucho más. Cuanto más alto vaya, más baja será su latencia, pero mejor deberán ser su tarjeta y su CPU, y el software también tiene que admitir esto.

jack_control dps nperiods 2

Establece JACK para usar 2 periodos. 2 es adecuado para la placa base, PCI, PCI-X, etc .; 3 para USB.

jack_control dps period 64

Establece JACK para usar 64 periodos por cuadro. Inferior es menos latencia, pero la configuración en este script proporciona 2.67 ms de latencia, que es bastante baja sin poner demasiado énfasis en el hardware en particular para el que se creó este ejemplo. Si un sistema de sonido USB estuviera en uso, podría ser bueno probar 32. Cualquier cosa menor a 3-4 ms debería estar bien para síntesis en tiempo real y/o efectos, 5 ms es lo más pequeño que un ser humano puede detectar. QjackCtl te dirá cómo estás; sin carga, lo que significa que no hay clientes conectados, deseará un máximo de 3-5% de uso de CPU, y si no puede obtener eso sin xruns (los números rojos que significan que el sistema no puede cumplir con las demandas), Tienes que mejorar tu hardware.

sleep 10

Espera a que lo anterior se asiente.

a2jmidid -e &

Inicie el puente MIDI de ALSA a JACK. Bueno para mezclar en aplicaciones que toman entrada MIDI a través de ALSA pero no JACK.

sleep 10

Espera a que lo anterior se asiente.

qjackctl &

Cargar QjackCtl. La configuración de la GUI le dice que se ejecute en la bandeja del sistema. Recogerá la sesión JACK iniciada por D-Bus muy bien, y muy bien también. Mantiene el patchbay, las conexiones entre estas aplicaciones y cualquier otra aplicación habilitada para JACK para iniciarse manualmente. El patchbay se configura mediante la GUI manual, pero las conexiones preconfiguradas en el patchbay son creadas automáticamente por QjackCtl cuando se inician las aplicaciones.

Una configuración de ejemplo basada en GUI

Esta configuración de ejemplo utiliza una configuración y administración más centrada en la GUI de JACK

  • Instale jack2-dbus.
  • Instale qjackctl, e informe a su sistema de escritorio/ventana GUI para que se ejecute al inicio.
  • Asegúrese de que se diga a QjackCtl que:
    • usar la interfaz D-Bus,
    • ejecutar en el arranque,
    • guardar su configuración en la ubicación predeterminada,
    • iniciar el servidor de audio JACK en el inicio de la aplicación,
    • habilitar el icono de la bandeja del sistema, y
    • inicio minimizado a la bandeja del sistema.
  • Reiniciar.
  • Después de iniciar sesión, verá QjackCtl en la bandeja del sistema. Haz clic izquierdo en él.
  • Ajustar la configuración en la interfaz gráfica de QjackCtl para reducir la latencia. La configuración de Tamaño de marco, Búfer de marco y Velocidad de bits afectan la latencia. Los tamaños de fotogramas más grandes reducen la latencia, los fotogramas inferiores reducen la latencia y los valores de bitrate más altos reducen la latencia, pero todos aumentan la carga en la tarjeta de sonido y en la CPU. Una latencia de aproximadamente ~ 5 ms es deseable para el monitoreo directo de instrumentos o micrófonos, ya que la latencia comienza a ser perceptible en latencias más altas.

Jugando bien con ALSA

Para permitir que los programas Alsa se reproduzcan mientras se está ejecutando el conector, debe instalar el complemento del conector para alsa con alsa-plugins.

Y habilítelo editando (o creando) /etc/asound.conf (configuración de todo el sistema) para tener estas líneas:

# convertir alsa API sobre jack API
# usarlo con
#% aplay foo.wav

# usa esto como predeterminado
pcm.!default {
    type plug
    slave { pcm "jack" }
}

ctl.mixer0 {
    type hw
    card 1
}

# pcm tipo jack
pcm.jack {
    type jack
    playback_ports {
        0 system:playback_1
        1 system:playback_2
    }
    capture_ports {
        0 system:capture_1
        1 system:capture_2
    }
}

No necesitas reiniciar tu computadora ni nada. Solo edita los archivos de configuración alsa, inicia el jack, y listo...

Recuerde iniciarlo como usuario. Si lo inicia con jackd -d alsa como usuario X, no funcionará para el usuario Y. Otro enfoque, utilizando el dispositivo de bucle de retorno ALSA (más complejo pero probablemente más robusto), se describe en este artículo.

GStreamer

GStreamer requiere que el paquete gst-plugins-good funcione con JACK, que contiene el complemento jackaudiosink que agrega compatibilidad con la reproducción de JACK.

Más información (desactualizada): http://jackaudio.org/faq/gstreamer_via_jack.html

PulseAudio

Si necesita mantener pulseaudio instalado (en caso de que lo requieran otros paquetes, como gnome-settings-daemon), es posible que desee evitar que se genere automáticamente con X y tomando el relevo de JACK.

Edite /etc/pulse/client.conf, elimine el comentario "autospawn" y configúrelo en "no":

;autospawn = yes
autospawn = no

Si desea que ambos se reproduzcan, consulte: PulseAudio/Examples#PulseAudio a través de JACK

Firewire

Para evitar que ALSA pierda el tiempo con sus dispositivos firewire, debe incluir en la lista negra todos los módulos de kernel relacionados con firewire. Esto también evita que PulseAudio use Firewire. Crea el siguiente archivo:

/etc/modprobe.d/alsa-no-jack.conf
blacklist snd-fireworks
blacklist snd-bebob
blacklist snd-oxfw
blacklist snd-dice
blacklist snd-firewire-digi00x
blacklist snd-firewire-tascam
blacklist snd-firewire-lib
blacklist snd-firewire-transceiver
blacklist snd-fireface
blacklist snd-firewire-motu

La lista de módulos es la más reciente disponible en el momento de escribir en Alsa Firewire mejorar repositorio.

Ahora puede descargar sus módulos Firewire cargados o reiniciar.

MIDI

JACK puede manejar una tarjeta de sonido muy bien y un número arbitrario de dispositivos MIDI (conectados, por ejemplo, a través de USB). Si inicia JACK y desea usar un teclado MIDI o un sintetizador o algún otro dispositivo MIDI puro, debe iniciar JACK con una tarjeta de sonido adecuada (una que realmente emita o ingrese sonido PCM). Tan pronto como lo hayas hecho, puedes conectar el dispositivo MIDI. P.ej. con QjackCtl (qjackctl), haga clic en el botón de conexión y encontrará su dispositivo en la lista de JACK-MIDI o ALSA-MIDI, dependiendo del controlador. Para JACK-MIDI, puede configurar el Controlador MIDI en seq o raw en Configuración> Configuración de QjackCtl . Esto debería hacer que su dispositivo MIDI aparezca en la pestaña MIDI . También puede cambiar el nombre del cliente (de un genérico "midi_capture_1" a algo más descriptivo), si habilita "Configuración> Pantalla> Habilitar alias de puerto/cliente" y luego "Permitir la edición de alias de cliente/puerto (renombrar) .

Para ALSA-MIDI, asegúrese de activar 'Habilitar el soporte del secuenciador ALSA' en QjackCtl Configuración> Miscelánea . Esto agregará la pestaña ALSA en la ventana Conectar de QjackCtl donde se mostrará su controlador MIDI.

Note: jack2 no viene con soporte de puente para aplicaciones heredadas de ALSA MIDI solamente. Por lo tanto, se requiere a2jmidid hasta que el flujo ascendente alcance paridad de características en esto.

Para conectar ALSA-MIDI a JACK-MIDI, puede considerar el uso de a2jmidid (a2jmidid). El siguiente comando exportará todos los puertos ALSA MIDI disponibles a los puertos JACK MIDI:

$ a2jmidid -e

Serán visibles en QjackCtl en la pestaña MIDI etiquetada como cliente "a2j". Puede automatizar el inicio de a2jmidid agregando a QjackCtl Configuración> Opciones> Ejecutar secuencia de comandos después del inicio : /usr/bin/a2jmidid -e &

Note: Al conectar controladores de teclado MIDI en QjackCtl, asegúrese de Expandir todo primero y conecte los Puertos de salida deseados (debajo de Clientes legibles ) a los Puertos de entrada (debajo de los clientes escribibles ). Como acceso directo, si selecciona un cliente de escritura en lugar de puertos individuales como su destino, debería conectar todos los puertos de salida que se muestran actualmente debajo.
  • Q: ¿Cuál es la diferencia entre JACK-MIDI y ALSA-MIDI?
  • A: El primero ha mejorado la sincronización y muestra la alineación precisa de eventos MIDI. Extiende o incluso puede reemplazar a este último, pero en este punto ambos coexisten.

Para instalar algunos teclados MIDI M-Audio, necesitará el paquete de firmware midisport-firmwareAUR en AUR. Además, el módulo snd_usb_audio debe estar disponible. Para obtener más información sobre dispositivos USB MIDI específicos, consulte http://alsa.opensrc.org/USBMidiDevices.

Solución de problemas

Mensaje de "No se puede bloquear el área de memoria (No se puede asignar memoria)" en el inicio

Consulte Realtime process management#Configuring PAM y asegurarse de que el usuario está en el grupo realtime.

Jack2-dbus y qjackctl errores

¿Aún tiene el error "No se puede asignar memoria" y/o "No se puede conectar con el socket del servidor = No hay tal archivo o directorio" al presionar el botón de inicio de qjackctl (suponiendo que tiene el paquete jack2-dbus instalado)?

Borre ~/.jackdrc, ~/.config/jack/conf.xml, ~/.config/rncbc.org/QjackCtl.conf. Mate jackdbus y reiniciar desde cero :) (Gracias a nedko)

Tambien intenta correr

$ fuser /dev/snd/*

y verifique los PID resultantes con

$ ps ax | grep [PID here]

Esperemos que esto muestre los programas conflictivos.

Error "ALSA: no se puede establecer el número de canales en 1 para la captura" en los registros

Cambie los canales de entrada y salida de ALSA de 1 a 2.

Crackling y chasquidos en audio

Su CPU o tarjeta de sonido es demasiado débil para manejar su configuración para JACK. Baje la tasa de bits, baje el tamaño del cuadro y aumente el período del cuadro en pequeños incrementos hasta que cese el crujido.

Problemas con aplicaciones específicas.

VLC - no hay audio después de iniciar JACK

Ejecuta VLC y cambia las siguientes opciones de menú:

  • Herramientas> Preferencias
  • Mostrar ajustes: Todos
  • Audio> Módulos de salida> Módulo de salida de audio: salida de audio JACK
  • Audio> Módulos de salida> JACK: conectarse automáticamente a clientes grabables (habilitar)

Ver también