Spaces:
Sleeping
Sleeping
import streamlit as st | |
page_bg_img = f""" | |
<style> | |
[data-testid="stAppViewContainer"] > .main {{ | |
background-image: url("https://i.postimg.cc/4xgNnkfX/Untitled-design.png"); | |
background-size: cover; | |
background-position: center center; | |
background-repeat: no-repeat; | |
background-attachment: local; | |
}} | |
[data-testid="stHeader"] {{ | |
background: rgba(0,0,0,0); | |
}} | |
.stTitle {{ | |
color: #ffffff; | |
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); | |
}} | |
.stSubheader {{ | |
color: #ffffff; | |
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); | |
}} | |
.link-icon {{ | |
display: flex; | |
align-items: center; | |
margin-bottom: 10px; | |
}} | |
.link-icon img {{ | |
margin-right: 10px; | |
}} | |
.footer {{ | |
text-align: center; | |
padding: 20px; | |
background: rgba(0, 0, 0, 0.7); | |
color: white; | |
border-top: 1px solid #ddd; | |
margin-top: 30px; | |
}} | |
</style> | |
""" | |
st.markdown(page_bg_img, unsafe_allow_html=True) | |
audioldm_exmples_input_paths = [] | |
audioldm_exmples_original_paths = [] | |
exmples_prompts = ["wiwi", "pipi", "wifi"] | |
st.title('Drums Generation in Different Models') | |
st.subheader('Upload your audio file to process with AudioLDM2 or StableAudio') | |
uploaded_file = st.file_uploader("Choose an audio file", type=["wav", "mp3", "ogg"]) | |
model_choice = st.selectbox('Choose a model for processing', ('AudioLDM2', 'StableAudio')) | |
prompt_text = st.text_input('Enter a prompt for the audio processing') | |
start_point = st.slider('Choose a starting point for the audio (seconds)', 0.0, 60.0, 0.0) | |
output_length = st.slider('Choose the length of the output audio (seconds)', 1.0, 60.0, 10.0) | |
st.markdown('**Note:** Longer audio takes more time to generate.') | |
if uploaded_file is not None and prompt_text: | |
st.audio(uploaded_file, format="audio/mpeg") | |
# Dummy processing function to demonstrate functionality | |
def process_audio(file, model, prompt, start, length): | |
# Replace this with actual audio processing code | |
processed_audio_path = "processed_audio.wav" | |
return processed_audio_path | |
if st.button('Process Audio'): | |
processed_audio = process_audio(uploaded_file, model_choice, prompt_text, start_point, output_length) | |
st.audio(processed_audio, format="audio/mpeg", loop=False) | |
st.download_button(label="Download Processed Audio", data=processed_audio, file_name="processed_audio.wav", mime="audio/wav") | |
st.markdown("---") | |
st.header("Examples") | |
example_columns = st.columns(4) | |
example_titles = ["Original Audio", "Separated Audio", "AudioLDM2", "StableAudio"] | |
for col, title in zip(example_columns, example_titles): | |
col.subheader(title) | |
for p in exmples_prompts: | |
with st.container(): | |
st.write(f"Prompt: {p}") | |
audio_columns = st.columns(4) | |
for col in audio_columns: | |
col.audio("goodres.wav", format="audio/mpeg", loop=False) | |
st.markdown("<hr style='border: 1px solid #ddd;'>", unsafe_allow_html=True) | |
# Links Section | |
st.markdown("## Useful Links") | |
links = [ | |
{"url": "https://example.com", "type": "Regular Website", "text": "This is a regular website"}, | |
{"url": "https://github.com/example", "type": "GitHub", "text": "This is a GitHub repository"}, | |
{"url": "https://colab.research.google.com", "type": "Google Colab", "text": "This is a Google Colab link"} | |
] | |
# Dictionary to hold logo URLs | |
logo_urls = { | |
"GitHub": "https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png", | |
"Google Colab": "https://colab.research.google.com/img/colab_favicon_256px.png" | |
} | |
# Render links with icons | |
for link in links: | |
if link["type"] in logo_urls: | |
st.markdown(f""" | |
<div class="link-icon"> | |
<img src="{logo_urls[link['type']]}" alt="{link['type']} logo" width="24"> | |
<a href="{link['url']}" target="_blank">{link['text']}</a> - *{link['type']}* | |
</div> | |
""", unsafe_allow_html=True) | |
else: | |
st.markdown(f"[{link['text']}]({link['url']}) - *{link['type']}*") | |
# Footer | |
st.markdown(""" | |
<div class="footer"> | |
Made with ❤️ using Streamlit | |
</div> | |
""", unsafe_allow_html=True) | |