Étape 6: programmation
Import SimpleOpenNI.* ;
Import ddf.minim.* ;
Import ddf.minim.ugens.* ;
SimpleOpenNI kinect ;
int closestValue ;
int closestX ;
int closestY ;
Minim minim ;
AudioOutput
void setup() {}
taille (640, 480) ;
Kinect = new SimpleOpenNI (this) ;
kinect.enableDepth() ;
minim = nouveau Minim (this) ;
sortir = minim.getLineOut() ;
}
{} void draw()
closestValue = 8000 ;
Kinect.Update() ;
int [] depthValues = kinect.depthMap() ;
pour (int y = 0; y < 480; y ++) {}
pour (int x = 0; x < 640; x ++) {}
int i = x + y * 640 ;
int currentDepthValue = depthValues [i] ;
Si (currentDepthValue > 0 & & currentDepthValue < closestValue) {}
closestValue = currentDepthValue ;
closestX = x ;
closestY = y ;
}
}
}
image(Kinect.depthImage(), 0, 0) ;
remplissage (255, 0, 0, 155) ;
Rect (20, 0, 40, 480) ;
remplissage (255, 128, 0, 155) ;
Rect (100, 0, 40, 480) ;
remplissage (255, 255, 0, 155) ;
Rect (180, 0, 40, 480) ;
remplissage (0, 255, 0, 155) ;
Rect (260, 0, 40, 480) ;
remplissage (0, 255, 255, 155) ;
Rect (340, 0, 40, 480) ;
remplissage (0, 0, 255, 155) ;
Rect (420, 0, 40, 480) ;
remplissage (128, 0, 255, 155) ;
Rect (500, 0, 40, 480) ;
remplissage (255, 0, 255, 155) ;
Rect (580, 0, 40, 480) ;
Fill(155) ;
ellipse (closestX, closestY, 20, 20) ;
Si (closestX < 60 & & closestX > 20) {}
out.playNote ("C4") ;
}
Si (closestX < 140 & & closestX > 100) {}
out.playNote ("D4") ;
}
Si (closestX < 220 & & closestX > 180) {}
out.playNote (« E4 ») ;
}
Si (closestX < 300 & & closestX > 260) {}
out.playNote (« F4 ») ;
}
Si (closestX < 380 & & closestX > 340) {}
out.playNote (le "G4") ;
}
Si (closestX < 460 & & closestX > 420) {}
out.playNote ("A4") ;
}
Si (closestX < 540 & & closestX > 500) {}
out.playNote ("B4") ;
}
Si (closestX < 620 & & closestX > 580) {}
out.playNote ("C5") ;
}
}
stop() Sub {}
minim.Stop() ;
Super.Stop() ;
}
Dans ce programme, vous pouvez choisir la note et l’octave en tapant simplement un nouveau. Par exemple, si vous vouliez augmenter la dernière note vers le haut d’une octave, vous remplacez ("C5") par ("C6").