Spaces:
Running
Running
import gradio as gr | |
from gtts import gTTS | |
from pydub import AudioSegment | |
from io import BytesIO | |
def bulgarian_tts(bulgarian_text): | |
# gTTS를 이용해 불가리아어 텍스트를 음성으로 변환 | |
tts = gTTS(text=bulgarian_text, lang="bg") | |
# 메모리 버퍼에 mp3로 저장 후, pydub 오디오 세그먼트로 로딩 | |
audio_buffer = BytesIO() | |
tts.write_to_fp(audio_buffer) | |
audio_buffer.seek(0) | |
tts_audio = AudioSegment.from_file(audio_buffer, format="mp3") | |
# mp3 파일로 내보내기 | |
output_file = "bulgarian_output.mp3" | |
tts_audio.export(output_file, format="mp3") | |
return output_file | |
with gr.Blocks() as demo: | |
gr.Markdown("## Bulgarian Text-to-Speech (TTS)") | |
# 단일 불가리아어 입력만 받도록 구성 | |
bulgarian_input = gr.Textbox(label="Enter Bulgarian Text:", placeholder="Здравейте") | |
output_audio = gr.Audio(label="Generated Speech", type="filepath") | |
generate_button = gr.Button("Generate Speech") | |
# 불가리아어 텍스트만 받아 TTS 오디오 파일 생성 | |
generate_button.click( | |
bulgarian_tts, | |
inputs=bulgarian_input, | |
outputs=output_audio | |
) | |
if __name__ == "__main__": | |
demo.launch() | |