Mercurial > hg > aimc
view experiments/scripts/cnbh-syllables/run_training_and_testing/gen_hhed_script.py @ 610:01986636257a
Second check-in of Alex Brandmeyer's C++ implementation of CARFAC. Addressed style issues and completed implementation of remaining functions. Still needs proper testing of the output stages against the MATLAB version, and runtime functions need improvements in efficiency.
author | alexbrandmeyer |
---|---|
date | Thu, 16 May 2013 17:33:23 +0000 |
parents | bee31e7ebf4b |
children |
line wrap: on
line source
#!/usr/bin/env python # encoding: utf-8 """ gen_hhed_script.py Created by Thomas Walters on 2010-07-08. """ import sys import getopt help_message = ''' Generate an HTK HHed script to change the number of means in the output distribution to num_means for the emitting states of an HMM with total_hmm_states states ''' class Usage(Exception): def __init__(self, msg): self.msg = msg def main(argv=None): if argv is None: argv = sys.argv try: try: opts, args = getopt.getopt(argv[1:], "hn:s:v", ["help", "num_means=", "total_hmm_states="]) except getopt.error, msg: raise Usage(msg) # defaults num_means = 3 total_hmm_states = 6 # option processing for option, value in opts: if option == "-v": verbose = True if option in ("-h", "--help"): raise Usage(help_message) if option in ("-n", "--num_means"): num_means = int(value) if option in ("-s", "--total_hmm_states"): total_hmm_states = int(value) except Usage, err: print >> sys.stderr, sys.argv[0].split("/")[-1] + ": " + str(err.msg) print >> sys.stderr, "\t for help use --help" return 2 out_string = "" for state in xrange(2, total_hmm_states): out_string += ("MU " + str(num_means) + " {*.state[" + str(state) + "].mix} ") print out_string if __name__ == "__main__": sys.exit(main())