Modem fax pluscom en linux
HOWTo Install the Pluscom fax modem
lsusb: XXXX Conexant Systems (Rockwell), Inc.
wget http://www.linuxant.com/drivers/dgc/archive/dgcmodem-1.13/dgcmodem_1.13_i386.deb.zip
unzip and make install
you will see /dev/ttyACM0
Evolution data server en python
Algo de codigo en python para acceder mediante python-evolution al calendario de eventos en Evolution
import evolution events = evolution.ecal.open_calendar_source('default', evolution.ecal.CAL_SOURCE_TYPE_EVENT)
for i in events.get_all_objects(): print i.get_uid(),i.get_summary(),i.get_description()
Dynamic time warping en C DTW
A continuación el código que implementa el algoritmo para comparar dos secuencias en variación de tiempo y velocidad.
En concreto se ha usado para un proyecto de ordenes vocales a un programa en python.
Este programa está en desarrollo y se utiliza para encontrar similitudes entre unas ordenes de audio almacenadas en una BBDD y otras ordenes que entran por microfono.
Una vez encontrado el audio con la mayor similitud se toma como una orden que permite interpretarlo en ordenes al sistema y posteriormente transmitirlas a través de un sistema domótico X10.
lo he editado yo siguiendo el algoritmo mas sencillo,
si alguien tiene problemas de memoria, tengo algun cambio en otros documentos con floats
#include <sys/param.h>
#include <math.h>
#include <stdlib.h>
#include <stdio.h>
unsigned int domodtw(int* array1[], int lenarray1, int* array2[], int lenarray2)
{
// int unsigned 4294967295 int 2147483648
unsigned int** DTW;
unsigned int i;
unsigned int j;
unsigned int ret;
DTW = (unsigned int **)malloc(lenarray1 sizeof(unsigned int ));
for (i=0; i<lenarray1; i++){DTW[i]=(unsigned int ) malloc (lenarray2 sizeof(unsigned int));}
for(j = 0; j < lenarray2; j++){DTW0[j] = 9999999; }
DTW0[0]=0;
for (i=1;i<lenarray1;i++)
{
DTW[i][0] = 9999999;//we load here the array too
for (j=1;j<lenarray2;j++)
{
DTW[i][j] = abs(((unsigned int)array1[i])-((unsigned int)array2[j])) + MIN ) ;
}
if(i==lenarray1-1){ret = DTW[lenarray1-1][lenarray2-1];}
free(DTW[i-1]);//##freeing that memory
}
free(DTW[lenarray1-1]);
free(DTW);
printf ("\n ######DOMODTW SAYS %d",ret);
return ret;
}
yo lo tengo funcionando y no da petes ni problemas de memoria