Commit a20eb24b authored by Archit Tamarapu's avatar Archit Tamarapu
Browse files

Merge branch...

Merge branch '67-pyaudio3dtools-audiofile-output-wraps-on-output-outside-of-int16-range' into 'main'

pyaudio3dtools audiofile add warning and clipping for samples outside of int16 range in writefile

See merge request !65
parents 7afcb35d 029d0adc
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -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)