Annonce

>>> Bienvenue sur codelab! >>> Première visite ? >>> quelques mots sur codelab //// une carte des membres//// (apéros) codelab


#1 2015-01-24 14:09:08 Changer la couleur en fonction du son Processing

AdrienB
membre
Date d'inscription: 2015-01-24
Messages: 10

Changer la couleur en fonction du son Processing



Bonjour,

voila je travaille un peu sur procession et j'ai des petites questions,

je cherche a créer un motif qui change de couleur en fonction de l'intensité du son, et de la frequence, par exemple la couleur de base serait le rouge, la valeur de vert changerai en fonction du volume et la valeur de bleu changerai en fonction de la fréquence. Pourriez vous m'aider un peu svp big_smile

Tout en sachant que j'ai déjà fait des recherche sur la librairie minim et j'arrive a peu près a un début de résultat mais c'est pas encore sa.

Dernière modification par AdrienB (2015-01-24 14:10:48)

Hors ligne

 

#2 2015-01-25 21:21:48 Re : Changer la couleur en fonction du son Processing

matheynen
membre
Date d'inscription: 2008-06-09
Messages: 226

Re: Changer la couleur en fonction du son Processing



Tu devrais aller regarder du côté de la libraire Beads.
Elle posssède une fonction qui retourne la hauteur du son :
http://www.beadsproject.net/

Il y a un pdf sur ce site qui explique ce dont tu as besoin.


Ce que vous avez fait au plus petit de mes frères, c'est à moi que vous l'avez fait.

Hors ligne

 

#3 2015-02-08 17:14:12 Re : Changer la couleur en fonction du son Processing

AdrienB
membre
Date d'inscription: 2015-01-24
Messages: 10

Re: Changer la couleur en fonction du son Processing



Merci beaucoup smile

Hors ligne

 

#4 2015-02-08 23:37:03 Re : Changer la couleur en fonction du son Processing

jojolaglaise
membre
Lieu: Basse Normandie
Date d'inscription: 2014-04-20
Messages: 137
Site web

Re: Changer la couleur en fonction du son Processing



Ce lien (http://jaiunblog.com/3760/accordeur-avec-processing/) pourra peut-être t'aider, il s'agit d'un "accordeur" codé sous Processing;
Avec la librairie Minim on peut récupérer les fréquences en Hz d'une entrée micro.

Ensuite, pourquoi pas par exemple mapper les fréquences reçues sur les teintes du cercle chromatique (en mode HSB)?

Un petit exemple:

//on importe minim
import ddf.minim.*;
import ddf.minim.analysis.*;

Minim minim;//declare objet minim
AudioInput in;//declare objet minim entree
FFT fft;//objet analysis

//nos variables
float amplitude;
int frequence;
float amplitude_max = 0;

int x;//deplacement Hztl
int y;//deplacement Vtcl

float map_frequence;

int ecranx = 1240;
int ecrany =  1754;

void setup(){
  size(ecranx,ecrany);
  background(255);
  frameRate(60);
  colorMode(HSB, 360,100,100);
  
  minim = new Minim(this);//initialisation
  in = minim.getLineIn(Minim.MONO, 4096*2, 44100);//ou 4096 *8
  fft = new  FFT(in.left.size(),44100);//initialisation
}

void draw(){
  amplitude_max = 0;
  amplitude = 0;
  frequence = 0;
  fft.forward(in.left);
  
  for(int i = 0; i<20000; i++){
    amplitude = fft.getFreq(i);
    
    if (amplitude > amplitude_max){
      amplitude_max = amplitude;
      frequence = i;
    }
  }  

  println(frequence);

  x+=4;
  
  if(x > width){
    x = 0;
    y = y + 50;
  }
  
  map_frequence = round(map(frequence, 20, 20000, 0,360));
  fill(map_frequence*9,100,100);
  //println(map_frequence*9);
  if(map_frequence>360){
    map_frequence = map_frequence - 200;
  }
  noStroke();
  for(int j = 0; j < in.bufferSize() - 1; j++){
    ellipse(x,y,in.left.get(j)*80,in.left.get(j)*80);
  } 
 
}

Dernière modification par jojolaglaise (2016-02-20 11:21:46)

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024