P5js > La visualisation du son
Contents (hide)
Variables globales :
var fichier; var amplitude; var fft;
À ajouter dans preload() { } :
fichier = loadSound("Dead_Combo_-_01_-_Povo_Que_Cas_Descalo.mp3");
À ajouter dans setup() { } :
amplitude = new p5.Amplitude(); amplitude.smooth(0.5); // Assouplissement de l'analyse amplitude.setInput(fichier); // Analyser le fichier var fftSmoothing = 0.6; var fftBins = 1024; fft = new p5.FFT(fftSmoothing , fftBins ); fft.setInput(fichier); fichier.loop();
À ajouter dans draw(){ } :
var level = amplitude.getLevel(); var spectrum = fft.analyze(); var bands = fft.logAverages(fft.getOctaveBands());
À ajouter dans les variables globales:
var seuilOn = 500; var seuilOff = 300; var seuilActif = false;
À ajouter dans draw(){ } :
// DETECTER L'ACTIVITE DU SEUIL ET LES PICS if ( donnee > seuilOn && seuilActif == false ) { // UN PIC EST DETECTE seuilActif = true; // ... ajouter votre propre code ici qui est declenche // par la detection d'un pic } else if ( donnee < seuilOff ) { seuilActif = false; }
À ajouter dans keyTyped(){ } :
if ( key == '1' ) { fichier.jump ( 0 ); } else if ( key == '2' ) { fichier.jump ( fichier.duration() * .1 ); } else if ( key == '3' ) { fichier.jump ( fichier.duration() * .2 ); } else if ( key == '4' ) { fichier.jump ( fichier.duration() * .3 ); } else if ( key == '5' ) { fichier.jump ( fichier.duration() * .4 ); } else if ( key == '6' ) { fichier.jump ( fichier.duration() * .5 ); } else if ( key == '7' ) { fichier.jump ( fichier.duration() * .6 ); } else if ( key == '8' ) { fichier.jump ( fichier.duration() * .7 ); } else if ( key == '9' ) { fichier.jump ( fichier.duration() * .8 ); } else if ( key == '0' ) { fichier.jump ( fichier.duration() * .9 ); }
function logMap(val, inMin, inMax, outMin, outMax) { var offset = 0; if (inMax === 0 || inMin === 0) { offset = 1; inMin += offset; inMax += offset; } var a = (outMin - outMax) / Math.log10(inMin / inMax); var b = outMin - a * Math.log10(inMin); return a * Math.log10(val + offset) + b; }