Nueva versión de Sonority 
Sonority es un motor de síntesis de sonido mediante modelado analógico implementado en ANSI C que utiliza exclusivamente aritmética de punto fijo (formato Q16.16, 16 bits de parte entera y 16 bits de parte fraccionaria, 32 bits en total).

En esta nueva versión se han añadido dos modos de portamento (ALWAYS y LEGATTO), dos modos de disparo de envolvente (ALWAYS y STACATTO) y tablas precalculadas (tanto la tabla de frecuencias como las tablas de ondas).

El fichero test.c contiene un ejemplo de utilización del motor.

+info y descargas aquí.

[ añadir comentario ] ( 1351 visualizaciones )   |  [ 0 trackbacks ]   |  enlace permanente
  |    |    |    |   ( 3 / 2330 )
Interface MIDI E/S para la Nintendo DS 
Dotar de interface MIDI a la Nintendo DS a través del cartucho de E/S DSerial Edge no es ningún secreto. El propio creador de la DSerial Edge, Natrium42, ha publicado en la página MIDI de su wiki código de ejemplo y un circuito que permite la construcción de este interface de una manera sencilla. La única pega que tiene este circuito es que hace uso de un optoacoplador poco común: el FOD260L. Lo que no se dice es que utilizando el archiconocido (y mucho más sencillo de conseguir) 6N136 o alguno de sus equivalentes también es posible construir ese interface variando sólo algunos elementos del circuito original.

En http://nds.avelinoherrera.com puede verse esta adaptación que he hecho. El circuito está construido y funciona correctamente.

[ añadir comentario ] ( 1166 visualizaciones )   |  [ 0 trackbacks ]   |  enlace permanente
  |    |    |    |   ( 3 / 2314 )
Mi primer programa "serio" para la DS 
Animado por un compañero de trabajo (Marcos) he hecho una paqueña aplicación para la DS.

¿Cansado de que cuando oyes el partido de turno por la radio mientras lo ves por la tele te canten el gol antes de verlo? :-D Pues esta es tu solución: DS Delay Line es una línea de retardo de audio: retrasa la entrada de audio que se registra por el micrófono una cantidad de tiempo determinada (ajustable entre 0 y 2.8 segundos mediante la pantalla táctil) antes de ser enviada tal cual por los altavoces. Simplemente ajusta el retardo hasta el valor deseado y ya tendrás al locutor de radio sincronizado con lo que estás viendo por la tele ^_^.

EDITADO: Nueva versión de DS Delay Line, con mayor tiempo de retardo (hasta 7.8 segundos), control de ganancia e interface gráfico mejorado.

Más info y descargas: http://nds.avelinoherrera.com

[ añadir comentario ] ( 1159 visualizaciones )   |  [ 0 trackbacks ]   |  enlace permanente
  |    |    |    |   ( 3 / 2239 )
Concierto de Guineo en el Duke's Club 
Este viernes 27 de febrero actuaremos en el Duke's Club (Avda. de Tirajana, 1, Playa del Inglés) a partir de las 23:00. ¡Teníamos unas ganas de que nos saliera ya un bolo! :-)

Guineo: http://guineo.avelinoherrera.com
Duke's Club: http://www.dukesclub.net

[ añadir comentario ] ( 1086 visualizaciones )   |  [ 0 trackbacks ]   |  enlace permanente
  |    |    |    |   ( 3 / 2315 )
Versión inicial de SoE 
SoE es una librería/aplicación hecha en C++ que permite crear un canal de comunicación serie virtual entre dos equipos mediante paquetes raw ethernet. Cuando se compila y se ejecuta en ambos equipos crea, en cada uno de ellos, un terminal virtual /dev/pts/N que permite la comunicación entre ambos equipos como si de un cable de módem nulo se tratase.


Si desde el host A hacemos:
./test_soe eth0 00:34:78:99:4a:06 &
TPty.open: opening virtual terminal... ok
pts /dev/pts/1
TEthRaw.connect: creating raw ethernet non-blocking socket... ok
TEthRaw.connect: searching device eth0... found with index 1
TEthRaw.connect: getting hardware address for device eth0... 00:1a:55:66:70:05

echo "Hola" > /dev/pts/1



En el host B podremos hacer:
./test_soe eth0 00:1a:55:66:70:05 &
TPty.open: opening virtual terminal... ok
pts /dev/pts/2
TEthRaw.connect: creating raw ethernet non-blocking socket... ok
TEthRaw.connect: searching device eth0... found with index 1
TEthRaw.connect: getting hardware address for device eth0... 00:34:78:99:4a:06

cat /dev/pts/2
Hola



Los terminales virtuales a usar en cada extremo los indica la aplicación en el momento de ejecutarse (línea pts, se saben en tiempo de ejecución). Mediante este mecanismo podemos crear conexiones SLIP, CSLIP ó PPP entre dos equipos sobre raw ethernet con lo que podemos saltarnos la restricción de muchos clientes VPN que deshabilitan la LAN en uno de los extremos.

Para compilar la aplicación nos basta con hacer
tar xzf soe-0.3.tar.gz
cd soe
make


Sólo requiere gcc-c++ y no necesita ninguna librería exótica. Usa la del sistema.

[ añadir comentario ] ( 1297 visualizaciones )   |  [ 0 trackbacks ]   |  enlace permanente
  |    |    |    |   ( 3 / 2336 )

<< <Anterior | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | Siguiente> >>