Speech:Summer 2014 Modeling


 * Home
 * Semesters
 * Summer 2014

Contributors

 * Erol Aygar
 * Mitchell Dezak
 * Jared Rohrdanz

Linux Commands

 * scp shell copy
 * nohup no hang up signal | -f force -r recursive -v verbose
 * du disk usage | -sk
 * mv move
 * top top cpu process | -S cumulative mode
 * tar tape archive | -z use gzip -c create archive -v verbose -f filename
 * sed stream editor | sed 's/ .*> //g;s/[]//g' A12_mini.trans > A12_mini.filelist
 * who who is currently logged in invocation
 * find finding files | -name name of the file ex: find -name \*.fileids | find . -name \*.fileids > results.txt
 * lynx html viewer | lynx *.html
 * curl get or send document/files from/to a server | curl http://www.google.com | curl ftp://ftp.server1.com/file1.txt | curl -o file1.html http://www.google.de
 * ps process status | -f -elf
 * chown -R username:group directory
 * passwd password
 * reboot | -f forceful
 * df | -h human readable format
 * touch | touch file | >file | echo -n > file | printf '' > file
 * cat concatenate | cat file1.txt file2.txt > newcombinedfile.txt | cat file | xargs ./program
 * su switch user, substitute user, super user
 * sort sort file.txt | uniq -d
 * awk/gawk | awk '!x[$0]++' file.txt
 * cat word file sed "s| ||g" | sed "s| ||g" > wordfile2
 * ps -elf
 * open .bash_history
 * cat /etc/hosts
 * hostname
 * dd convert and copy files

[List of Unix Programs on Wiki]

Directory Structure and Explanations
experiment folder i.e. /mnt/main/Exp/0253/A12 logfile A12.html log file in html format bin bwaccumdir etc experiment configuration files feat feats are generated here LM language model directory logdir logs are organized under model_architecture model_parameters nohup.out when nohup used, this file is automatically created python some scripts qmanager bw command creates this folder to create logs result decode results are documented here scripts_pl perl scripts are stored here trees it is complicated for me to describe it now, but in short, sphinx created the tree by using this folder wav audio files used to train and/or decode

feat.params – feature extraction parameters, a list of options used to configure feature extraction. mdef – the definition of mapping between the triphone contexts to GMM ids (senones) means – gaussian codebook means variances – gaussian codebook variances mixture_weights – mixtures for gaussians (could be missing if sendump is present) sendump – compressed and quantized mixtures (could replace mixture_weights) feature_transform – feature transformation matrix noisedict – the dictionary for filler words transition_matrices– HMM transition matrices

Language Model File Explanations

 * .text text stream, ASCII


 * .wfreq .wfreq2vocab word frequency file,, ASCII, list of words, and their frequency
 * .w3gram .w4gram word n-gram file, ASCII,  alphabetically sorted list of n-tuples of words, along with their frequency
 * .vocab.20K .vocab.60K vocabulary file, list of vocabulary words. may include comments (##), vocabulary is limited to 65535 words, ASCII
 * .ccs context cues file, ASCII, list of words which are to be considered context cues which provide useful context information for the n-grams, but not to be predicted by the LM i.e. and, the begin sentence, and begin paragraph tags.
 * .id3gram.bin .id4gram.ascii Id n-gram file, ASCII/BINARY-default, numerically sorted list of n-tuples of numbers, corresponding to the mapping of the word n-grams relative to the vocabulary, Out of vocabulary (OOV) words are mapped to the number 0.
 * .binlm binary language model file, BINARY, n-gram counts, together with discounting information and back-off weights. Can be read by evallm and used to generate word probabilities quickly.
 * .arpa ARPA language model file, ASCII, language model probabilities in ARPA-standard format
 * .fprobs probability stream, ASCII, list of probabilities, correspond to the probability for each word in a specific text stream, with context-cues and OOVs removed
 * .fblist forced back-off file, ASCII, ''list of vocabulary words from which to enforce back-off, together with either an 'i'for inclusive, 'e' forexclusive forced back-off'

/etc/

 * .dic phonetic dictionary
 * .phone phoneset file
 * .lm.DMP language model
 * .filler list of fillers
 * .fileids list of files (for training or decoding)
 * .trans transcription file (for training or decoding)

/wav/

 * .wav recording of speech utterances

/scripts_pl/

 * 00.verify
 * 01.vector_quantize
 * 02.falign_ci_hmm
 * 03.force_align
 * 04.vtln_align
 * 05.lda_train
 * 06.mllt_train
 * 20.ci_hmm
 * 30.cd_hmm_untied
 * 40.buildtrees
 * 45.prunetree
 * 46.lda_train
 * 47.mllt_train
 * 50.cd_hmm_tied
 * 90.deleted_interpolation
 * 99.make_s2_models
 * copy_setup.pl
 * createdict.pl
 * decode
 * lib
 * make_feats.pl
 * make_phoneset.pl
 * maketopology.pl
 * RunAll_CDMLLT.pl
 * RunAll.pl
 * setup_SphinxTrain.pl
 * setup_SphinxTrain_symbolic.pl
 * setup_tutorial.pl
 * texFormat.pl
 * tune_senones.pl

/mnt/main/scripts

 * setup_SphinxTrain.pl
 * prepareExperiment3.pl
 * generateFeats2.pl
 * genTrans10.pl
 * pruneDictionary4.pl
 * mono.pl
 * monoGen.pl
 * monogenRaw.pl
 * monoGenSph.pl
 * monoGenWav.pl

Experiment Steps

 * setup


 * create directory /mnt/main/scripts/user/prepareExperiment3.pl 3170/train
 * modify train config
 * generate feats /mnt/main/scripts/user/generateFeats2.pl
 * run train nohup scripts_pl/RunAll.pl . &


 * train
 * root directory /mnt/main/Exp
 * base directory /mnt/main/Exp/
 * main corpus /mnt/main/corpus/switchboard/

$CFG_DB_NAME = ""; $CFG_BASE_DIR = "/mnt/main/Exp/"; $CFG_HMM_TYPE = '.cont.';# Sphinx III
 * create base dir mkdir 
 * prep directory /mnt/main/root/tools/SphinxTrain-1.0/scripts_pl/setup_SphinxTrain.pl -task 
 * decode files /mnt/main/root/sphinx3/scripts/setup_sphinx3.pl -task 
 * configure train vi sphinx_train.cfg
 * 1) $CFG_HMM_TYPE = '.semi.'; # Sphinx II
 * generate transcript and audio files
 * /mnt/main/scripts/user/genTrans8.pl 
 * /mnt/main/scripts/user/genTrans8.pl /mnt/main/corpus/switchboard/mini/train 0028

