File size: 1,121 Bytes
81abf22
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import streamlit as st
from utils.ai_functions import clone_voice
from utils.data_processing import process_audio_samples, extract_personality_traits

def show_voice_cloning():
    st.title("Voice Cloning")
    st.write("Upload voice samples and define personality traits to recreate lifelike voices.")
    
    samples = st.file_uploader("Upload voice samples (WAV files)", accept_multiple_files=True, type=['wav'])
    traits = st.text_area("Enter personality traits (comma-separated)")
    
    if st.button("Clone Voice"):
        if samples and traits:
            with st.spinner("Processing voice samples..."):
                processed_samples = process_audio_samples(samples)
            with st.spinner("Extracting personality traits..."):
                processed_traits = extract_personality_traits(traits)
            with st.spinner("Cloning voice..."):
                result = clone_voice(processed_samples, processed_traits)
            st.success("Voice cloning complete!")
            st.audio(result, format='audio/wav')
        else:
            st.warning("Please upload samples and enter traits.")