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) | |