Orpheus / ui /pages /rating.py
baakaani's picture
changes
61961ee
import streamlit as st
from streamlit_star_rating import st_star_rating
st.set_page_config(initial_sidebar_state="collapsed")
from mega import Mega
import glob
import shutil
import sys
import os
sys.path.append('../../')
sys.path.append('../')
sys.path.append('./')
spectrograms = glob.glob(os.path.join(os.getcwd(),"ui/temp*.npy"))
generated_songs = glob.glob(os.path.join(os.getcwd(),"ui/temp*.wav"))
st.markdown("# Original Song")
for s in st.session_state['song_list']:
st.markdown(f"### {s.split('/')[-1].split('.')[0]}")
st.audio(s, format='audio/wav')
st.markdown("# Generated Song")
st.audio(generated_songs[0], format='audio/wav')
rating = st_star_rating(label="rating", maxValue=10, defaultValue=3)
submit_rating = st.button("Submit Rating")
if submit_rating:
# shutil.copy(generated_songs[0],f"../DataSet/Song/srija_{st.session_state['model_name']}_{st.session_state['song_name']}_{st.session_state['similarity']}_{rating}.wav")
# shutil.copy(spectrograms[0],f"../DataSet/Spec/srija_{st.session_state['model_name']}_{st.session_state['song_name']}_{st.session_state['similarity']}_{rating}.npy")
# st.switch_page("app.py")
# uplaod to mega
mega = Mega()
mega_user_name = os.environ.get('MEGA_USERNAME')
mega_password = os.environ.get('MEGA_PASSWORD')
print("hi")
mega._login_user(mega_user_name,mega_password)
user = st.session_state['user_id'] # Assuming 'srija' is the user
model_name = st.session_state['model_name']
song_name = st.session_state['song_name']
similarity = st.session_state['similarity']
# Construct the dynamic filenames
dynamic_song_name = f"{user}_{model_name}_{song_name}_{similarity}_{rating}.wav"
dynamic_spec_name = f"{user}_{model_name}_{song_name}_{similarity}_{rating}.npy"
folder = mega.find('orpheus_data')
# Rename and upload the generated song
generated_song_path = generated_songs[0]
mega.upload(generated_song_path, folder[0], dest_filename=dynamic_song_name)
# Rename and upload the spectrogram
spectrogram_path = spectrograms[0]
mega.upload(spectrogram_path, folder[0], dest_filename=dynamic_spec_name)
# Provide user feedback (optional)
st.success("Files uploaded successfully!")
st.switch_page("app.py")