예제 #1
0
파일: bpm.py 프로젝트: tediris/MusicML
def createSnareFft():
	# read in the snare drum sample
	files = glob.glob('./snare_samples/*.wav')
	matrix = numpy.array([])
	for filename in files:
		print filename
		rate, data = wave_reader.readWav(filename)
		data = wave_reader.stereoToMono(data)
		features = analyzer.getFrequencies(data)
		matrix = build_data.addToFeatureMatrix(matrix, features[0:2000])
	build_data.saveFile('snaredata.csv', matrix)
예제 #2
0
파일: bpm.py 프로젝트: tediris/MusicML
def readSong(filename, segTime = 0.05):
	# read in the input song
	rate, data = wave_reader.readWav(filename)
	data = wave_reader.stereoToMono(data)
	# sample every 0.1 seconds by default
	segSize = segTime * rate
	matrix = numpy.array([])
	print 'reading in song...'
	start = 0
	end = segSize
	for i in range(0, int(math.floor(len(data)/segSize))):
		data_seg = data[start:end]
		start += segSize
		end += segSize
		features = analyzer.getFrequencies(data_seg)
		matrix = build_data.addToFeatureMatrix(matrix, features[0:2000])
	outfile = os.path.splitext(filename)[0] + '.csv'
	build_data.saveFile(outfile, matrix)
	return matrix