Spaces:
Running
Running
import gradio as gr | |
from transformers import pipeline | |
# Step 1: Initialize the text-generation pipeline | |
pipe = pipeline("text-generation", model="sambanovasystems/SambaLingo-Bulgarian-Base") | |
# Step 2: Define a function to generate Bulgarian text and convert it to TTS | |
def generate_and_speak(prompt): | |
# Generate text using the model | |
generated_text = pipe(prompt, max_length=50, num_return_sequences=1)[0]["generated_text"] | |
# Placeholder: Simulating TTS (you can replace this with an actual TTS library) | |
from gtts import gTTS | |
tts = gTTS(generated_text, lang="bg") | |
audio_file = "output.mp3" | |
tts.save(audio_file) | |
return generated_text, audio_file | |
# Step 3: Create Gradio interface | |
with gr.Blocks() as demo: | |
gr.Markdown("## Bulgarian Text Generator and TTS") | |
with gr.Row(): | |
input_prompt = gr.Textbox(label="Enter a prompt in Bulgarian:") | |
with gr.Column(): | |
output_text = gr.Textbox(label="Generated Text") | |
output_audio = gr.Audio(label="Generated Speech", type="filepath") # Changed "file" to "filepath" | |
generate_button = gr.Button("Generate") | |
generate_button.click(generate_and_speak, inputs=input_prompt, outputs=[output_text, output_audio]) | |
# Run the app | |
if __name__ == "__main__": | |
demo.launch() | |