requirements.txt updated @torch1.4
speed augmentation updated paramters updated
This commit is contained in:
@ -9,18 +9,19 @@ import numpy as np
|
||||
|
||||
class Speed(object):
|
||||
|
||||
def __init__(self, max_ratio=0.3, speed_factor=1):
|
||||
self.speed_factor = speed_factor
|
||||
self.max_ratio = max_ratio
|
||||
def __init__(self, max_amount=0.3, speed_min=1, speed_max=1):
|
||||
self.speed_max = speed_max
|
||||
self.speed_min = speed_min
|
||||
self.max_amount = max_amount
|
||||
|
||||
def __call__(self, x):
|
||||
if not all([self.speed_factor, self.max_ratio]):
|
||||
return x
|
||||
start = int(np.random.randint(0, x.shape[-1],1))
|
||||
end = int((np.random.uniform(0, self.max_ratio, 1) * x.shape[-1]) + start)
|
||||
assert all([self.speed_min, self.speed_max, self.max_amount])
|
||||
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]
|
||||
end = int(width + start)
|
||||
end = min(end, x.shape[-1])
|
||||
try:
|
||||
speed_factor = float(np.random.uniform(min(self.speed_factor, 1), max(self.speed_factor, 1), 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)
|
||||
return np.concatenate((x[:start], aug_data, x[end:]), axis=0)[:x.shape[-1]]
|
||||
except ValueError:
|
||||
|
Reference in New Issue
Block a user