import os import gradio import replicate from pydub import AudioSegment # Asegúrate de que REPLICATE_API_TOKEN esté configurado en las variables de entorno replicate_token = os.getenv("REPLICATE_API_TOKEN") if not replicate_token: raise ValueError("No se ha encontrado el token de API de Replicate.") # Función para dividir el archivo de audio en segmentos de duración definida (en milisegundos) def dividir_audio(audio_path, segment_duration_ms): audio = AudioSegment.from_file(audio_path) audio_length = len(audio) segments = [] # Divide el audio en fragmentos de la duración especificada (5 minutos en milisegundos) for i in range(0, audio_length, segment_duration_ms): segment = audio[i:i + segment_duration_ms] # Cada fragmento de hasta 5 minutos segment_path = f"segment_{i // (60 * 1000)}.wav" # Nombre del archivo con el índice del minuto segment.export(segment_path, format="wav") # Exporta el fragmento como un archivo WAV # Verifica el tamaño del archivo y asegura que no supere el límite de 10MB, ajusta si es necesario if os.path.getsize(segment_path) > 10 * 1024 * 1024: # 10 MB print(f"Warning: Segment {segment_path} exceeds 10MB, consider reducing segment duration.") segments.append(segment_path) return segments