Visualizzazione dei campioni audio
// height=200 lines=auto
let sound;
let fft;
function preload() {
sound = loadSound( 'assets/liszt.mp3' );
}
function setup() {
createCanvas( 512, 200 );
sound.loop();
fft = new p5.FFT();
}
function draw() {
background(0);
let samples = fft.waveform( 512 );
for (let i=0; i<samples.length; i++) {
let gray = map( samples[i], -1,1, 0,255 );
stroke( gray );
line( i,0, i,height );
}
}
fft = new p5.FFT();
Crea un'stanza della classe p5.FFT
che permette di fare una serie di analisi sull'audio in esecuzione.
let samples = fft.waveform( 512 );
Crea un array di 512 elementi (samples
) con i campioni del frammento audio in esecuzione.
let gray = map( samples[i], -1,1, 0,255 );
Ottieni un valore di grigio (da 0 a 255) proporzionale al campione analizzato (samples[i]
) che ha invece un intervallo diverso (da -1 a +1).
Provare a usare il secondo audio presente nella cartella "assets":
sound = loadSound( 'assets/like_analogue.mp3' );
Strutturazione dei file:
- CARTELLA-SKETCH
- assets
- libs
- p5.min.js
- p5.sound.min.js
- index.html
- sketch.js