wonderlore / app.py
GH111's picture
update app.py
acd218e
raw
history blame
1.27 kB
import streamlit as st
from transformers import pipeline
from googletrans import Translator
from gtts import gTTS
from playsound import playsound
# Define language models and initialize pipelines
bart_model_name = "facebook/bart-large"
bart_pipeline = pipeline("text-generation", model=bart_model_name)
# Define translator
translator = Translator()
# Function to generate text and translate to desired language
def generate_and_translate_text(prompt, target_lang):
# Generate text
generated_text = bart_pipeline(prompt)[0]["generated_text"]
# Translate text
if target_lang != "en":
translated_text = translator.translate(generated_text, dest=target_lang).text
return translated_text
else:
return generated_text
# Function to convert text to speech
def text_to_speech(text):
# Create audio file
audio_file = gTTS(text)
audio_file.save("story.mp3")
# Play audio file
playsound("story.mp3")
# User input
prompt = input("Enter your story prompt: ")
target_lang = input("Choose target language (default: English): ")
# Generate and translate story text
story_text = generate_and_translate_text(prompt, target_lang)
print(f"Story: {story_text}")
# Convert story text to speech
text_to_speech(story_text)