create dictionary generate phone list generate feats data start train
 * cd etc
 * /mnt/main/scripts/train/scripts_pl/pruneDictionary2.pl _train.trans /mnt/main/corpus/dist/custom/switchboard.dic .dic
 * cp -i /mnt/main/root/tools/SphinxTrain-1.0/train1/etc/train1.filler .filler
 * cp -i /mnt/main/scripts/user/genPhones.csh.
 * ./genPhones.csh 
 * /mnt/main/scripts/train/scripts_pl/make_feats.pl -ctl /mnt/main/Exp//etc/_train.fileids
 * /mnt/main/scripts/train/scripts_pl/make_feats.pl -ctl /mnt/main/Exp/0028/etc/0028_train.fileids
 * nohup /mnt/main/scripts/train/scripts_pl/RunAll.pl &
 * lynx .html


 * Previous Semester Notes


 * [#1]
 * [#2]
 * [#3]


 * create LM
 * mkdir LM | cd LM
 * copy transcript cp -i /trans/train.trans trans_unedited
 * prepare transcript /mnt/main/corpus/dist/Switchboard/transcripts/ICSI_Transcriptions/trans/icsi/ParseTranscript.perl trans_unedited trans_parsed
 * copy script cp -i /mnt/main/scripts/user/lm_create.pl.
 * execute script ./lm_create.pl trans_parsed


 * decode (under base experiment folder)
 * run decode nohup scripts_pl/decode/slave.pl &
 * check results /result
 * _train.trans
 * prepare hypothesis transcript under <experiment #>/DECODE
 * /mnt/main/scripts/user/parseDecode.pl decode.log ../etc/hyp.trans


 * score
 * cd ../etc
 * sclite -r <exp#>_train.trans -h hyp.trans -i swb >> scoring.log
 * [#1]

References, Links

 * CMU Sphinx
 * CMU Dictionary
 * Useful resources form last semesters [Sphinx Trainer Configuration file (sphix_train.cfg) file overview from Summer '13 Notes]
 * [Summer'13]

Last Semester Notes
Corpus 100hr/train3 | Density 32 | Senone value 6000 Location /mnt/main/Exp/0253/f5h03/ Start Date: June 17th, 2014 Settings: Density 8 | Senone 1000 | used hohup to run he experiment Result: Write failed, broken pipe
 * Finest experiment (avengers) /mnt/main/Exp/0251/012


 * Running an experiment
 * step 1: /mnt/main/scripts/user/prepareExperiment3.pl 100hr/train3
 * step 2: Modify sphinx_train.cfg for senone, density and other parameters
 * step 3: perl /mnt/main/scripts/user/generateFeats2.pl
 * step 4: nohup scripts_pl/RunAll.pl &

Old version step 1: mkdir <exp#> step 2: cd <exp#> step 3: /mnt/main/root/tools/SphinxTrain-1.0/scripts_pl/setup_SphinxTrain.pl -task <exp#> step 4: cd etc step 5: vi sphinx_train.cfg [Modify the following lines] 006: $CFG_DB_NAME = "<exp#>" 007: $CFG_BASE_DIR = "/mnt/main/Exp/<exp#>" 079: $CFG_HMM_TYPE = '.cont'; 080: #$CFG_HMM_TYPE = '.semi'; 107: $CFG_FINAL_NUM_DENSITIES = ; 120: $CFG_N_TIED_STATES = ; // New Steps Start here... step 6: cd .. (Now in <exp#> directory) step 7: /mnt/main/scripts/user/buildData2.pl / (ex: 100hr/train2) step 8: nohup /mnt/main/scripts/train/scripts_pl/make_feats.pl -ctl data/train_train.fileids & step 9: nohup /mnt/main/scripts/train/scripts_pl/RunAll.pl &