javisantana.com

Vamos a quemar al barbas con keroseno

El pasado día 3 de Mayo el señor, por decir algo, Richard Stallman, conocido gurú del soft libre, vino a la ETSIT de valladolid a dar una charla sobre patentes. En principio pensé que hablaría de los múltiples beneficios del soft libre, y que saldría preparado (instruído) para usar Linux, incluso usar gcc y eliminar mi partición windows con mi querido vc++7.1. Nada de eso ocurrió, habló sobre las patentes del software. La charla resultó interesante a trozos, en mi opinión repetía mucho conceptos que ya había dejado claros, aunque usaba ejemplos bastante cotundentes -conceptualmente porque su locución(*) era algo cansina de escuchar - y fáciles de entender para alguien que no supiera nada acerca de desarrollo.

Además de la conferencia en si, hubo aspectos destacables, como la asistencia bestial de público, la obsesión del señor Stallman por la pepsi, su descuidado aspecto físico, la pequeña flauta con la que apuntó a modo de pistola para hacer más gráfico un argumento, el pesado periodista -creo- del comienzo de la charla, el “asequible” merchandising del final, el detalle de las prioridades en las preguntas finales (mal argumentadas a mi modo de ver)…

En cuanto a la gente, un 10, no hubo murmullo aparente por detrás, nada de grandes barullos al final y la organización muy buena para los dos días que llevó (destacando el detalle de las pepsis que comenta Jorge en su blog ). Por mi parte vi a algunas personas que no conocía personalmente como Jorge y David Grajal (que debía haber visto por la facultad alguna vez, ya es hora de que actulice la foto de su blog XD).

(*) para escuchar la voz de stallman solo debes escribir algo relacionado con patentes en tu editor de texto favorito, convertirlo a pdf, visionarlo con el Acrobar Reader y poner la opción de leerlo… el sintetizador es para inglés, pero clava la voz del Stallaman XD

código del día

Dado que muchas veces tengo código suelto y no tengo demasiado tiempo para comentarlo, qué mejor que una sección donde pegar el código sin tener que dar explicaciones a nadie ? XD

Este code lo he visto en los foros de stratos , aunque ya me sonaba de la web de perlin. La verdad que este código es un guiño al pasado, solo hay que ver esto (después de ejecutar el código en C que os pongo lo entendereis).

El code:

main(k){float i,j,r,x,y=-16;while(puts(“”),y++<15)
for(x=0;x++<84;putchar(“ .:-;!/>)|&IH%*#”[k&15]))
for(i=k=r=0;j=r*r-i*i-2+x/25,i=2*r*i+y/10,j*j+i*i<11&&k++<111;r=j);}

saludos

4k synth

Hace ya tiempo que estaba detrás de codear un synth para 4k. Para el que lea esto y no sepa de lo que estoy hablando, en pocas palabras le puedo decir que es una forma de crear música sintetizando y mezclando sonidos muy básicos.
Después del pequeño juego (4k, ojo, solo windows) que hice para el concurso de stratos, me picó la curiosidad y empecé a buscar recursos relacionados con las 4k. Entre los más destacados encontré esta recopilación, dentro de la cual hay códigos de algunas 4k’s y un par de ellas con synth. Después de mirar los códigos, hablar con algunas personas (KILE, shash, slash) hacer prubecillas con matlab, etc he obtenido una serie de pasos que más o menos generan un sonido medianamente pasable.

Se puede decir que un sintetizador está compuesto por 3 elementos:
- oscilador
- filtro paso bajo
- generador de envolvente

El oscilador genera una señal, más o menos pura frecuencialmente, como un seno, señal cuadrada (square), triangular (saw) o, aunque al principio no daba crédito, ruido (un rand() de toda la vida, menudos platos que genera XD).

El filtro (yo uso uno de orden 2) es un paso bajo con frecuencia de corte y resonancia configurables, de esa esta forma podemos quitar los armónicos que queramos de señales como la square o la saw.

El generador de envolventes es un señal que “da forma” a la nota. En función de unos parámetros la nota suena de formas muy diferentes. En este caso es mucho mejor ver una foto:

El siguiente paso es generar una melodía. Para ello a partir de las notas (do,re, mi…) de toda la vida se calcula la frecuencia de oscilación. Con ella se hace vibrar a uno de los tipos de oscilador (el sonido depende mucho del tipo de oscilador) y después de pasar esa señal por el filtro (con los parámetros de frecuencia de corte y resonancia que queramos) se pasa por la envolvente. Esto lógicamente se hace por cada canal y finalmente se mezclan. Cada canal,normalmente, tiene diferentes parámetros en la envolvente y de frecuencia de corte del filtro.

El mayor problema de todo esto surge al generar señales no limitadas en banda. La señales square, noise y saw tienen un espectro infinito, aunque bien es cierto que desciende la potencia de los armónicos a medida que aumenta la frecuencia, muestreandolos a 41000 Hz sigue habiendo un aliasing notable (para el que no sepa que es aliasing, en pocas palabras es el solapamiento del espectro de la señal con réplicas de si mismo). Para solucionar este problema lo ideal es hacer oversampling (tomar más muestras por segundo de las necesarias) y después procesar en discreto, esto es, bajar la frecuencia con un diezmador previo paso por un filtro paso bajo que elimine las componentes no deseadas.

Ahora mismo estoy en fase de coding de una pequeña herramienta para la composión de música, una screen:

Unos links:
- [1] : un editor que se basa más o menos en lo explicado.
- [2] : página con un montón de recursos, sobretodo relacionados con procesado de señal
- [3] : código fuente de una 4k (participó en la breakpoint de este año) liberado hace poco.
- [4] página personal de kb, uno de los miembros de farbrausch. En ella explica conceptos del synth usado en muchas de sus producciones, todo a nivel teórico, nada de coding.

En otro orden de cosas he añadido los links de dos blog que frecuento, pertenecen a dos chavales de la asociación de software libre de la EUP. El blog a Aloriel y el de mario , a que estoy ayudando con su distribución de linux portándole unos scripts de Ruby a python con GTK. Espero que en poco tiempo además de portar creemos cosas interesantes, GTK es potente y simple, pero eso ya en otro post :)
-

