Configura y optimiza Linux para audio y MIDI

2009-01-18 Por tema Ismael Valladolid Torres
¿Qué tres cosas te llevarías a una isla desierta? Mi recomendación es;
un ordenador con Linux, un teclado MIDI y este artículo.

Florian Paul Schmidt

Pensé en documentar la información que tengo sobre cómo utilizar un
sistema Linux con un kernel apropiativo —N. del T.; Preemptive en el
original— a tiempo real como sistema de trabajo con audio y MIDI. Así
puedo referirme a esta documentación en lugar de repetirla una y otra
vez en discusiones. :)

Todo lo que sigue se aplica a los kernels -rt con el modelo
apropiativo completo —N. del T.; complete preemption en el original—.
En mi opinión es la mejor forma de operar con un kernel -rt si se
quiere en control más estricto sobre prioridades y latencias. Procede
un aviso y es que los drivers binarios y los módulos para nVidia
podrían ser incompatibles con este tipo de kernel. Utilícese el driver
nv de las X11 en su lugar. Aún si el módulo binario fuese compatible,
no habría garantías de que encaje en el modelo particular de este
kernel y podría destruir las bajas latencias que el resto del código
del kernel nos garantiza.

El sistema de audio y MIDI

En un sistema de audio y MIDI típico basado en Linux encontramos
varios componentes clave:

* JACK, el kit de conexiones de audio. Facilita servicios de audio
y por supuesto utiliza la tarjeta de sonido. La IRQ de la tarjeta de
sonido requiere un tratamiemto especial —es decir, una alta prioridad—
para no ser interrumpida por otras cargas del sistema —el disco duro o
la red—. JACK es la opción favorita para este trabajo dado que permite
conectar las aplicaciones de audio las unas con las otras. Además está
diseñado para el trabajo a tiempo real desde el primer día. Con un
sistema correctamente configurado pueden lograrse latencias
ridículamente bajas, p.ej. tamaños de buffer de 8 ó 16 muestras a 48
KHz.
* ALSA, facilitando servicios de audio a JACK y el acceso al MIDI
vía alsa-seq.
* Algún secuenciador MIDI como rosegarden, muse o seq24 que
utilice JACK y alsa-seq.
* Algunos sintetizadores software —al final, clientes JACK—
manejados por el secuenciador MIDI
* Más hardware que precisa de una IRQ para funcionar —red, disco duro, etc.—
* El resto del software, como el gestor de ventanas, el escritorio
y otras utilidades.

Cualquier kernel -rt en combinación con realtime lsm o rt_limits
facilita al usuario herramientas que le permiten un trabajo cómodo que
asegura:

* Operación de audio sin problemas, y con «sin problemas» me
refiero a sin problemas. Por ejemplo, puedo fácilmente compilar un
kernel mientras trabajo con audio a 32 muestras por buffer.
* Sincronización MIDI exacta.

Claro está que habrá que ajustar el sistema para obtener el mejor
resultado. Podría ser necesario llegar a modificar algunas
aplicaciones.

Configuración de audio

Podemos simplificar y decir que cuanto más alta sea la prioridad de
una tarea más posible es que se ejecute sin molestias. Con un kernel
-rt se tiene la posibilidad de que ciertos manejadores de IRQ tengan
menos prioridad que aplicaciones que corren en el espacio de usuario.
Es posible, por ejemplo, correr jackd con una prioridad mayor que la
de cualquier manejador de IRQ que podría interrumpir el trabajo con
audio, como el disco duro o la red. Es necesario el parámetro -P de
jackd para esto.

En un kernel -rt, por defecto todos los manejadores de IRQ tienen
prioridades entre 40 y 60, así que hacer que jackd se ejecute con una
prioridad de 70 parece una buena elección.

  jackd -R -P 70 -d alsa ...


Sólo que si queremos que el manejador de la IRQ de la tarjeta de
sonido tenga una prioridad más alta que jackd, dado que la IRQ de la
tarjeta de sonido es al final la que gobierna el funcionamiento de
JACK. Utilizamos así la utilidad chrt para cambiar esto. En mi sistema
la tarjeta de sonido tiene la IRQ 4, comprueba /proc/interrupts en tu
máquina para averiguar la tuya.

  chrt -f -p 82 `pidof "IRQ-4"`


—N. del T.; Comprueba las distintas prioridades asignadas así:—

  top -b -H -n 1 | grep -i irq | sort -n -k3


Una prioridad de 82 está bien por encima de la concedida a jackd. Dado
que jackd ejecuta hilos además de su bucle principal, es necesario
vigilar esto. Por ejemplo, implementa un watchdog que se ejecuta a una
prioridad 10 superior a la del bucle principal. Es decir, a 80 en
nuestro caso. Los hilos de proceso de cliente, en cambio, corren con
una prioridad 1 inferior a la del bucle principal, 69 en nuestro caso.

