alesis guitarlink usb

#1 por nitram el 30/09/2011
Hola compañeros.

A ver si podeis echarme una mano. Tengo el http://www.alesis.com/guitarlink el cual quiero usar normalmente conectado a un portatil intel i3 con 4gb de ram para grabar alguna idea que se me ocurra en el momento o practicar un poco, etc... No tengo entrada de linea.

Jack lo reconoce sin problemas. Donde tengo problemas es en la configuración pues no se si se podrá reducir la latencia mas de lo que lo consigo, aproximadamente 23 ms con 512 frames con 2 periodos de buffer y aun así consigo algun que otro xruns al abrir alguna aplicación mas.


Cuando grabo una pista en Arduor tambien observo que el sonido no es limpio si no algo distorsionado o como un ligero "crunch". Incluso por ejemplo GuitarRig (me venía con el cable) al poco rato de estar ejecutandose se bloquea, tengo que cerrarlo y reiniciar el servidor si quiero volver a usarlo. Rakarrack o gx_head (guitarix) no se suele bloquear tanto pero no puedo sacar un sonido limpio por lo que he comentado antes.

Ni hablar de bajar los frames a 256 o 128 aun subiendo el buffer a 3 o 4, pues el servidor se vuelve totalmente inestable.

He leido que la gente con el ucg102 no tienen malos resultados, pero yo con el alesis no lo consigo. No se si tendrá que ver la elección de in: para el cable y out: para la salida de la placa integrada que se debe hacer con el alesis si quieres oir lo que reproduce, y le hace gastar mas recursos, no se.

Tengo una ubuntu 10.10 y ya he modificado los valores de /etc/limits.conf y prioridad 89 en jack.


¿Se os ocurre alguna idea mas?

nota: si alguno teneis el t-bone 1g me imagino que la configuración será similar ¿que tal os va?
http://www.thomann.de/es/the_tbone_usb1g.htm

Gracias y un saludo.
Subir
#2 por Pablo_F el 30/09/2011
Hola,

Procura conectarla en un bus "propicio", si es posible. Hace poco estuvimos comentando sobre este tema:

http://www.hispasonic.com/foros/tarjeta-sonido-usb-compatible-linux-alguna/362259

(A partir del post 12 ó 13).

Si tienes dudas, da la salida de "lsusb" y "cat /proc/interrupts".

Alguien escribió:
No se si tendrá que ver la elección de in: para el cable y out: para la salida de la placa integrada

Creo que sí. Yo probaría con alsa_out, que es programilla precisamente para usar otra tarjeta adicional con jack. Mira "man alsa_out". Resumiendo, usa jack en modo sólo captura sobre el guitar link y después lanza "alsa_out -dhw:Intel -jintegrada" (mira en la salida de "cat /proc/asound/cards" el nombre de la integrada entre corchetes. He supuesto "Intel", pero puede ser otro. -jintegrada es para que veas el nombre "integrada" en las conexiones de qjackctl. Cámbialo a lo que quieras).

Saludos, Pablo
Subir
#3 por peregil el 01/10/2011
No sé si te podrá valer. Cosas que yo miraría:
Montar el sistema de archivos con la opción "noatime"
Usar "cpufreq-set -g performance"
Asegurarse de que estás utilizando realtime


Yo tengo una edirol ua-1g en un portátil de gama baja y trabajo con una latencia de 5.3ms sin problemas.

Espero que te sirva de algo
Subir
#4 por nitram el 03/10/2011
Hola de nuevo.

Pablo_F, pues parece que no está compartiendo irq, ¿o me equivoco?


Alguien escribió:
cat /proc/interrupts
CPU0 CPU1 CPU2 CPU3
0: 46 0 4 0 IO-APIC-edge timer
1: 55 18 10 9 IO-APIC-edge i8042
8: 0 0 0 1 IO-APIC-edge rtc0
9: 330 305 207 197 IO-APIC-fasteoi acpi
12: 707 755 13862 35543 IO-APIC-edge i8042
16: 16 19 19 15 IO-APIC-fasteoi ehci_hcd:usb1
17: 6 16071 8 14 IO-APIC-fasteoi eth1
23: 2718 2530 8 9 IO-APIC-fasteoi ehci_hcd:usb2
43: 2167 2167 5784 5327 PCI-MSI-edge ahci
44: 264 244 139 141 PCI-MSI-edge hda_intel
45: 25 13 8 11 PCI-MSI-edge hda_intel
46: 0 0 1 2 PCI-MSI-edge eth0
47: 3404 2239 1633 1388 PCI-MSI-edge fglrx[0]@PCI:1:0:0
NMI: 0 0 0 0 Non-maskable interrupts
LOC: 30326 33894 17507 16231 Local timer interrupts
SPU: 0 0 0 0 Spurious interrupts
PMI: 0 0 0 0 Performance monitoring interrupts
PND: 0 0 0 0 Performance pending work
RES: 544 786 495 509 Rescheduling interrupts
CAL: 350 95 377 369 Function call interrupts
TLB: 214 273 146 143 TLB shootdowns
TRM: 0 0 0 0 Thermal event interrupts
THR: 0 0 0 0 Threshold APIC interrupts
MCE: 0 0 0 0 Machine check exceptions
MCP: 5 5 5 5 Machine check polls
ERR: 3
MIS: 0



