Spaces:
Running on Zero
Running on Zero
| import numpy as np | |
| def norm(X_pad): | |
| mean_x = X_pad.mean() | |
| var_x = X_pad.var() | |
| return np.array([(x - mean_x) / np.sqrt(var_x + 1e-7) for x in X_pad]) | |
| def pad(x, max_len=64600): | |
| x_len = x.shape[0] | |
| if x_len >= max_len: | |
| return x[:max_len] | |
| # need to pad | |
| num_repeats = int(max_len / x_len) + 1 | |
| padded_x = np.tile(x, (1, num_repeats))[:, :max_len][0] | |
| return padded_x | |
| def pad_random(x: np.ndarray, max_len: int = 64600): | |
| x_len = x.shape[0] | |
| # if duration is already long enough | |
| if x_len > max_len: | |
| stt = np.random.randint(x_len - max_len) | |
| return x[stt:stt + max_len] | |
| # if too short | |
| num_repeats = int(max_len / x_len) + 1 | |
| padded_x = np.tile(x, (num_repeats))[:max_len] | |
| return padded_x |