Esempio n. 1
0
	def linear_smoothed_melody(self,melody):

		d = gen_music.bpm_conventions(self.bpm)
		freqs = []
		times = []
		for t in melody:
			note = t[0]
			value = t[1]
			time = d[value]
			freq = self.freq_dict[note]
			freqs.append(freq)
			times.append(time)
			#how large the data set for a second is at this convention
		data = self.lin_smooth(freqs, times)
		return data
Esempio n. 2
0
	def get_unsmoothed_melody(self, melody):
		#melody is a list of tuples with t[0] = note, t[1] = type of note (quarter, eighth, etc) 
		d = gen_music.bpm_conventions(self.bpm)
		data = ""
		for t in melody:
			n = t[0]
			v = t[1]
			time = d[v]
			second = self.get_note_data(n,1)
			piece = time - int(time)
			if time < 1:
				fraction = second[:int(len(second)*time)]
				data += fraction
			elif int(piece) == 0:
				note = self.get_note_data(n,int(time))
				data += note
			else:
				c = math.ceil(time)
				note = self.get_note_data(n,c)
				n = note[:int(time*len(second))]
				data += n
		return data