# HG changeset patch # User tomwalters # Date 1281567239 0 # Node ID d7dc7014b0afbfab1760f62194474c47909001ed # Parent 5664f16368c13377d83595334dd1b897b61dbc94 - AWS diff -r 5664f16368c1 -r d7dc7014b0af SConstruct --- a/SConstruct Wed Aug 11 17:29:51 2010 +0000 +++ b/SConstruct Wed Aug 11 22:53:59 2010 +0000 @@ -49,11 +49,12 @@ 'Modules/Profile/ModuleSlice.cc', 'Modules/Profile/ModuleScaler.cc', 'Modules/Output/FileOutputHTK.cc', - 'Modules/Output/FileOutputAIMC.cc'] + 'Modules/Output/FileOutputAIMC.cc', + 'Modules/Features/ModuleGaussians.cc'] # List of currently incative source files which we may want to add back in sources_disabled = ['Modules/SNR/ModuleNoise.cc', - 'Modules/Features/ModuleGaussians.cc'] + ] # File which contains main() sources = common_sources + ['Main/AIMCopy_SSI_Features_v3.cc'] diff -r 5664f16368c1 -r d7dc7014b0af experiments/scripts/cnbh-syllables/run_training_and_testing/run_test_instance.sh --- a/experiments/scripts/cnbh-syllables/run_training_and_testing/run_test_instance.sh Wed Aug 11 17:29:51 2010 +0000 +++ b/experiments/scripts/cnbh-syllables/run_training_and_testing/run_test_instance.sh Wed Aug 11 22:53:59 2010 +0000 @@ -7,7 +7,7 @@ # input_vector_size - number or elements in the input vector (normally 39 for MFCCs, 12 for AIM) # feature_code - HTK feature type code for the features being used (normally MFCC_0_D_A for MFCCs and USER_E_D_A for AIM features) # FEATURE_SUFFIXES - List of suffixes appended to the feature filenames. For the MFCCs this is just "mfc" but for the AIM feature, there can be multiple features generated from each run of AIMCopy -# WORK - working directory +# WORKING_DIRECTORY - working directory # SYLLIST_COMPLETE # Filenames generated here @@ -22,55 +22,57 @@ TEST_SCRIPT=testing_script SYLLIST_COMPLETE=syllable_list_with_silence -hmm_type=${total_hmm_states}states_${mixture_components}mixture_components +SILENCE=sil + +hmm_type=${total_hmm_states}_states_${mixture_components}_mixture_components echo "HMM type: $hmm_type" -mkdir -p $WORK/$hmm_type +mkdir -p $WORKING_DIRECTORY/$hmm_type echo "Creating HMM structure..." -./gen_hmmproto.py --input_size ${input_vector_size} --total_hmm_states ${total_hmm_states} --feature_type ${feature_code} > $WORK/$hmm_type/$HMMPROTO +./gen_hmmproto.py --input_size ${input_vector_size} --total_hmm_states ${total_hmm_states} --feature_type ${feature_code} > $WORKING_DIRECTORY/$hmm_type/$HMMPROTO echo "Adding output mixture components..." -./gen_hhed_script.py --num_means ${mixture_components} --total_hmm_states ${total_hmm_states} > $WORK/$hmm_type/$HHED_SCRIPT +./gen_hhed_script.py --num_means ${mixture_components} --total_hmm_states ${total_hmm_states} > $WORKING_DIRECTORY/$hmm_type/$HHED_SCRIPT echo "Training HMM..." echo "Setting up prototype HMM..." -mkdir -p $WORK/$hmm_type/hmm0 -HCompV -C $WORK/$HMMCONFIG -f 0.01 -m -S $WORK/$TRAIN_SCRIPT -M $WORK/$hmm_type/hmm0 $WORK/$hmm_type/$HMMPROTO +mkdir -p $WORKING_DIRECTORY/$hmm_type/hmm0 +HCompV -C $WORKING_DIRECTORY/$HMMCONFIG -f 0.01 -m -S $WORKING_DIRECTORY/$TRAIN_SCRIPT -M $WORKING_DIRECTORY/$hmm_type/hmm0 $WORKING_DIRECTORY/$hmm_type/$HMMPROTO echo "Generating HMM definitions..." # Now take the prototype file from hmm0, and create the other HMM definitions # from it -grep -A 9999 "" $WORK/$hmm_type/hmm0/$HMMPROTO > $WORK/$hmm_type/hmm0/hmms +grep -A 9999 "" $WORKING_DIRECTORY/$hmm_type/hmm0/$HMMPROTO > $WORKING_DIRECTORY/$hmm_type/hmm0/hmms for syllable in $(cat $WORK/$SYLLIST_COMPLETE); do - echo "~h $syllable" >> $WORK/$hmm_type/$feature/hmm0/hmmdefs - cat $WORK/$hmm_type/$feature/hmm0/hmms >> $WORK/$hmm_type/$feature/hmm0/hmmdefs + echo "~h $syllable" >> $WORKING_DIRECTORY/$hmm_type/$feature/hmm0/hmmdefs + cat $WORKING_DIRECTORY/$hmm_type/$feature/hmm0/hmms >> $WORKING_DIRECTORY/$hmm_type/$feature/hmm0/hmmdefs done -echo -n "~o 1 ${input_vector_size} ${input_vector_size}<${feature_code}>" > $WORK/$hmm_type/$feature/hmm0/macros +echo -n "~o 1 ${input_vector_size} ${input_vector_size}<${feature_code}>" > $WORKING_DIRECTORY/$hmm_type/$feature/hmm0/macros -cat $WORK/$hmm_type/$feature/hmm0/vFloors >> $WORK/$hmm_type/$feature/hmm0/macros +cat $WORKING_DIRECTORY/$hmm_type/$feature/hmm0/vFloors >> $WORKING_DIRECTORY/$hmm_type/$feature/hmm0/macros -${HTK_PREFIX}HHEd -H $WORK/$hmm_type/$feature/hmm0/macros -H $WORK/$hmm_type/$feature/hmm0/hmmdefs $WORK/$hmm_type/$HHED_SCRIPT $WORK/$SYLLIST_COMPLETE +HHEd -H $WORKING_DIRECTORY/$hmm_type/$feature/hmm0/macros -H $WORKING_DIRECTORY/$hmm_type/$feature/hmm0/hmmdefs $WORKING_DIRECTORY/$hmm_type/$HHED_SCRIPT $WORKING_DIRECTORY/$SYLLIST_COMPLETE for iter in $TRAINING_ITERATIONS_LIST; do echo "Training iteration ${iter}..." let "nextiter=$iter+1" - mkdir $WORK/$hmm_type/hmm$nextiter - ${HTK_PREFIX}HERest -C $WORK/$HMMCONFIG -I $WORK/$TRAIN_MLF \ - -t 250.0 150.0 1000.0 -S $WORK/$TRAIN_SCRIPT \ - -H $WORK/$hmm_type/hmm$iter/macros -H $WORK/$hmm_type/hmm$iter/hmmdefs \ - -M $WORK/$hmm_type/hmm$nextiter $WORK/$SYLLIST_COMPLETE + mkdir $WORKING_DIRECTORY/$hmm_type/hmm$nextiter + ${HTK_PREFIX}HERest -C $WORKING_DIRECTORY/$HMMCONFIG -I $WORKING_DIRECTORY/$TRAIN_MLF \ + -t 250.0 150.0 1000.0 -S $WORKING_DIRECTORY/$TRAIN_SCRIPT \ + -H $WORKING_DIRECTORY/$hmm_type/hmm$iter/macros -H $WORKING_DIRECTORY/$hmm_type/hmm$iter/hmmdefs \ + -M $WORKING_DIRECTORY/$hmm_type/hmm$nextiter $WORKING_DIRECTORY/$SYLLIST_COMPLETE done for iter in $TESTING_ITERATIONS_LIST; do echo "Testing iteration ${iter}..." - ${HTK_PREFIX}HVite -H $WORK/$hmm_type/hmm$iter/macros -H $WORK/$hmm_type/hmm$iter/hmmdefs \ - -C $WORK/$HMMCONFIG -S $WORK/$TEST_SCRIPT -i $WORK/$hmm_type/$RECOUT \ - -w $WORK/$WDNET -p 0.0 -s 5.0 $WORK/$DICT $WORK/$SYLLIST_COMPLETE + ${HTK_PREFIX}HVite -H $WORKING_DIRECTORY/$hmm_type/hmm$iter/macros -H $WORKING_DIRECTORY/$hmm_type/hmm$iter/hmmdefs \ + -C $WORKING_DIRECTORY/$HMMCONFIG -S $WORKING_DIRECTORY/$TEST_SCRIPT -i $WORKING_DIRECTORY/$hmm_type/$RECOUT \ + -w $WORKING_DIRECTORY/$WDNET -p 0.0 -s 5.0 $WORKING_DIRECTORY/$DICT $WORKING_DIRECTORY/$SYLLIST_COMPLETE echo "Results from testing on iteration ${iter}..." - ${HTK_PREFIX}HResults -e "???" ${SILENCE} -I $WORK/$TEST_MLF $WORK/$SYLLIST_COMPLETE $WORK/$hmm_type/$RECOUT + ${HTK_PREFIX}HResults -e "???" ${SILENCE} -I $WORKING_DIRECTORY/$TEST_MLF $WORKING_DIRECTORY/$SYLLIST_COMPLETE $WORKING_DIRECTORY/$hmm_type/$RECOUT ${HTK_PREFIX}HResults -p -t -e "???" ${SILENCE} \ - -I $WORK/$TEST_MLF $WORK/$SYLLIST_COMPLETE $WORK/$hmm_type/$RECOUT > $WORK/$hmm_type/${RESULTS_FILE}_iteration_$iter - grep Aligned $WORK/$hmm_type/${RESULTS_FILE}_iteration_$iter| sed -E "s/.*\/..\/([a-z]{2})([0-9]{2,3}\.[0-9])p([0-9]{2,3}\.[0-9])s.*/\2 \3/" | sort | uniq -c > $WORK/$hmm_type/${MISCLASSIFIED}_iteration_$iter + -I $WORKING_DIRECTORY/$TEST_MLF $WORKING_DIRECTORY/$SYLLIST_COMPLETE $WORKING_DIRECTORY/$hmm_type/$RECOUT > $WORKING_DIRECTORY/$hmm_type/${RESULTS_FILE}_iteration_$iter + grep Aligned $WORKING_DIRECTORY/$hmm_type/${RESULTS_FILE}_iteration_$iter| sed -E "s/.*\/..\/([a-z]{2})([0-9]{2,3}\.[0-9])p([0-9]{2,3}\.[0-9])s.*/\2 \3/" | sort | uniq -c > $WORKING_DIRECTORY/$hmm_type/${MISCLASSIFIED}_iteration_$iter done diff -r 5664f16368c1 -r d7dc7014b0af experiments/scripts/cnbh-syllables/run_training_and_testing/test_features.sh --- a/experiments/scripts/cnbh-syllables/run_training_and_testing/test_features.sh Wed Aug 11 17:29:51 2010 +0000 +++ b/experiments/scripts/cnbh-syllables/run_training_and_testing/test_features.sh Wed Aug 11 22:53:59 2010 +0000 @@ -21,18 +21,10 @@ FEATURE_SIZE=$8 FEATURE_TYPE=$9 - TRAIN_SPEAKERS=train_speakers TEST_SPEAKERS=test_speakers -# These are not -SYLLIST_COMPLETE=syllist -GRAM=gram -DICT=dict -WDNET=wdnet -TRAIN_MLF=train.mlf -TEST_MLF=test.mlf -HMMCONFIG=hmmconfig +HMMCONFIG=hmm_configuration if [ "$FEATURE_TYPE" == "MFCC_0_D_A"] @@ -52,8 +44,8 @@ EOF fi -for total_hmm_states in 3 4 5 6 7 8; do - for mixture_components in 1 2 3 4 5 6 7; do +for total_hmm_states in $HMM_STATES_LIST; do + for mixture_components in $MIXTURE_COMPONENTS_LIST; do . run_test_instance.sh & done done diff -r 5664f16368c1 -r d7dc7014b0af experiments/scripts/master.sh --- a/experiments/scripts/master.sh Wed Aug 11 17:29:51 2010 +0000 +++ b/experiments/scripts/master.sh Wed Aug 11 22:53:59 2010 +0000 @@ -114,12 +114,19 @@ TRAINING_ITERATIONS="0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20" TESTING_ITERATIONS="1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20" HMM_STATES="3 4 5 6 7 8" -HMM_OUTPUT_COMPONENTS="" +HMM_OUTPUT_COMPONENTS="1 2 3 4 5 6" FEATURE_CLASS=mfcc +FEATURE_SUFFIX=mfc FEATURE_SIZE=39 FEATURE_TYPE=MFCC_0_D_A +./run_training_and_testing/train_test_sets/generate_train_test_lists.sh \ + $TALKERS \ + $WORK \ + $FEATURES_DIR \ + $FEATURE_SUFFIX + for SOURCE_SNR in $FEATURE_DIRS; do ./run_training_and_testing/test_features.sh \ $HMMS_ROOT \ @@ -130,5 +137,7 @@ $TRAINING_ITERATIONS \ $TESTING_ITERATIONS \ $FEATURE_SIZE \ - $FEATURE_TYPE + $FEATURE_TYPE \ + $TRAINING_SCRIPT \ + $TESTING_SCRIPT done \ No newline at end of file