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() | |