NotProwler commited on
Commit
adafa72
·
verified ·
1 Parent(s): 5863a01

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +34 -0
app.py CHANGED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
3
+ import torchaudio
4
+ from audiocraft.models import MusicGen
5
+ from audiocraft.data.audio import audio_write
6
+
7
+ @st.cache_resource
8
+ def load_musicgen_model():
9
+ model = MusicGen.get_pretrained('melody')
10
+ model.set_generation_params(duration=10)
11
+ return model
12
+
13
+ st.title("Mood-Based Music Generator 🎶")
14
+ st.write("Generate a personalized song based on how you feel today.")
15
+
16
+ mood = st.selectbox(
17
+ "Select your mood today:",
18
+ ("Happy", "Sad", "Energetic", "Calm", "Romantic", "Mysterious")
19
+ )
20
+
21
+ prompt = st.text_input("What's on your mind?", "Describe a scene or feeling")
22
+
23
+ model = load_musicgen_model()
24
+
25
+ if st.button("Generate Song"):
26
+ description = f"{mood.lower()} {prompt.lower()}"
27
+
28
+ audio_output = model.generate([description])
29
+
30
+ audio_write("generated_song", audio_output[0].cpu(), model.sample_rate)
31
+
32
+ st.audio("generated_song.wav", format="audio/wav")
33
+
34
+ st.write("Enjoy your personalized music experience! 🎼")