|
import os |
|
import gradio |
|
import replicate |
|
from pydub import AudioSegment |
|
|
|
|
|
replicate_token = os.getenv("REPLICATE_API_TOKEN") |
|
|
|
if not replicate_token: |
|
raise ValueError("No se ha encontrado el token de API de Replicate.") |
|
|
|
|
|
def dividir_audio(audio_path, segment_duration_ms): |
|
audio = AudioSegment.from_file(audio_path) |
|
audio_length = len(audio) |
|
segments = [] |
|
|
|
|
|
for i in range(0, audio_length, segment_duration_ms): |
|
segment = audio[i:i + segment_duration_ms] |
|
segment_path = f"segment_{i // (60 * 1000)}.wav" |
|
segment.export(segment_path, format="wav") |
|
|
|
|
|
if os.path.getsize(segment_path) > 10 * 1024 * 1024: |
|
print(f"Warning: Segment {segment_path} exceeds 10MB, consider reducing segment duration.") |
|
|
|
segments.append(segment_path) |
|
|
|
return segments |
|
|