Pitch shifting 
Hace algunos posts hablé del sitio http://www.dspdimension.com y de la buena pinta que tenía el algoritmo de pitch shifting que describe con código fuente incluido. Pues bien, esta tarde, en lo que Mari le daba el último repasón a los apuntes para el exámen de mañana cogí el código fuente y lo adapté para que compilase en Linux con el GCC e hice un código de ejemplo shift.c que permite cambiar el pitch de un fichero RAW que lee de la entrada estándar (stdin) y sacarlo por la salida estándar (stdout).

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 ] ( 1154 visualizaciones )   |  [ 0 trackbacks ]   |  enlace permanente
  |    |    |    |   ( 3 / 1700 )
Primer exámen de Mari y nueva versión de Ritma 
Mañana Mari tiene el primer exámen de convocatoria de la carrera: todo un bautismo :-). Ya verás como te sale bien, guapa ;-).

Y puestos a bautizar, ya hay una nueva versión del metrónomo Ritma para GBA. Ahora es posible, además de cambiar el tempo, cambiar el compás y elegir entre 1 y 16 golpes por compás. En la sección gba se puede bajar esta nueva versión del metrónomo.

[ 1 comentario ] ( 1446 visualizaciones )   |  [ 0 trackbacks ]   |  enlace permanente
  |    |    |    |   ( 3 / 1603 )
Fotos del asadero de este sábado 
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 ] ( 1282 visualizaciones )   |  [ 0 trackbacks ]   |  enlace permanente
  |    |    |    |   ( 2.9 / 1867 )
Metrónomo para GBA 
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 ] ( 1276 visualizaciones )   |  [ 0 trackbacks ]   |  enlace permanente
  |    |    |    |   ( 3 / 1898 )
OOP en Javascript 
¡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 ] ( 1141 visualizaciones )   |  [ 0 trackbacks ]   |  enlace permanente
  |    |    |    |   ( 3 / 1852 )

<< <Anterior | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | Siguiente> >>