Mercurial > hg > aimc
annotate experiments/scripts/cnbh-syllables/run_training_and_testing/gen_hhed_script.py @ 263:07dc1f7047f5
Debug output for audio_example and added a write function for aimc_data
author | hamel.phil |
---|---|
date | Thu, 06 Jan 2011 20:11:41 +0000 |
parents | bee31e7ebf4b |
children |
rev | line source |
---|---|
tomwalters@84 | 1 #!/usr/bin/env python |
tomwalters@84 | 2 # encoding: utf-8 |
tomwalters@84 | 3 """ |
tomwalters@84 | 4 gen_hhed_script.py |
tomwalters@84 | 5 |
tomwalters@84 | 6 Created by Thomas Walters on 2010-07-08. |
tomwalters@84 | 7 """ |
tomwalters@84 | 8 |
tomwalters@84 | 9 import sys |
tomwalters@84 | 10 import getopt |
tomwalters@84 | 11 |
tomwalters@84 | 12 |
tomwalters@84 | 13 help_message = ''' |
tomwalters@84 | 14 Generate an HTK HHed script to change the number of means in the output |
tomwalters@84 | 15 distribution to num_means for the emitting states of an HMM with |
tomwalters@84 | 16 total_hmm_states states |
tomwalters@84 | 17 ''' |
tomwalters@84 | 18 |
tomwalters@84 | 19 |
tomwalters@84 | 20 class Usage(Exception): |
tomwalters@84 | 21 def __init__(self, msg): |
tomwalters@84 | 22 self.msg = msg |
tomwalters@84 | 23 |
tomwalters@84 | 24 |
tomwalters@84 | 25 def main(argv=None): |
tomwalters@84 | 26 if argv is None: |
tomwalters@84 | 27 argv = sys.argv |
tomwalters@84 | 28 try: |
tomwalters@84 | 29 try: |
tomwalters@84 | 30 opts, args = getopt.getopt(argv[1:], "hn:s:v", ["help", "num_means=", "total_hmm_states="]) |
tomwalters@84 | 31 except getopt.error, msg: |
tomwalters@84 | 32 raise Usage(msg) |
tomwalters@84 | 33 |
tomwalters@84 | 34 # defaults |
tomwalters@84 | 35 num_means = 3 |
tomwalters@84 | 36 total_hmm_states = 6 |
tomwalters@84 | 37 |
tomwalters@84 | 38 # option processing |
tomwalters@84 | 39 for option, value in opts: |
tomwalters@84 | 40 if option == "-v": |
tomwalters@84 | 41 verbose = True |
tomwalters@84 | 42 if option in ("-h", "--help"): |
tomwalters@84 | 43 raise Usage(help_message) |
tomwalters@84 | 44 if option in ("-n", "--num_means"): |
tomwalters@84 | 45 num_means = int(value) |
tomwalters@84 | 46 if option in ("-s", "--total_hmm_states"): |
tomwalters@84 | 47 total_hmm_states = int(value) |
tomwalters@84 | 48 |
tomwalters@84 | 49 except Usage, err: |
tomwalters@84 | 50 print >> sys.stderr, sys.argv[0].split("/")[-1] + ": " + str(err.msg) |
tomwalters@84 | 51 print >> sys.stderr, "\t for help use --help" |
tomwalters@84 | 52 return 2 |
tomwalters@84 | 53 |
tomwalters@84 | 54 out_string = "" |
tomwalters@84 | 55 for state in xrange(2, total_hmm_states): |
tomwalters@84 | 56 out_string += ("MU " + str(num_means) + " {*.state[" + str(state) + "].mix} ") |
tomwalters@84 | 57 print out_string |
tomwalters@84 | 58 |
tomwalters@84 | 59 if __name__ == "__main__": |
tomwalters@84 | 60 sys.exit(main()) |