Spaces:
Running
Running
import gradio as gr | |
from transformers import AutoModelForCausalLM, AutoTokenizer | |
from TTS.api import TTS # Coqui TTS ๋ผ์ด๋ธ๋ฌ๋ฆฌ | |
# ๋ถ๊ฐ๋ฆฌ์์ด ํ ์คํธ ์์ฑ ๋ชจ๋ธ ๋ก๋ | |
model_name = "mradermacher/SambaLingo-Bulgarian-Base-i1-GGUF" | |
tokenizer = AutoTokenizer.from_pretrained(model_name) | |
model = AutoModelForCausalLM.from_pretrained(model_name) | |
# ๋ถ๊ฐ๋ฆฌ์์ด TTS ๋ชจ๋ธ ๋ก๋ (Coqui TTS) | |
tts = TTS(model_name="tts_models/bg/cv/vits", progress_bar=False) | |
# ํ ์คํธ ์์ฑ ๋ฐ TTS ๋ณํ ํจ์ | |
def generate_audio(input_text): | |
# ํ ์คํธ ์์ฑ | |
inputs = tokenizer.encode(input_text, return_tensors="pt") | |
outputs = model.generate(inputs, max_length=100, num_return_sequences=1) | |
generated_text = tokenizer.decode(outputs[0], skip_special_tokens=True) | |
# TTS ๋ณํ | |
audio_path = "output.wav" | |
tts.tts_to_file(text=generated_text, file_path=audio_path) | |
return audio_path | |
# Gradio ์ธํฐํ์ด์ค ์์ฑ | |
interface = gr.Interface( | |
fn=generate_audio, | |
inputs=gr.Textbox(lines=5, label="๋ถ๊ฐ๋ฆฌ์์ด ํ ์คํธ ์ ๋ ฅ"), | |
outputs=gr.Audio(label="์์ฑ๋ ์์ฑ"), | |
title="๋ถ๊ฐ๋ฆฌ์์ด ํ ์คํธ ์์ฑ ๋ฐ ์์ฑ ๋ณํ", | |
description="๋ถ๊ฐ๋ฆฌ์์ด ํ ์คํธ๋ฅผ ์ ๋ ฅํ๋ฉด ๋ชจ๋ธ์ด ํ ์คํธ๋ฅผ ์์ฑํ๊ณ ์ด๋ฅผ ์์ฑ์ผ๋ก ๋ณํํฉ๋๋ค." | |
) | |
# ์น ์ฑ ์คํ | |
interface.launch() | |