Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
import streamlit as st | |
import os | |
import librosa | |
import soundfile as sf | |
import numpy as np | |
from inference import generate_drum_kit | |
from audio_utils import play_audio | |
# Streamlit UI | |
st.title("Generate Drum Kits with Text") | |
# User Inputs | |
prompt = st.text_input("Describe your drum kit (e.g., 'warm vintage')", "8-bit video game") | |
kit_size = st.slider("Number of sounds per instrument:", 1, 10, 4) | |
# Run the inference | |
if st.button("Generate Drum Kit"): | |
drum_kit = generate_drum_kit(prompt, kit_size) | |
st.session_state["drum_kit"] = drum_kit # Store results | |
# Display results | |
if "drum_kit" in st.session_state: | |
drum_kit = st.session_state["drum_kit"] | |
st.subheader("Generated Drum Kit") | |
for instrument, sounds in drum_kit.items(): | |
st.write(f"**{instrument}**") | |
cols = st.columns(len(sounds)) | |
for i, sound_file in enumerate(sounds): | |
with cols[i]: | |
if st.button(f"▶️ {os.path.basename(sound_file)}", key=sound_file): | |
play_audio(sound_file) |