Actions

Page web

« ERG::physicalcomputing » : différence entre les versions

De erg

Ergbot (discussion | contributions)
Aucun résumé des modifications
Ergbot (discussion | contributions)
Aucun résumé des modifications
Ligne 2 : Ligne 2 :
|URL=http://curlybraces.be/wiki/index.php/ERG::physicalcomputing
|URL=http://curlybraces.be/wiki/index.php/ERG::physicalcomputing
|Title=ERG::physicalcomputing
|Title=ERG::physicalcomputing
|Updated=2018-10-01 19:51:43
|Updated=2018-10-08 08:33:39
|Site=Curlybraces
|Site=Curlybraces
|Thumbnail=Capture d’écran 2018-10-01 à 12.01.14.png
|Thumbnail=Capture d’écran 2018-10-01 à 12.01.14.png
Ligne 10 : Ligne 10 :
Aller à : [http://curlybraces.be/wiki/index.php/ERG::physicalcomputing#mw-head navigation], [http://curlybraces.be/wiki/index.php/ERG::physicalcomputing#p-search rechercher]
Aller à : [http://curlybraces.be/wiki/index.php/ERG::physicalcomputing#mw-head navigation], [http://curlybraces.be/wiki/index.php/ERG::physicalcomputing#p-search rechercher]


projet : Assigner un programme différent (algorithmes) à chaque octave de la voix. Donc système de détection des hauteurs.
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...


[[Fichier:Capture d’écran 2018-10-01 à 12.01.14.png|Capture d’écran 2018-10-01 à 12.01.14.png|link=http://curlybraces.be/wiki/Fichier:Capture_d%E2%80%99%C3%A9cran_2018-10-01_%C3%A0_12.01.14.png|thumb|none]]
[[Fichier:Capture d’écran 2018-10-01 à 12.01.14.png|Capture d’écran 2018-10-01 à 12.01.14.png|link=http://curlybraces.be/wiki/Fichier:Capture_d%E2%80%99%C3%A9cran_2018-10-01_%C3%A0_12.01.14.png|thumb|none]]


Récupérée de « http://curlybraces.be/wiki/index.php?title=ERG::physicalcomputing&oldid=2394 »
[[Fichier:Capture d’écran 2018-10-08 à 09.35.54.png|Capture d’écran 2018-10-08 à 09.35.54.png|link=http://curlybraces.be/wiki/Fichier:Capture_d%E2%80%99%C3%A9cran_2018-10-08_%C3%A0_09.35.54.png|thumb|none]]
 
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é.
 
<br />
 
 
-----
 
<pre>EXEMPLE DE CODE À COMPRENDRE ET REUTILISER : </pre>
//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() {
 
<pre> 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);</pre>
}
 
void draw() {
 
<pre> 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 &lt; 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</pre>
}
 
void stop() {
 
<pre> // 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();</pre>
<pre> super.stop();</pre>
}
 
Récupérée de « http://curlybraces.be/wiki/index.php?title=ERG::physicalcomputing&oldid=2569 »

Version du 9 octobre 2018 à 02:11

Source (url) http://curlybraces.be/wiki/index.php/ERG::physicalcomputing
Site satellite Curlybraces
Date 2018-10-08 08:33:39

De {}

Aller à : navigation, rechercher

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 : 

//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();

}

Récupérée de « http://curlybraces.be/wiki/index.php?title=ERG::physicalcomputing&oldid=2569 »