[FeatureSet fs] setDesc @../step5/featDesc fs setAccess @../step2/featAccess [FMatrix ldaMatrix] bload ../step5/ldaMatrix [CodebookSet cbs fs] read ../step8/codebookSet [DistribSet dss cbs] read ../step2/distribSet [PhonesSet ps] read ../step2/phonesSet ; ps:phones add pad [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 [Dictionary dict ps:phones tags] read ../step1/convertedDict [DBase db] open ../step1/db.dat ../step1/db.idx -mode r AModelSet amo tpt ROOT HMM hmm dict amo PTree configure -maxContext 1 PTree configure -addProc ptreeAddProc proc ptreeAddProc { ptree args } { regexp {(.*)-([bme])} $ptree dummy phone subphone set dsName [lindex $args 0]-$subphone set cbName "$phone-$subphone" if { [dss index $dsName] == -1 } { dss add $dsName $cbName } return $dsName } foreach ds [dss:] { if { $ds != "_-m" && $ds != "+-m" } { set phone [string range $ds 0 [expr [string first "-" $ds] -1]] dst.ptreeSet add $ds $phone 0 0 -count 1 dst:$ds configure -ptree [dst.ptreeSet index $ds] } } dst configure -padPhone [ps:phones index pad] dst configure -ptreeAdd 1 foreach utt [db] { puts $utt makeArray arr [db get $utt] hmm make $arr(text) -optWord SIL } dss write distribSet dst write distribTree dst.ptreeSet write ptreeSet