[FeatureSet fs] setDesc @../step2/featDesc
fs setAccess @../step2/featAccess
[CodebookSet cbs fs] read ../step2/codebookSet
[DistribSet dss cbs] read ../step2/distribSet
[PhonesSet ps] read ../step2/phonesSet
[Tags tags] read ../step2/tags
[Tree dst ps:phones ps tags dss] read ../step2/distribTree
SenoneSet sns [DistribStream str dss dst]
[TmSet tms] read ../step2/transitionModels
[TopoSet tps sns tms] read ../step2/topologies
[Tree tpt ps:phones ps tags tps] read ../step2/topologyTree
cbs load ../step3/codebookWeights
[DBase db] open ../step1/db.dat ../step1/db.idx -mode r
[Dictionary dict ps:phones tags] read ../step1/convertedDict
AModelSet amo tpt ROOT
HMM hmm dict amo
Path path
LDA lda fs MSC 16
foreach ds [dss:] { lda add $ds ; lda map [dss index $ds] -class $ds }
foreach utt [db] {
puts $utt
set uttInfo [db get $utt]
makeArray arr $uttInfo
fs eval $uttInfo
hmm make $arr(text) -optWord SIL
path bload ../step4/labels/$utt
path map hmm -senoneSet sns -stream 0
lda accu path
}
lda update
DMatrix A
DMatrix K
A simdiag K lda.matrixT lda.matrixW
[FMatrix B] DMatrix A
B bsave ldaMatrix
set fp [open ldaCounts w]
foreach cl [lda:] { puts $fp "{ $cl [lda:$cl.mean configure -count] }" }
close $fp
set newFeatureDescription {
$fes readADC ADC $arg(adc) -bm shorten -hm 1024 -offset mean -v 0
$fes adc2mel MSC ADC 16ms
$fes meansub MSC MSC -a 2
$fes matmul LDA MSC ldaMatrix -cut 12
}
set fp [open featDesc w] ; puts $fp $newFeatureDescription ; close $fp
exit