Commit 09eace5e authored by Anika Treffehn's avatar Anika Treffehn
Browse files

removed loudness info from console but keep in log file

parent 8ea37e6e
Loading
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -70,7 +70,7 @@ def logging_init(args, cfg):
        cfg.output_path.joinpath(f"{cfg.name}{LOGGER_SUFFIX}"), mode="w"
    )
    file_handler.setFormatter(logging.Formatter(LOGGER_FORMAT, datefmt=LOGGER_DATEFMT))
    file_handler.setLevel(logging.DEBUG if args.debug else logging.INFO)
    file_handler.setLevel(logging.DEBUG)
    logger.addHandler(file_handler)

    logger.info(f"Processing test configuration file {args.config}")
+9 −4
Original line number Diff line number Diff line
@@ -258,9 +258,13 @@ def loudness_norm(
    # log loudness before and after adjustment
    if logger:
        if file_name_logging:
            logger.info(f"File {file_name_logging} loudness; before: {loudness_before}, after: {loudness_after}")
            logger.debug(
                f"File {file_name_logging} loudness; before: {loudness_before}, after: {loudness_after}"
            )
        else:
            logger.debug(f"Loudness; before: {loudness_before}, after: {loudness_after}")
            logger.debug(
                f"Loudness; before: {loudness_before}, after: {loudness_after}"
            )

    if num_iter >= 10:
        warn(
@@ -319,8 +323,9 @@ def scale_files(
                audio_obj = audio.fromfile(fmt, file, fs)

            # adjust loudness
            scaled_audio = loudness_norm(audio_obj, loudness, loudness_format, logger, file)
            scaled_audio = loudness_norm(
                audio_obj, loudness, loudness_format, logger, file
            )

            # write into file
            write(file, scaled_audio, audio_obj.fs)
+7 −2
Original line number Diff line number Diff line
@@ -141,8 +141,13 @@ class TestConfig:
        # validate preprocessing on concatenated file stage
        if (pre_proc_2 := getattr(cfg, "preprocessing_2", None)) is not None:
            bg_noise_folder = Path(pre_proc_2["background_noise_path"]).parent
            if bg_noise_folder.resolve().absolute() == cfg.input_path.resolve().absolute():
                raise ValueError(f"Background noise file has to be placed outside the input folder!")
            if (
                bg_noise_folder.resolve().absolute()
                == cfg.input_path.resolve().absolute()
            ):
                raise ValueError(
                    f"Background noise file has to be placed outside the input folder!"
                )

        for cond_name, cond_cfg in cfg.get("conditions_to_generate").items():
            type = cond_cfg.get("type")
+19 −6
Original line number Diff line number Diff line
@@ -92,17 +92,26 @@ class Preprocessing2(Processing):

        # add background noise
        if self.background_noise:
            logger.debug(f"Add background noise from file {self.background_noise.get('background_noise_path', 'file missing')} and SNR {self.background_noise.get('snr', 'snr missing')}")
            audio_object.audio = self.add_background_noise(audio_object, in_meta, logger)
            logger.debug(
                f"Add background noise from file {self.background_noise.get('background_noise_path', 'file missing')} and SNR {self.background_noise.get('snr', 'snr missing')}"
            )
            audio_object.audio = self.add_background_noise(
                audio_object, in_meta, logger
            )

        # save file
        write(out_file, audio_object.audio, fs=audio_object.fs)

        return

    def add_background_noise(self, audio_object: audio.Audio, in_meta, logger) -> np.ndarray:
    def add_background_noise(
        self, audio_object: audio.Audio, in_meta, logger
    ) -> np.ndarray:
        # check if SNR and background noise are given
        if not self.background_noise["background_noise_path"] or not Path(self.background_noise["background_noise_path"]).exists():
        if (
            not self.background_noise["background_noise_path"]
            or not Path(self.background_noise["background_noise_path"]).exists()
        ):
            raise ValueError("Background noise does not exist")
        if not self.background_noise["snr"]:
            raise ValueError("SNR value needed for using background noise")
@@ -158,8 +167,12 @@ class Preprocessing2(Processing):
        )[: len(audio_object.audio)]

        # scale background noise to desired loudness based on output format
        logger.debug(f"Scaling of background noise to {self.background_noise['snr']}dB SNR")
        noise_object.audio = loudness_norm(noise_object, loudness_noise, out_format, logger)
        logger.debug(
            f"Scaling of background noise to {self.background_noise['snr']}dB SNR"
        )
        noise_object.audio = loudness_norm(
            noise_object, loudness_noise, out_format, logger
        )

        # add array to signal
        audio_object.audio = noise_object.audio + audio_object.audio