[mirtoolbox] Re: Newbie question (*BUG ALERT*)

As I announced recently on the mirtoolbox-news list, a patch 1.3.1 has been 
released that corrects mirspread. But please note that miremotion does not work 
well in this new release. This will be improved in 1.3.2.

Regards

Olivier

Le 12 août 2010 à 02:18, Juan Pampin a écrit :

> Hi Olivier,
> I'm glad my question was useful, thanks a lot for fixing the spread bug!.
> 
> 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.
> 
> This sounds great, I'm considering moving a lot of my class materials 
> here at University of Washington to use MIRtoolbox, so if that happens
> we could consider in becoming part of your project and could also help 
> finding some resources. MIRtoolbox is by far the best platform we found
> so far to doing this kind of research and definitely deserves as much 
> support as possible!.
> 
> I have a couple more questions but I'll initiate a new thread with them.
> Cheers,
> JUAN
> 
> On Mon, Aug 9, 2010 at 5:44 AM, Olivier Lartillot <olartillot@xxxxxxxxx> 
> wrote:
> 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
> >
> 
> 
> 

Other related posts: