def __init__(self): wx.Frame.__init__(self, None, -1, self.title) self.data = [5, 6, 9, 14] self.create_menu() self.create_status_bar() self.create_main_panel() #self.textbox.SetValue(' '.join(map(str, self.data))) self.draw_figure() print 'Training.' self.musicsearch = main.Search(8, 32) for f in os.listdir('train'): print f x, fs, enc = mir.wavread('train/'+f) self.musicsearch.add(x, fs, f) print 'Done training.'
def __init__(self): wx.Frame.__init__(self, None, -1, self.title) self.data = [5, 6, 9, 14] self.create_menu() self.create_status_bar() self.create_main_panel() #self.textbox.SetValue(' '.join(map(str, self.data))) self.draw_figure() print 'Training.' self.musicsearch = main.Search(8, 32) for f in os.listdir('train'): print f x, fs, enc = mir.wavread('train/' + f) self.musicsearch.add(x, fs, f) print 'Done training.'
return self.results(labels) def results(self, labels): r = defaultdict(int) for label in labels: r[label[0]] += 1 return sorted(r.iteritems(), key=lambda x:x[1], reverse=True) def preprocess(self, x, fs): if x.ndim==2: x = x[:,0].squeeze() if int(fs) != int(self.fs): x = scipy.signal.resample(x, x.size*self.fs/fs) print 'Resampling to 44100' return x if __name__ == '__main__': t0 = time.clock() s = Search(15, 32) for f in os.listdir('train'): x, fs, enc = mir.wavread('train/'+f) s.add(x, fs, f) print time.clock() - t0 x, fs, enc = mir.wavread('test/steve02.wav') results = s.query(x, fs)
print 'Query Time: ', (time.clock() - t0) return self.results(labels) def results(self, labels): r = defaultdict(int) for label in labels: r[label[0]] += 1 return sorted(r.iteritems(), key=lambda x: x[1], reverse=True) def preprocess(self, x, fs): if x.ndim == 2: x = x[:, 0].squeeze() if int(fs) != int(self.fs): x = scipy.signal.resample(x, x.size * self.fs / fs) print 'Resampling to 44100' return x if __name__ == '__main__': t0 = time.clock() s = Search(15, 32) for f in os.listdir('train'): x, fs, enc = mir.wavread('train/' + f) s.add(x, fs, f) print time.clock() - t0 x, fs, enc = mir.wavread('test/steve02.wav') results = s.query(x, fs)