Visualizzazione dei campioni audio

// height=200 lines=auto
var sound;

function preload() {
    sound = loadSound( '../assets/liszt.mp3' );
}

function setup() {
    createCanvas( 512, 200 );

    sound.loop();
    fft = new p5.FFT();
}

function draw() {
    background(0);

    var samples = fft.waveform( 512 );

    for (var i=0; i<samples.length; i++) {
        var 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.

var samples = fft.waveform( 512 );

Crea un array di 512 elementi (samples) con i campioni del frammento audio in esecuzione.

var 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: