from pyannote.audio import Pipeline import gradio as gr # Cargamos el pipeline preentrenado para diarización pipeline = Pipeline.from_pretrained("pyannote/speaker-diarization") # Función para realizar la diarización de un archivo de audio def diarize_audio(file_path): # Realizar la diarización del audio diarization = pipeline(file_path.name) # Crear un resultado legible con los segmentos de cada hablante result = "" for turn, _, speaker in diarization.itertracks(yield_label=True): start_time = turn.start end_time = turn.end result += f"Speaker {speaker} from {start_time:.1f}s to {end_time:.1f}s\n" return result # Interfaz de Gradio audio_input = gr.Audio(type="file", label="Sube tu archivo de audio") text_output = gr.Textbox(label="Resultados de la Diarización") gr.Interface(fn=diarize_audio, inputs=audio_input, outputs=text_output, title="Diarización de Audio", description="Sube un archivo de audio para obtener los segmentos de los diferentes hablantes." ).launch()