from __future__ import annotations import numpy as np import config def truncate_or_left_pad(audio: np.ndarray, n_seconds: int=config.SMART_TURN_WINDOW_SECONDS, sample_rate: int=config.SAMPLE_RATE) -> np.ndarray: audio = np.asarray(audio, dtype=np.float32) max_samples = n_seconds * sample_rate if len(audio) > max_samples: return audio[-max_samples:] if len(audio) < max_samples: padding = max_samples - len(audio) return np.pad(audio, (padding, 0), mode='constant', constant_values=0) return audio