def get_wav_data(filename): assert dirs.get_ext(filename) == '.wav' f = Sndfile(filename, 'r') data = f.read_frames(f.nframes) samplerate = f.samplerate f.close() return (data, samplerate)
def get_txt_data(filename, samplerate, numsamples): assert dirs.get_ext(filename) == '.txt' data = [[] for i in range(numsamples)] with open(filename, 'r') as f: content = f.readlines() for i in range(1, len(content)): onset, offset, midipitch = content[i].split() for t in range(int(samplerate * float(onset)), int(samplerate * float(offset))): data[t].append(midipitch) f.closed return data
def get_txt_as_label_for_note(filename, note, samplerate, framesamp, hopsamp, nwindows, downsample=False): assert dirs.get_ext(filename) == '.txt' data = [0 for i in range(nwindows)] with open(filename, 'r') as f: content = f.readlines() for i in range(1, len(content)): onset, offset, midipitch = content[i].split() sframe = int(float(onset) * samplerate) eframe = int(float(offset) * samplerate) swindow, _ = ut.frame_to_window(sframe, framesamp, hopsamp, nwindows) _, ewindow = ut.frame_to_window(eframe, framesamp, hopsamp, nwindows) for w in range(swindow, ewindow): data[w] |= int(int(midipitch) == note) f.closed return data
def get_mid_data(filename): assert dirs.get_ext(filename) == '.mid' return midi.read_midifile(filename)
def get_wav_file(filename): assert dirs.get_ext(filename) == '.wav' return Sndfile(filename, 'r')