arhanv's picture
ported audio_utils and inference from colab
1f5d38f
raw
history blame
1.03 kB
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)