Esempio n. 1
0
def listen():
	# Plays a song generated by the master vector
	print
	print "---Listening---"
	print
	queryUser()
	master = Vector("master")
	s = Song(root,mode,title)
	for i in range(num_measures):
		s.addMeasure(master)
	s.playSong()
	print
	print "This is the best song I know how to play!\n"	
	raw_input("Press any key to return to the main menu: ")	
Esempio n. 2
0
def train():
    print
    print "---Training---"
    print
    queryUser()
    my_vector = Vector()
    s = Song(root, mode, title)
    for i in range(num_measures):
        # Generate a vector and build a measure from it.
        training_vector = Vector("user")
        s.addMeasure(training_vector)
        s.playMeasure(title, i)

        # Get feedback
        user_opinion = raw_input(
            "What did you think of that measure? (scale from 0-10): ")
        while user_opinion.isdigit(
        ) == False or int(user_opinion) < 0 or int(user_opinion) > 10:
            print "Invalid Response (please select a number from 0-10)"
            user_opinion = raw_input(
                "What did you think of that measure? (scale from 0-10): ")
        user_opinion = int(user_opinion)
        training_vector = s.measures[i].getVector(
        )  # update in the case that we repeated
        my_vector.update(training_vector, .2, user_opinion)

    # Get opinion on whole song
    print "Here is your song!\n"
    s.playSong()
    song_opinion = int(
        raw_input("How much did you like that song? (scale from 0-10): "))

    while song_opinion < 0 or song_opinion > 10:
        print "Please enter an integer between 0 and 10: "
        song_opinion = raw_input(
            "How much did you like that song? (scale from 0-10): ")
        while song_opinion.isdigit() != False or int(song_opinion) < 0 or int(
                song_opinion) > 10:
            print "Invalid Response (please select a number from 0-10)"
            song_opinion = raw_input(
                "How much did you like that song? (scale from 0-10): ")
        song_opinion = int(song_opinion)

    # Update master based on user opinion
    master = Vector("master")
    master.update(my_vector, .05, song_opinion)
    master.normalize()
    master.writeToFile(".master.vct")
    if user_opinion > 6 and num_measures > 7:
        my_vector.writeToFile(".user_vectors.vct")
Esempio n. 3
0
def listen():
    # Plays a song generated by the master vector
    print
    print "---Listening---"
    print
    queryUser()
    master = Vector("master")
    s = Song(root, mode, title)
    for i in range(num_measures):
        s.addMeasure(master)
    s.playSong()
    print
    print "This is the best song I know how to play!\n"
    raw_input("Press any key to return to the main menu: ")
Esempio n. 4
0
def listen():
    print
    print "---Listening---"
    print
    queryUser()
    master = Vector("master")
    s = Song(root, mode, title)

    # Build and play a song based on the master vector
    for i in range(num_measures):
        s.addMeasure(master)
    print
    print "This is the best song I know how to play!\n"
    s.playSong()
    raw_input("Press any key to return to the main menu: ")
Esempio n. 5
0
def listen():
	print
	print "---Listening---"
	print
	queryUser()
	master = Vector("master")
	s = Song(root,mode,title)

	# Build and play a song based on the master vector
	for i in range(num_measures):
		s.addMeasure(master)
	print
	print "This is the best song I know how to play!\n"	
	s.playSong()
	raw_input("Press any key to return to the main menu: ")	
Esempio n. 6
0
def train():
	print
	print "---Training---"
	print
	queryUser()
	my_vector = Vector()
	s = Song(root,mode,title)
	for i in range(num_measures):
		# Generate a vector and build a measure from it.
		training_vector = Vector("user")
		s.addMeasure(training_vector)
		s.playMeasure(title,i)
		
		# Get feedback
		user_opinion = raw_input("What did you think of that measure? (scale from 0-10): ")
		while user_opinion.isdigit() == False or int(user_opinion) < 0 or int(user_opinion) > 10:
			print "Invalid Response (please select a number from 0-10)"
			user_opinion = raw_input("What did you think of that measure? (scale from 0-10): ")
		user_opinion = int(user_opinion)
		training_vector = s.measures[i].getVector() # update in the case that we repeated
		my_vector.update(training_vector,.2,user_opinion)

	# Get opinion on whole song
	print "Here is your song!\n"
	s.playSong()	
	song_opinion = int(raw_input("How much did you like that song? (scale from 0-10): "))

	while song_opinion < 0 or song_opinion > 10:
		print "Please enter an integer between 0 and 10: "
		song_opinion = raw_input("How much did you like that song? (scale from 0-10): ")
		while song_opinion.isdigit() != False or int(song_opinion) < 0 or int(song_opinion) > 10:
			print "Invalid Response (please select a number from 0-10)"
			song_opinion = raw_input("How much did you like that song? (scale from 0-10): ")
		song_opinion = int(song_opinion)

	# Update master based on user opinion
	master = Vector("master")
	master.update(my_vector,.05,song_opinion)
	master.normalize()
	master.writeToFile(".master.vct")
	if user_opinion > 6 and num_measures > 7:
		my_vector.writeToFile(".user_vectors.vct")