import gradio as gr from gtts import gTTS import os def text_to_speech(prompt): # 입력된 Bulgarian 텍스트를 음성으로 변환 tts = gTTS(text=prompt, lang="bg") # 'bg'는 Bulgarian 언어 코드입니다. audio_file = "output.mp3" tts.save(audio_file) # 파일 경로 대신 바이너리 데이터를 반환합니다. with open(audio_file, "rb") as f: audio_binary = f.read() # 임시 파일 삭제 os.remove(audio_file) return audio_binary with gr.Blocks() as demo: gr.Markdown("## Bulgarian Text-to-Speech (TTS)") with gr.Row(): input_prompt = gr.Textbox(label="Enter a prompt in Bulgarian:") # gr.Audio의 type을 "binary"로 지정하여 파일 경로 대신 바이너리 데이터를 사용합니다. output_audio = gr.Audio(label="Generated Speech", type="binary") generate_button = gr.Button("Generate Speech") generate_button.click(text_to_speech, inputs=input_prompt, outputs=output_audio) if __name__ == "__main__": demo.launch()