[mirtoolbox] Re: MIR classify

  • From: Olivier Lartillot <olartillot@xxxxxxxxx>
  • To: mirtoolbox@xxxxxxxxxxxxx
  • Date: Thu, 18 Nov 2010 13:10:42 +0200

Hi Ersin,

Sorry, mirclassify works only using analytic features that are *not* 
frame-decomposed. The purpose of that operator is to classify whole songs into 
categories. There is no frame classification available in mirclassify.

So if your features are decomposed into frames, you should first get a summary 
of them, by taking for instance their mean or standard-deviation. One simple 
way to get mean and std is to use mirmean and mirstd.

So write something like:
>> mirclassify (test, mirmean(mfcc_test), train, mirmean(mfcc_train))

I am updating the toolbox and user's manual with those remarks. (And also add 
some explanation about mirmean and mirstd).

Regards,

Olivier

Ersin Karcı kirjoitti 18.11.2010 kello 8.51:

> Dear Martin,
>  
> So is there a way to use frame decompostioned version of mfcc coefficients 
> ("a" in your previous email) in mirclassify function? I that will solve my 
> problem.
>  
> Regards
>  
> Ersin
> 
> On Tue, Nov 16, 2010 at 11:27 PM, Martín Hartmann 
> <martinarielhartmann@xxxxxxxxx> wrote:
> Dear Ersin,
> 
> if I am correct, the default frame parameters are used for extraction
> and the result gives the averaged values for each of the 13
> coefficients. But let us get a frame decomposition with the
> 'Frame' option:
> 
> a = mirmfcc ('Amaj3', 'Frame');
> mirgetdata (a)
> 
> Best,
> 
> Martin Hartmann
> 
> On Tue, Nov 16, 2010 at 11:29 PM, Ersin Karcı <ersin.kar@xxxxxxxxx> wrote:
> > Dear Martin,
> >
> > In this example for each audio samples there are only one (13x1) mfcc
> > set, which actually I can not understand how it is meaningful. As far
> > as I know mfcc's are calculated frame by frame and frame sizes are
> > about 10-100 mseconds ( varies according to the problem). The audio
> > samples should contain
> > more than 1 frame so, more than 1 mfcc sets.
> >
> > Am I thinking wrong or am I missing some point?
> >
> > Sorry for too much questions and thanks for your help.
> >
> > Best Regards
> >
> > Ersin
> >
> >
> > On Tuesday, November 16, 2010, Martín Hartmann
> > <martinarielhartmann@xxxxxxxxx> wrote:
> >> Dear Ersin, there is no need to use mirframe unless we wish to change
> >> its default values.
> >>
> >> Maybe this working example using the sets in the MIRToolboxDemos
> >> folder can clarify this issue.
> >>
> >> Martin Hartmann
> >>
> >> cd /Applications/Matlab/toolbox/MIRtoolbox1.3.1/MIRToolboxDemos/test_set
> >> test = miraudio ('Folder', 'Label', [1 2]);
> >> cd ..
> >> cd train_set
> >> train = miraudio ('Folder', 'Label', [1 2]);
> >> mfcc_test = mirmfcc (test);
> >> mfcc_train = mirmfcc (train);
> >> mirclassify (test, mfcc_test, train, mfcc_train)
> >>
> >>
> >>
> >>
> >>
> >> On Tue, Nov 16, 2010 at 12:50 AM, Ersin Karcı <ersin.kar@xxxxxxxxx> wrote:
> >>> Dear Martin,
> >>> Thank your for your reply.
> >>> Unfortunatelly I couldn't get the exact solution to my problem, let me
> >>> explain myself again.
> >>> For example, I have an audio sample of 10 seconds.
> >>>
> >>> If I use the the miraudio and mirmfcc functions in order, I obtain a 13x1
> >>> mfcc vector. I guess this vector is obtained by using all the audio 
> >>> sample.
> >>> But as far as I know mfcc is calculated for every each frame of the audio
> >>> sample. ( Lets say the frame size is 50mseconds) In this case I obtain a
> >>> 13x20 mfcc vector. And by using this in mirclassify I get the error in my
> >>> previous email.
> >>> At this step I couldn't get where I am mistaken. Does using mirframe 
> >>> before
> >>> calculating be helpful and also useful for my problem or do you prefer any
> >>> other solution?
> >>> Thank you and sorry for not understanding qucikly.
> >>> Regards
> >>> Ersin
> >>>
> >>> On Mon, Nov 15, 2010 at 7:35 PM, Martín Hartmann
> >>> <martinarielhartmann@xxxxxxxxx> wrote:
> >>>>
> >>>> Dear Ersin,
> >>>>
> >>>> You can extract multiple analytic features from the train and test
> >>>> sets at the same time with mirclassify. Simply create an object for
> >>>> each feature (e.g., spectral centroid) or feature set (e.g., MFCCs)
> >>>> you wish to use. For example: mirclassify(test, {mfcc(test),
> >>>> centroid(test)}, train, {mfcc(train), centroid(train)})
> >>>>
> >>>> I strongly recommend you to read the page 163 of the MIRtoolbox Users'
> >>>>
> >>>> Guide: 
> >>>> https://www.jyu.fi/hum/laitokset/musiikki/en/research/coe/materials/mirtoolbox/MIRtoolbox%20Users%20Guide%201.3
> >>>>
> >>>> Best,
> >>>>
> >>>> Martin Hartmann
> >>>>
> >>>> On Sun, Nov 14, 2010 at 11:49 PM, Ersin Karcı <ersin.kar@xxxxxxxxx> 
> >>>> wrote:
> >>>> >
> >>>> > Dear All,
> >>>> > I am trying to use mirclassify, with my additional features. As far as 
> >>>> > I
> >>>> > understood the there are only one set of features per one audio sample 
> >>>> > used
> >>>> > as an input (mirclassify(test,mfcctest,train,mfcctrain) where mfcc 
> >>>> > test is
> >>>> > 13x1 feature vector).
> >>>> > In my problem I am calculating those features per frames. If we assume
> >>>> > that the audio sample is 10 seconds length, with 50msec frames I obtain
> >>>> > 13x20 mfcc coefficients per audio sample. While using this as the 
> >>>> > input I
> >>>> > obtain the following error:
> >>>> > ??? Subscripted assignment dimension mismatch.
> >>>> > Error in ==> mirclassify.mirclassify>integrate at 176
> >>>> >     vtl(:,l) = vl;
> >>>> > Error in ==> mirclassify.mirclassify at 39
> >>>> >     vt = integrate(vt,get(dt{i},'Data'),lvt,norml);
> >>>> >
> >>>> > The same issue is the same for other features.
> >>>> > Can you help me with this issue?
> >>>> > Regards
> >>>> > Ersin KARCI
> >>>>
> >>>>
> >>>> --
> >>>> Martin Ariel Hartmann
> >>>> Lic. in Psychology | Music, Mind and Technology MA Candidate
> >>>> +358 (0) 4 6581 2384 | martinarielhartmann@xxxxxxxxx
> >>>>
> >>>
> >>>
> >>
> >>
> >>
> >> --
> >> Martin Ariel Hartmann
> >> Lic. in Psychology | Music, Mind and Technology MA Candidate
> >> +358 (0) 4 6581 2384 | martinarielhartmann@xxxxxxxxx
> >>
> >>
> >
> >
> 
> 
> 
> --
> Martin Ariel Hartmann
> Lic. in Psychology | Music, Mind and Technology MA Candidate
> +358 (0) 4 6581 2384 | martinarielhartmann@xxxxxxxxx
> 
> 

Other related posts: