miércoles, 27 de abril de 2016

Tocar piano




import ddf.minim.*; //para que este programa funcione, es necesario activar la librería minim que viene de fábrica con processing
//creamos los objetos imágenes (18 + teclado + teclado equivalente)  y 18 notas
Minim soundengine;
AudioSample sonido1;
AudioSample sonido2;
AudioSample sonido3;
AudioSample sonido4;
AudioSample sonido5;
AudioSample sonido6;
AudioSample sonido7;
AudioSample sonido8;
AudioSample sonido9;
AudioSample sonido10;
AudioSample sonido11;
AudioSample sonido12;
AudioSample sonido13;
AudioSample sonido14;
AudioSample sonido15;
AudioSample sonido16;
AudioSample sonido17;
AudioSample sonido18;
PImage Foto;
PImage Foto1;
PImage Foto2;
PImage Foto3;
PImage Foto4;
PImage Foto5;
PImage Foto6;
PImage Foto7;
PImage Foto8;
PImage Foto9;
PImage Foto10;
PImage Foto11;
PImage Foto12;
PImage Foto13;
PImage Foto14;
PImage Foto15;
PImage Foto16;
PImage Foto17;
PImage Foto18;
PImage Fotoeq;



void setup() {
  size (560, 500); //tamaño de la ventana

  pantalla(); //Dibujamos los objetos en la ventana
 
  iniciatonos(); //inicializamos las notas: Hacemos todas las precargas de audio

}
void iniciatonos(){ //hay que hacer una precarga de todos los ficheros de audio
  soundengine = new Minim(this); //Creamos un objeto de la librería
  sonido1 = soundengine.loadSample("mis proyectos/tocar_nota/objetos/C.mp3", 1024);//llamamos al método loadSample del objeto soundengine
  sonido2 = soundengine.loadSample("mis proyectos/tocar_nota/objetos/D.mp3", 1024);
  sonido3 = soundengine.loadSample("mis proyectos/tocar_nota/objetos/E.mp3", 1024);
  sonido4 = soundengine.loadSample("mis proyectos/tocar_nota/objetos/F.mp3", 1024);
  sonido5 = soundengine.loadSample("mis proyectos/tocar_nota/objetos/G.mp3", 1024);
  sonido6 = soundengine.loadSample("mis proyectos/tocar_nota/objetos/A.mp3", 1024);
  sonido7 = soundengine.loadSample("mis proyectos/tocar_nota/objetos/B.mp3", 1024);
  sonido8 = soundengine.loadSample("mis proyectos/tocar_nota/objetos/C1.mp3", 1024);
  sonido9 = soundengine.loadSample("mis proyectos/tocar_nota/objetos/D1.mp3", 1024);
  sonido10 = soundengine.loadSample("mis proyectos/tocar_nota/objetos/E1.mp3", 1024);
  sonido11 = soundengine.loadSample("mis proyectos/tocar_nota/objetos/F1.mp3", 1024);
  sonido12 = soundengine.loadSample("mis proyectos/tocar_nota/objetos/Cs.mp3", 1024);
  sonido13 = soundengine.loadSample("mis proyectos/tocar_nota/objetos/Ds.mp3", 1024);
  sonido14 = soundengine.loadSample("mis proyectos/tocar_nota/objetos/Fs.mp3", 1024);
  sonido15 = soundengine.loadSample("mis proyectos/tocar_nota/objetos/Gs.mp3", 1024);
  sonido16 = soundengine.loadSample("mis proyectos/tocar_nota/objetos/Bb.mp3", 1024);
  sonido17 = soundengine.loadSample("mis proyectos/tocar_nota/objetos/Cs1.mp3", 1024);
  sonido18 = soundengine.loadSample("mis proyectos/tocar_nota/objetos/Ds1.mp3", 1024);
}


void pantalla(){
  Foto = loadImage("mis proyectos/tocar_nota/objetos/teclado.png");
  image(Foto,0,0); //Ponemos la foto del piano de la parte superior de la ventana
 
  fill(0, 102, 153);//ponemos el color de relleno del texto
  textSize(26);//ponemos el tamaño del texto
  text("Equivalencias con las teclas", 0, 250);//Escribimos  el texto central
  textSize(18);//Cambiamos eltamaño del texto para que sea un poco más pequeño
  text("Pulsar estas teclas para oir las notas (pulsar 1 para oir melodía)", 0, 275);//Escribimos  el texto central
  Fotoeq = loadImage("mis proyectos/tocar_nota/objetos/tecladoequivalencia.png");
  image(Fotoeq,0,300);//Ponemos la foto del piano de la parte inferior de la ventana

}
void draw() {
}

void keyPressed() {//al pulsar cada tecla, se actualiza una imagen, y se hace sonar un fichero de audio
  if (key == 'a' || key == 'A') {
   Foto1 = loadImage("mis proyectos/tocar_nota/objetos/C.png");
   image(Foto1,0,0);
    sonido1.trigger();
  }
  if (key == 's' || key == 'S') {
    Foto2 = loadImage("mis proyectos/tocar_nota/objetos/D.png");
    image(Foto2,0,0);
    sonido2.trigger();
  }
  if (key == 'd' || key == 'D') {
    Foto3 = loadImage("mis proyectos/tocar_nota/objetos/E.png");
    image(Foto3,0,0);
    sonido3.trigger();
  }
  if (key == 'f' || key == 'F') {
    Foto4 = loadImage("mis proyectos/tocar_nota/objetos/F.png");
    image(Foto4,0,0);
    sonido4.trigger();
  }
  if (key == 'g' || key == 'G') {
    Foto5 = loadImage("mis proyectos/tocar_nota/objetos/G.png");
    image(Foto5,0,0);
    sonido5.trigger();
  }
  if (key == 'h' || key == 'H') {
    Foto6 = loadImage("mis proyectos/tocar_nota/objetos/A.png");
    image(Foto6,0,0);
    sonido6.trigger();
  }
  if (key == 'j' || key == 'J') {
    Foto7 = loadImage("mis proyectos/tocar_nota/objetos/B.png");
    image(Foto7,0,0);
    sonido7.trigger();
  }
  if (key == 'k' || key == 'K') {
    Foto8 = loadImage("mis proyectos/tocar_nota/objetos/C1.png");
    image(Foto8,0,0);
    sonido8.trigger();
  }
  if (key == 'l' || key == 'L') {
    Foto9 = loadImage("mis proyectos/tocar_nota/objetos/D1.png");
    image(Foto9,0,0);
    sonido9.trigger();
  }
  if (key == 'ñ' || key == 'Ñ') {
    Foto10 = loadImage("mis proyectos/tocar_nota/objetos/E1.png");
    image(Foto10,0,0);
    sonido10.trigger();
  }
  if (key == 'ç' ) {
    Foto11 = loadImage("mis proyectos/tocar_nota/objetos/F1.png");
    image(Foto11,0,0);
    sonido11.trigger();
  }
  if (key == 'w' || key == 'W') {
    Foto12 = loadImage("mis proyectos/tocar_nota/objetos/Cs.png");
    image(Foto12,0,0);
    sonido12.trigger();
  }
  if (key == 'e' || key == 'E') {
    Foto13 = loadImage("mis proyectos/tocar_nota/objetos/Ds.png");
    image(Foto13,0,0);
    sonido13.trigger();
  }
  if (key == 't' || key == 'T') {
    Foto14 = loadImage("mis proyectos/tocar_nota/objetos/Fs.png");
    image(Foto14,0,0);
    sonido14.trigger();
  }
  if (key == 'y' || key == 'Y') {
    Foto15 = loadImage("mis proyectos/tocar_nota/objetos/Bb.png");
    image(Foto15,0,0);
    sonido15.trigger();
  }
  if (key == 'u' || key == 'U') {
    Foto16 = loadImage("mis proyectos/tocar_nota/objetos/Bb.png");
    image(Foto16,0,0);
    sonido16.trigger();
  }
  if (key == 'o' || key == 'O') {
    Foto17 = loadImage("mis proyectos/tocar_nota/objetos/Cs1.png");
    image(Foto17,0,0);
    sonido17.trigger();
  }
  if (key == 'p' || key == 'P') {
    Foto18 = loadImage("mis proyectos/tocar_nota/objetos/Ds1.png");
    image(Foto18,0,0);
    sonido18.trigger();
  }
  if (key == '1' ) {//Al pulsar la tecla 1 sonará la melodía de cumpleaños feliz
   melodia();
  }
}
void melodia(){//reproduce las notas de la melodía cumpleaños feliz
  sonido1.trigger();//do
  delay(500);
  sonido1.trigger();//do
  delay(500);
  sonido2.trigger();//re
  delay(500);
  sonido1.trigger();//do
  delay(500);
  sonido4.trigger();//fa
  delay(500);
  sonido3.trigger();//mi
  delay(800);
  sonido1.trigger();//do
  delay(500);
  sonido1.trigger();//do
  delay(500);
  sonido2.trigger();//re
  delay(500);
  sonido1.trigger();//do
  delay(500);
  sonido5.trigger();//sol
  delay(500);
  sonido4.trigger();//fa
  delay(800);
  sonido1.trigger();//do
  delay(500);
  sonido1.trigger();//do
  delay(500);
  sonido8.trigger();//do1
  delay(500);
  sonido6.trigger();//la
  delay(500);
  sonido4.trigger();//fa
  delay(500);
  sonido3.trigger();//mi
  delay(500);
  sonido2.trigger();//re
  delay(500);
  sonido16.trigger();//Sib
  delay(500);
  sonido16.trigger();//Sib
  delay(500);
  sonido6.trigger();//la
  delay(500);
  sonido4.trigger();//fa
  delay(500);
  sonido5.trigger();//sol
  delay(500);
  sonido4.trigger();//fa
}


Descargar objetos para este proyecto

(C) Dpto Tecnología
IES Antonio Machado
Alcalá de Henares
Abril 2016