Creates a flat start model by using HCompV to compute the global mean and variance.
    Then uses these global mean and variance to create an N-state model for each symbol in the given list.

    :param feature_filename: The filename containing the audio and feature file pairs
    :param output_model_directory: The directory where to write the created model
    :param output_prototype_filename: The prototype model filename
    :param htk_trace: Trace level for HTK
    :rtype : None

def create_flat_start_model(feature_filename,
                            state_stay_probabilities,
                            symbol_list,
                            output_model_directory,
                            output_prototype_filename,
                            htk_trace):
    """
    Creates a flat start model by using HCompV to compute the global mean and variance.
    Then uses these global mean and variance to create an N-state model for each symbol in the given list.

    :param feature_filename: The filename containing the audio and feature file pairs
    :param output_model_directory: The directory where to write the created model
    :param output_prototype_filename: The prototype model filename
    :param htk_trace: Trace level for HTK
    :rtype : None
    """
    # Create a prototype model
    create_prototype_model(feature_filename,
                           output_prototype_filename,
                           state_stay_probabilities=state_stay_probabilities)

    # Compute the global mean and variance
    config.htk_command("HCompV -A -D -T {} -f 0.01 "
                       "-S {} -m -o {} -M {} {}".format(htk_trace,
                                                        feature_filename,
                                                        'proto',
                                                        output_model_directory,
                                                        output_prototype_filename))

    # Create an hmmdefs using the global mean and variance for all states and symbols
    # Duplicate the model 'proto' -> symbol_list
    proto_model_filename = config.path(output_model_directory, 'proto')
    model = htk.load_model(proto_model_filename)
    model = htk_model_utils.map_hmms(model, {'proto': symbol_list})

    # vFloors -> macros
    vfloors_filename = config.path(output_model_directory, 'vFloors')
    variance_model = htk.load_model(vfloors_filename)

    model['macros'] += variance_model['macros']

    macros, hmmdefs = htk_model_utils.split_model(model)

    htk.save_model(macros, config.path(output_model_directory, 'macros'))
    htk.save_model(hmmdefs, config.path(output_model_directory, 'hmmdefs'))