El alesis es "C-Media Electronics, Inc."

Alguien escribió:
lsusb
Bus 002 Device 003: ID 0d8c:013a C-Media Electronics, Inc.
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 064e:a219 Suyin Corp.
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub






Alguien escribió:
cat /proc/asound/cards
0 [Intel ]: HDA-Intel - HDA Intel
HDA Intel at 0xb4100000 irq 44
1 [Generic ]: HDA-Intel - HD-Audio Generic
HD-Audio Generic at 0xb4020000 irq 45
2 [default ]: USB-Audio - USB PnP Sound Device
C-Media Electronics Inc. USB PnP Sound Device at usb-0000:00:1d



Por otro lado al elegir solo captura y el cable como unica interfaz de entrada en jack, el servidor se para:

Alguien escribió:
14:45:39.105 Script de inicio...
14:45:39.107 artsshell -q terminate
sh: artsshell: not found
14:45:39.509 El script de inicio finalizó con estado 32512.
14:45:39.509 JACK está iniciándose...
14:45:39.509 /usr/bin/jackd -P89 -dalsa -dhw:2 -r44100 -p512 -n2 -C -S
jackd 0.118.0
Copyright 2001-2009 Paul Davis, Stephane Letz, Jack O'Quinn, Torben Hohn 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
Memory locking is unlimited - this is dangerous. You should probably alter the line:
@audio - memlock unlimited
in your /etc/limits.conf to read:
@audio - memlock 2979153
no message buffer overruns
JACK compiled with System V SHM support.
14:45:39.533 JACK se inició con PID=2582.
loading driver ..
apparent rate = 44100
creating alsa driver ... -|hw:2|512|2|44100|0|0|nomon|swmeter|-|16bit
control device hw:2
configuring for 44100Hz, period = 512 frames (11.6 ms), buffer = 2 periods
ALSA: final selected sample format for capture: 16bit little-endian
ALSA: use 2 periods for capture
impossible sample width (1) discovered!
14:45:39.796 JACK ha sido detenido con estado 1.
14:45:39.797 Script de post - apagado...
14:45:39.797 killall jackd
jackd: proceso no encontrado
14:45:40.205 El script de post - apagado finalizó con estado 256.
14:45:41.585 No puede conectarse al servidor JACK como cliente. - La operación global falló. - No puede conectarse al servidor. Por favor revise la ventana de mensajes para mas información.
14:45:46.027 No puede conectarse al servidor JACK como cliente. - La operación global falló. - No puede conectarse al servidor. Por favor revise la ventana de mensajes para mas información.




y al ejecutar alsa_out, también se para:

Alguien escribió:
alsa_out -d hw:Intel
jackd 0.118.0
Copyright 2001-2009 Paul Davis, Stephane Letz, Jack O'Quinn, Torben Hohn 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


Memory locking is unlimited - this is dangerous. You should probably alter the line:
@audio - memlock unlimited
in your /etc/limits.conf to read:
@audio - memlock 2979153
no message buffer overruns
JACK compiled with System V SHM support.
loading driver ..
apparent rate = 44100
creating alsa driver ... hw:0|hw:2|512|2|44100|0|0|nomon|swmeter|-|16bit
control device hw:0
configuring for 44100Hz, period = 512 frames (11.6 ms), buffer = 2 periods
ALSA: final selected sample format for capture: 16bit little-endian
ALSA: use 2 periods for capture
ALSA: final selected sample format for playback: 16bit little-endian
ALSA: use 2 periods for playback
Capture open error: Device or resource busy
jack main caught signal 12