La parte audio de nuestro sistema queda cubierta. Con esta
configuración consigo operar con tamaños de buffer ridículamente bajos
con JACK y mi M-Audio Delta 66 —hasta 8 muestras por periodo,
reconociendo algún problema con el cambio de contextos forzando tanto
mi sistema— Y ahora, ¿qué pasa con MIDI? ¿Cómo lo hacemos funcionar
aquí?

Configuración MIDI

Tenemos que saber una cosa o dos sobre cómo la planificación a tiempo
real funciona para afinar esta parte. La clase de planificación
utilizada por la mayor parte de aplicaciones de 

Re: i686 (32 bit) vs. amd64 (64 bit)

2009-01-18 Por tema JAP
El dom, 18-01-2009 a las 17:14 -0500, haldrik escribió:

> El día 18 de enero de 2009 13:49, Jeki Sinneo Leinos
>  escribió:
> >
> > Ubuntu está basado en Debian pero no es Debian. Al menos la mayoria de la
> > gente que conozco no usa Debian Sid (que es lo que usa Ubuntu para sacar una
> > version cada 6 meses)
> >
> > La gente normalmente usa Debian Stable o Testing, aunque es frecuente el uso
> > de hibridos incluso con paquetes de la rama Unstable (Sid).
> >
> > Derivada no es sinonimo de "igual", y aún menos cuado comparamos el kernel
> > de Ubuntu con el de Debian
> >
> 
> Sin desviar el hilo. Las pruebas están muy
> interesantes pero solo entendí el primer cuadro :P
> 
> Si por favor lo pudes pegar en http://rafb.net/paste, ojalá en
> html para ver bien las columnas ;-)
> 
> -- 
> "Al principio, el Hombre creó a Dios; y lo creó a su imagen y semejanza.
> Y el Hombre dio a Dios multitud de nombres, y el poder de que fuera el
> Señor de toda la tierra cuando al Hombre le conviniere."
> 
> 



Listo.
Cargado en http://rafb.net/p/Xk9rvC39.html



=
GNU/Linux - Usuario Registrado # 389414
http://i18n.counter.li.org




Re: i686 (32 bit) vs. amd64 (64 bit)

2009-01-18 Por tema haldrik
El día 18 de enero de 2009 13:49, Jeki Sinneo Leinos
 escribió:
>
> Ubuntu está basado en Debian pero no es Debian. Al menos la mayoria de la
> gente que conozco no usa Debian Sid (que es lo que usa Ubuntu para sacar una
> version cada 6 meses)
>
> La gente normalmente usa Debian Stable o Testing, aunque es frecuente el uso
> de hibridos incluso con paquetes de la rama Unstable (Sid).
>
> Derivada no es sinonimo de "igual", y aún menos cuado comparamos el kernel
> de Ubuntu con el de Debian
>

Sin desviar el hilo. Las pruebas están muy
interesantes pero solo entendí el primer cuadro :P

Si por favor lo pudes pegar en http://rafb.net/paste, ojalá en
html para ver bien las columnas ;-)

-- 
"Al principio, el Hombre creó a Dios; y lo creó a su imagen y semejanza.
Y el Hombre dio a Dios multitud de nombres, y el poder de que fuera el
Señor de toda la tierra cuando al Hombre le conviniere."


--
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Re: probando gnome..

2009-01-18 Por tema David Francos (XayOn)
On Sat, Jan 17, 2009 at 09:24:08PM -0300, Mario Martínez wrote:
> On Sat, Jan 17, 2009 at 09:03:31PM -0200, angel wrote:
> > El sáb, 17-01-2009 a las 13:10 -0300, Mario Martínez escribió:
> > > On Tue, Jan 13, 2009 at 08:25:20PM +0100, aux wrote:
> 
> [...]
> 
> > EMHO (esta es una lista en español) ese es el consejo mas ridículo que
> > he leido. Una de las ventajas de un entorno gráfico es justamente la de
> > tener DISTINTAS ventanas y ventanas con pestañas.
No califiques de ridiculo un consejo que no te sirva a ti mismo.
No pienses que el entorno gráfico es lo mejor para todos.
La ventaja del software libre es la libertad de eleccion.
Y eso no es una ventaja de el entorno gráfico, porque no todos
entornos gráficos la proveen.
Eso es generalizar.
 
