Commit 2a00a7d1 authored by Anika Treffehn's avatar Anika Treffehn
Browse files

started adding preprocessing for background noise

parent b3e90d7c
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -48,6 +48,7 @@ from ivas_processing_scripts.processing.processing import (
    process_item,
    reorder_items_list,
    reverse_process_2,
    preprocess_background_noise,
)
from ivas_processing_scripts.utils import DirManager, apply_func_parallel

@@ -127,12 +128,18 @@ def main(args):

        # run preprocessing only once
        if hasattr(cfg, "preprocessing"):
            # save process info for background noise
            cfg.pre = cfg.proc_chains[0]["processes"][0]
            preprocess(cfg, logger)

        # preprocessing on whole signal(s)
        if hasattr(cfg, "preprocessing_2"):
            # save process info to revert it later
            cfg.pre2 = cfg.proc_chains[0]["processes"][0]
            # preprocess background noise
            if hasattr(cfg, "preprocessing") and hasattr(cfg.pre2, "background_noise"):
                preprocess_background_noise(cfg)
            # preprocess 2
            preprocess_2(cfg, logger)

        # run conditions
+2 −1
Original line number Diff line number Diff line
@@ -49,6 +49,7 @@ from ivas_processing_scripts.audiotools.wrappers.bs1770 import (
)
from ivas_processing_scripts.audiotools.wrappers.random_seed import random_seed
from ivas_processing_scripts.processing.processing import Processing
from ivas_processing_scripts.audiotools.convert.__init__ import convert


class Preprocessing2(Processing):
@@ -115,7 +116,7 @@ class Preprocessing2(Processing):
        if len(noise_object.audio) < len(audio_object.audio):
            raise ValueError("Background noise too short for audio signal")
        if len(noise_object.audio) - range_delay[1] < len(audio_object.audio):
            warn(
            raise ValueError(
                "Background noise may be to short for audio signal when considering the random delay"
            )

+16 −0
Original line number Diff line number Diff line
@@ -59,6 +59,7 @@ from ivas_processing_scripts.audiotools.wrappers.bs1770 import scale_files
from ivas_processing_scripts.constants import LOGGER_DATEFMT, LOGGER_FORMAT
from ivas_processing_scripts.processing.config import TestConfig
from ivas_processing_scripts.utils import apply_func_parallel, list_audio, pairwise
from ivas_processing_scripts.audiotools.convert.__init__ import convert


class Processing(ABC):
@@ -453,3 +454,18 @@ def remove_preamble(cfg):
            write(path_input, x, fs)

    return


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

    # 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)
    
    # 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)
    return