Différences entre les versions de « ERG::physicalcomputing »

De {}
Aller à la navigation Aller à la recherche
Ligne 15 : Ligne 15 :
 
----
 
----
  
  '''EXEMPLE DE CODE À COMPRENDRE ET REUTILISER :'''  
+
  '''EXEMPLE DE CODE À COMPRENDRE ET REUTILISER :'''
 
 
//importation des différents éléments de la bibliothèque minim
 
// importation de la base de la bibliothèque
 
import ddf.minim.*;
 
// importation du module de traitement de signal de la bibliothèque
 
import ddf.minim.signals.*;
 
// importation du module d'analyse de signal de la bibliothèque
 
import ddf.minim.analysis.*;
 
// importation du module d'effets sonores de la bibliothèque
 
import ddf.minim.effects.*;
 
 
 
// je créé le nom de mon objet son
 
Minim monObjetSon;
 
// je créée le nom d'un objet entrée son
 
AudioInput entreeSon;
 
// je crée une variable qui me permettra de sortir la valeur du volume hors de la boucle d'itération (voir plus bas)
 
float monVolumeSon;
 
 
 
void setup() {
 
  size (200, 200);
 
  //je crée mon objet son
 
  monObjetSon = new Minim(this);
 
  // je précise les caractéristiques de mon objet entreeSon : stereo, avec une memoire tampon (buffer) de 512 ko
 
  entreeSon = monObjetSon.getLineIn(Minim.STEREO, 512);
 
}
 
 
 
void draw() {
 
  background(255);
 
  // Nous avons besopin d'une iteration pour récpérer tous les échantillons sonores présents dans la mémoire tampon
 
  for (int i = 0; i < entreeSon.bufferSize() - 1; i++)
 
  {
 
    // Je donne à ma variable monVolumeSon la somme des valeurs d'entrées gauche et droite du microphone que je multiplie par 50 pour la valeur soit exploitable
 
    monVolumeSon =  (entreeSon.left.get(i)+entreeSon.right.get(i)/2)*50;
 
  }
 
  // je donne à mon épaisseur de ligne la valeur de la variable monVolumeSon définie juste au-dessus. Avec la fonction 'abs()' je transforme les valeurs de ma varibla à être positives
 
  strokeWeight(abs(monVolumeSon));
 
  // je donne à ma ligne la couleur rouge
 
  stroke(255, 0, 0);
 
  // je dessine ma ligne
 
  line(width/4, height/2, width*3/4, height/2);
 
  // maintenant, quand je fais du bruit l'épaisseur de ma ligne rouge varie en fonction du volume ambiant
 
}
 
 
 
void stop()
 
{
 
  // Je ferme l'entree son et arrete l'objet son quand je quitte mon sketch afin de ne pas continuer à stocker les valeurs dans la memoire tampon quand j'ai fini
 
  entreeSon.close();
 
  monObjetSon.stop();
 
 
 
  super.stop();
 
}
 

Version du 15 octobre 2018 à 07:04

projet : Assigner un programme différent à chaque octave de la voix. Donc avec un système de détection des notes et des hauteurs. Chacune des notes seraient assignée à un effet de type stéréo, réverbe, granulator...

Capture d’écran 2018-10-01 à 12.01.14.png

Capture d’écran 2018-10-08 à 09.35.54.png

Utilisation de processing.

- Réaliser du code qui récupère les données enregistrées par un Micro externe, analyser ces données.

Exo 1 : traduire par une couleur des paliers sur la hauteur du son enregistré.



EXEMPLE DE CODE À COMPRENDRE ET REUTILISER :