From 6bfc68ab8051472183bb2b43be7705471e0d28d9 Mon Sep 17 00:00:00 2001 From: Erik Norvell Date: Wed, 15 May 2024 06:33:27 +0200 Subject: [PATCH] Fix in audioarray.py to prevent wrap-around after resampling --- scripts/pyaudio3dtools/audioarray.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/pyaudio3dtools/audioarray.py b/scripts/pyaudio3dtools/audioarray.py index 4095a74333..d89c079d89 100644 --- a/scripts/pyaudio3dtools/audioarray.py +++ b/scripts/pyaudio3dtools/audioarray.py @@ -334,8 +334,8 @@ def compare( for i in range(nchannels): tmpfile_ref = Path(tmpdir).joinpath(f"ref_ch{i+1}.wav") tmpfile_test = Path(tmpdir).joinpath(f"test_ch{i+1}.wav") - r48 = resample(ref[:, i].astype(float), fs, 48000).astype(np.dtype('int16')) # Convert to float for resample, then to int16 for wavfile.write - t48 = resample(test[:, i].astype(float), fs, 48000).astype(np.dtype('int16')) + r48 = np.clip( resample(ref[:, i].astype(float), fs, 48000), -32768, 32767 ).astype(np.int16) # Convert to float for resample, then to int16 for wavfile.write + t48 = np.clip( resample(test[:, i].astype(float), fs, 48000), -32768, 32767 ).astype(np.int16) wavfile.write(str(tmpfile_ref), 48000, r48) wavfile.write(str(tmpfile_test), 48000, t48) out = subprocess.check_output([mld, tmpfile_ref, tmpfile_test]) -- GitLab