import webvtt import string import os def getsecs(tstamp): splits = tstamp.split(":") hours = float(splits[0]) minutes = float(splits[1]) secs = float(splits[2]) minutes += hours * 60 secs += minutes * 60 return secs def fmatfloat(inf): formatted_float = "{:.6f}".format(inf) return formatted_float def getsecstr(caps): return fmatfloat(getsecs(caps)) files = os.listdir(os.getcwd()) for f in files: if ".vtt" in f: labfn = f.replace(".vtt",".txt") audlab = open(labfn,"w") for caption in webvtt.read(f): captext = caption.text.replace("\r"," ").replace("\n"," ").replace(" "," ") wtline = getsecstr(caption.start) + "\t" + getsecstr(caption.end) + "\t" + captext + "\n" audlab.write(wtline) audlab.close()