import os import datetime import sys import shutil import glob import argparse def parse_args(): parser = argparse.ArgumentParser() parser.add_argument('--path', type=str) parser.add_argument('--imgsize', type=int, default=100) parser.add_argument('--num', type=int, default=10000) args = parser.parse_args() return args # -------------------------------------- joint ----------------------------------- # def create_audio_visual_sec(args, f, name): dir_list = [name for name in os.listdir( args.path) if os.path.isdir(os.path.join(args.path, name))] dir_list.sort() f.write('''
''') joint_sec = """

{}

""".format(name) for name in dir_list: joint_sec += '''\n'''.format(name) joint_sec += '''\n\n''' f.write(joint_sec) item_list = [] count = [] for i in range(len(dir_list)): file_list = os.listdir(os.path.join(args.path, dir_list[i])) file_list.sort() count.append(len(file_list)) item_list.append(file_list) file_count = min(count) for j in range(min(file_count, args.num)): f.write('''\n''') for i in range(-1, len(dir_list)): if i == -1: f.write(''''''.format(str(j))) f.write('\n') else: sample = os.path.join(dir_list[i], item_list[i][j]) if sample.split('.')[-1] in ['wav', 'mp3']: f.write(''' '''.format( sample, sample.split('.')[-1])) elif sample.split('.')[-1] in ['jpg', 'png', 'gif']: f.write( ''' '''.format(sample, args.imgsize)) elif sample.split('.')[-1] in ['mp4', 'avi', 'webm']: f.write(''' '''.format( sample, sample, sample.split('.')[-1], sample)) f.write('\n') # f.write('''\n''') f.write('''
Index #{}
sample #{}

Speed:

\n''') f.write('''
\n''') # -------------------------------------- Audio ----------------------------------- # def create_audio_sec(args, f, name): f.write('''
''') audio_sec = """

{}

\n """.format(name) f.write(audio_sec) folder_path = os.path.join(args.path, 'audio') dir_list = os.listdir(folder_path) dir_list.sort() audio_list = [] for i in range(len(dir_list)): l = os.listdir(os.path.join(folder_path, dir_list[i])) l.sort() audio_list.append(l) for j in range(len(audio_list[0])): f.write('''\n''') for i in range(-1, len(dir_list)): if i == -1: f.write(''''''.format(str(j))) f.write('\n') else: audio_path = os.path.join( folder_path, dir_list[i], audio_list[i][j]) f.write(''' '''.format( audio_path, audio_path.split('.')[-1])) f.write('\n') f.write('''\n''') f.write('''
Index # Mixture Original audio #1 Original audio #2 Separated audio #1 Separated audio #2 regenerated audio mix regenerated audio #1 regenerated audio #2
audio #{}
\n''') f.write('''
\n''') # -------------------------------------- Image ----------------------------------- # def create_image_sec(args, f, name): f.write('''
''') image_sec = """

{}

\n """.format(name) f.write(image_sec) folder_path = os.path.join(args.path, 'spec_img') dir_list = os.listdir(folder_path) dir_list.sort() image_list = [] for i in range(len(dir_list)): l = os.listdir(os.path.join(folder_path, dir_list[i])) l.sort() image_list.append(l) for j in range(len(image_list[0])): f.write('''\n''') for i in range(-1, len(dir_list)): if i == -1: f.write(''''''.format(str(j))) f.write('\n') else: img_path = os.path.join( folder_path, dir_list[i], image_list[i][j]) f.write(''' '''.format( img_path, 175)) f.write('\n') f.write('''\n''') f.write('''
Index # Mixture Spec Original Spec #1 Original Spec #2 Separated Spec #1 Separated Spec #2
audio #{}
\n''') f.write('''
\n''') # -------------------------------------- Video ----------------------------------- # def create_video_sec(args, f, name): f.write('''
''') video_sec = """

{}

\n """.format(name) f.write(video_sec) # folder_path = os.path.join(args.path, 'videos') video_list = glob.glob('%s/*.mp4' % args.path) video_list.sort() columns = 3 rows = len(video_list) // columns + 1 for i in range(rows): f.write('''\n''') for j in range(columns): index = i * columns + j if index < len(video_list): video_path = video_list[i * columns + j] f.write(''' '''.format( video_path.split('/')[-1], video_path, video_path.split('.')[-1])) f.write('\n') f.write('''\n''') f.write('''

{}

\n''') f.write('''
\n''') def webify(args): html_file = os.path.join(args.path, 'index.html') f = open(html_file, 'wt') # head # head = """ Listening and Looking - UM Owens Lab """ f.write(head) intro_sec = '''

Listening and Looking - UM Owens Lab

Creator: Ziyang Chen
University of Michigan

This page contains the results of experiment.

''' f.write(intro_sec) # create_audio_sec(args, f, "Audio Separation") # create_image_sec(args, f, 'Spectorgram Visualization') # create_video_sec(args, f, 'CAM Visualization') create_audio_visual_sec(args, f, 'Stereo CRW') f.write('''\n''') f.write('''\n''') f.close() if __name__ == "__main__": args = parse_args() webify(args) print('Webify Succeed!')