Loading scripts/pyaudio3dtools/audiofile.py +8 −19 Original line number Diff line number Diff line Loading @@ -35,7 +35,6 @@ import platform import shutil import struct import subprocess as sp import warnings from importlib import import_module from tempfile import TemporaryDirectory from typing import Optional, Tuple Loading Loading @@ -74,18 +73,6 @@ def readfile( if file_extension == ".wav": fs, data = wav.read(filename) if data.dtype == np.int32: data = np.interp( data, (np.iinfo(np.int32).min, np.iinfo(np.int32).max), (np.iinfo(np.int16).min, np.iinfo(np.int16).max), ) elif data.dtype == np.float32: data = np.interp( data, (-1, 1), (np.iinfo(np.int16).min, np.iinfo(np.int16).max), ) x = np.array(data, dtype=outdtype) file_len = x.shape[0] if x.ndim == 1: Loading Loading @@ -120,11 +107,9 @@ 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) ) clipped_samples = np.sum(np.logical_or(x < np.iinfo(np.int16).min, x > np.iinfo(np.int16).max)) if clipped_samples > 0: warnings.warn(f" Warning: {clipped_samples} samples clipped") 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": Loading Loading @@ -504,6 +489,7 @@ def loudnessinfo( in_sig: np.ndarray, in_fs: Optional[int] = 48000, in_format: Optional[str] = "MONO", in_ls_layout_file: Optional[str] = None, output_loudness: Optional[int] = -26, loudness_tool: Optional[str] = "bs1770demo", use_rms: Optional[bool] = False, Loading Loading @@ -538,10 +524,13 @@ def loudnessinfo( else: null_file = "/dev/null" # check for binary if shutil.which(loudness_tool) is None: raise FileNotFoundError(f"The binary {loudness_tool} was not found in path!") in_spfmt = spatialaudioformat.Format(in_format=in_format) in_spfmt = spatialaudioformat.Format( in_format=in_format, ls_layout_file=in_ls_layout_file ) if not (in_spfmt.isheadphones or in_spfmt.isloudspeaker or in_spfmt.ambi_order > 1): raise NotImplementedError( Loading @@ -554,7 +543,7 @@ def loudnessinfo( ) with TemporaryDirectory() as tmp_dir: tmp_file = os.path.join(tmp_dir, "tmp_loudness.pcm") tmp_file = os.path.join(tmp_dir, "tmp.pcm") if "bs1770demo" in loudness_tool: """ Loading Loading
scripts/pyaudio3dtools/audiofile.py +8 −19 Original line number Diff line number Diff line Loading @@ -35,7 +35,6 @@ import platform import shutil import struct import subprocess as sp import warnings from importlib import import_module from tempfile import TemporaryDirectory from typing import Optional, Tuple Loading Loading @@ -74,18 +73,6 @@ def readfile( if file_extension == ".wav": fs, data = wav.read(filename) if data.dtype == np.int32: data = np.interp( data, (np.iinfo(np.int32).min, np.iinfo(np.int32).max), (np.iinfo(np.int16).min, np.iinfo(np.int16).max), ) elif data.dtype == np.float32: data = np.interp( data, (-1, 1), (np.iinfo(np.int16).min, np.iinfo(np.int16).max), ) x = np.array(data, dtype=outdtype) file_len = x.shape[0] if x.ndim == 1: Loading Loading @@ -120,11 +107,9 @@ 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) ) clipped_samples = np.sum(np.logical_or(x < np.iinfo(np.int16).min, x > np.iinfo(np.int16).max)) if clipped_samples > 0: warnings.warn(f" Warning: {clipped_samples} samples clipped") 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": Loading Loading @@ -504,6 +489,7 @@ def loudnessinfo( in_sig: np.ndarray, in_fs: Optional[int] = 48000, in_format: Optional[str] = "MONO", in_ls_layout_file: Optional[str] = None, output_loudness: Optional[int] = -26, loudness_tool: Optional[str] = "bs1770demo", use_rms: Optional[bool] = False, Loading Loading @@ -538,10 +524,13 @@ def loudnessinfo( else: null_file = "/dev/null" # check for binary if shutil.which(loudness_tool) is None: raise FileNotFoundError(f"The binary {loudness_tool} was not found in path!") in_spfmt = spatialaudioformat.Format(in_format=in_format) in_spfmt = spatialaudioformat.Format( in_format=in_format, ls_layout_file=in_ls_layout_file ) if not (in_spfmt.isheadphones or in_spfmt.isloudspeaker or in_spfmt.ambi_order > 1): raise NotImplementedError( Loading @@ -554,7 +543,7 @@ def loudnessinfo( ) with TemporaryDirectory() as tmp_dir: tmp_file = os.path.join(tmp_dir, "tmp_loudness.pcm") tmp_file = os.path.join(tmp_dir, "tmp.pcm") if "bs1770demo" in loudness_tool: """ Loading