def run_eval(args, checkpoint_path, output_dir, hparams, sentences): eval_dir = os.path.join(output_dir, 'eval') log_dir = os.path.join(output_dir, 'logs-eval') if args.model == 'Tacotron-2': assert os.path.normpath(eval_dir) == os.path.normpath( args.mels_dir) #mels_dir = wavenet_input_dir #Create output path if it doesn't exist os.makedirs(eval_dir, exist_ok=True) os.makedirs(log_dir, exist_ok=True) os.makedirs(os.path.join(log_dir, 'wavs'), exist_ok=True) os.makedirs(os.path.join(log_dir, 'plots'), exist_ok=True) log(hparams_debug_string()) synth = Synthesizer() synth.load(checkpoint_path, hparams) delta_size = hparams.tacotron_synthesis_batch_size if hparams.tacotron_synthesis_batch_size < len( sentences) else len(sentences) batch_sentences = [ sentences[i:i + hparams.tacotron_synthesis_batch_size] for i in range(0, len(sentences), delta_size) ] start = time.time() for i, batch in enumerate(tqdm(batch_sentences)): audio.save_wav( synth.eval(batch), os.path.join(log_dir, 'wavs', 'eval_batch_{:03}.wav'.format(i)), hparams) log('\nGenerated total batch of {} in {:.3f} sec'.format( delta_size, time.time() - start)) return eval_dir
def run_eval(args): print(hparams_debug_string()) synth = Synthesizer() modified_hp = hparams.parse(args.hparams) synth.load(args.checkpoint, modified_hp) base_path = get_output_base_path(args.checkpoint) for i, text in enumerate(sentences): path = '%s-%d.wav' % (base_path, i) print('Synthesizing: %s' % path) with open(path, 'wb') as f: data,wav = synth.eval(text) f.write(data)