Dice que dispositivo ocupado. No se si pulseaudio tendrá algo que ver con esto. Probé también a obligar a parar pulse audio según:
http://semicorchux.blogspot.com/2010/08/scripts-en-jack-control.html

Pero seguimos igual. Ademas de que pierdo la funcionalidad de pulseaudio que tampoco me interesa. Mi intención era pinchar el cable cuando necesitase grabar alguna idea o similar, tocar un ratillo, creo que me entendeis.

Hablando de pulseaudio, tambien me extraña el tema de que en "Preferencias del sonido", elijo el cable de alesis para entrada de audio, y veo que se recibe señal en "Nivel de entrada". En salida dejo la integrada, pero no reproduce el sonido. Como cuando no conectas/puenteas en jack la entrada con la salida. Me tengo remirado gnome-alsamixer y no veo que haya nada muteado.


Y ya para acabar. Peregil, que suerte!
Pues no he probado aun a montarlo con "noatime", no digo que no tome recursos, pero no suele ser usual ahora mismo salvo
con discos antiguos. Que no se, es algo que pienso así de primeras.

Y con el comando cpufreq-set y "-g", no lo he usado nunca y por lo veo solo es aplicarle alguno de estos parametros, verdad?:
performance: siempre al máximo
powersave: siempre al minimo
ondemand: se mueve entre dos frecuencias, según las necesidades va más o
menos rápido
¿Se puede ir probando en caliente sin problemas, existe algun riesgo?

De todos modos os dejo la salida de jack cuando consigo que funciona aunque con algun xruns por si veis algo que se me cuela.

Alguien escribió:
salida de qjackctl:
15:09:32.385 Patchbay desactivada.
15:09:32.443 Reiniciar estadísticas.
15:09:32.516 Cambió el gráfico de conexiones ALSA.
15:09:32.724 Cambios en las conexiones ALSA.
15:09:32.725 Cambió el gráfico de conexiones ALSA.
15:09:54.803 Script de inicio...
15:09:54.803 artsshell -q terminate
sh: artsshell: not found
15:09:55.205 El script de inicio finalizó con estado 32512.
15:09:55.205 JACK está iniciándose...
15:09:55.205 /usr/bin/jackd -P89 -dalsa -r44100 -p512 -n2 -D -Chw:2 -Phw:0 -S
jackd 0.118.0
Copyright 2001-2009 Paul Davis, Stephane Letz, Jack O'Quinn, Torben Hohn 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
Memory locking is unlimited - this is dangerous. You should probably alter the line:
@audio - memlock unlimited
in your /etc/limits.conf to read:
@audio - memlock 2979153
15:09:55.232 JACK se inició con PID=2072.
no message buffer overruns
JACK compiled with System V SHM support.
loading driver ..
apparent rate = 44100
creating alsa driver ... hw:0|hw:2|512|2|44100|0|0|nomon|swmeter|-|16bit
control device hw:0
configuring for 44100Hz, period = 512 frames (11.6 ms), buffer = 2 periods
ALSA: final selected sample format for capture: 16bit little-endian
ALSA: use 2 periods for capture
ALSA: final selected sample format for playback: 16bit little-endian
ALSA: use 2 periods for playback
15:09:57.263 Configuración del servidor salvada en "/home/jose/.jackdrc".
15:09:57.267 Reiniciar estadísticas.
15:09:57.692 Cliente activado.
15:09:57.693 Cambios en las conexiones JACK.
15:09:57.696 Cambió el gráfico de conexiones de JACK.
**** alsa_pcm: xrun of at least 0.433 msecs
15:10:06.111 XRUN callback (1).
**** alsa_pcm: xrun of at least 0.218 msecs
**** alsa_pcm: xrun of at least 0.383 msecs
15:10:07.706 XRUN callback (2 omitidos).
15:10:16.892 XRUN callback (4).
**** alsa_pcm: xrun of at least 1.567 msecs
15:10:16.927 Cambios en las conexiones JACK.
**** alsa_pcm: xrun of at least 4.410 msecs
15:10:25.020 XRUN callback (5).
**** alsa_pcm: xrun of at least 0.032 msecs
15:10:36.363 XRUN callback (6).



Y hasta aquí es todo por ahora.
Gracias de nuevo.
Subir
#5 por peregil el 03/10/2011
El portátil en el que grabo la música tiene ya 4 años y no sé si será o no demasiado antiguo pero con solo monte el disco duro con noatime noté bastante mejoría. Lo de cpufreq lo puedes usar en caliente sin ningún riesgo, simplemente pon la opción que más te convenga en cada momento yo lo tengo en "on demand" habitualmente pero cuando voy a usar mucha CPU (guitarix + hydrogen + ardour) entonces lo cambio a "performance".

