Spaces:
Running
Running
| import torch | |
| import torchaudio | |
| from speechbrain.inference.TTS import Tacotron2 | |
| from speechbrain.inference.vocoders import HIFIGAN | |
| from speechbrain.inference.TTS import MSTacotron2 | |
| #%% | |
| def TTS(INPUT_TEXT: object,CHOİCE:object) -> object: | |
| ms_tacotron2 = MSTacotron2.from_hparams(source="speechbrain/tts-mstacotron2-libritts", savedir="pretrained_models/tts-mstacotron2-libritts") | |
| hifi_gan = HIFIGAN.from_hparams(source="speechbrain/tts-hifigan-libritts-22050Hz", savedir="pretrained_models/tts-hifigan-libritts-22050Hz") | |
| if CHOİCE == "Female": | |
| tacotron2 = Tacotron2.from_hparams(source="speechbrain/tts-tacotron2-ljspeech", savedir="tmpdir_tts") | |
| hifi_gan = HIFIGAN.from_hparams(source="speechbrain/tts-hifigan-ljspeech", savedir="tmpdir_vocoder") | |
| mel_output, mel_length, alignment = tacotron2.encode_text(INPUT_TEXT) | |
| waveforms = hifi_gan.decode_batch(mel_output) | |
| torchaudio.save('Output/base-TTS.wav',waveforms.squeeze(1), 22050) | |
| elif CHOİCE == "Male": | |
| REFERENCE_SPEECH = "Voice Samples/natural_m.wav" | |
| mel_outputs, mel_lengths, alignments = ms_tacotron2.clone_voice(INPUT_TEXT, REFERENCE_SPEECH) | |
| waveforms = hifi_gan.decode_batch(mel_outputs) | |
| torchaudio.save("Output/base-TTS.wav", waveforms[0], 22050) | |