Update app.py
Browse files
app.py
CHANGED
@@ -29,15 +29,14 @@ def upload_to_file_io(file_path):
|
|
29 |
return temp_link
|
30 |
return None
|
31 |
|
32 |
-
def voice_conversion(input_audio, target_voice, uploaded_target_voice
|
33 |
print(datetime.now())
|
34 |
output_path = "output.wav"
|
35 |
|
36 |
-
# Check audio duration
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
return "Error: Audio file exceeds 2 minutes."
|
41 |
|
42 |
# Upload input audio to file.io and log the link
|
43 |
input_file_link = upload_to_file_io(input_audio)
|
@@ -99,9 +98,9 @@ with gr.Blocks() as demo:
|
|
99 |
|
100 |
play_button.click(preview_target_voice, inputs=[target_voice], outputs=preview_audio)
|
101 |
|
102 |
-
# Conversion process with duration restriction
|
103 |
convert_button.click(
|
104 |
-
|
105 |
inputs=[input_audio, target_voice, uploaded_target_voice],
|
106 |
outputs=output_audio
|
107 |
)
|
|
|
29 |
return temp_link
|
30 |
return None
|
31 |
|
32 |
+
def voice_conversion(input_audio, target_voice, uploaded_target_voice):
|
33 |
print(datetime.now())
|
34 |
output_path = "output.wav"
|
35 |
|
36 |
+
# Check audio duration (always enforce the 2-minute limit)
|
37 |
+
duration = librosa.get_duration(filename=input_audio)
|
38 |
+
if duration > 120:
|
39 |
+
return "Error: Audio file exceeds 2 minutes."
|
|
|
40 |
|
41 |
# Upload input audio to file.io and log the link
|
42 |
input_file_link = upload_to_file_io(input_audio)
|
|
|
98 |
|
99 |
play_button.click(preview_target_voice, inputs=[target_voice], outputs=preview_audio)
|
100 |
|
101 |
+
# Conversion process with duration restriction and file.io input upload
|
102 |
convert_button.click(
|
103 |
+
voice_conversion,
|
104 |
inputs=[input_audio, target_voice, uploaded_target_voice],
|
105 |
outputs=output_audio
|
106 |
)
|