in svoice/data/data.py [0:0]
def __init__(self, mix_dir, mix_json, batch_size, sample_rate=8000):
"""
Args:
mix_dir: directory including mixture wav files
mix_json: json file including mixture wav files
"""
super(EvalDataset, self).__init__()
assert mix_dir != None or mix_json != None
if mix_dir is not None:
# Generate mix.json given mix_dir
preprocess_one_dir(mix_dir, mix_dir, 'mix',
sample_rate=sample_rate)
mix_json = os.path.join(mix_dir, 'mix.json')
with open(mix_json, 'r') as f:
mix_infos = json.load(f)
# sort it by #samples (impl bucket)
def sort(infos): return sorted(
infos, key=lambda info: int(info[1]), reverse=True)
sorted_mix_infos = sort(mix_infos)
# generate minibach infomations
minibatch = []
start = 0
while True:
end = min(len(sorted_mix_infos), start + batch_size)
minibatch.append([sorted_mix_infos[start:end],
sample_rate])
if end == len(sorted_mix_infos):
break
start = end
self.minibatch = minibatch