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-11-05 08:12:20
|Updated=2018-11-19 08:43:49
|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 102 : Ligne 102 :
 
 
}</pre>
}</pre>
Récupérée de « http://curlybraces.be/wiki/index.php?title=ERG::physicalcomputing&oldid=2611 »
<br />
 
 
-----
 
== Effets vocaux : ==
 
Dispo dans les exemple de la librairie Sound : https://processing.org/reference/libraries/sound/index.html
 
''Il reste à les coder pour les appliqués à des paliers de hauteur.''
 
<br /> '''Exemple code avec ajout d'un effet à une hauteur donnée :'''
 
<pre class="de1">/**
* This sketch shows how to use the FFT class to analyze a stream
* of sound. Change the number of bands to get more spectral bands
* (at the expense of more coarse-grained time resolution of the spectrum).
*/
 
import processing.sound.*;
 
// Declare the sound source and FFT analyzer variables
FFT fft;
AudioIn in;
Delay delay;
 
// Define how many FFT bands to use (this needs to be a power of two)
int bands = 128;
 
// Define a smoothing factor which determines how much the spectrums of consecutive
// points in time should be combined to create a smoother visualisation of the spectrum.
// A smoothing factor of 1.0 means no smoothing (only the data from the newest analysis
// is rendered), decrease the factor down towards 0.0 to have the visualisation update
// more slowly, which is easier on the eye.
float smoothingFactor = 0.2;
 
// Create a vector to store the smoothed spectrum data in
float[] sum = new float[bands];
 
// Variables for drawing the spectrum:
// Declare a scaling factor for adjusting the height of the rectangles
int scale = 5;
// Declare a drawing variable for calculating the width of the
float barWidth;
 
public void setup() {
  size(640, 360);
  background(255);
 
  // Calculate the width of the rects depending on how many bands we have
  barWidth = width/float(bands);
 
  // Load and play a soundfile and loop it.
  fft = new FFT(this, bands);
  in = new AudioIn(this, 0);
 
  // Create the FFT analyzer and connect the playing soundfile to it.
  in.start();
  fft.input(in);
  //retour micro
  in.play();
}
 
public void draw() {
 
 
  // Perform the analysis
  fft.analyze();
  int currentBand = 0;
  float maxVal = 0;
 
  for (int i = 0; i &lt; bands; i++) {
 
    if(fft.spectrum[i] &gt; maxVal){
      currentBand = i;
      maxVal = fft.spectrum[i];
    }
 
 
  }
 
  if(currentBand &gt; 10){
    background(0);
  }else{
    delay = new Delay(this);
    delay.process(in, 5);
    delay.time(0.5);
 
    background(255);
  }
 
 
}</pre>
Récupérée de « http://curlybraces.be/wiki/index.php?title=ERG::physicalcomputing&oldid=2634 »

Version du 25 novembre 2018 à 03:16

Source (url) http://curlybraces.be/wiki/index.php/ERG::physicalcomputing
Site satellite Curlybraces
Date 2018-11-19 08:43:49

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é.




Code utilisé :

-FFT à partir d'un enregistrement micro input -Retour Micro -Changement de couleur du fond en fonction d'une hauteur

ATTENTION UTILISER CASQUE AUDIO SINON LARSEN

import processing.sound.*;
 
// Declare the sound source and FFT analyzer variables
FFT fft;
AudioIn in;
 
// Define how many FFT bands to use (this needs to be a power of two)
int bands = 128;
 
// Define a smoothing factor which determines how much the spectrums of consecutive
// points in time should be combined to create a smoother visualisation of the spectrum.
// A smoothing factor of 1.0 means no smoothing (only the data from the newest analysis
// is rendered), decrease the factor down towards 0.0 to have the visualisation update
// more slowly, which is easier on the eye.
float smoothingFactor = 0.2;
 
// Create a vector to store the smoothed spectrum data in
float[] sum = new float[bands];
 
// Variables for drawing the spectrum:
// Declare a scaling factor for adjusting the height of the rectangles
int scale = 5;
// Declare a drawing variable for calculating the width of the 
float barWidth;
 
public void setup() {
  size(640, 360);
  background(255);
 
  // Calculate the width of the rects depending on how many bands we have
  barWidth = width/float(bands);
 
  // Load and play a soundfile and loop it.
  fft = new FFT(this, bands);
  in = new AudioIn(this, 0);
 
  // Create the FFT analyzer and connect the playing soundfile to it.
  in.start();
  fft.input(in);
  //retour micro
  in.play();
}
 
public void draw() {
 
 
  // Perform the analysis
  fft.analyze();
  int currentBand = 0;
  float maxVal = 0;
 
  for (int i = 0; i < bands; i++) {
 
    if(fft.spectrum[i] > maxVal){
      currentBand = i;
      maxVal = fft.spectrum[i];
    }
 
 
  }
 
  if(currentBand > 10){
    background(0);
  }else{
    background(255);
  }
 
 
}




Effets vocaux :

Dispo dans les exemple de la librairie Sound : https://processing.org/reference/libraries/sound/index.html

Il reste à les coder pour les appliqués à des paliers de hauteur.


Exemple code avec ajout d'un effet à une hauteur donnée :

/**
 * This sketch shows how to use the FFT class to analyze a stream
 * of sound. Change the number of bands to get more spectral bands
 * (at the expense of more coarse-grained time resolution of the spectrum).
 */
 
import processing.sound.*;
 
// Declare the sound source and FFT analyzer variables
FFT fft;
AudioIn in;
Delay delay;
 
// Define how many FFT bands to use (this needs to be a power of two)
int bands = 128;
 
// Define a smoothing factor which determines how much the spectrums of consecutive
// points in time should be combined to create a smoother visualisation of the spectrum.
// A smoothing factor of 1.0 means no smoothing (only the data from the newest analysis
// is rendered), decrease the factor down towards 0.0 to have the visualisation update
// more slowly, which is easier on the eye.
float smoothingFactor = 0.2;
 
// Create a vector to store the smoothed spectrum data in
float[] sum = new float[bands];
 
// Variables for drawing the spectrum:
// Declare a scaling factor for adjusting the height of the rectangles
int scale = 5;
// Declare a drawing variable for calculating the width of the 
float barWidth;
 
public void setup() {
  size(640, 360);
  background(255);
 
  // Calculate the width of the rects depending on how many bands we have
  barWidth = width/float(bands);
 
  // Load and play a soundfile and loop it.
  fft = new FFT(this, bands);
  in = new AudioIn(this, 0);
 
  // Create the FFT analyzer and connect the playing soundfile to it.
  in.start();
  fft.input(in);
  //retour micro
  in.play();
}
 
public void draw() {
 
 
  // Perform the analysis
  fft.analyze();
  int currentBand = 0;
  float maxVal = 0;
 
  for (int i = 0; i < bands; i++) {
 
    if(fft.spectrum[i] > maxVal){
      currentBand = i;
      maxVal = fft.spectrum[i];
    }
 
 
  }
 
  if(currentBand > 10){
    background(0);
  }else{
    delay = new Delay(this);
    delay.process(in, 5);
    delay.time(0.5);
 
    background(255);
  }
 
 
}

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