Creación de código en software libre para generar la pieza sonora de Ernesto Romero
Pluck tweet
El siguiente código genera el sonido y su desarrollo:
{a=(1..7)/999;Splay.ar(Pluck.ar(Saw.a r, S a w. k r ( 2 * * ( 1 . . 7 ) / 8 ) , 1 / 2 2 0 , 1 / (440*([0,2,3,5,7,9,11]+LFPulse.kr(a,mul:[-12,0,12])).midiratio),99,LFTri.kr(a),1/32))}.play
Programación realizada por Minerva Hernández para generación de paisaje visuales
![]()
Programación realizada por Nicolás Ortega en el marco de la Tesis de Grado para la Licenciatura en Música y Tecnología de IMD+GeM, un instrumento musical digital basado en un guante para utilizar la gestualidad de las manos en la composición de música electrónica y el procesamiento de audio digital en tiempo real.
Programación en Isadora de Maximiliano Wille para generación de paisajes visualen el Nodo Argentina
![]()
Código de programación realizado por Cristian Delgado para dispositivo con 4 sensores de pulso con el fin de obtener un puslo promedio colectivo trasducido en 7 colores.
A(pin2),B(pin3),C(pin4) y D(pin6), La calibración se hace midiendo la entrada del sensor durante 5 segundos, en los cuales se mide el valor máximo y el mínimo obtenido Los bpm se miden dentro de la función getPulse, dentro de la cual se toma un valor para tstart cuando el pin correspondiente tiene señal y se le resta tend cuando termina la lectura con los siguientes valores:
Sabiduría 80-90 ppm, morado.
Intuición 91-100 ppm, azul
Comunicación 101-110 ppm, celeste
Equilibrio 111-120 ppm, verde
Inteligencia 121-130 ppm, amarillo
Alegría 131-141 ppm, naranja
Vitalidad 141-150ppm, rojo
short lr_1=3,lg_1=5,lb_1=2,lr_2=6,lg_2=9,lb_2=7,lr_3=10,lg_3=11,lb_3=12,sensor1=0,sensor2=2,sensor3=4;
unsigned long t11=0,t12=0,t13=0,t21=0,t22=0,t23=0;
int i1=0,j1=0,i2=0,j2=0,i3=0,j3=0,d1,d2,d3;
int pulso=1000,r,g,b;
int a,c,d;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(lr_1,OUTPUT);
pinMode(lg_1,OUTPUT);
pinMode(lb_1,OUTPUT);
pinMode(lr_2,OUTPUT);
pinMode(lg_2,OUTPUT);
pinMode(lb_2,OUTPUT);
pinMode(lr_3,OUTPUT);
pinMode(lg_3,OUTPUT);
pinMode(lb_3,OUTPUT);
}
void LED1() {
// if(pulso>1000) {
// r=117;
// g=42;
// b=1;
// } // indigo
// else if((pulso>850)&&(pulso<1001)) {
// r=0;
// g=0;
// b=1;
// } // azul
// else if((pulso>700)&&(pulso<851)) {
// r=0;
// g=234;
// b=1;
// } // turquesa
// else if((pulso>650)&&(pulso<701)) {
// r=0;
// g=255;
// b=0;
// } // verde
// else if((pulso>600)&&(pulso<651)) {
// r=255;
// g=255;
// b=0;
// } // amarillo
// else if((pulso>450)&&(pulso<601)) {
// r=255;
// g=138;
// b=0;
// } // naranja
// else if((pulso>300)&&(pulso<451)) {
// r=255;
// g=0;
// b=0;
// } // rojo
analogWrite(lr_1,r*i1);
analogWrite(lg_1,g*i1);
analogWrite(lb_1,b*i1);
}
void loop() {
// put your main code here, to run repeatedly:
a=analogRead(sensor1);
if(a>=500)
{
//i1=1;
//t11=millis();
digitalWrite(lr_1,HIGH);
digitalWrite(lg_1,HIGH);
digitalWrite(lb_1,HIGH);
}
if(a<150)
{
// i1=0;
// t12=millis();
// pulso=(t12-t11)*2;
// LED1();
digitalWrite(lr_1,LOW);
digitalWrite(lg_1,LOW);
digitalWrite(lb_1,LOW);
}
c=analogRead(sensor2);
if(c>=500)
{
//i1=1;
//t11=millis();
digitalWrite(lr_2,HIGH);
digitalWrite(lg_2,HIGH);
digitalWrite(lb_2,HIGH);
}
if(c<150)
{
// i1=0;
// t12=millis();
// pulso=(t12-t11)*2;
// LED1();
digitalWrite(lr_2,LOW);
digitalWrite(lg_2,LOW);
digitalWrite(lb_2,LOW);
}
d=analogRead(sensor3);
if(c>=500)
{
//i1=1;
//t11=millis();
digitalWrite(lr_3,HIGH);
digitalWrite(lg_3,HIGH);
digitalWrite(lb_3,HIGH);
}
if(c<150)
{
// i1=0;
// t12=millis();
// pulso=(t12-t11)*2;
// LED1();
digitalWrite(lr_3,LOW);
digitalWrite(lg_3,LOW);
digitalWrite(lb_3,LOW);
}
delay(50);
}