Email sent to htk-users@eng.cam.ac.uk:
Hi,
I am having problems using HERest for supervised adaptation on a 'SHARED' System (I assume this means a [tied-state] triphone based system). I am using HTK 3.3 on Linux (FC4).
I have followed a similar approach to the Adaptation steps outlined in the following 2 email posts to HTK-Users, which talked about HERest supervised adaptation using HTK 3.3, but on a 'PLAIN' system (which I assume means monophones):
- http://htk.eng.cam.ac.uk/pipermail/htk-users/2006-July/005308.html
- http://htk.eng.cam.ac.uk/pipermail/htk-users/2006-July/005310.html
I am trying to adapt an Acoustic Model I created using the steps outline in the tutorial in the HTK 3.2 Book using HTK 3.3 and HERest. I don't think there is a problem with my data because I successfully adapted the same Acoustic Model (created using HTK3.3) using HTK 3.2 and HEAdapt.
The approach I took was as follows:
Steps #1-11: Created Acoustic Models
Created Tied-State Triphones as per the tutorial in the HTK 3.2 Book
Step #12: Preparation of the Adaptation Data
(1) adaptWords.scp contains the list of adaptation
files
(2) adapt.mlf contains the conrresponding
transcription for adaptation files
(3) config contains the basic configuration
variables for MFCC feature extraction:
TARGETKIND = MFCC_0_D_N_Z
TARGETRATE = 100000.0
SAVECOMPRESSED = T
SAVEWITHCRC = T
WINDOWSIZE = 250000.0
USEHAMMING = T
PREEMCOEF = 0.97
NUMCHANS = 26
CEPLIFTER = 22
NUMCEPS = 12
(4) Realign the training data:
HVite -A -D -V -T 1 -l '*' -o SWT -b SENT-END -C config -H hmm15/macros -H hmm15/hmmdefs -i adaptPhones.mlf -m -t 250.0 150.0 1000.0 -y lab -a -I adaptWords.mlf -S adapt.scp dict tiedlist
This creates adaptPhones.mlf
(1) regtree.hed as following:
RN "models"
LS "stats"
RC 32 "rtree"
(2) Generate Regression Class Tree:
HHEd -A -D -V -T 1 -H hmm15/macros -H hmm15/hmmdefs -M hmmAdapt regtree.hed tiedlist
This creates 4 files in hmmAdapt:
- hmmdefs
- macros
- rtree.tree
- rtree.base
Step #14: Global MLLR
(1) create a "glob" (under hmmAdapt folder) file
as follows:
~b "glob"
<MMFIDMASK> *
<PARAMETERS> MIXBASE
<NUMCLASSES> 1
<CLASS> 1 {*.state[2-4].mix[1]}
(2) config_adapt_global contains the configuration
variables for global transformation:
HADAPT:TRANSKIND = MLLRMEAN
HADAPT:USEBIAS = TRUE
HADAPT:BASECLASS = glob
HADAPT:ADAPTKIND = BASE
HADAPT:TRACE = 61
HMODEL:TRACE = 512
(7) tiedlist contains the list of HMMs
(8) Perform 1st pass Global Adaptation using HERest as following:
HERest -A -D -V -T 1 -C config -C config_adapt_global -S adapt.scp -I adaptPhones.mlf -H hmmAdapt/macros -H hmmAdapt/hmmdefs -H hmmAdapt/glob -K hmmAdapt mllr -u a tiedlist
This creates a file called 'mfc.mllr' in hmmAdapt
Step #15: Adaptation using Regression Class Tree
(1) config_adapt_regc contains the configuration
variable for regression class tree transform:
HADAPT:TRANSKIND = MLLRMEAN
HADAPT:USEBIAS = TRUE
HADAPT:BASECLASS = rtree.tree
HADAPT:ADAPTKIND = TREE
HADAPT:SPLITTHRESH = 1000.0
HADAPT:TRACE = 61
HMODEL:TRACE = 512
(1) Perform 2nd pass global transformation:
HERest -a -A -D -V -T 1 -C config -C config_adapt_regc -S adapt.scp -J hmmAdapt mllr -I adaptPhones.mlf -H hmmAdapt/macros -H hmmAdapt/hmmdefs -H hmmAdapt/mfc.mllr -K hmmAdapt mllr1 -u a -z regc.tmf tiedlist
When I run this I get the a segmentation fault as follows:
HERest -a -A -D -V -T 1 -C config -C config_adapt_regc -S adapt.scp -J hmmAdapt mllr -I adaptPhones.mlf -H hmmAdapt/macros -H hmmAdapt/hmmdefs -H hmmAdapt/mfc.mllr -K hmmAdapt mllr1 -u a -z regc.tmf tiedlist
HTK Configuration Parameters[17]
Module/Tool Parameter Value
# HMODEL TRACE 512
# HADAPT TRACE 61
# HADAPT SPLITTHRESH 1000.000000
# HADAPT ADAPTKIND TREE
# HADAPT BASECLASS rtree.tree
# HADAPT USEBIAS TRUE
# HADAPT TRANSKIND MLLRMEAN
# 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_N_Z
HTK Version Information
Module Version Who Date : CVS Info
HERest 3.3 CUED 28/04/05 : $Id: HERest.c,v 1.3 2005/07/22 10:17:13 mjfg Exp $
HShell 3.3 CUED 28/04/05 : $Id: HShell.c,v 1.2 2005/05/12 15:51:24 jal58 Exp $
HMem 3.3 CUED 28/04/05 : $Id: HMem.c,v 1.1.1.1 2005/05/12 10:52:50 jal58 Exp $
HMath 3.3 CUED 28/04/05 : $Id: HMath.c,v 1.1.1.1 2005/05/12 10:52:50 jal58 Exp $
HSigP 3.3 CUED 28/04/05 : $Id: HSigP.c,v 1.1.1.1 2005/05/12 10:52:51 jal58 Exp $
HAudio 3.3 CUED 28/04/05 : $Id: HAudio.c,v 1.2 2005/05/12 15:51:23 jal58 Exp $
HWave 3.3 CUED 28/04/05 : $Id: HWave.c,v 1.1.1.1 2005/05/12 10:52:52 jal58 Exp $
HVQ 3.3 CUED 28/04/05 : $Id: HVQ.c,v 1.1.1.1 2005/05/12 10:52:52 jal58 Exp $
HLabel 3.3 CUED 28/04/05 : $Id: HLabel.c,v 1.2 2005/05/12 15:51:24 jal58 Exp $
HModel 3.3 CUED 28/04/05 : $Id: HModel.c,v 1.4 2005/07/22 10:17:01 mjfg Exp $
HParm 3.3 CUED 28/04/05 : $Id: HParm.c,v 1.2 2005/07/22 10:17:02 mjfg Exp $
HTrain 3.3 CUED 28/04/05 : $Id: HTrain.c,v 1.1.1.1 2005/05/12 10:52:51 jal58 Exp $
HUtil 3.3 CUED 28/04/05 : $Id: HUtil.c,v 1.2 2005/07/22 10:17:02 mjfg Exp $
HFB 3.3 CUED 28/04/05 : $Id: HFB.c,v 1.3 2005/05/12 15:51:24 jal58 Exp $
HAdapt 3.3 CUED 28/04/05 : $Id: HAdapt.c,v 1.3 2005/07/22 10:17:01 mjfg Exp $
HMap 3.3 CUED 28/04/05 : $Id: HMap.c,v 1.1.1.1 2005/05/12 10:52:53 jal58 Exp $
Using baseclass macro "glob" from file hmmAdapt/glob
HERest ML Updating: XForms
System is SHARED
1037 Logical/81 Physical Models Loaded, VecSize=25
3 MMF input files
Segmentation fault
Any help would be greatly appreciated,
thanks,
Ken