Commit 927a64f9 authored by Anika Treffehn's avatar Anika Treffehn
Browse files

Merge branch '36-noisy-speech-tests-remove-random-noise-offset-mechanism' into 'main'

removed random delay for background noise

See merge request !75
parents 3e8c1d3d fdb1ce0c
Loading
Loading
Loading
Loading
+16 −4
Original line number Diff line number Diff line
@@ -102,9 +102,21 @@ def generate_ism_items(
        # repeat for all source files
        for i in range(N_sources):
            # parse parameters from the scene description
            source_file = scene["source"][i] if isinstance(scene["source"], list) else scene["source"]   
            source_azi = scene["azimuth"][i] if isinstance(scene["azimuth"], list) else scene["azimuth"]   
            source_ele = scene["elevation"][i] if isinstance(scene["elevation"], list) else scene["elevation"]   
            source_file = (
                scene["source"][i]
                if isinstance(scene["source"], list)
                else scene["source"]
            )
            source_azi = (
                scene["azimuth"][i]
                if isinstance(scene["azimuth"], list)
                else scene["azimuth"]
            )
            source_ele = (
                scene["elevation"][i]
                if isinstance(scene["elevation"], list)
                else scene["elevation"]
            )

            logger.info(
                f"Encoding {source_file} at position(s) {source_azi},{source_ele}"
+3 −19
Original line number Diff line number Diff line
@@ -37,7 +37,7 @@ from warnings import warn
import numpy as np

from ivas_processing_scripts.audiotools import audio
from ivas_processing_scripts.audiotools.audioarray import delay, trim
from ivas_processing_scripts.audiotools.audioarray import trim
from ivas_processing_scripts.audiotools.audiofile import write
from ivas_processing_scripts.audiotools.metadata import (
    add_remove_preamble,
@@ -47,7 +47,6 @@ from ivas_processing_scripts.audiotools.wrappers.bs1770 import (
    get_loudness,
    loudness_norm,
)
from ivas_processing_scripts.audiotools.wrappers.random_seed import random_seed
from ivas_processing_scripts.processing.processing import Processing


@@ -114,9 +113,6 @@ class Preprocessing2(Processing):
    def add_background_noise(
        self, audio_object: audio.Audio, in_meta, logger
    ) -> np.ndarray:
        # range for random delay
        max_delay = int(2400000 * audio_object.fs / 48000)

        if self.background_noise.get("background_noise_path"):
            if not self.background_noise.get("background_noise_path").exists():
                raise ValueError(
@@ -136,10 +132,6 @@ class Preprocessing2(Processing):
            # if noise is too short raise error
            if len(noise_object.audio) < len(audio_object.audio):
                raise ValueError("Background noise too short for audio signal")
            if len(noise_object.audio) - max_delay < len(audio_object.audio):
                raise ValueError(
                    "Background noise may be to short for audio signal when considering the random delay"
                )

            # measure loudness of audio signal based on output format
            tmp_object = audio.fromtype(self.out_fmt)
@@ -163,16 +155,8 @@ class Preprocessing2(Processing):
            # compute desired loudness of background noise
            loudness_noise = loudness_signal - self.background_noise["snr"]

            # apply random delay and cut signal
            rand_delay = random_seed(
                range=(1, max_delay),
                master_seed=self.background_noise["master_seed"],
                prerun_seed=self.background_noise["seed_delay"],
                hexa=False,
            )
            noise_object.audio = delay(
                noise_object.audio, delay=-rand_delay, samples=True, fs=noise_object.fs
            )[: len(audio_object.audio)]
            # cut noise signal
            noise_object.audio = noise_object.audio[: len(audio_object.audio)]

            # scale background noise to desired loudness based on output format
            logger.debug(