Spaces:
Runtime error
Runtime error
Update app.py
Browse files
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! 🎼")
|