Commit 5796a0e6 authored by Anika Treffehn's avatar Anika Treffehn
Browse files

preprocessing background noise

parent f5038c0c
Loading
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -139,6 +139,7 @@ def get_preprocessing_2(cfg: TestConfig) -> dict:
            "seed_delay": background_cfg.get("seed_delay", 0),
            "master_seed": cfg.master_seed,
            "output_fmt": cfg.postprocessing["fmt"],
            "background_object": None,
        }
    else:
        background = None
+1 −6
Original line number Diff line number Diff line
@@ -105,12 +105,7 @@ class Preprocessing2(Processing):
        range_delay = (1, 2400000)

        # load background noise
        noise_object = audio.fromfile(
            self.in_fmt,
            self.background_noise["background_noise_path"],
            fs=self.in_fs,
            in_meta=in_meta,
        )
        noise_object = self.background_noise["background_object"]

        # if noise is too short raise error
        if len(noise_object.audio) < len(audio_object.audio):
+17 −7
Original line number Diff line number Diff line
@@ -457,15 +457,25 @@ def remove_preamble(cfg):


def preprocess_background_noise(cfg):
    # TODO
    # set values
    #out_format = # if preprocessing formt else input format
    #out_fs = # if preprocessing fs else input fs

    # TODO: add checks and errors for sampling rate and number channels compared to input signals
    # create audio objects
    input_audio = audio.fromfile(cfg.input["fmt"], cfg.pre.background_noise["background_noise_path"], fs=cfg.input.get("fs", None))
    output_audio = audio.fromtype(cfg.out_fmt)
    input_audio = audio.fromfile(cfg.input["fmt"], cfg.pre2.background_noise["background_noise_path"], fs=cfg.input.get("fs", None))
    output_audio = audio.fromtype(cfg.pre.out_fmt)
    output_audio.fs = input_audio.fs
    if cfg.pre.out_fs is None:
        out_fs = input_audio.fs
    else:
        out_fs = cfg.pre.out_fs

    # only consider format conversion, resampling and high-pass filtering
    convert(input=input_audio, output=output_audio, in_fs=cfg.input.get("fmt", None), out_fs=0, in_hp50=0)
    convert(input=input_audio, output=output_audio, in_fs=input_audio.fs, out_fs=out_fs, in_hp50=cfg.pre.in_hp50)

    # 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

    return