Spaces:
Build error
Build error
Update app.py
Browse files
app.py
CHANGED
|
@@ -855,14 +855,58 @@ def generate_video(user_input, resolution, caption_option):
|
|
| 855 |
|
| 856 |
|
| 857 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 858 |
def handle_music_upload(music_file):
|
| 859 |
if music_file is not None:
|
| 860 |
target_path = "music.mp3"
|
| 861 |
shutil.copy(music_file, target_path)
|
| 862 |
print(f"Uploaded music saved as: {target_path}")
|
| 863 |
|
| 864 |
-
def generate_video_with_music(user_input, resolution, caption_option, music_file):
|
| 865 |
handle_music_upload(music_file)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 866 |
return generate_video(user_input, resolution, caption_option)
|
| 867 |
|
| 868 |
iface = gr.Interface(
|
|
@@ -871,12 +915,13 @@ iface = gr.Interface(
|
|
| 871 |
gr.Textbox(label="Video Concept", placeholder="Enter your video concept here..."),
|
| 872 |
gr.Radio(["Full", "Short"], label="Resolution", value="Full"),
|
| 873 |
gr.Radio(["Yes", "No"], label="Captions", value="Yes"),
|
| 874 |
-
gr.File(label="Upload Background Music (MP3)", file_types=[".mp3"])
|
|
|
|
|
|
|
| 875 |
],
|
| 876 |
outputs=gr.Video(label="Generated Video"),
|
| 877 |
title="AI Documentary Video Generator",
|
| 878 |
-
description="Upload your background music and create a funny
|
| 879 |
)
|
| 880 |
|
| 881 |
iface.launch(share=True)
|
| 882 |
-
|
|
|
|
| 855 |
|
| 856 |
|
| 857 |
|
| 858 |
+
import gradio as gr
|
| 859 |
+
import shutil
|
| 860 |
+
import os
|
| 861 |
+
import random
|
| 862 |
+
|
| 863 |
+
# Human-friendly voice list
|
| 864 |
+
VOICE_CHOICES = {
|
| 865 |
+
'Emma (Female)': 'af_heart',
|
| 866 |
+
'Bella (Female)': 'af_bella',
|
| 867 |
+
'Nicole (Female)': 'af_nicole',
|
| 868 |
+
'Aoede (Female)': 'af_aoede',
|
| 869 |
+
'Kore (Female)': 'af_kore',
|
| 870 |
+
'Sarah (Female)': 'af_sarah',
|
| 871 |
+
'Nova (Female)': 'af_nova',
|
| 872 |
+
'Sky (Female)': 'af_sky',
|
| 873 |
+
'Alloy (Female)': 'af_alloy',
|
| 874 |
+
'Jessica (Female)': 'af_jessica',
|
| 875 |
+
'River (Female)': 'af_river',
|
| 876 |
+
'Michael (Male)': 'am_michael',
|
| 877 |
+
'Fenrir (Male)': 'am_fenrir',
|
| 878 |
+
'Puck (Male)': 'am_puck',
|
| 879 |
+
'Echo (Male)': 'am_echo',
|
| 880 |
+
'Eric (Male)': 'am_eric',
|
| 881 |
+
'Liam (Male)': 'am_liam',
|
| 882 |
+
'Onyx (Male)': 'am_onyx',
|
| 883 |
+
'Santa (Male)': 'am_santa',
|
| 884 |
+
'Adam (Male)': 'am_adam',
|
| 885 |
+
'Emma π¬π§ (Female)': 'bf_emma',
|
| 886 |
+
'Isabella π¬π§ (Female)': 'bf_isabella',
|
| 887 |
+
'Alice π¬π§ (Female)': 'bf_alice',
|
| 888 |
+
'Lily π¬π§ (Female)': 'bf_lily',
|
| 889 |
+
'George π¬π§ (Male)': 'bm_george',
|
| 890 |
+
'Fable π¬π§ (Male)': 'bm_fable',
|
| 891 |
+
'Lewis π¬π§ (Male)': 'bm_lewis',
|
| 892 |
+
'Daniel π¬π§ (Male)': 'bm_daniel'
|
| 893 |
+
}
|
| 894 |
+
|
| 895 |
def handle_music_upload(music_file):
|
| 896 |
if music_file is not None:
|
| 897 |
target_path = "music.mp3"
|
| 898 |
shutil.copy(music_file, target_path)
|
| 899 |
print(f"Uploaded music saved as: {target_path}")
|
| 900 |
|
| 901 |
+
def generate_video_with_music(user_input, resolution, caption_option, music_file, voice, video_clip_probability):
|
| 902 |
handle_music_upload(music_file)
|
| 903 |
+
|
| 904 |
+
# Set global or pass values to your other functions as needed:
|
| 905 |
+
selected_voice = VOICE_CHOICES[voice]
|
| 906 |
+
print(f"Selected Voice: {selected_voice}")
|
| 907 |
+
print(f"Video Clip Probability: {video_clip_probability}%")
|
| 908 |
+
|
| 909 |
+
# Your existing generate_video() call β you might want to pass the voice and clip probability
|
| 910 |
return generate_video(user_input, resolution, caption_option)
|
| 911 |
|
| 912 |
iface = gr.Interface(
|
|
|
|
| 915 |
gr.Textbox(label="Video Concept", placeholder="Enter your video concept here..."),
|
| 916 |
gr.Radio(["Full", "Short"], label="Resolution", value="Full"),
|
| 917 |
gr.Radio(["Yes", "No"], label="Captions", value="Yes"),
|
| 918 |
+
gr.File(label="Upload Background Music (MP3)", file_types=[".mp3"]),
|
| 919 |
+
gr.Dropdown(choices=list(VOICE_CHOICES.keys()), label="Choose Voice", value="Emma (Female)"),
|
| 920 |
+
gr.Slider(0, 100, value=25, step=1, label="Video Clip Usage Probability (%)")
|
| 921 |
],
|
| 922 |
outputs=gr.Video(label="Generated Video"),
|
| 923 |
title="AI Documentary Video Generator",
|
| 924 |
+
description="Upload your background music, choose a voice, set video clip ratio, and create a funny AI documentary!"
|
| 925 |
)
|
| 926 |
|
| 927 |
iface.launch(share=True)
|
|
|