Example #1
0
class StereotypeExecutor(object):

    def __init__(self):
        self.markov_chain = SimpleMarkovChain()
        self.markov_current_state = 'MakeResponse' # there should be an initial state @ can be random
        self.inter_arrivals_manager = InterArrivalsManager()
        self.data_generator = DataGenerator()
        # self.data_generator.initialize_file_system()
        # self.sender


    def initialize_from_stereotype_recipe(self, stereotype_recipe):
        '''Initialize the Markov Chain states'''
        self.markov_chain.initialize_from_recipe(stereotype_recipe)
        self.markov_chain.calculate_chain_relative_probabilities()
        '''Initialize the inter-arrival times'''
        self.inter_arrivals_manager.initialize_from_recipe(stereotype_recipe)
        '''Initialize the file system'''
        self.data_generator.initialize_file_system()

    def get_waiting_time(self):
        return self.inter_arrivals_manager.get_waiting_time(self.markov_chain.previous_state,
                                                            self.markov_chain.current_state)

    def next_operation(self):
        '''Get the next operation to be done'''
        self.markov_chain.next_step_in_random_navigation()


    '''Do an execution step as a client'''
    def execute(self):
        raise NotImplemented
Example #2
0
 def __init__(self):
     self.markov_chain = SimpleMarkovChain()
     self.markov_current_state = 'MakeResponse' # there should be an initial state @ can be random
     self.inter_arrivals_manager = InterArrivalsManager()
     self.data_generator = DataGenerator()
Example #3
0
    recipe1 = os.getcwd() + "\\MidiFiles\\Classical\\elise.mid"

    # Sonata 8 CMAJ
    recipe2 = os.getcwd() + "\\MidiFiles\\Classical\\pathet1.mid"
    recipe3 = os.getcwd() + "\\MidiFiles\\Classical\\pathet2.mid"
    recipe4 = os.getcwd() + "\\MidiFiles\\Classical\\pathet3.mid"


    # Sonata 14 CMIN
    recipe5 = os.getcwd() + "\\MidiFiles\\Classical\\beet27m1.mid"
    recipe6 = os.getcwd() + "\\MidiFiles\\Classical\\beet27m2.mid"
    recipe7 = os.getcwd() + "\\MidiFiles\\Classical\\beet27m3.mid"

    result = os.getcwd() + "\\MidiOutput\\" + "Song1EMAJ2.mid"

    chain_notes = SimpleMarkovChain()
    chain_lengths = SimpleMarkovChain()

    recipe_list = [recipe1, recipe2, recipe3, recipe4, recipe5, recipe6, recipe7]

    for recipe in recipe_list:
        loadRecipe(recipe, chain_notes, chain_lengths)

    #chain_notes.printChain()
    result_pattern = midi.Pattern()
    result_track = midi.Track()
    result_pattern.append(result_track)

    pattern_beat = midi.read_midifile(recipe_beat)
    for i in range(3):
        result_track.append(pattern_beat[0][i])