# Utils import os import soundfile as sf # Streamlit import streamlit as st # Custom elements from elements.component import ( centered_text, ) from elements.session_states import ( init_session_state, update_session_state, update_model, ) from elements.tts import ( generate_voice, ) st.set_page_config( page_title = "Nix-TTS Interactive Demo", page_icon = "🐤", ) # Initiate stuffs init_session_state() # --------------------------------------------------------------------------------- # Description centered_text("🐤 Nix-TTS Interactive Demo") centered_text("Lightweight and End-to-end Text-to-Speech via Module-wise Distillation", "h5") st.write(" ") mode = "p" st.markdown( f"<{mode} style='text-align: left;'>🗒️ This is a demo from our latest paper, Nix-TTS (Accepted to IEEE SLT 2022)
      You can access the paper and the released models here
      Authors: Rendi Chevi, Radityo Eko Prasojo, Alham Fikri Aji, Andros Tjandra, Sakriani Sakti Aji.
      Corresponding Author: Rendi Chevi, rendi.chevi@{kata.ai, gmail.com}
", unsafe_allow_html = True ) # Model demo st.write(" ") st.write(" ") col1, col2 = st.columns(2) with col1: input_text = st.text_input( "Input Text", value = "Born to multiply, born to gaze into night skies.", ) with col2: model_variant = st.selectbox("Choose Model Variant", options = ["Deterministic", "Stochastic"], index = 1) if model_variant != st.session_state.model_variant: # Update variant choice update_session_state("model_variant", model_variant) # Re-load model update_model() button_gen = st.button("Generate Voice") if button_gen == True: generate_voice(input_text)