Fix for ffmpeg return code false positive errors

This commit is contained in:
Raivis Dejus 2024-10-04 11:24:13 +03:00
parent 25639fc17d
commit 76db75f5b5

View File

@ -51,15 +51,16 @@ def load_audio(file: str, sr: int = SAMPLE_RATE):
"-ac", "1", "-ac", "1",
"-acodec", "pcm_s16le", "-acodec", "pcm_s16le",
"-ar", str(sr), "-ar", str(sr),
"-loglevel", "error",
"-" "-"
] ]
# fmt: on # fmt: on
try: result = run(cmd, capture_output=True)
out = run(cmd, capture_output=True, check=True).stdout
except CalledProcessError as e:
raise RuntimeError(f"Failed to load audio: {e.stderr.decode()}") from e
return np.frombuffer(out, np.int16).flatten().astype(np.float32) / 32768.0 if len(result.stderr):
raise RuntimeError(f"Failed to load audio: {result.stderr.decode()}")
return np.frombuffer(result.stdout, np.int16).flatten().astype(np.float32) / 32768.0
def pad_or_trim(array, length: int = N_SAMPLES, *, axis: int = -1): def pad_or_trim(array, length: int = N_SAMPLES, *, axis: int = -1):