in augment/effects.py [0:0]
def instantiate(self):
"""
>>> import random; random.seed(7)
>>> effect = SoxEffect("pitch", [lambda: random.randint(-100, 100)])
>>> effect.instantiate()
['pitch', ['-18']]
>>> effect.instantiate()
['pitch', ['-62']]
"""
instantiated_args = []
for arg in self.args:
if callable(arg):
arg = arg()
if isinstance(arg, list):
instantiated_args.extend([str(v) for v in arg])
else:
instantiated_args.append(str(arg))
else:
instantiated_args.append(str(arg))
return [self.name, instantiated_args]