Spaces:
Build error
Build error
import logging | |
from speechbrain.pretrained import Tacotron2, HIFIGAN | |
import torch | |
import os | |
# Set up logging | |
logging.basicConfig(level=logging.INFO) | |
logger = logging.getLogger(__name__) | |
try: | |
# Load TTS model and vocoder | |
logger.info("Loading Tacotron2 model for TTS...") | |
tts_model = Tacotron2.from_hparams(source="speechbrain/tts-tacotron2-ljspeech", savedir="tmpdir_tts") | |
logger.info("Tacotron2 model loaded successfully!") | |
logger.info("Loading HIFIGAN vocoder...") | |
vocoder = HIFIGAN.from_hparams(source="speechbrain/tts-hifigan-ljspeech", savedir="tmpdir_vocoder") | |
logger.info("HIFIGAN vocoder loaded successfully!") | |
# Define the text to synthesize | |
text = "Hello, I am an AI voice assistant. How can I help you today?" | |
# Run TTS and Vocoder to generate the audio | |
mel_output, mel_length, alignment = tts_model.encode_text(text) | |
waveforms, _ = vocoder.decode_batch(mel_output) | |
# Save the generated waveform as an audio file | |
audio_output_path = "output_audio.wav" | |
logger.info(f"Saving audio to {audio_output_path}...") | |
torch.save(waveforms.squeeze(1), audio_output_path) | |
logger.info(f"Audio saved successfully to {audio_output_path}!") | |
except Exception as e: | |
logger.error(f"Error during the TTS process: {str(e)}") | |