speed aug fixed
This commit is contained in:
@@ -11,18 +11,24 @@ class Speed(object):
|
|||||||
|
|
||||||
def __init__(self, max_amount=0.3, speed_min=1, speed_max=1):
|
def __init__(self, max_amount=0.3, speed_min=1, speed_max=1):
|
||||||
self.speed_max = speed_max
|
self.speed_max = speed_max
|
||||||
self.speed_min = speed_min
|
self.speed_min = speed_min if speed_min else 1
|
||||||
self.max_amount = max_amount
|
self.max_amount = speed_max if speed_max else 1
|
||||||
|
|
||||||
def __call__(self, x):
|
def __call__(self, x):
|
||||||
assert all([self.speed_min, self.speed_max, self.max_amount])
|
if self.speed_min == 1 and self.speed_max == 1:
|
||||||
|
return x
|
||||||
start = int(np.random.randint(low=0, high=x.shape[-1], size=1))
|
start = int(np.random.randint(low=0, high=x.shape[-1], size=1))
|
||||||
width = np.random.uniform(low=0, high=self.max_amount, size=1) * x.shape[-1]
|
width = np.random.uniform(low=0, high=self.max_amount, size=1) * x.shape[-1]
|
||||||
end = int(width + start)
|
end = int(width + start)
|
||||||
end = min(end, x.shape[-1])
|
end = min(end, x.shape[-1])
|
||||||
try:
|
try:
|
||||||
speed_factor = float(np.random.uniform(low=self.speed_min, high=self.speed_max, size=1))
|
speed_factor = float(np.random.uniform(low=self.speed_min, high=self.speed_max, size=1))
|
||||||
aug_data = librosa.effects.time_stretch(x[start:end], speed_factor)
|
aug_data = librosa.effects.time_stretch(y=x[start:end], rate=speed_factor)
|
||||||
return np.concatenate((x[:start], aug_data, x[end:]), axis=0)[:x.shape[-1]]
|
x_aug = np.concatenate((x[:start], aug_data, x[end:]), axis=0)[:x.shape[-1]]
|
||||||
|
if speed_factor > 1:
|
||||||
|
embedding = np.zeros_like(x)
|
||||||
|
embedding[:x_aug.shape[0]] = x_aug
|
||||||
|
x_aug = embedding
|
||||||
|
return x_aug
|
||||||
except ValueError:
|
except ValueError:
|
||||||
return x
|
return x
|
||||||
|
|||||||
Reference in New Issue
Block a user