Spaces:
Sleeping
Sleeping
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) | |