un saludo, menuda chapa, ya pegaré el code cuando lo tenga completo.

GNU/Linux

Precisamente ayer estuve en la antigua escuela viendo como los chicos de soleup daban sus conferencias del ciclo de software libre que había ayer y hoy. Legué tarde a la primera charla, trataba sobre lo que era el soft libre en general, sin embargo escuché todo lo que tenía que escuchar. Presidiendo, y parece ser que como invitado especialísimo había un personaje de hispalinux, el cual, haciendo su trabajo, alardeó de que linux era mucho mejor que windows, etc. Mi mayor sorpresa fue cuando preguntó si alguno de los presentes NO había usado soft libre, uno de los que allí estaban levantó la mano y, tirando de guión, el tío en cuestión pregunto: “tú nunca has usado google?” el chaval, lógicamente, respondió que sí. Es posible que el chaval hubiera usado soft libre, pero desde luego el ejemplo de google no es para nada representativo. Es posible que llegara a google usando IE, pasando a través de routers CISCO, etc. Además, qué coño, google no deja el código, por mucho que use linux y herramientas libres no significa que el que use google está usando herramientas libres. Es igual que si abuela haciera tortilla de patata y yo dijera que la he cocinado. Lo peor de todo fue su reacción arrogante cuando se lo fui a comentar después de la charla, se me quitaron todas las ganas de debatir con él. Mi opinión sobre el señor me la quedo para mi.

Lo siguiente fue una presentación de la distribución que están relizando con el objetivo de proveer a los alumnos de herramientas libres para el desarrollo de las prácticas en la carrera. La distribución es SOLEUPIX, tiene un aspecto bastante bueno y los contenidos, teniendo en cuenta mi experiencia en la facultad, son muy apropiados, aunque hay que ver qué tal se suple a herramientas como microsim, matlab, labview, etc.

Cosas que me gustaron:
- El ponente (no penseis mal). me gustó la forma en la que contó las cosas, pecaba de inexperiencia haciendo presentaciones (se repitió bastante), pero lo hizo tranquilo y pausado, no se hacía pesado escucharle y salvo bien los dos cuelgues.
- Los contenidos de la distro: muy apropiados.
- Blender: fue uno de los pocos programas que arrancaron. No hicieron nada, pero rocks.
- El logo: se lo había currado uno de los presentes en la sala. Ruborizado el tío dijo que estaba a medio terminar, aunque tenía muy buen aspecto y encajaba.

lo malo:

- los dos cuelgues: problemas con el entorno gráfico. Una pena, manchó un poco la presentación
- Las constantes alusiones a windows y MS: parece que el mundo libre no ve más allá de MS, otra pena.

Espero que vaya muy bien la distro, es una idea muy buena. Estaría bien poder echar una manita.

PD: estoy bastante desilusionado con el blog, resulta que el post más chorra es el que más comentarios ha generado. Y lo peor, me acaban de pasar otro igual : http://misandanzas.blogcindario.com/

unas risas

Me acaban de pasar este link: http://www.livejournal.com/users/bakala007/

Quiero pensar que es una historia de ficción bien montada. La verdad es que cada post tiene un huevo de respuestas.