Mercurial > hg > simscene-py
changeset 46:40f8b4b5750b
Added a "label" header to resulting annotations
author | Emmanouil Theofanis Chourdakis <e.t.chourdakis@qmul.ac.uk> |
---|---|
date | Thu, 12 Oct 2017 15:02:48 +0100 |
parents | 771dde08349a |
children | 659fa2db6fc7 |
files | python/simscene.py |
diffstat | 1 files changed, 23 insertions(+), 22 deletions(-) [+] |
line wrap: on
line diff
--- 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: