diff --git a/ivas_processing_scripts/audiotools/wrappers/reverb.py b/ivas_processing_scripts/audiotools/wrappers/reverb.py index fc37b0f6ba82746d793f9bfff92447d48f42149b..62c6dfdc8e5eb656f8c80e99738b79ea48dda0a4 100644 --- a/ivas_processing_scripts/audiotools/wrappers/reverb.py +++ b/ivas_processing_scripts/audiotools/wrappers/reverb.py @@ -89,6 +89,9 @@ def reverb( tmp_input.audio = resample_itu(tmp_input, IR.fs) tmp_input.fs = IR.fs + # add trailing zeros + tmp_input.audio = np.concatenate([tmp_input.audio, np.zeros((IR.audio.shape[0]-1, 1))]) + # write input audio signal to temporary file in .pcm format tmp_input_file = tmp_dir.joinpath("tmp_reverbIn.pcm") write(tmp_input_file, tmp_input.audio, tmp_input.fs) diff --git a/ivas_processing_scripts/generation/process_ambi_items.py b/ivas_processing_scripts/generation/process_ambi_items.py index 6417684194b1d716edb1908630c9a1267ee2d3b1..cd8b80d39b343585f7948360d85b9ea2fbd11e99 100644 --- a/ivas_processing_scripts/generation/process_ambi_items.py +++ b/ivas_processing_scripts/generation/process_ambi_items.py @@ -203,6 +203,7 @@ def generate_ambi_scene( else: ambi_format = "FOA" + len_s1 = 0 y = audio.SceneBasedAudio(ambi_format) for i in range(N_sources): # parse parameters from the scene description @@ -233,6 +234,9 @@ def generate_ambi_scene( fs=cfg.IR_fs, ) + if i == 0: + len_s1 = x.audio.shape[0] + # convolve with the FOA/HOA2 IR if ambi_format == "FOA": x = reverb_foa(x, IR) @@ -246,7 +250,7 @@ def generate_ambi_scene( # shift the second (and all other) source files (positive shift creates overlap, negative shift creates a gap) if i > 0: # get the length of the first source file - N_delay = len(y.audio[:, 0]) + N_delay = len_s1 # add the shift N_delay += int(-source_overlap * x.fs) diff --git a/ivas_processing_scripts/generation/process_stereo_items.py b/ivas_processing_scripts/generation/process_stereo_items.py index 4d58eb22f6e956317844d48695c60d57453d36a7..86fdb030bcd5da5b59b2f492ed2ee847f1ef27c0 100644 --- a/ivas_processing_scripts/generation/process_stereo_items.py +++ b/ivas_processing_scripts/generation/process_stereo_items.py @@ -193,6 +193,7 @@ def generate_stereo_scene( else: source_overlap = 0.0 + len_s1 = 0 y = audio.ChannelBasedAudio("STEREO") for i in range(N_sources): # parse parameters from the scene description @@ -223,6 +224,9 @@ def generate_stereo_scene( fs=cfg.IR_fs, ) + if i == 0: + len_s1 = x.audio.shape[0] + # convolve with stereo IR x = reverb_stereo(x, IR) @@ -233,7 +237,7 @@ def generate_stereo_scene( # shift the second (and all other) source files (positive shift creates overlap, negative shift creates a gap) if i > 0: # get the length of the first source file - N_delay = len(y.audio[:, 0]) + N_delay = len_s1 # add the shift N_delay += int(-source_overlap * x.fs)