Hi Juan and list, So sorry for this quite late reply. Actually, your question is of high importance, because I noticed this week-end it reveals an error in the computation of mirspread.. From version 1.0 to version 1.3, spread is computed using the following subfunction in mirspread.m: > function s = spread(d,p,c) > s = sqrt( sum((p-c).^2.*d) ) ./ sum(d); which is unfortunately false, because d should first be divided by sum(d) before applying the square-root. Enclosed to this mail is a corrected mirspread.m, featuring this corrected subfunction: > function s = spread(d,p,c) > % Spread is identified to the standard deviation of the distribution d, > % considered as a histogram where each bin is related to a position p. > % Spread is hence related to the distance of each position to the centroid > % c, hence (p-c), and to the frequency of that value in the distribution d. > > s = sqrt( sum((p-c).^2.*d) ./ sum(d) ); This is very bad news indeed, because it means that not only mirspread was wrong, but also mirskewness and mirkurtosis, since they depend on that standard deviation computed by mirspread.. I will upload a corrected version of MIRtoolbox today. Such hidden implementation error is one of the most detrimental risk associated with a project such as MIRtoolbox. We should really do our best to avoid them at all cost. Here are solutions that should be deployed as soon as possible: - Achieving the transition of MIRtoolbox into a real Open Source collaborative project, where all the code is read by at least several contributors. - Turning all operators black boxes into an actual white box, fully readable by all users familiar with Matlab, and easily accessible from the User's Manual. - Implementing professional-quality quality assurance, including a test platform. This will require in particular the dedication of financial resources for that. We plan to apply for some funding for that. Meanwhile, we are very sorry for these hidden reliability issues. Regards, Olivier
Le 27.7.2010 à 8.39, Juan Pampin a écrit : > Hi All, I'm new to this list and to mirtoolbox. > I've been using the software to analyze a > bunch of audio segments using high-level > spectral descriptors and everything is working > great, but I was wondering about the ranges of > values some of the functions return. For instance, > mirkurtosis seems to return huge values (even > up to the 1.0e+14 range!) end the same seems > to happen with mirskewness. From reading > the documentation I was expecting these functions > to return values between -3 and 3, so I was > wondering how to interpret the huge values the > function returns. > Thank you, > JUAN >