def log_audio(model: Tacotron2, iteration: int, logger: Tacotron2Logger, waveglow): text = "Does it work yet?" sequence = array(text_to_sequence(text, ['english_cleaners']))[None, :] sequence = torch.autograd.Variable( torch.from_numpy(sequence)).cuda().long() mel_outputs, mel_outputs_postnet, _, alignments = model.inference(sequence) with torch.no_grad(): audio = waveglow.infer(mel_outputs_postnet, sigma=0.666) logger.add_audio(text, audio[0].data.cpu(), global_step=iteration, sample_rate=hparams.sampling_rate)
def prepare_directories_and_logger(hparams, args): if args.rank == 0: if not os.path.isdir(args.output_directory): os.makedirs(args.output_directory) os.chmod(args.output_directory, 0o775) logger = Tacotron2Logger(os.path.join(args.output_directory, args.log_directory), hparams) else: logger = None return logger
def prepare_directories_and_logger(output_directory, log_directory, rank): if rank == 0: # print("Is this getting executed?") if not os.path.isdir(output_directory): os.makedirs(output_directory) os.chmod(output_directory, 0o775) logger = Tacotron2Logger(log_directory) else: logger = None return logger
def prepare_directories_and_logger(haparms, output_directory, log_directory, rank): if rank == 0: if not os.path.isdir(output_directory): os.makedirs(output_directory) os.chmod(output_directory, 0o775) logger = Tacotron2Logger(os.path.join(output_directory, log_directory), \ hparams.use_mmi, hparams.use_guided_attn_loss) else: logger = None return logger
def prepare_directories_and_logger(output_directory, log_directory, rank, run_name, prj_name, resume): if rank == 0: if not os.path.isdir(os.path.join(output_directory, prj_name, run_name)): os.makedirs(os.path.join(output_directory, prj_name, run_name)) os.chmod(os.path.join(output_directory, prj_name, run_name), 0o775) logger = Tacotron2Logger( run_name, prj_name, os.path.join(log_directory, prj_name, run_name), resume) else: logger = None return logger
def prepare_directories_and_logger(output_directory, log_directory, rank): if rank == 0: log_path = os.path.join(output_directory, log_directory) try: shutil.rmtree(log_path) except: pass if not os.path.isdir(output_directory): os.makedirs(output_directory) os.chmod(output_directory, 0o777) logger = Tacotron2Logger(log_path) else: logger = None return logger
def log_audio(model: Tacotron2, iteration: int, logger: Tacotron2Logger, waveglow, inference_batch, text_encoded, mel): # load source data to obtain rhythm using tacotron 2 as a forced aligner x, y = model.parse_batch(inference_batch) with torch.no_grad(): # get rhythm (alignment map) using tacotron 2 mel_outputs, mel_outputs_postnet, gate_outputs, rhythm = model.forward( x) rhythm = rhythm.permute(1, 0, 2) for emotion in range(4): emotion_id = torch.LongTensor([emotion]).cuda() with torch.no_grad(): mel_outputs, mel_outputs_postnet, gate_outputs, _ = model.inference_noattention( (text_encoded, mel, emotion_id, rhythm)) audio = waveglow.infer(mel_outputs_postnet, sigma=0.8) logger.add_audio(f"Emotion {str(emotion)}", audio[0].data.cpu(), global_step=iteration, sample_rate=hparams.sampling_rate)
def prepare_directories_and_logger(output_directory, log_directory): if not os.path.isdir(output_directory): os.makedirs(output_directory) # os.chmod(output_directory, 0o775) logger = Tacotron2Logger(os.path.join(output_directory, log_directory)) return logger