added vocal tremor
This commit is contained in:
@@ -33,11 +33,10 @@ def common_video(video_file, args, r_config):
|
||||
out_path = os.path.join(args.output_path, 'raw_variables')
|
||||
pf.audio_to_wav(video_file)
|
||||
of.process_open_face(video_file, os.path.dirname(video_file), out_path, OPENFACE_PATH, args.dbm_group)
|
||||
|
||||
pf.process_facial(video_file, out_path, args.dbm_group, r_config)
|
||||
pf.process_acoustic(video_file, out_path, args.dbm_group, r_config)
|
||||
pf.remove_file(video_file)
|
||||
pf.process_movement(video_file, out_path, args.dbm_group, r_config, DLIB_SHAPE_MODEL)
|
||||
pf.remove_file(video_file)
|
||||
|
||||
def process_raw_video_file(args, s_config, r_config):
|
||||
"""
|
||||
@@ -57,7 +56,7 @@ def process_raw_video_file(args, s_config, r_config):
|
||||
|
||||
else:
|
||||
logger.info('Enter correct video(*.mp4) file path.')
|
||||
|
||||
|
||||
except Exception as e:
|
||||
logger.error('Failed to process mp4 file.')
|
||||
pf.remove_file(video_file[0])
|
||||
@@ -76,15 +75,15 @@ def process_raw_audio_file(args, s_config, r_config):
|
||||
|
||||
if len(audio_file)>0:
|
||||
logger.info('Calculating raw variables...')
|
||||
|
||||
|
||||
out_path = os.path.join(args.output_path, 'raw_variables')
|
||||
pf.process_acoustic(audio_file[0], out_path, args.dbm_group, r_config)
|
||||
|
||||
|
||||
else:
|
||||
logger.info('Enter correct audio(*.wav) file path.')
|
||||
except Exception as e:
|
||||
logger.error('Failed to process wav file.')
|
||||
|
||||
|
||||
def process_raw_video_dir(args, s_config, r_config):
|
||||
"""
|
||||
Processing video file
|
||||
@@ -95,16 +94,15 @@ def process_raw_video_dir(args, s_config, r_config):
|
||||
"""
|
||||
if args.output_path != None:
|
||||
vid_loc = glob.glob(args.input_path + '/*.mp4')
|
||||
|
||||
|
||||
if len(vid_loc) == 0:
|
||||
logger.info('Directory does not have any MP4 files.')
|
||||
return
|
||||
|
||||
|
||||
logger.info('Calculating raw variables...')
|
||||
for vid_file in vid_loc:
|
||||
try:
|
||||
|
||||
common_video(vid_file, args, r_config)
|
||||
common_video(vid_file, args, r_config)
|
||||
except Exception as e:
|
||||
logger.error('Failed to process mp4 file.')
|
||||
pf.remove_file(vid_file)
|
||||
@@ -119,20 +117,20 @@ def process_raw_audio_dir(args, s_config, r_config):
|
||||
"""
|
||||
if args.output_path != None:
|
||||
audio_loc = glob.glob(args.input_path + '/*.wav')
|
||||
|
||||
|
||||
if len(audio_loc) == 0:
|
||||
logger.info('Directory does not have any WAV files.')
|
||||
return
|
||||
|
||||
|
||||
logger.info('Calculating raw variables...')
|
||||
for audio in audio_loc:
|
||||
try:
|
||||
|
||||
|
||||
out_path = os.path.join(args.output_path, 'raw_variables')
|
||||
pf.process_acoustic(audio, out_path, args.dbm_group, r_config)
|
||||
except Exception as e:
|
||||
logger.error('Failed to process wav file.')
|
||||
|
||||
|
||||
def process_derive(args, r_config, d_config, input_type):
|
||||
"""
|
||||
Processing dbm derived variables
|
||||
@@ -141,28 +139,28 @@ def process_derive(args, r_config, d_config, input_type):
|
||||
input_file = glob.glob(args.input_path)
|
||||
else:
|
||||
input_file = glob.glob(args.input_path + '/*')
|
||||
|
||||
|
||||
out_raw_path = os.path.join(args.output_path, 'raw_variables')
|
||||
out_derive_path = os.path.join(args.output_path, 'derived_variables')
|
||||
|
||||
|
||||
logger.info('Calculating derived variables...')
|
||||
feature_df = der.run_derive(input_file, out_raw_path, out_derive_path, r_config, d_config)
|
||||
|
||||
|
||||
if __name__=="__main__":
|
||||
start_time = time.time()
|
||||
parser = argparse.ArgumentParser(description="Process video/audio......")
|
||||
|
||||
|
||||
parser.add_argument("--input_path", help="path to the input files", required=True)
|
||||
parser.add_argument("--output_path", help="path to the raw and derived variable output", required=True)
|
||||
parser.add_argument("--dbm_group", help="list of feature groups", nargs='+')
|
||||
|
||||
|
||||
args = parser.parse_args()
|
||||
s_config = config_reader.ConfigReader()
|
||||
r_config = config_raw_feature.ConfigRawReader()
|
||||
d_config = config_derive_feature.ConfigDeriveReader()
|
||||
|
||||
|
||||
_, file_ext = os.path.splitext(os.path.basename(args.input_path))
|
||||
|
||||
|
||||
if file_ext:
|
||||
input_type = 'file'
|
||||
if file_ext.lower() == '.mp4':
|
||||
@@ -170,14 +168,14 @@ if __name__=="__main__":
|
||||
|
||||
elif file_ext.lower() == '.wav':
|
||||
process_raw_audio_file(args, s_config, r_config)
|
||||
|
||||
|
||||
else:
|
||||
logger.error('No WAV or MP4 files detected in input path')
|
||||
else:
|
||||
input_type = 'dir'
|
||||
process_raw_video_dir(args, s_config, r_config)
|
||||
process_raw_audio_dir(args, s_config, r_config)
|
||||
|
||||
|
||||
process_derive(args, r_config, d_config, input_type)
|
||||
exec_time = time.time() - start_time
|
||||
logger.info('Done! Processing time: {} seconds'.format(exec_time))
|
||||
logger.info('Done! Processing time: {} seconds'.format(exec_time))
|
||||
|
||||
Reference in New Issue
Block a user