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

  • From: Juan Pampin <pampin@xxxxxx>
  • To: mirtoolbox@xxxxxxxxxxxxx
  • Date: Wed, 11 Aug 2010 17:18:18 -0700

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: