diff --git a/scripts/pyaudio3dtools/audiofile.py b/scripts/pyaudio3dtools/audiofile.py index d01d07824595cd2a9c833c67de1b9cbac43528dc..46bb452082c7d8a0cca04875bc5bca1dd399ccdf 100755 --- a/scripts/pyaudio3dtools/audiofile.py +++ b/scripts/pyaudio3dtools/audiofile.py @@ -107,6 +107,11 @@ def writefile(filename: str, x: np.ndarray, fs: int = 48000) -> None: """ _, file_extension = os.path.splitext(os.path.basename(filename)) + clipped_samples = np.sum(np.logical_or(x < np.iinfo(np.int16).min, x > np.iinfo(np.int16).max)) + if clipped_samples > 0: + print(" Warning: %i samples clipped"%clipped_samples) + x = np.clip(x, np.iinfo(np.int16).min, np.iinfo(np.int16).max) + if file_extension == ".wav": x = x.astype(np.int16) wav.write(filename, fs, x)