En la página de jackd hay un enlace a un script que te analiza tu sistema y te dice cuáles son los puntos flacos de tu configuración, échale un vistazo. De todos modos poco más te puedo ayudar porque nunca he usado dos tarjetas simultáneamente y una vez que probé a usar la ua-1g para grabar y la integrada para reproducir pues solo conseguía cuelgues.

Suerte.
Subir
#6 por Pablo_F el 04/10/2011
Ahora no tengo tiempo, pero ¿arranca jackd desde terminal con este comando? (y qué dice la terminal?):

jackd -dalsa -Chw:default
Subir
#7 por nitram el 18/10/2011
Vaya, disculpa Pablo_F, pero el correo no me ha avisado de que tenía nuevo mensaje de hispasonic o yo me lo he saltado.

Tu captura:

Alguien escribió:
~$ jackd -dalsa -Chw:default
jackd 0.118.0
Copyright 2001-2009 Paul Davis, Stephane Letz, Jack O'Quinn, Torben Hohn 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


Memory locking is unlimited - this is dangerous. You should probably alter the line:
@audio - memlock unlimited
in your /etc/limits.conf to read:
@audio - memlock 2979153
no message buffer overruns
JACK compiled with System V SHM support.
loading driver ..
creating alsa driver ... -|hw:default|1024|2|48000|0|0|nomon|swmeter|-|32bit
control device hw:0
configuring for 48000Hz, period = 1024 frames (21.3 ms), buffer = 2 periods
ALSA: final selected sample format for capture: 16bit little-endian
ALSA: use 2 periods for capture
impossible sample width (1) discovered!




dejo también el de la integrada por si sirve:

Alguien escribió:
~$ jackd -dalsa -Chw:0
jackd 0.118.0
Copyright 2001-2009 Paul Davis, Stephane Letz, Jack O'Quinn, Torben Hohn 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


Memory locking is unlimited - this is dangerous. You should probably alter the line:
@audio - memlock unlimited
in your /etc/limits.conf to read:
@audio - memlock 2979153
no message buffer overruns
JACK compiled with System V SHM support.
loading driver ..
creating alsa driver ... -|hw:0|1024|2|48000|0|0|nomon|swmeter|-|32bit
control device hw:0
configuring for 48000Hz, period = 1024 frames (21.3 ms), buffer = 2 periods
ALSA: final selected sample format for capture: 32bit integer little-endian
ALSA: use 2 periods for capture
impossible sample width (1) discovered!



Ahora tampoco tengo yo tiempo así que en otro momento comentaré algo mas, aunque no mas novedoso.
Un saludo.
Subir
#8 por Pablo_F el 19/10/2011
Hola nitram,

hw:default es el guitar link y hw:Intel es la integrada. En cambio, (default) es hw:0 pero lo malo es que hw:0 puede ser la integrada o el guitar link, según la dirección del viento.

Mira, en /proc/asound/cards tenías el otro día:

0 [Intel ]: HDA-Intel - HDA Intel
HDA Intel at 0xb4100000 irq 44
1 [Generic ]: HDA-Intel - HD-Audio Generic
HD-Audio Generic at 0xb4020000 irq 45
2 [default ]: USB-Audio - USB PnP Sound Device
C-Media Electronics Inc. USB PnP Sound Device at usb-0000:00:1d

Lo que está entre corchetes, precedido de "hw:" son los nombres de las tarjetas. Cuando miraste esto, tenías la integrada (hw:Intel) como primera, o sea, que también era hw:0. Pero eso cambia con cada arranque del ordenador si no has hecho nada para arreglarlo. En en tu último mensaje hw:default (o sea, el guitar link) era hw:0 y no hw:2 como el otro día, así que en los dos casos has intentado arrancar jack con el guitar link.

Para evitar este problema de la numeración es mejor llamar a las tarjetas por su nombre y no por su número. O sea, que si quieres arrancar con la integrada para hacer la prueba, llámala hw:Intel (si usas qjackctl, se puede escribir en los campos de interfaz y dispositivos de entrada y salida, lo digo porque no aparecerá en las listas desplegables). Si no, tendrías que comprobar el orden de las tarjetas cada vez que arrancas, con "cat /proc/asound/cards".

