audio_anagrams / app.py
Mark Ogata
try 1
3006faa
# 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")