Spaces:
Sleeping
Sleeping
import gradio as gr | |
from ttsmms import download, TTS | |
from langdetect import detect | |
# Download and load TTS models for Swahili and English | |
swahili_dir = download("swh", "./data/swahili") | |
english_dir = download("eng", "./data/english") # Ensure an English TTS model is available | |
swahili_tts = TTS(swahili_dir) | |
english_tts = TTS(english_dir) | |
# Function to detect language and generate speech | |
def text_to_speech(text): | |
lang = detect(text) # Detect language | |
wav_path = "./output.wav" | |
if lang == "sw": # Swahili | |
swahili_tts.synthesis(text, wav_path=wav_path) | |
else: # Default to English if not Swahili | |
english_tts.synthesis(text, wav_path=wav_path) | |
return wav_path | |
# Gradio UI | |
gr.Interface( | |
fn=text_to_speech, | |
inputs=gr.Textbox(label="Enter Text"), | |
outputs=gr.Audio(label="Generated Speech"), | |
title="Swahili & English Text-to-Speech", | |
description="Type text and listen to the generated speech in Swahili or English.", | |
).launch() | |