> Pues creo que GNU Screen es mas flexible y consume menos recursos que
> abrir varias pestañas en gnome-terminal o konsole y lo mejor, es
> independiente del entorno de escritorio que estes usando. 
;-) Y multimaquina, puedes ejecutarlo a traves de una session ssh.
Ademas, si se te cierra el terminal por accidente, no pasa nada, no
pierdes nada ;-)

> > Siguiendo tu forma de
> > pensar,para que usar entorno gráfico? para que la web? y asi hasta el
> > monitor color
Que radical y de mente cerrada es la gente alguna vez.
Te digo, antes usaba ion3, un entorno gráfico basado en pestañas, sin
ventanas, ligero, la reostia.
el motivo de esto: rendimiento y ergonomia.
Me permitía no utilizar el ratón, asi es, es completamente usable
desde teclado, de echo, esta ideado para ello, y una joyita para
portatiles.
Ahora ya ni eso, con screen, un par de modificaciones (para ponerle
screensaver, un medidor de bateria...), mutt (un mta tan completo como
cualquier otro, tiene todas las funciones de icedove, carpetas,
alias...), vim (corrección ortográfica, autocompletado para
perl/php/html...), shell-fm y en la tty2, para gente como tu que se
queja de los navegadores de texto... links-hacked -g usando
framebuffer y gpm para el raton.
bueno, ¿Que quiero decir con este texto tan enorme (y pesado)? Pues
que para gustos los colores y lo mismo para necesidades, porque no
uses algo no significa que sea arcaico o que no sea útil.

> Je. No es que este tratando de volver era mesozoica, mas bien creo que
> hay que darle cabida a esas joyitas de antaño que no son muy conocidas.
Bueno, bueno, eso de "de antaño", screen esta en continuo desarrollo y
es realmente util.
> Tambien creo que las pestañas son una soberana estupidez teniendo
> herramientas como la ya mencionada.
Cada cosa es util para cada tipo de persona.
 
> OJO, lo anterior lo digo dentro de este contexto. Las pestañas pueden
> ser muy utiles en otras circunstancias.
En realidad, screen al fin y al cabo provee pestañas... 

--
http://thexayon.wordpress.com
 
Que la fuerza os acompañe.
 
-BEGIN GEEK CODE BLOCK-
Version: 3.12
GCS dpu s: a--- C UL P L+++ E--- W+++ N+++ o+ K- w---
O M+ V- PS+ PE+++ Y PGP++ t--- 5 X+++ R tv+++ b DI--- D+++
G+ e- h++ r+++ y
--END GEEK CODE BLOCK--
 
--XayOn--
 
Linux registered user #446872


pgpWlKbaO5tST.pgp
Description: PGP signature


Re: i686 (32 bit) vs. amd64 (64 bit)

2009-01-18 Por tema Jeki Sinneo Leinos
Ubuntu está basado en Debian pero no es Debian. Al menos la mayoria de la
gente que conozco no usa Debian Sid (que es lo que usa Ubuntu para sacar una
version cada 6 meses)

La gente normalmente usa Debian Stable o Testing, aunque es frecuente el uso
de hibridos incluso con paquetes de la rama Unstable (Sid).

Derivada no es sinonimo de "igual", y aún menos cuado comparamos el kernel
de Ubuntu con el de Debian


Vmware Lenny se queda congelado

2009-01-18 Por tema nx
Hola amigos!
Tengo un problema en lenny, kernel: 2.6.24-1-686 y vmware server 1.8.

Me bajo el .tar.gz de la pagina web, lo isntalo y creo la máquina
virtual sin problemas. Lo arranco y todo bien pero a los 10/15 segundos
se queda completamente colgado. No se queda el procesador a tope ni
nada, se queda toda la máquina como si el proceso hubiera terminado su
ejecución.

Con ps aux sige todo ejecutándose como si nada y al intentar reiniciar
el servicio me dice que hay una instancia de vmware ejecutandose y que
por tanto no lo puede detener. Pero por otro lado es imposible parar el
proceso completo: vmware-vx puesto que se queda "zombie" .

Intentando aislar el problema pruebo a liberar de la memoria los módulos
vmmon y vmnet. El segundo se quita sin problema pero al intentar quitar
el segundo  se queda colgada la terminal y no puedo "parar" el
proceso con CTRL+C

He intentado encontrar solución buscando en google y en los foros de
vmware pero aun no he obtenido respuesta.

Si alguien le ha pasado lo mismo que a mí o tiene alguna idea de que
puede ser... le agradecería enormemente que me diera algo de "luz".

Un saludo y gracias


-- 
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



i686 (32 bit) vs. amd64 (64 bit)

2009-01-18 Por tema JAP
Estimados:

