From f71a5ba5656ec458003a56a006309ef899d82b75 Mon Sep 17 00:00:00 2001 From: Jan Kiene Date: Fri, 23 May 2025 14:11:44 +0200 Subject: [PATCH 1/5] add silence_pre/post keys to config this allows to add padding between files during concatenation --- ivas_processing_scripts/audiotools/audiofile.py | 4 ++-- ivas_processing_scripts/processing/chains.py | 2 ++ ivas_processing_scripts/processing/processing.py | 12 +++++++++--- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/ivas_processing_scripts/audiotools/audiofile.py b/ivas_processing_scripts/audiotools/audiofile.py index fa3ef05d..44ef2abc 100755 --- a/ivas_processing_scripts/audiotools/audiofile.py +++ b/ivas_processing_scripts/audiotools/audiofile.py @@ -166,8 +166,8 @@ def write( def concat( in_filenames: list, out_file: str, - silence_pre: Optional[int] = 0, - silence_post: Optional[int] = 0, + silence_pre: int = 0, + silence_post: int = 0, in_fs: Optional[int] = 48000, num_channels: Optional[int] = None, pad_noise: Optional[bool] = False, diff --git a/ivas_processing_scripts/processing/chains.py b/ivas_processing_scripts/processing/chains.py index 21b20a0e..fadcebbb 100755 --- a/ivas_processing_scripts/processing/chains.py +++ b/ivas_processing_scripts/processing/chains.py @@ -201,6 +201,8 @@ def get_preprocessing_2(cfg: TestConfig) -> dict: "in_mask": pre2_cfg.get("mask", None), "multiprocessing": cfg.multiprocessing, "repeat_signal": pre2_cfg.get("repeat_signal", False), + "silence_pre": pre2_cfg.get("silence_pre", 0), + "silence_post": pre2_cfg.get("silence_post", 0), } ) ) diff --git a/ivas_processing_scripts/processing/processing.py b/ivas_processing_scripts/processing/processing.py index 4d96571f..3ab1fcc4 100755 --- a/ivas_processing_scripts/processing/processing.py +++ b/ivas_processing_scripts/processing/processing.py @@ -163,11 +163,17 @@ def concat_setup(cfg: TestConfig, chain, logger: logging.Logger): tmp_audio = audio.fromtype(cfg_pre2.in_fmt) tmp_num_chans = tmp_audio.num_channels + # convert from milisecs to samples + silence_pre = int(cfg_pre2.silence_pre / 1000 * cfg_pre2.in_fs) + silence_post = int(cfg_pre2.silence_post / 1000 * cfg_pre2.in_fs) + cfg.splits, fs = concat( cfg.items_list, cfg.concat_file, in_fs=cfg_pre2.in_fs, num_channels=tmp_num_chans, + silence_pre=silence_pre, + silence_post=silence_post, ) # save item naming for splits naming in the end @@ -633,8 +639,8 @@ def preprocess_background_noise(cfg): # save result in cfg # cfg.preprocessing_2["background_noise"].update({"background_object": output_audio}) - cfg.proc_chains[0]["processes"][0].background_noise[ - "background_object" - ] = output_audio + cfg.proc_chains[0]["processes"][0].background_noise["background_object"] = ( + output_audio + ) return -- GitLab From 63bf5655d49383389767594759d4c47eabd6b093 Mon Sep 17 00:00:00 2001 From: Jan Kiene Date: Fri, 23 May 2025 14:16:34 +0200 Subject: [PATCH 2/5] add keys to example template --- examples/TEMPLATE.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/examples/TEMPLATE.yml b/examples/TEMPLATE.yml index 65bf5bc5..c6151e6a 100755 --- a/examples/TEMPLATE.yml +++ b/examples/TEMPLATE.yml @@ -114,6 +114,10 @@ input: ### the individual items (concatenate_input: false) after previous pre-processing step ### Horizontally concatenate input items into one long file; default = false # concatenate_input: true + ### if concatenation is applied, the following two keys can be used to add zeros before or after the items + ### duration is specified in miliseconds + # silence_pre: 2000 + # silence_post: 2000 ### Specify the concatenation order in a list of strings. If not specified, the concatenation order would be ### as per the filesystem on the users' device ### Should only be used if concatenate_input = true -- GitLab From b5dd1acdfc8673e48ee6de126e1f4712c914b5bf Mon Sep 17 00:00:00 2001 From: Jan Kiene Date: Mon, 26 May 2025 11:18:14 +0200 Subject: [PATCH 3/5] handle missing sampling rate with silence_pre/post != 0 --- ivas_processing_scripts/processing/processing.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/ivas_processing_scripts/processing/processing.py b/ivas_processing_scripts/processing/processing.py index 3ab1fcc4..c09720db 100755 --- a/ivas_processing_scripts/processing/processing.py +++ b/ivas_processing_scripts/processing/processing.py @@ -164,8 +164,16 @@ def concat_setup(cfg: TestConfig, chain, logger: logging.Logger): tmp_num_chans = tmp_audio.num_channels # convert from milisecs to samples - silence_pre = int(cfg_pre2.silence_pre / 1000 * cfg_pre2.in_fs) - silence_post = int(cfg_pre2.silence_post / 1000 * cfg_pre2.in_fs) + silence_pre = 0 + silence_post = 0 + if (cfg_pre2.silence_pre != 0 or silence_post != 0) + if cfg_pre2.in_fs is None: + raise ValueError( + "silence_pre and silence_post can only be non-zero if you provide the sampling rate in the input section!" + ) + + silence_pre = int(cfg_pre2.silence_pre / 1000 * cfg_pre2.in_fs) + silence_post = int(cfg_pre2.silence_post / 1000 * cfg_pre2.in_fs) cfg.splits, fs = concat( cfg.items_list, -- GitLab From e73770ffc30867cf275c1da945521dfd964263a2 Mon Sep 17 00:00:00 2001 From: Jan Kiene Date: Mon, 26 May 2025 11:20:15 +0200 Subject: [PATCH 4/5] fix typo --- ivas_processing_scripts/processing/processing.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ivas_processing_scripts/processing/processing.py b/ivas_processing_scripts/processing/processing.py index c09720db..89e95e4d 100755 --- a/ivas_processing_scripts/processing/processing.py +++ b/ivas_processing_scripts/processing/processing.py @@ -166,7 +166,7 @@ def concat_setup(cfg: TestConfig, chain, logger: logging.Logger): # convert from milisecs to samples silence_pre = 0 silence_post = 0 - if (cfg_pre2.silence_pre != 0 or silence_post != 0) + if cfg_pre2.silence_pre != 0 or silence_post != 0: if cfg_pre2.in_fs is None: raise ValueError( "silence_pre and silence_post can only be non-zero if you provide the sampling rate in the input section!" -- GitLab From cb0323c4a6cf087068f70a76751222d9e2b5970e Mon Sep 17 00:00:00 2001 From: Jan Kiene Date: Mon, 26 May 2025 11:22:02 +0200 Subject: [PATCH 5/5] run formatter --- ivas_processing_scripts/processing/processing.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ivas_processing_scripts/processing/processing.py b/ivas_processing_scripts/processing/processing.py index 89e95e4d..35c44fda 100755 --- a/ivas_processing_scripts/processing/processing.py +++ b/ivas_processing_scripts/processing/processing.py @@ -647,8 +647,8 @@ def preprocess_background_noise(cfg): # save result in cfg # cfg.preprocessing_2["background_noise"].update({"background_object": output_audio}) - cfg.proc_chains[0]["processes"][0].background_noise["background_object"] = ( - output_audio - ) + cfg.proc_chains[0]["processes"][0].background_noise[ + "background_object" + ] = output_audio return -- GitLab