# HG changeset patch # User Emmanouil Theofanis Chourdakis # Date 1507816968 -3600 # Node ID 40f8b4b5750ba4afe954f99e595eaf4c0447bc12 # Parent 771dde08349a802425dce9ad1fed7699f818cfad Added a "label" header to resulting annotations diff -r 771dde08349a -r 40f8b4b5750b python/simscene.py --- a/python/simscene.py Tue Oct 10 11:55:05 2017 +0100 +++ b/python/simscene.py Thu Oct 12 15:02:48 2017 +0100 @@ -46,8 +46,8 @@ def timedict_to_dataframe(timedict): - return pd.DataFrame([(key, val[0], val[1]) for key in timedict for val in timedict[key]], - columns=('filename', 'start_time', 'end_time')) + return pd.DataFrame([(key, val[0], val[1], val[2]) for key in timedict for val in timedict[key]], + columns=('label', 'filename', 'start_time', 'end_time')) def render_pattern(fname, input_path, sr=44100): @@ -68,6 +68,7 @@ for n in range(len(pattern)): # Try loading the file, sampleid = pattern['sampleid'].loc[n] + label = pattern['sampleid'].loc[n] candidates = [] for pattern_format in ['xls', 'json', 'txt', 'csv']: candidates += glob.glob('{}/pattern/{}*.{}'.format(input_path, sampleid, pattern_format)) @@ -134,10 +135,10 @@ durations_samples.append(duration_samples) wav_files.append(event_render) - if chosen_fname in timesdict: - timesdict[chosen_fname].append((start_time, end_time)) + if label in timesdict: + timesdict[label].append((chosen_fname,start_time, end_time)) else: - timesdict[chosen_fname] = [(start_time, end_time)] + timesdict[label] = [(chosen_fname,start_time, end_time)] for pt in pattern_timedict: if pt in timesdict: @@ -414,10 +415,10 @@ new_start_time = start_times[-1] new_end_time = end_times[-1] - if chosen_fname in timedict: - timedict[chosen_fname].append((new_start_time, min(scene_duration, new_end_time))) + if label in timedict: + timedict[label].append((chosen_fname, new_start_time, min(scene_duration, new_end_time))) else: - timedict[chosen_fname] = [(new_start_time, min(scene_duration, new_end_time))] + timedict[label] = [(chosen_fname, new_start_time, min(scene_duration, new_end_time))] while new_start_time < scene_duration: offset = duration @@ -433,14 +434,14 @@ end_times.append(new_end_time) # Update timesdict noting where each filename starts and stops - if chosen_fname in timedict: - timedict[chosen_fname].append((new_start_time, min(scene_duration, new_end_time))) + if label in timedict: + timedict[label].append((chosen_fname, new_start_time, min(scene_duration, new_end_time))) else: - timedict[chosen_fname] = [(new_start_time, min(scene_duration, new_end_time))] + timedict[label] = [(chosen_fname, new_start_time, min(scene_duration, new_end_time))] # Also update the times from the patterns for pt in pattern_timedict: - pattern_timedict[pt] = [(s[0] + new_start_time, s[1] + new_start_time) for s in + pattern_timedict[pt] = [(s0, s[1] + new_start_time, s[2] + new_start_time) for s in pattern_timedict[pt]] if pt in timedict: @@ -577,13 +578,13 @@ new_start_time = start_times[-1] new_end_time = end_times[-1] - if chosen_fname in timedict: - timedict[chosen_fname].append((new_start_time, min(scene_duration, new_end_time))) + if label in timedict: + timedict[label].append((chosen_fname, new_start_time, min(scene_duration, new_end_time))) else: - timedict[chosen_fname] = [(new_start_time, min(scene_duration, new_end_time))] + timedict[label] = [(chosen_fname, new_start_time, min(scene_duration, new_end_time))] for pt in pattern_timedict: - pattern_timedict[pt] = [(s[0] + new_start_time, s[1] + new_start_time) for s in + pattern_timedict[pt] = [(s[0], s[1] + new_start_time, s[2] + new_start_time) for s in pattern_timedict[pt]] if pt in timedict: @@ -606,9 +607,9 @@ new_end_time = end_times[-1] if chosen_fname in timedict: - timedict[chosen_fname].append((new_start_time, min(scene_duration, new_end_time))) + timedict[label].append((chosen_fname, new_start_time, min(scene_duration, new_end_time))) else: - timedict[chosen_fname] = [(new_start_time, min(scene_duration, new_end_time))] + timedict[label] = [(chosen_fname, new_start_time, min(scene_duration, new_end_time))] # Until the scene is full while new_start_time < track_end_time: @@ -631,14 +632,14 @@ start_times.append(new_start_time) end_times.append(new_end_time) - if chosen_fname in timedict: - timedict[chosen_fname].append((new_start_time, min(scene_duration, new_end_time))) + if label in timedict: + timedict[label].append((chosen_fname, new_start_time, min(scene_duration, new_end_time))) else: - timedict[chosen_fname] = [(new_start_time, min(scene_duration, new_end_time))] + timedict[label] = [(chosen_fname, new_start_time, min(scene_duration, new_end_time))] # Also update the times from the patterns for pt in pattern_timedict: - pattern_timedict[pt] = [(s[0] + new_start_time, s[1] + new_start_time) for s in + pattern_timedict[pt] = [(s0, s[1] + new_start_time, s[2] + new_start_time) for s in pattern_timedict[pt]] if pt in timedict: