Spaces:
Sleeping
Sleeping
# app.py | |
import streamlit as st | |
from finalproject import generate_reversible_audio, plot_spectrogram | |
from scipy.io.wavfile import write as write_wav | |
import tempfile | |
st.title("Reversible Audio Generation") | |
prompt1 = st.text_input("Prompt 1 (forward direction)", "A dog barking") | |
prompt2 = st.text_input("Prompt 2 (reverse direction)", "A cat meowing") | |
if st.button("Generate Audio"): | |
with st.spinner("Generating..."): | |
spec, audio, flipped_spec, flipped_audio = generate_reversible_audio(prompt1, prompt2) | |
# Display spectrograms | |
st.subheader("Forward Spectrogram") | |
st.image("data:image/png;base64," + plot_spectrogram(spec)) | |
st.subheader("Reverse Spectrogram") | |
st.image("data:image/png;base64," + plot_spectrogram(flipped_spec)) | |
# Save and play audio | |
with tempfile.NamedTemporaryFile(suffix=".wav", delete=False) as f1: | |
write_wav(f1.name, 16000, audio) | |
st.audio(f1.name, format="audio/wav") | |
with tempfile.NamedTemporaryFile(suffix=".wav", delete=False) as f2: | |
write_wav(f2.name, 16000, flipped_audio) | |
st.audio(f2.name, format="audio/wav") | |