def runEpisode(episode,subtitles=True):
    t0=time.time()
    folderLoc = 'C:/Users/Brandon/Documents/Simpsons_Project/Character_Pickles/'
    models = {}; imputers = {}; scalers = {}
    for character in os.listdir(folderLoc):
        if len(character.split('.p'))<=1: continue
        print(character)
        models[character] = pickle.load(open(folderLoc+character,'rb'))['model']
        imputers[character] = pickle.load(open(folderLoc+character,'rb'))['imputer']
        scalers[character] = pickle.load(open(folderLoc+character,'rb'))['scaler']
    if episode.split('.')[-1] == 'p':
        savedInfo = pickle.load(open(episode,'rb'))
        episodeFeatures = savedInfo['features']
    else:
        episodeFeatures = getFeaturesParallel(episode,True)    if subtitles: subtitles = getSubtitles(episode.split('.')[0]+'.srt')
    preds = predict(subtitles,episodeFeatures,models,imputers,scalers)
    print('Episode Runtime is: ',time.time()-t0,'(s)')
    return(preds)
def calcAndSaveFeatures(episode):
    episodeFeatures = getFeaturesParallel(episode)
    pickle.dump({'features':episodeFeatures},open(episode.split('.wav')[0]+'.p','wb'))