import streamlit as st import edge_tts import asyncio async def tts(text, language): tts = edge_tts.Communicate(text, voice=language) await tts.save("output.mp3") return "output.mp3" def generate_tts(text, language): return asyncio.run(tts(text, language)) languages = { "English": "en-US-JennyNeural", "Indonesian": "id-ID-GadisNeural", "Korean": "ko-KR-SunHiNeural", "Japanese": "ja-JP-NanamiNeural", "Malaysian": "ms-MY-OsmanNeural" } def get_audio_file(text, lang_key): language = languages[lang_key] return generate_tts(text, language) st.title("Blane TTS") text_input = st.text_area("Input Text") language_input = st.selectbox("Select Language", list(languages.keys())) tts_button = st.button("Generate TTS") if tts_button: audio_file = get_audio_file(text_input, language_input) audio_bytes = open(audio_file, "rb").read() st.audio(audio_bytes, format="audio/mp3")