En el año que pasó, varias veces se planteó la disyuntiva del asunto de
este mensaje, y todos los que hemos contestado, incluyéndome, lo hemos
hecho con el concepto de experiencia personal subjetiva, más que con
pruebas objetivas.
Por esta razón he efectuado corridas del test nbench
http://www.tux.org/~mayer/linux/bmark.html
compilado en sendos Ubuntu 8.10-desktop para i686 y amd64
respectivamente.
Justamente la gracia de la prueba es que el programa de testeo sea
compilado en la arquitectura que se pretende probar.
¿Por qué Ubuntu? Porque por razones que escapan a mis conocimientos y
sobre todo, tiempo, no pude compilar el programa bajo las "live-CD" de
Debian. Menos estoy para instalarlo en una máquina que viene corriendo
Debian lenny desde hace casi dos años, y debía hacerlo en dos "live-CD"
que estuviesen armados exactamente igual, aunque en distinta
arquitectura, para no ensuciar los resultados de la prueba.
Y como Ubuntu es "derivada de Debian", la considero una herramienta más.
Primero pongo las comparativas de ambas corridas en forma resumida, y
luego los datos en bruto.
Las pruebas quedan a las claras que en una misma máquina con
arquitectura de 64 bit, utilizar la distribución que corresponde es lo
inidcado.
Hay sólo dos pruebas, transformada de fourier y "asignación", en que es
un tanto más lenta. Si a alguno le interesa, se puede poner a
investigar.

===

Comparación i686 vs amd64

TESTI/s 32 bit  I/s 64 bit  Comparación
NUMERIC SORT752,28  854,08  13,53%
STRING SORT 107,96  188,80  74,88%
BITFIELD331.960.000,00  346.690.000,00  4,44%
FP EMULATION112,04  185,80  65,83%
FOURIER 20.951,00   18.921,00   -9,69%
ASSIGNMENT  27.519,00   25.768,00   -6,36%
IDEA4.898,005.197,906,12%
HUFFMAN 1.612,901.757,908,99%
NEURAL NET  32,07   38,32   19,50%
LU DECOMPOSITION1.200,001.203,100,26%
INTEGER INDEX   51.791,00   62.494,00   20,67%
FLOATING-POINT INDEX42.414,00   43.544,00   2,66%
MEMORY INDEX13.411,00   16.038,00   19,59%
INTEGER INDEX   12.570,00   15.270,00   21,48%
FLOATING-POINT INDEX23.525,00   24.151,00   2,66%

===

Linux ubuntu 2.6.27-7-generic #1 SMP Fri Oct 24 06:42:44 UTC 2008 i686
GNU/Linux

BYTEmark* Native Mode Benchmark ver. 2 (10/95)
Index-split by Andrew D. Balsa (11/97)
Linux/Unix* port by Uwe F. Mayer (12/96,11/97)

TEST: Iterations/sec.  : Old Index   : New Index
:  : Pentium 90* : AMD K6/233*
:--:-:
NUMERIC SORT:  752.28  :  19.29  :   6.34
STRING SORT :  107.96  :  48.24  :   7.47
BITFIELD:  3.3196e+08  :  56.94  :  11.89
FP EMULATION:  112.04  :  53.76  :  12.41
FOURIER :   20951  :  23.83  :  13.38
ASSIGNMENT  :  27.519  : 104.71  :  27.16
IDEA:4898  :  74.91  :  22.24
HUFFMAN :  1612.9  :  44.73  :  14.28
NEURAL NET  :   32.07  :  51.52  :  21.67
LU DECOMPOSITION:1200  :  62.17  :  44.89
==ORIGINAL BYTEMARK
RESULTS==
INTEGER INDEX   : 51.791
FLOATING-POINT INDEX: 42.414
Baseline (MSDOS*)   : Pentium* 90, 256 KB L2-cache, Watcom* compiler
10.0
==LINUX DATA
BELOW===
CPU : Dual GenuineIntel Genuine Intel(R) CPU
2160  @ 1.80GHz 1803MHz
L2 Cache: 1024 KB
OS  : Linux 2.6.27-7-generic
C compiler  : Configurado con: ../src/configure -v
--with-pkgversion='Ubuntu 4.3.2-1ubuntu11'
--with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr
--enable-shared --with-system-zlib --libexecdir=/usr/lib
--without-included-gettext --enable-threads=posix --enable-nls
--with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3
--enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc
--enable-mpfr --enable-targets=all --enable-checking=release
--build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu
libc: 
MEMORY INDEX: 13.411
INTEGER INDEX   : 12.570
FLOATING-POINT INDEX: 23.525
Baseline (LINUX): AMD K6/233*, 512 KB L2-cache, gcc 2.7.2.3,
libc-5.4.38
* Trademarks are property of their respective holder.

===