Аналіз звуку

Аудіо-вміст, який відтворюється плеєром, можна аналізувати, визначаючи його характеристики. Для цього слід увімкнути режим аналізу:

player.setAnalysing(true);

//у процедурі draw

float power = player.getAveragePower();

background(0);

player.play();

fill (power*255,0,0);

rect(0,0, power*width, height);

Ці команди зображатимуть прямокутник, ширина та колір якого визначаються звуковим супроводом, а точніше - його гучністю.

Для того, щоб явніше бачити різницю, варто додати множник fill (power*255*2,0,0);

 

За допомогою масиву spec можна представити звуковий файл як множину окремих значень гучностей:

// оголошення даних

float [] spec

// у процедурі setup ()

player.setAnalysing(true);

// у процедурі draw(): якщо є звук, то малюється прямокутник відповідного розміру та кольору

spec =player.getPowerSpectrum();

if (spec!=null) {

for (int i=0; i<spec.length; i++) {

fill(0,255,255*spec[i]);

rect(0,i,spec[i]*width,2);

}

}

Команди нижче перетворюють прямокутники на групу точок:

strokeWeight(4);

stroke(255*spec[i]);

point(xPos,i);

xPos+=4;

На даний момент точки малюються по ширині екрану, щоб цей процес продовжувався, потрібно передбачити очищення екрану після його заповнення:

if (xPos>width){

xPos=0;

background(0);

}

Остання зміна: субота 10 січня 2015 5:44