Spaces:
Running on Zero
Running on Zero
| 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 |