Click here to register.

Acoustic Model Discussions

Flat
MFCC_D_N_Z_0 format
User: M. Gruyter
Date: 7/21/2007 3:24 am
Views: 547
Rating: 17    Rate [

+

]

Dear Voxforge developers, I am asking about details of the MFCC format used in your acoustic models.

The global settings in hmmdefs (Julius_AcousticModels_16kHz-16bit_MFCC_O_D_build726.tgz) is as follows:

 ~o
<STREAMINFO> 1 25
<VECSIZE> 25<NULLD><MFCC_D_N_Z_0><DIAGC>

In step 5 of the data preparation tutorial you suggest to use 

TARGETKIND = MFCC_0_D

 How do MFCC_D_N_Z_0 and MFCC_O_D agree? And what is the exact meaning (and order) of the 25 vector components in hmmdefs? For these qualifiers:

_D Delta coefficients appended
_N Absolute log energy suppressed
_Z Cepstral mean subtracted
_0 Cepstral C0 coefficient appended

I would expect (12+1)*2=26 components (NUMCEPS=12, + C0, doubled by delta coefficients), not 25 components.

 

Thanks 

Martijn 

--- (Edited on 7/21/2007 3:24 am [GMT-0500] by Visitor) ---

Reply
Re: MFCC_D_N_Z_0 format
User: kmaclean
Date: 7/22/2007 9:30 pm
Views: 303
Rating: 21    Rate [

+

]

Hi Martijn,

> How do MFCC_D_N_Z_0 and MFCC_O_D agree?

I can't remember the exact details on this (it's been a while ...) but at one  point Julius/Julian only accepted the MFCC_D_N_Z_0 and MFCC_E_D_N_Z feature formats (I used MFCC_D_N_Z_0 because it seemed to provide better recognition results - I need to revisit this ...).  To complicate things, HTK's HCOPY command would not let me create  MFCC_D_N_Z_0 format files. 

As a work around, I had to create MFCC files using MFCC_O_D feature format.  And then convert them to the desired target format (MFCC_D_N_Z_0) in the proto file and use the HComp command convert them to the correct feature format (as set out in step 6 of the VoxForge tutorial) .

Note: that as of release 3.5.1, Julius supports all MFCC qualifiers (_0, _E, _N, _D, _A, _N, _Z) in any combination (according to the release notes). 

>And what is the exact meaning (and order) of the 25 vector components in hmmdefs?

I don't know the exact meaning off-hand, I've never had to get into the details of this.  I assume with the new versions of Julius/Julian, the feature formats(_0, _E, _N, _D, _A, _N, _Z) can be in any order.

With respect to the meaning of the vector components, The Julius 3.2 book  section 7. Feature parameter files (-input mfcfile) might be helpful:

Feature Parameter Types
It is necessary that the feature parameter format matches the original HMM training data feature format. However if all the necessary parameters for the HMM are held within the given feature parameter file,Julius will then automatically extract the appropriate parameters for recognition.

For example
If the parameter format below is used for training
      MFCC_E_D_N_Z = MFCC(12)+ ∆MFCC(12)+ ∆Pow(1) (CMN)                   25-dimension
Then for recognition you can also use feature parameter files other then MFCC_E_D_N_Z, such as
      MFCC_E_D_Z        = MFCC(12)+Pow(1)+∆MFCC(12)+ ∆Pow(1)
                                                           (CMN) 26-dimension
                                                                                                        or
     MFCC_E_D_A_Z = MFCC(12)+Pow(1)+ ∆MFCC(12)+ ∆Pow(1)
                     + ∆∆MFCC(12) + ∆∆Pow(1) (CMN)             39-dimension
The parameter file needs to contain all of the parameters used for the original training of the HMM model,
extra data contained with in the file will not be used.

where (from the HTK book):

_E has energy
_N absolute energy suppressed
_D has delta coefficients
_A has acceleration coefficients
_C is compressed
_Z has zero mean static coef.
_K has CRC checksum
_O has 0’th cepstral coef
 

The HTK manual provides more information. 

You might also try downloading and searching the HTK mailing list archives (note: you need to be logged in to HTK to download these ...):

[   ] htk-users.mbox          09-Feb-2007 14:08   20M  
[   ] htk-developers.mbox     09-Feb-2007 10:36  2.9M  
 

Ken 

--- (Edited on 7/22/2007 10:30 pm [GMT-0400] by kmaclean) ---

Reply
Add