Speech Recognition Engines

Nested
speakers' age estimation
User: zzj94
Date: 3/16/2016 7:41 am
Views: 5934
Rating: 0

Hi, everyone. I am new user of HTK. Now I am trying to build 4 GMMs(WHICH IS 3 STATES hmm) for 4 different groups of speeches. Each group's speakers belong to a certain age group.

Now , when I tried to build a prototype hmm for one group by HCompV, errors occurs and HCompV is terminated. I hope somebody can give me some advice cause the project is pretty important to me. Thanks in advance.

Here is the detail of what I have done(in one age group):

1. I already have about 20 .wav files, which is the same sentence said by different people.

2. I use HCopy to get mfc files. Here is my config file(config1):

# Coding parameters

SOURCEFORMAT = WAV

TARGETKIND = MFCC_0

TARGETRATE = 100000.0

SAVECOMPRESSED = T

SAVEWITHCRC = T

WINDOWSIZE = 250000.0

USEHAMMING = T

PREEMCOEF = 0.97

NUMCHANS = 26

CEPLIFTER = 22

NUMCEPS = 12

ENORMALISE = F

 

and this step is successful.

3. I think I should demonstrate my folders stucture cause some problems may be caused by that.

under my root folder(htk1), there are

data

      data\train   : all the mfc files for training.

      data\test    : all  the mfc files for testing

config : includes files config1(HCopy use) and config2(HCompV                use)

hmms

          hmms\hmm0

          hmms\hmm1

          hmms\.......

4.  The problem occurs in HCompV step, the config  file for this is config2  which is :

# Coding parameters

TARGETKIND = MFCC_0_D_A

TARGETRATE = 100000.0

SAVECOMPRESSED = T

SAVEWITHCRC = T

WINDOWSIZE = 250000.0

USEHAMMING = T

PREEMCOEF = 0.97

NUMCHANS = 26

CEPLIFTER = 22

NUMCEPS = 12

ENORMALISE = F

i just removed SOURCEFORMAT from config1, and changed the TARGETKIND into MFCC_0_D_A.

the hmm proto is :

~o <VecSize> 39 <MFCC_0_D_A>

~h "proto"

<BeginHMM>

 <NumStates> 3

 <State> 2

    <Mean> 39

      0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

      0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

      0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

    <Variance> 39

      1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

      1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

      1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

<TransP> 3

0.0 1.0 0.0

0.0 0.5 0.5

0.0 0.0 0.0

<EndHMM>

5. Anyway, when I used HCompV like :

HCompV -A -D -C config\config2 -f 0.01 -m -T 1 -S trainlist.scp -M hmms\hmm0 proto

it shows:

HTK Configuration Parameters[11]

  Module/Tool     Parameter                  Value

#                 ENORMALISE                 FALSE

#                 NUMCEPS                       12

#                 CEPLIFTER                     22

#                 NUMCHANS                      26

#                 PREEMCOEF               0.970000

#                 USEHAMMING                  TRUE

#                 WINDOWSIZE         250000.000000

#                 SAVEWITHCRC                 TRUE

#                 SAVECOMPRESSED              TRUE

#                 TARGETRATE         100000.000000

#                 TARGETKIND            MFCC_0_D_A

 

Calculating Fixed Variance

  HMM Prototype: proto

  Segment Label: None

  Num Streams  : 1

  UpdatingMeans: Yes

  Target Direct: hmms\hmm0

  ERROR [+6310]  OpenParmChannel: cannot open Parm File \data\train\s01.mfc

  ERROR [+6313]  OpenAsChannel: OpenParmChannel failed

  ERROR [+6316]  OpenBuffer: OpenAsChannel failed

  ERROR [+2050]  LoadFile: Config parameters invalid

 FATAL ERROR - Terminating program HCompV

 

if I remove the trace -A -D -T , it shows

ERROR [+6310]  OpenParmChannel: cannot open Parm File \data\train\s01.mfc

  ERROR [+6313]  OpenAsChannel: OpenParmChannel failed

  ERROR [+6316]  OpenBuffer: OpenAsChannel failed

  ERROR [+2050]  LoadFile: Config parameters invalid

 FATAL ERROR - Terminating program HCompV.

 

It the same error anyway. I just cannot understand the meaning of the error and the way to solve it. It is really annoying.I really hope somebody can helps this.

     

--- (Edited on 3/16/2016 7:41 am [GMT-0500] by zzj94) ---

Re: speakers' age estimation
User: colbec
Date: 3/19/2016 6:11 am
Views: 2889
Rating: 1

Might want to start by focusing on the error "ERROR [+6310]  OpenParmChannel: cannot open Parm File \data\train\s01.mfc"

The path to the mfc file as reported in the error message begins with a "\" which indicates a root directory. Does the file really exist there? It is possible that in one of your config files a path which should be relative is actually absolute.

A quick Google search on "cannot open parm file" comes up with a couple of suggestions, have you read through these to eliminate them?

--- (Edited on 2016-03-19 7:11 am [GMT-0400] by colbec) ---

PreviousNext