M-Audio audiophile usb Ubuntu Studio

panchubi
#1 por panchubi el 05/01/2010
Hola,

Estoy empezando con el Ubuntu Studio.

La cuestión es que tengo una M-Audio audiophile usb. Quiero grabar audio en Ardour, pero no consigo seleccionar la entrada de audio de la tarjeta de sonido. He probado con Jack, cambiando las preferencias del Sistema, editando los input en el Mixer del track de Ardour, etc pero nada. La tarjeta me la reconoce Jack en la pestaña de ALSA, y he podido comprobar que como interfaz MIDI funciona sin problemas. También he conseguido hacer que el reproductor de audio saque el sonido por la tarjeta. ¿Qué puede ser? ¿Puede que Jack solo me reconozca la tarjeta como interfaz MIDI? ¿Tengo que instalar algo más para grabar Audio con la tarjeta?

Gracias
Subir
OFERTASVer todas
  • -13%
    Roland Juno-D6
    839 €
    Ver oferta
  • -11%
    Focusrite Scarlett 8i6 3rd Gen
    177 €
    Ver oferta
  • -6%
    Elektron Digitakt II (B-Stock)
    939 €
    Ver oferta
Pablo_F
#2 por Pablo_F el 05/01/2010
Hola,

¿En la pestaña de audio de qjackctl (JACK Control) sólo ves las conexiones de audio system_playbacks, no ves system_captures en la columna de la izquierda? Si quieres, puedes poner los mensajes de qjackctl (botón mensajes) y vemos a ver qué puede pasar.

Otra cosa, en el setup, en la columna de la derecha, ¿Tienes el Audio como Duplex o Sólo Reproducción?

Saludos, Pablo
Subir
panchubi
#3 por panchubi el 06/01/2010
En la pestaña AUDIO y MIDI no me sale nada. La Tarjeta aparece en la pestaña ALSA. Antes en AUDIO si me aparecía systemCapture, y el ardour por ejemplo me grababa con el microfono del portatil, cambié la canfiguración del jack para que tanto la entrada como la salida fuera a través de la tarjeta y es ahora cuando no me aparece nada en AUDIO.

Lo tengo configurado como DUPLEX

Los mensajes que me da el jack son:

12:50:23.003 Patchbay deactivated.
12:50:23.074 Statistics reset.
12:50:23.138 ALSA connection graph change.
12:50:23.283 ALSA connection change.

No hay nada en rojo, no se.

Gracias
Subir
Pablo_F
#4 por Pablo_F el 06/01/2010
Hola,

Dará más mensajes cuando inicias jack. Esas cuatro líneas no dicen nada. De todas formas, he estado mirando en internet y el funcionamiento de esa tarjeta con alsa y jack está explicado aquí:

http://www.mjmwired.net/kernel/Document ... le-Usb.txt

Resumiendo,

El comando de jackd con el que debería funcionar la tarjeta en modo duplex,

$ /usr/bin/jackd -R -dalsa -r48000 -p128 -n2 -D -Phw:x,0 -Chw:x,1

Traducido a la interfaz del setup de jack:

Ruta del servidor: /usr/bin/jackd (o 'jackd' sin más, es lo mismo)
-R: Modo realtime o Tiempo Real (columna izzquierda)(Para que esto funcione, necesitas rtprio 99 y memlock unlimited en /etc/security/limits.conf. Si no sabes de qué va esto, mira por ejemplo: piano-vst-calidad-para-linux-t295408.html)
-dalsa: Driver alsa
-r48000: Frecuencia de muestreo
-p128: Cuadros por periodo (este valor es bastante exigente, si ves xruns, súbelo a 256 o mayor. A mayor número, mayor latencia y menor probabilidad de xruns)
-n2: Periodos por buffer
-D: Audio Duplex
-Phw:x,0: Dispositivo de salida, hw:x,0 (ver abajo)
-Chw:x,1 Dispositivo de entrada, hw:x,1 (ver abajo)

El primer número del dispositivo (la 'x' en 'hw:x,y', el mismo en entrada que en salida) depende de las tarjetas de audio que tengas instaladas, o enchufadas. El desplegable (flechita a la derecha) te identificará tu m-audio con una serie de dispositivos 'hw:x,y' con nombre snd-usb-audio o similar. 'x' puede ser 0, 1, 2 ... Probablemente sea 1, contando que tengas una tarjeta onboard activada en la BIOS, pero elígelo desde el desplegable.

En la ventana de mensajes, después de iniciar Jack, después de la línea "jack está iniciándose..." verás el comando con el que has arrancado al servidor, que debería ser como el que he puesto arriba (el valor de -p puede cambiar como ya he comentado). Como "curiosidad", este comando con sus opciones y parámetros se guarda en el archivo '.jackdrc', en tu 'home'.

Los números de dispositivos de entrada y salida los tienes que mirar cada vez que arranques Jack porque a veces, arbitrariamente, en diferentes arranques del ordenador (nunca en la misma sesión a no ser que lo hagas a propósito) la 'x' correspondiente a snd-usb-audio puede cambiar de valor (de 1 a 0 por ejemplo). Esto se puede arreglar definitivamente dándoles números de orden fijos en el archivo de configuración de alsa. Una forma de hacerlo está explicada en el link que doy abajo.

En las conexiones:

En la pestaña audio deberías ver los puestos de captura y reproducción de la m-audio (system captures y system playbacks). En la pestaña MIDI no verás nada a no ser que elijas driver MIDI en el setup (esto es JACK MIDI). En la pestaña ALSA deberías ver el MIDI de tu tarjeta. Esto es ALSA MIDI que no tiene nada que ver con el driver alsa que utiliza jack para la configuración de audio.

Si no lo consigues o tienes alguna duda, tendrás que dar algunos datos más, como mínimo:

Distribución y versión
$uname -r
$cat /proc/asound/cards
$jackd --version
Mensajes de jack, incluido el comando con el que lo lanzas.

Espero que sea de ayuda. Saludos, Pablo
www.semicorchux.blogspot.com
"Ayuda para hacer música con Linux"
Subir
panchubi
#5 por panchubi el 09/01/2010
Hola,

Muchas gracias por la respuesta

Cuando invoco el comando no me aparece interfaz de jack. Tengo bien configurado "memlock unlimited" y demás después de algunas vueltas (lo primero fue probar el comando tal cual y me salió ese error y solucioné leyendo unas lineas más abajo)

De todos modos con la interfaz y el setup he configurado todo según el comando (gracias a la explicación)

Todos los sonidos de mi ordenador ya me entran y me salen por la tarjeta, el problema es que al grabar con Ardour nada de nada. Cuando no tenia bien configurada la tarjeta me cogía el audio del microfono del ordenador, pero ahora nada, no hay manera.

Las respuestas a los comandos son:
uname -r 2.6.24-26-rt
cat /proc/asound/cards

0 [ICH6 ]: ICH4 - Intel ICH6
Intel ICH6 with ALC250 at irq 23
1 [tm ]: USB-Audio - Audiophile USB (tm)
M-Audio Audiophile USB (tm) at usb-0000:00:1d.1-1, full speed
(Sustituyo X por 1 al configurar Jack)

jackd --version
jackd version 0.109.2 tmpdir /dev/shm protocol 22


Mensajes Jack:

19:29:17.255 Patchbay deactivated.
19:29:17.468 Statistics reset.
19:29:17.546 ALSA connection graph change.
19:29:17.681 ALSA connection change.
19:29:18.583 Startup script...
19:29:18.584 artsshell -q terminate
19:29:19.009 Startup script terminated with exit status=256.
19:29:19.009 JACK is starting...
19:29:19.010 /usr/bin/jackd -R -dalsa -r48000 -p128 -n2 -D -Chw:1,0 -Phw:1
jackd 0.109.2
Copyright 2001-2005 Paul Davis and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
JACK compiled with System V SHM support.
19:29:19.030 JACK was started with PID=6610.
loading driver ..
apparent rate = 48000
creating alsa driver ... hw:1|hw:1,0|128|2|48000|0|0|nomon|swmeter|-|32bit
control device hw:1
configuring for 48000Hz, period = 128 frames (2.7 ms), buffer = 2 periods
ALSA: final selected sample format for capture: 24bit big-endian
ALSA: use 2 periods for capture
ALSA: final selected sample format for playback: 24bit big-endian
ALSA: use 2 periods for playback
19:29:21.097 Server configuration saved to "/home/rafael/.jackdrc".
19:29:21.098 Statistics reset.
19:29:21.112 Client activated.
19:29:21.114 JACK connection change.
19:29:21.152 JACK connection graph change.


Muchas gracias, estoy aprendiendo mucho
Subir
Pablo_F
#6 por Pablo_F el 09/01/2010
Hola,

Sí, es que cuando se invoca el comando '/usr/bin/jackd' (o 'jackd' sin más) con sus opciones de driver, frecuencia, etcétera, se pone en marcha el servidor o "demonio" jack (jackd = jack daemon).

qjackctl (o Jack Control) es sólo un frontend o interfaz gráfica, que además de facilitar la configuración de opciones y parámetros para lanzar el servidor (al darle a Iniciar), sirve para hacer otras cosas de forma gráfica. Verás que si lanzas el comando desde terminal y después lanzas qjackctl, te pondrá "Activo", porque el servidor jack ya está... eso, activo.

Como decía, qjackctl facilita más cosas, por ejemplo conectar los puertos de audio de sus clientes de forma gráfica (mira botón Conexiones, pestaña audio). Los clientes de Jack son las aplicaciones "jackificadas" o "jack-aware", como por ejemplo ardour, aunque hay muchas más que son o se pueden convertir en jack-aware. La tarjeta de sonido es otro cliente más para ardour, llamado "system" (o "alsa_pcm" en versiones viejas). Cuando lanzas ardour o cualquier otra aplicación jack-aware, éste le muestra al servidor la disponibilidad de sus puertos de audio. Por ejemplo, cuando añades una pista mono llamada "Audio 1", el servidor se dará por enterado y verá un puerto de entrada identificado como "Audio 1/in 1" en el cliente escribible "ardour" y dos puertos de salida, "Audio 1/out 1" y "Audio 1/out 2" en el cliente leíble "ardour".

Todo este rollo es porque creo que es importante entender esto para evitar problemas. Lo que es vital para poder grabar y reproducir desde la tarjeta es que el servidor vea sus puertos de audio, tanto los "system:captures" (que representan las entradas) como los "system:playbacks" (las salidas). Normalmente las dos primeras que aparecen son las analógicas.

Ahora, en tu caso, no estás lanzando el servidor con los dispositivos correctos:

19:29:19.010 /usr/bin/jackd -R -dalsa -r48000 -p128 -n2 -D -Chw:1,0 -Phw:1

Y en el documento que he apuntado en el anteriot post, dice que hay que poner (para tu caso): -Chw:1,1 -Phw:1,0
O sea, el dispositivo de entrada (o capture, de ahí la C) debe ser el hw:1,1 y el de salida (o Play), el hw:1,0.

Con esto obtendrás, espero, entradas y salidas analógicas para tu USB m-audio Audiophile a 24bit/48KHz. El hecho de que te funcionara de una u otra manera para la tarjeta integrada no te debe dar falsas pistas, pues los drivers o módulos de alsa para la integrada y para la m-audio son completamente diferentes y en consecuencia, la configuraciones de jack para obtener ciertas prestaciones de tus tarjetas también son diferentes. Incluso para la USB audiophile, diferentes configuraciones dan lugar a diferentes prestaciones y a diferente accesibilidad a sus puertos, como explica el documento. Por ejemplo, con el comando de jackd propuesto (o setup de qjackctl, da igual) tienes acceso a las entradas y salidas analógicas, pero no tienes acceso a la entrada digital. No es no funcione pero no funciona al mismo tiempo.

O sea, lo primero, comprobar que tienes los puestos de entrada y salida en la ventana de conexiones de qjackctl.

Propuesta para primera comprobación de que todo va bien:
Físicamente, conectas tu fuente de audio a la entrada analógica 1 y las salidas analógicas 1 y 2 al equipo de sonido exterior.
Virtualmente (en Conexiones de qjackctl), conectas "system:capture_1" (o alsa_pcm:capture_1, como se llame en tu caso) a los system:playbacks_1 y _2. Deberías oir por los altavoces el sonido que produces.

Ahora en ardour, el caso más sencillo para grabar "algo":
Nueva sesión. Añades una pista mono. Compruebas en la ventana de conexiones (y si no, haces estas conexiones) que el system:capture_1 está conectado a Audio 1/in1 y que las las dos salidas de Audio 1, están conectadas a los master/in1 y 2 y que las salidas de los master, out 1 y 2 están conectadas a los system:playbacks_1 y _2. (Por el resto de conexiones (click, auditioner) no te preocupes ahora, da igual cómo estén, sólo es una prueba). Armas para grabar la pista Audio 1. Si produces sonido, deberás ver la señal en el vúmetro de la pista. Si vas a opciones -> monitorización -> monitorización por Ardour, oirás el sonido por los altavoces. En el transporte, botón rojo y luego botón play, grabarás el sonido y lo verás gráficamente en el editor.

Las conexiones las puedes hacer dentro del propio ardour (más cómodo, me parece, cuando estás sólo con ardour), bien en el mezclador o bien en el inspector de pistas/buses (menú ventana).

Otra cosa, la versión de jackd (el servidor jack, vamos) que usas es un poco antigua e incluso su desarrollador dijo que no era buena (aunque probablemente no lo vayas a notar, yo no lo noté). ¿Estás con hardy?

Saludos, Pablo
Subir
panchubi
#7 por panchubi el 10/01/2010
Muchas gracias por las respuestas,

He conseguido hacer que grabe con Ardour. El problema ahora es que tanto en la prueba de conectar la entrada por la salida, como en la grabación de Ardour suena un ruido infernal, acompañando al sonido de entrada. Es como una distorsión. He probado con varias fuentes de sonido y además en windows no me pasaba, grababa perfectamente. ¿Alguna idea?

Gracias
Rafa
Subir
Pablo_F
#8 por Pablo_F el 10/01/2010
Hola Rafa,

Estoy aprendiendo a la vez que tú. Prueba lo siguiente, pimero apágala. Después desde terminal, descarga el módulo usb-snd-audio:

sudo modprobe -r snd-usb-audio

Y recárgalo con esta configuración:

sudo modprobe snd-usb-audio index=1 device_setup=0x09

Enciéndela y pruba otra vez.

Los códigos de device_setup están especificados en el documentó que apunté. Con device_setup=0x09 puedes usar simultáneamente las entradas y salidas analógicas y la salida digital. El bit depth y la frecuencia son 24/48KHz.

Me equivoqué pensando que con la configuración de jack sería suficiente pero parece que hay que pasarle esa "coletilla" al módulo snd-usb-audio.

Como referencia, dejo este link. (aunque al final se queja de latencia alta, lo más probable es porque está usando jack en modo no realtime. Espero que no sea tu caso).

http://people.uleth.ca/~daniel.odonnell ... with-linux

Si así te funciona, sería buena idea pasar ese parámetro de forma permanente (para que no lo tengas que hacer cada vez que arrancas el ordenador) en el archivo de configuración de alsa, que estará en /etc/modprobe.d/ con el nombre alsa.conf o similar. Buscas la línea que ponga snd-usb-audio y le añades el index y el device_setup. Pero ojo, que si el día de mañana pruebas con otra tarjeta USB, tendrás que dejarlo como estaba (o poner otra cosa, dependiendo del caso).

A ver si hay suerte.

Saludos, Pablo
Subir
panchubi
#9 por panchubi el 10/01/2010
Ahora es cuando!!!!!

Muchas gracias
Funciona todo a las mil maravillas
Subir
Hilos similares
Nuevo post

Regístrate o para poder postear en este hilo