Loading ivas_processing_scripts/__init__.py +7 −0 Original line number Diff line number Diff line Loading @@ -51,6 +51,7 @@ from ivas_processing_scripts.processing.processing import ( rename_generated_conditions, reorder_items_list, reverse_process_2, scale_resulting_files, ) from ivas_processing_scripts.utils import DirManager, apply_func_parallel Loading Loading @@ -174,9 +175,15 @@ def main(args): "mp" if cfg.multiprocessing else None, ) # remove preamble and split signals if hasattr(cfg, "preprocessing_2"): reverse_process_2(cfg, logger) # scale individual files if cfg.postprocessing.get("loudness", False): scale_resulting_files(cfg, logger) # rename output with condition name if cfg.condition_in_output_filename: rename_generated_conditions(cfg.output_path) Loading ivas_processing_scripts/processing/chains.py +0 −21 Original line number Diff line number Diff line Loading @@ -212,7 +212,6 @@ def get_processing_chain( # get pre and post processing configurations pre_cfg = getattr(cfg, "preprocessing", {}) pre2_cfg = getattr(cfg, "preprocessing_2", {}) post_cfg = cfg.postprocessing # default to input values if preprocessing was not requested Loading Loading @@ -243,18 +242,8 @@ def get_processing_chain( { "in_fs": tmp_in_fs, "in_fmt": tmp_in_fmt, "out_fs": post_cfg.get("fs"), "out_fmt": "MONO", "out_cutoff": tmp_lp_cutoff, "out_loudness": post_cfg.get("loudness"), "out_loudness_fmt": post_cfg.get("loudness_fmt"), "bin_dataset": post_cfg.get("bin_dataset"), "bin_lfe_gain": post_cfg.get("bin_lfe_gain"), "limit": post_cfg.get("limit", True), "trajectory": post_cfg.get("trajectory"), "multiprocessing": cfg.multiprocessing, "mnru_q": tmp_mnru_q, "esdru_alpha": tmp_esdru_alpha, }, name="mono_dmx", ) Loading Loading @@ -421,14 +410,6 @@ def get_processing_chain( raise SystemExit(f"Unknown condition {condition}!") # add postprocessing step based on condition # if concatenation and splitting do loudness adjustment only on splitted files if pre2_cfg.get("concatenate_input", False): loudness_postprocessing = None loudness_fmt_postprocessing = None else: loudness_postprocessing = post_cfg.get("loudness") loudness_fmt_postprocessing = post_cfg.get("loudness_fmt", post_cfg.get("fmt")) chain["processes"].append( Postprocessing( { Loading @@ -437,8 +418,6 @@ def get_processing_chain( "out_fs": post_cfg.get("fs"), "out_fmt": post_cfg.get("fmt"), "out_cutoff": tmp_lp_cutoff, "out_loudness": loudness_postprocessing, "out_loudness_fmt": loudness_fmt_postprocessing, "bin_dataset": post_cfg.get("bin_dataset"), "bin_lfe_gain": post_cfg.get("bin_lfe_gain"), "limit": post_cfg.get("limit", True), Loading ivas_processing_scripts/processing/processing.py +37 −11 Original line number Diff line number Diff line Loading @@ -350,17 +350,8 @@ def reverse_process_2(cfg, logger): else: out_meta_splits = None # scale individual files if cfg.postprocessing.get("loudness", False): scale_files( out_paths_splits, cfg.postprocessing["fmt"], cfg.postprocessing["loudness"], cfg.postprocessing.get("loudness_fmt", cfg.postprocessing["fmt"]), cfg.postprocessing["fs"], out_meta_splits, logger, ) cfg.pre2.out_paths_splits = out_paths_splits cfg.pre2.out_meta_splits = out_meta_splits return Loading Loading @@ -583,3 +574,38 @@ def rename_generated_conditions(output_path: Path): for file_path in subdirectory.iterdir(): new_filename = f"{file_path.stem}.{subdirectory.name}{file_path.suffix}" file_path.rename(subdirectory / new_filename) def scale_resulting_files(cfg, logger): if hasattr(cfg, "preprocessing_2"): out_paths_splits = cfg.pre2.out_paths_splits out_meta_splits = cfg.pre2.out_meta_splits else: num_obj = audio.fromtype(cfg.postprocessing["fmt"]).num_channels out_paths_splits = [] if isinstance( audio.fromtype(cfg.postprocessing["fmt"]), audio.ObjectBasedAudio ): out_meta_splits = [] else: out_meta_splits = None item_names = [Path(i.name) for i in cfg.items_list] for out_dir in cfg.out_dirs: condition_list = [] for item in item_names: condition_list.append(out_dir.joinpath(item)) out_paths_splits.append(condition_list) if isinstance( audio.fromtype(cfg.postprocessing["fmt"]), audio.ObjectBasedAudio ): out_meta_splits.append(metadata_search(out_dir, item_names, num_obj)) scale_files( out_paths_splits, cfg.postprocessing["fmt"], cfg.postprocessing["loudness"], cfg.postprocessing.get("loudness_fmt", None), cfg.postprocessing["fs"], out_meta_splits, logger, ) Loading
ivas_processing_scripts/__init__.py +7 −0 Original line number Diff line number Diff line Loading @@ -51,6 +51,7 @@ from ivas_processing_scripts.processing.processing import ( rename_generated_conditions, reorder_items_list, reverse_process_2, scale_resulting_files, ) from ivas_processing_scripts.utils import DirManager, apply_func_parallel Loading Loading @@ -174,9 +175,15 @@ def main(args): "mp" if cfg.multiprocessing else None, ) # remove preamble and split signals if hasattr(cfg, "preprocessing_2"): reverse_process_2(cfg, logger) # scale individual files if cfg.postprocessing.get("loudness", False): scale_resulting_files(cfg, logger) # rename output with condition name if cfg.condition_in_output_filename: rename_generated_conditions(cfg.output_path) Loading
ivas_processing_scripts/processing/chains.py +0 −21 Original line number Diff line number Diff line Loading @@ -212,7 +212,6 @@ def get_processing_chain( # get pre and post processing configurations pre_cfg = getattr(cfg, "preprocessing", {}) pre2_cfg = getattr(cfg, "preprocessing_2", {}) post_cfg = cfg.postprocessing # default to input values if preprocessing was not requested Loading Loading @@ -243,18 +242,8 @@ def get_processing_chain( { "in_fs": tmp_in_fs, "in_fmt": tmp_in_fmt, "out_fs": post_cfg.get("fs"), "out_fmt": "MONO", "out_cutoff": tmp_lp_cutoff, "out_loudness": post_cfg.get("loudness"), "out_loudness_fmt": post_cfg.get("loudness_fmt"), "bin_dataset": post_cfg.get("bin_dataset"), "bin_lfe_gain": post_cfg.get("bin_lfe_gain"), "limit": post_cfg.get("limit", True), "trajectory": post_cfg.get("trajectory"), "multiprocessing": cfg.multiprocessing, "mnru_q": tmp_mnru_q, "esdru_alpha": tmp_esdru_alpha, }, name="mono_dmx", ) Loading Loading @@ -421,14 +410,6 @@ def get_processing_chain( raise SystemExit(f"Unknown condition {condition}!") # add postprocessing step based on condition # if concatenation and splitting do loudness adjustment only on splitted files if pre2_cfg.get("concatenate_input", False): loudness_postprocessing = None loudness_fmt_postprocessing = None else: loudness_postprocessing = post_cfg.get("loudness") loudness_fmt_postprocessing = post_cfg.get("loudness_fmt", post_cfg.get("fmt")) chain["processes"].append( Postprocessing( { Loading @@ -437,8 +418,6 @@ def get_processing_chain( "out_fs": post_cfg.get("fs"), "out_fmt": post_cfg.get("fmt"), "out_cutoff": tmp_lp_cutoff, "out_loudness": loudness_postprocessing, "out_loudness_fmt": loudness_fmt_postprocessing, "bin_dataset": post_cfg.get("bin_dataset"), "bin_lfe_gain": post_cfg.get("bin_lfe_gain"), "limit": post_cfg.get("limit", True), Loading
ivas_processing_scripts/processing/processing.py +37 −11 Original line number Diff line number Diff line Loading @@ -350,17 +350,8 @@ def reverse_process_2(cfg, logger): else: out_meta_splits = None # scale individual files if cfg.postprocessing.get("loudness", False): scale_files( out_paths_splits, cfg.postprocessing["fmt"], cfg.postprocessing["loudness"], cfg.postprocessing.get("loudness_fmt", cfg.postprocessing["fmt"]), cfg.postprocessing["fs"], out_meta_splits, logger, ) cfg.pre2.out_paths_splits = out_paths_splits cfg.pre2.out_meta_splits = out_meta_splits return Loading Loading @@ -583,3 +574,38 @@ def rename_generated_conditions(output_path: Path): for file_path in subdirectory.iterdir(): new_filename = f"{file_path.stem}.{subdirectory.name}{file_path.suffix}" file_path.rename(subdirectory / new_filename) def scale_resulting_files(cfg, logger): if hasattr(cfg, "preprocessing_2"): out_paths_splits = cfg.pre2.out_paths_splits out_meta_splits = cfg.pre2.out_meta_splits else: num_obj = audio.fromtype(cfg.postprocessing["fmt"]).num_channels out_paths_splits = [] if isinstance( audio.fromtype(cfg.postprocessing["fmt"]), audio.ObjectBasedAudio ): out_meta_splits = [] else: out_meta_splits = None item_names = [Path(i.name) for i in cfg.items_list] for out_dir in cfg.out_dirs: condition_list = [] for item in item_names: condition_list.append(out_dir.joinpath(item)) out_paths_splits.append(condition_list) if isinstance( audio.fromtype(cfg.postprocessing["fmt"]), audio.ObjectBasedAudio ): out_meta_splits.append(metadata_search(out_dir, item_names, num_obj)) scale_files( out_paths_splits, cfg.postprocessing["fmt"], cfg.postprocessing["loudness"], cfg.postprocessing.get("loudness_fmt", None), cfg.postprocessing["fs"], out_meta_splits, logger, )