Para los neófitos en esto del DSP, el pitch shifting consiste en cambiar el pitch (o el tono) de una grabación sin alterar su duración. El cambio de pitch se suele medir con un ratio: 1.0 significa que la grabación queda tal y como está, 0.5 significa que se baja una octava y 2.0 significa que se aumenta el tono en una octava.
Como contrapartida al pitch shifting tenemos el time stretching que consiste en cambiar la duración de una grabación sin alterar su pitch. Realmente es el mismo perro con distinto collar ya que si aplicamos un pitch shifting de un ratio de 0.5 a una grabación (esto es, la bajamos una octava de tonalidad) y luego reproducimos las muestras resultantes al doble de velocidad tendremos un time stretch con un ratio de 2.0 (es decir, oimos la muestra original el doble de rápido pero manteniendo el pitch).
En la sección soft he puesto el código fuente adaptado y algunos ejemplos. Aquí tenemos una canción original de Heath Whitelock. Aquí la versión con un rate de 0.75 y aquí con un rate de 1.25.
A mi los resultados no dejan de sorprenderme :-). Sección soft.
P.S. La canción de Heath Whitelock tiene licencia Creative Commons Reconocimiento-CompartirIgual 2.5.
[ añadir comentario ] ( 1288 visualizaciones ) | [ 0 trackbacks ] | enlace permanente | ( 3 / 1930 )
Hacía tiempo que no hacíamos un asadero/chuletada como Dios manda :-). Este sábado nos pusimos en serio y al final la cosa salió (faltó José, pero bueno...). Yo me lo pasé de puta madre y espero poder repetirlo ;-).
Sección fotos.
[ 1 comentario ] ( 1485 visualizaciones ) | [ 0 trackbacks ] | enlace permanente | ( 3 / 2138 )
A raiz de un ensayo con el grupo en el que echamos de menos un metrónomo para tocar, me puse manos a la obra y ya he sacado la versión inicial de Ritma, un metrónomo sencillo para GBA que por ahora sólo permite elegir el tempo, pero no el compás, que es fijo de 4/4. En la siguiente versión se podrá modificar el compás y espero que algunos parámetros del sonido de la claqueta (que la genero utilizando el generador de onda cuadrada del canal de sonido 1 de la GBA). Es probable que sólo me sea útil a mi pero bueno, ahí está para que lo use el que quiera :-).
Sección gba.
[ añadir comentario ] ( 1445 visualizaciones ) | [ 0 trackbacks ] | enlace permanente | ( 3 / 2176 )
¡Qué equivocados estábamos los que, como yo, pensaban que la OOP de Javascript era prehistórica! :-). En http://phrogz.net/JS/Classes/OOPinJS.html hay un tutorial buenísimo sobre cómo implementar atributos y métodos privados a una clase en Javascript así como la herencia simple. La verdad es que este lenguaje da mucho más de sí de lo que yo esperaba :-).
[ añadir comentario ] ( 1357 visualizaciones ) | [ 0 trackbacks ] | enlace permanente | ( 3 / 2128 )
Hace algún tiempo hablaba yo por estos lares de las bondades del lenguaje XSL/FO para generar informes y documentos PDF. Una de las mejores implementaciones que hay de XSL/FO es la de Apache (ver http://xmlgraphics.apache.org/fop) pero la versión oficial tiene una tara, y es que no permite incluir imágenes como recursos Java:
/ruta/al/recurso/fichero.ext
He parcheado, siguiendo unas instrucciones que encontré en un foro, el fichero FopImageFactory.java y ahora la librería ya es capaz de incluir imágenes como recursos.
En la sección soft he puesto un tar.gz que incluye tanto el fichero FopImageFactory.java ya parcheado, como la librería FOP ya compilada con el parche aplicado (para el caso en que no tengas ganas de ponerte a compilar :-).
Ahora es posible indicar una imagen como recurso de la forma:
<fo:external-graphic width="6cm" src="url('/com/mhpsc/xml/fop/imagenes/gba_sp_pink.jpg')"/>
Otra buena noticia es que ya tenemos el beneplácito de la comunidad de propietarios del edificio donde vamos a comprar el piso para cambiar el uso del mismo (esta inscrita como oficina en el registro de propiedad).
[ añadir comentario ] ( 1372 visualizaciones ) | [ 0 trackbacks ] | enlace permanente | ( 3 / 2054 )