MIT / components /voice_cloning.py
Ashar086's picture
Create components/voice_cloning.py
81abf22 verified
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.")