Dreamo-Italy / Dreamo-engine-ProcessingIDE

Processing-side engine of the video generator
1 stars 0 forks source link

Array out of bounds nel calcolo della roughness #14

Open francescocretti opened 5 years ago

francescocretti commented 5 years ago

C'è un errore nel metodo calcRoughness() in class_timbre.pde, riga 500.

Temporaneamente fixato da @Screeen nel commit 50f6a2 aggiungendo il controllo peak < 100 qui:

    if (largerThanPrevious && largerThanNext && largerThanNoiseFloor && peak < 100 ) 
    {
     peak++;
     peakValue[ peak - 1 ] = FFTcoeffs[i];
     freqValue[ peak - 1 ] = centerFreqHz(i);
    }

ma andrebbe verificato qual'è il vero problema e influisce sul calcolo della roughness.

@AndryFish hai scritto tu la funzione.

Any ideas?

AndryFish commented 5 years ago

Ciao a tutti. In merito al metodo calcRoughness e ai suoi problemi riporto quanto discusso con @francescocretti. Per calcolare la Roughness è necessario estrarre dei valori di picco dal segnale. Per recuperare i picchi si è scelto di utilizzare la stessa tecnica usata in calcSpectralComplexity(). L'errore che appare si deve al fatto che per qualche motivo i picchi continuano ad essere rilevati fino a superare la capienza dell'array. Questo problema è sorto un paio di volte ma ponendo 100 come dimensione tutto andava a bene. Non capisco proprio perchè è venuto fuori quell'errore. I'm sorry.