Commit 029d0adc authored by mcdonaldb's avatar mcdonaldb
Browse files

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

parent 7afcb35d
Loading
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)