From a0f166cce7bd9e42f6c0fbdedf70b8d7ecf55d73 Mon Sep 17 00:00:00 2001 From: Treffehn Date: Fri, 19 May 2023 10:46:36 +0200 Subject: [PATCH 1/7] use deepcopy instead of copy --- ivas_processing_scripts/audiotools/wrappers/filter.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ivas_processing_scripts/audiotools/wrappers/filter.py b/ivas_processing_scripts/audiotools/wrappers/filter.py index 426a0f2c..8d32dc90 100755 --- a/ivas_processing_scripts/audiotools/wrappers/filter.py +++ b/ivas_processing_scripts/audiotools/wrappers/filter.py @@ -31,7 +31,7 @@ # import re -from copy import copy +from copy import deepcopy from pathlib import Path from tempfile import TemporaryDirectory from typing import Optional @@ -214,7 +214,7 @@ def lpfilter_itu( # resample if samplingrate is not supported old_fs = None - tmp = copy(x) + tmp = deepcopy(x) if x.fs != 48000: warn( f"Filter type {flt_type} only supported for 48kHz samplingrate, not for {x.fs}Hz -> resampling" @@ -256,7 +256,7 @@ def hp50filter_itu( # set filter type and check if sampling rate is supported old_fs = None - tmp = copy(x) + tmp = deepcopy(x) if x.fs == 48000: flt_type = "HP50_48KHZ" elif x.fs == 32000: @@ -310,7 +310,7 @@ def kbp20filter_itu( # set filter type and check if sampling rate is supported old_fs = None - tmp = copy(x) + tmp = deepcopy(x) if x.fs == 48000: flt_type = "20KBP" else: @@ -428,7 +428,7 @@ def resample_itu( raise ValueError("Ratio of input and output sampling frequency not supported") # apply filter - y = copy(x) + y = deepcopy(x) for i, flt in enumerate(flt_type): y.audio = filter_itu(y, flt_type=flt, up=up[i], down=down[i]) y.audio = delay_compensation( -- GitLab From 2b4a6ce6acccd9fe28f5c759a7ac9fe2f21f521c Mon Sep 17 00:00:00 2001 From: Treffehn Date: Mon, 22 May 2023 11:14:18 +0200 Subject: [PATCH 2/7] 10 iterations in loudness tool not 9 --- ivas_processing_scripts/audiotools/wrappers/bs1770.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ivas_processing_scripts/audiotools/wrappers/bs1770.py b/ivas_processing_scripts/audiotools/wrappers/bs1770.py index a137eeae..dc7acf18 100755 --- a/ivas_processing_scripts/audiotools/wrappers/bs1770.py +++ b/ivas_processing_scripts/audiotools/wrappers/bs1770.py @@ -259,7 +259,7 @@ def loudness_norm( ) # repeat until convergence of loudness - while np.abs(measured_loudness - target_loudness) > 0.5 and num_iter < 10: + while np.abs(measured_loudness - target_loudness) > 0.5 and num_iter <= 10: # scale input scaled_input.audio *= scale_factor_new -- GitLab From c1d5c8b77695252a48ffffdb78da4d12c71c39ca Mon Sep 17 00:00:00 2001 From: Treffehn Date: Mon, 22 May 2023 12:20:15 +0200 Subject: [PATCH 3/7] error messages for IVAS sba format --- ivas_processing_scripts/processing/chains.py | 3 ++- ivas_processing_scripts/processing/evs.py | 2 +- ivas_processing_scripts/processing/ivas.py | 14 ++++++++++++++ 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/ivas_processing_scripts/processing/chains.py b/ivas_processing_scripts/processing/chains.py index c11be9a1..915db61a 100755 --- a/ivas_processing_scripts/processing/chains.py +++ b/ivas_processing_scripts/processing/chains.py @@ -35,7 +35,7 @@ from warnings import warn from ivas_processing_scripts.processing.config import TestConfig from ivas_processing_scripts.processing.evs import EVS -from ivas_processing_scripts.processing.ivas import IVAS +from ivas_processing_scripts.processing.ivas import IVAS, validate_sba_fmt from ivas_processing_scripts.processing.postprocessing import Postprocessing from ivas_processing_scripts.processing.preprocessing import Preprocessing from ivas_processing_scripts.processing.preprocessing_2 import Preprocessing2 @@ -335,6 +335,7 @@ def get_processing_chain( dec_cfg = cond_cfg["dec"] if cond_cfg.get("sba_fmt"): + validate_sba_fmt(tmp_in_fmt, cond_cfg.get("sba_fmt")) chain["processes"].append( Postprocessing( { diff --git a/ivas_processing_scripts/processing/evs.py b/ivas_processing_scripts/processing/evs.py index 0653327e..288b8694 100755 --- a/ivas_processing_scripts/processing/evs.py +++ b/ivas_processing_scripts/processing/evs.py @@ -174,7 +174,7 @@ class EVS(Processing): condition_fmt.num_channels > self.in_fmt.num_channels ): raise ValueError( - "SBA format has to be SBA with lower or equal order than input signal" + "SBA format for EVS condition has to be SBA with lower or equal order than input signal" ) is_planar = condition_fmt.is_planar else: diff --git a/ivas_processing_scripts/processing/ivas.py b/ivas_processing_scripts/processing/ivas.py index b2cae46b..13afe88d 100755 --- a/ivas_processing_scripts/processing/ivas.py +++ b/ivas_processing_scripts/processing/ivas.py @@ -338,6 +338,20 @@ class IVAS(Processing): raise ValueError(f"IVAS: Invalid input config: {fmt.name}.") +def validate_sba_fmt(in_fmt, sba_fmt): + in_audio = audio.fromtype(in_fmt) + sba_audio = audio.fromtype(sba_fmt) + if isinstance(in_audio, audio.SceneBasedAudio): + if not isinstance(sba_audio, audio.SceneBasedAudio) or (sba_audio.num_channels > in_audio.num_channels): + raise ValueError( + "SBA format for IVAS condition has to be SBA with lower or equal order than input signal" + ) + else: + if in_audio.name != sba_audio.name: + raise ValueError("Cannot specify SBA format for non SBA input formats") + return + + class IVAS_rend(Processing): def __init__(self, attrs): super().__init__(attrs) -- GitLab From e02baf387a942137d3b62a9d779d4cade4170aba Mon Sep 17 00:00:00 2001 From: Treffehn Date: Mon, 22 May 2023 12:26:06 +0200 Subject: [PATCH 4/7] fixed sba to sba rendering --- ivas_processing_scripts/audiotools/convert/scenebased.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/ivas_processing_scripts/audiotools/convert/scenebased.py b/ivas_processing_scripts/audiotools/convert/scenebased.py index 4ff3bc28..de8bc0cd 100755 --- a/ivas_processing_scripts/audiotools/convert/scenebased.py +++ b/ivas_processing_scripts/audiotools/convert/scenebased.py @@ -167,17 +167,20 @@ def render_sba_to_sba( """ if sba_out.ambi_order > sba_in.ambi_order: + # order increases sba_out.audio = np.pad( sba_in.audio, [[0, 0], [0, sba_out.num_channels - sba_in.num_channels]] ) elif sba_out.ambi_order < sba_in.ambi_order: + # order decreases sba_out.audio = sba_in.audio[:, : sba_out.num_channels] + else: + # order stays the same + sba_out.audio = sba_in.audio if sba_out.is_planar: - sba_out.audio = sba_in.audio + # set vertical channels to zero if output is planar zero_vert_channels(sba_out) - elif sba_in.is_planar: - sba_out.audio = sba_in.audio def rotate_sba( -- GitLab From dca23038be1ea269876a094e4b87d269fc5f4ca2 Mon Sep 17 00:00:00 2001 From: Treffehn Date: Mon, 22 May 2023 12:54:25 +0200 Subject: [PATCH 5/7] modified gitignore --- .gitignore | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 77abd26a..3f2d086e 100644 --- a/.gitignore +++ b/.gitignore @@ -11,9 +11,9 @@ venv/ *.bs *.192 mc.double -proc_input/*.wav -proc_input/*.pcm -proc_output/ +experiments/selection/*/proc_input/*.wav +experiments/selection/*/proc_input/*.pcm +experiments/selection/*/proc_output/ *~ tests/tmp_output_* tests/cut -- GitLab From d2286546b7e3ad442a3c7ba479c6496710678d1e Mon Sep 17 00:00:00 2001 From: Treffehn Date: Thu, 25 May 2023 11:16:00 +0200 Subject: [PATCH 6/7] format --- ivas_processing_scripts/processing/ivas.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ivas_processing_scripts/processing/ivas.py b/ivas_processing_scripts/processing/ivas.py index 13afe88d..df0f8912 100755 --- a/ivas_processing_scripts/processing/ivas.py +++ b/ivas_processing_scripts/processing/ivas.py @@ -342,7 +342,9 @@ def validate_sba_fmt(in_fmt, sba_fmt): in_audio = audio.fromtype(in_fmt) sba_audio = audio.fromtype(sba_fmt) if isinstance(in_audio, audio.SceneBasedAudio): - if not isinstance(sba_audio, audio.SceneBasedAudio) or (sba_audio.num_channels > in_audio.num_channels): + if not isinstance(sba_audio, audio.SceneBasedAudio) or ( + sba_audio.num_channels > in_audio.num_channels + ): raise ValueError( "SBA format for IVAS condition has to be SBA with lower or equal order than input signal" ) -- GitLab From 47d1bb7369e59f4270e257412f69d905331cc38f Mon Sep 17 00:00:00 2001 From: Treffehn Date: Thu, 25 May 2023 11:30:35 +0200 Subject: [PATCH 7/7] format again --- ivas_processing_scripts/processing/ivas.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ivas_processing_scripts/processing/ivas.py b/ivas_processing_scripts/processing/ivas.py index df0f8912..379db22e 100755 --- a/ivas_processing_scripts/processing/ivas.py +++ b/ivas_processing_scripts/processing/ivas.py @@ -343,7 +343,7 @@ def validate_sba_fmt(in_fmt, sba_fmt): sba_audio = audio.fromtype(sba_fmt) if isinstance(in_audio, audio.SceneBasedAudio): if not isinstance(sba_audio, audio.SceneBasedAudio) or ( - sba_audio.num_channels > in_audio.num_channels + sba_audio.num_channels > in_audio.num_channels ): raise ValueError( "SBA format for IVAS condition has to be SBA with lower or equal order than input signal" -- GitLab