Spaces:
Sleeping
Sleeping
| # Streamlit main app placeholder | |
| import streamlit as st | |
| from utils.audio_utils import process_audio, save_audio | |
| from utils.visualizer import show_equalizer, karaoke_lyrics | |
| from firebase_config import firebase_auth_check | |
| import os | |
| st.set_page_config(page_title="AI Voice Cloner & Singer", layout="wide") | |
| st.markdown('<link rel="stylesheet" href="style.css">', unsafe_allow_html=True) | |
| st.title("π€ AI Voice Cloner & Singer App") | |
| firebase_auth_check() | |
| user_audio = st.file_uploader("Upload Your Voice Sample (Male/Female)", type=['wav', 'mp3']) | |
| ref_audio = st.file_uploader("Upload Target Singer Audio", type=['wav', 'mp3']) | |
| gender = st.radio("Select Target Voice Gender:", ("Male", "Female", "Both")) | |
| enable_eq = st.checkbox("Show Real-Time Frequency Spectrum Visualizer πΆ") | |
| show_lyrics = st.checkbox("Show Karaoke Lyrics Sync (If Available) π€") | |
| if st.button("Convert Voice"): | |
| if user_audio and ref_audio: | |
| output_path = process_audio(user_audio, ref_audio, gender) | |
| st.audio(output_path) | |
| if enable_eq: | |
| show_equalizer(output_path) | |
| if show_lyrics: | |
| karaoke_lyrics(output_path) | |
| save_audio(output_path) | |
| st.success("β Conversion Done!") | |
| else: | |
| st.error("Please upload both your voice and target singer voice.") | |