GH111 commited on
Commit
e9d63b2
·
1 Parent(s): 7330e00

create app.py

Browse files
Files changed (1) hide show
  1. app.py +53 -0
app.py ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ from transformers import pipeline
3
+ from responsivevoice import ResponsiveVoice
4
+ import random
5
+
6
+ # Pre-trained text-to-speech model
7
+ tts_model = ResponsiveVoice()
8
+
9
+ # Choose a pre-trained language model for story generation
10
+ model_name = "gpt2"
11
+
12
+ # Initialize pipeline for text generation
13
+ generator = pipeline("text-generation", model=model_name)
14
+
15
+ # Define supported languages
16
+ languages = ["en", "fr", "es", "de", "it"]
17
+
18
+ def translate_text(text, target_language):
19
+ translator = Translator()
20
+ translated_text = translator.translate(text, dest=target_language).text
21
+ return translated_text
22
+
23
+ def generate_and_narrate_story(prompt, language):
24
+ # Generate story based on prompt
25
+ story = generator(prompt, max_length=1024)[0]["generated_text"]
26
+
27
+ # Translate story to chosen language
28
+ if language != "en":
29
+ translated_story = translate_text(story, language)
30
+ else:
31
+ translated_story = story
32
+
33
+ # Speak the story using the text-to-speech model
34
+ tts_model.speak(translated_story, language)
35
+
36
+ # Streamlit app initialization
37
+ st.title("AI Storytelling App")
38
+
39
+ # Prompt input
40
+ prompt = st.text_input("Start your story with...")
41
+
42
+ # Language selector
43
+ language = st.selectbox("Choose narration language:", languages)
44
+
45
+ # Generate story button
46
+ if st.button("Generate and Narrate Story"):
47
+ with st.spinner("Generating and narrating your story..."):
48
+ generate_and_narrate_story(prompt, language)
49
+
50
+ # Disclaimer
51
+ st.write("* This app is still under development and may not always generate accurate or coherent results.")
52
+ st.write("* Please be mindful of the content generated by the AI model.")
53
+