ipreetichouhan's picture
Added App files
108ccb4 verified
from TTSInferencing import TTSInferencing
from speechbrain.inference.vocoders import HIFIGAN
# import torchaudio
import streamlit as st
import numpy as np
tts_model = TTSInferencing.from_hparams(source="./",
hparams_file='./hyperparams.yaml',
pymodule_file='./module_classes.py',
# savedir="./",
)
hifi_gan = HIFIGAN.from_hparams(source="speechbrain/tts-hifigan-ljspeech")
# text = ["Hello I am a girl", "How is your day going", "I hope you are doing well"]
# Input text
text_input = st.text_input("Enter your text here")
# Check if the input is a list
if isinstance(text_input, str):
# Convert the input to a list
text = [text_input]
else:
text = text_input
if st.button("Synthesize Speech"):
if text:
mel_outputs = tts_model.encode_batch(text)
waveforms = hifi_gan.decode_batch(mel_outputs)
waveform = waveforms[0].squeeze(1).numpy()
# Normalize the waveform to the range [-1, 1] if necessary
if np.max(np.abs(waveform)) > 1.0:
waveform /= np.max(np.abs(waveform))
# Display the audio widget to play the synthesized speech
st.audio(waveform, format="audio/wav", sample_rate = 22050)
else:
st.error("Please enter text to get the speech.")