From 62db10a1227cc706149046da61489e170d4a8775 Mon Sep 17 00:00:00 2001 From: Justin John <34035011+justinjohn0306@users.noreply.github.com> Date: Mon, 18 Sep 2023 16:35:33 +0530 Subject: [PATCH] Update fakeyou_rvc_tts_infer.py --- .../rvc-v2-justin/fakeyou_rvc_tts_infer.py | 29 +++++++++++++++---- 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/voice_conversion/rvc-v2-justin/fakeyou_rvc_tts_infer.py b/voice_conversion/rvc-v2-justin/fakeyou_rvc_tts_infer.py index 6e9974b..f3c45ad 100644 --- a/voice_conversion/rvc-v2-justin/fakeyou_rvc_tts_infer.py +++ b/voice_conversion/rvc-v2-justin/fakeyou_rvc_tts_infer.py @@ -3,7 +3,11 @@ from piper import PiperVoice import wave import argparse from scipy.io import wavfile +import tqdm as tq +from multiprocessing import cpu_count + +# Environment and GPU Info print("Env vars:") print(os.environ) print('========================================') @@ -16,11 +20,8 @@ print('========================================', flush=True) now_dir = os.getcwd() sys.path.append(now_dir) -import sys -import torch -import tqdm as tq -from multiprocessing import cpu_count +# Config Class class Config: def __init__(self, device, is_half): self.device = device @@ -58,12 +59,20 @@ class Config: x_max = 32 return x_pad, x_query, x_center, x_max -parser = argparse.ArgumentParser(description='Run TTS and VC inference') +# Argument Parser +parser = argparse.ArgumentParser(description='Run Piper-TTS and RVC inference') +# Arguments for Piper-TTS parser.add_argument('--tts_model_path', type=str, required=True) parser.add_argument('--tts_config_path', type=str, required=True) parser.add_argument('--text', type=str, required=True) +# Additional Arguments for Piper TTS +parser.add_argument('--length_scale', type=float, required=False, default=1.0, help='Phoneme length scale for TTS') +parser.add_argument('--noise_scale', type=float, required=False, default=0.5, help='Noise scale for TTS') +parser.add_argument('--noise_w', type=float, required=False, default=0.3, help='Phoneme width noise for TTS') +parser.add_argument('--sentence_silence', type=float, required=False, default=0.0, help='Seconds of silence after each sentence in TTS') + parser.add_argument('--model_path', type=str, required=True) parser.add_argument('--model_index_path', type=str, required=False, default='') parser.add_argument('--hubert_model_path', type=str, required=False, default='hubert_base.pt') @@ -81,9 +90,17 @@ parser.add_argument('--is_half', type=bool, required=False, default=False) args = parser.parse_args() +# Load Piper Voice with additional settings voice = PiperVoice.load(model_path=args.tts_model_path, config_path=args.tts_config_path) +synthesize_args = { + "length_scale": args.length_scale, + "noise_scale": args.noise_scale, + "noise_w": args.noise_w, + "sentence_silence": args.sentence_silence, +} + with wave.open('temp.wav', "wb") as wav_file: - voice.synthesize(args.text, wav_file) + voice.synthesize(args.text, wav_file, **synthesize_args) config = Config(args.device, args.is_half) now_dir = os.getcwd()