Bueno, también se pueden dar números de orden fijos a las tarjetas, editando el archivo /etc/modprobe.d/alsa-base.conf (o similar) pero eso es un poco más engorroso. Tendrías que mirar en la wiki de ALSA (google: alsa multiple cards)

Sea como sea, jack no te arranca con el guitar link a 48000 Hz, 1024 cuadros por periodo y 2 periodos por buffer. La verdad que antes de comprobar con otras posibles configuraciones, estaría bien comprobar tu controlador USB:

lspci |grep -i usb

Y en cualquier caso, lo que te recomiendo encarecidamente es que actualices tu versión de jack y además creo que jack2 te irá mejor.

Si añades el repo de KXstudio a tu lista de orígenes del software e instalas jackd2 se desinstalará jackd1 y probablemente algunos de los programas que usas. Apúntalos y los vuelves a instalar, y todo debería ir mejor, espero.

https://launchpad.net/~kxstudio-team/+archive/ppa/+index?field.series_filter=maverick

Saludos, Pablo
Subir
#9 por nitram el 19/10/2011
Bien, me he arriesgado y he vuelto a instalar jack2. La ultima vez no me fue muy bien, aparte del jaleo que se monto con los repos de kxstudio al querer volver a dar marcha atrás. Por si a alguien le ocurre creo recordar que la solución andaba aproximadamente por este paquete y forzar su versión "libjack0".



El caso, lo he instalado siguiendo esta guía:
http://www.kubuntu-es.org/foro/201101/audio-profesional-jack2-ubuntu-1004

Como ya lo intenté una vez anterior parece que me debía de conservar librerías, pues no me ha desinstalado nada y si ha instalado/actualizado lo que iba pidiendo.

La verdad que tiene buena pinta el gladish. Lo he intentado configurar con esta otra:
http://ladish.org/wiki/tutorial

Y no he conseguido reproducir el sonido por la integrada. Con jack si podía hacerlo sin problemas eligiendo de las pestañas el dispositivo que quería. Incluso en Ardour veo que tengo señal que manda el alesis usb o gtklick pero no consigo que reproduzca por la integrada.

Mi pregunta. ¿que diferencia hay en configurar las entradas y salidas en "ladiconf" entre "JACK driver parameters" y "JACK audioadapter parameters"?
Procuro colocar en las casillas la info de /proc/asound/cards sin resultados.

Además que no recuerdo los valores por defecto, cada vez que creo/borro un studio me conserva en el nuevo los parametros guardados del anterior.

Pablo_F, el comando que me pedías:
Alguien escribió:
~$ lspci |grep -i usb
00:1a.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 05)
00:1d.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 05)


Si, se que cambian la numeración. Segun el cable esté conectado al iniciar el SO, o si ya esta iniciado. Pero me aseguré de que eran las correctas, el fallo fue no haberte mostrado la salida de asound/cards para verificarlo.

En cuanto a ordenarlas, me lo mirare mas despacio.

Por ultimo, el cable usb funciona a 44100 según las especificaciones:
http://www.alesis.com/guitarlink

peregil, contigo también tengo algo pendiente. Respecto al script del que hablas, creo que no lo llegué a encontrar, pero voy poco a poco.

De nuevo gracias por la ayuda.
Subir
#10 por Pablo_F el 20/10/2011
Alguien escribió:
~$ lspci |grep -i usb
00:1a.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 05)
00:1d.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 05)


Este controlador es conocido por dar problemas. En unas pruebas que hice con una m-audio fas track pro, jack1 sólo funcionaba en modo sólo reproducción. jack2 en sólo captura y en sólo reproducción. En ningún caso en modo dúplex.

jack_audioadapter no estoy seguro qué hace.

Creo que una opción válida es usar jack2 en sólo captura sobre el guitar link y lanzar "alsa_out -dhw:Intel -jintegrada" para tener salidas por la integrada. Independientemente de si usas ladiconf o qjackctl.

Alguien escribió:

Por ultimo, el cable usb funciona a 44100 según las especificaciones:
http://www.alesis.com/guitarlink


OK, entonces si lanzas jackd desde línea de comandos para hacer pruebas tendrías que especificarlo, pues la frecuencia por defecto es 48000.

jackd2 --sync -dalsa -r48000 (y quizás, también -n3 ). Creo que jack2 funciona mejor en modo síncrono (opción --sync).

Saludos, Pablo
Subir
Respuesta rápida

Regístrate o para poder postear en este hilo