Spaces:
Sleeping
Sleeping
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 |
)
|