Spaces:
Runtime error
Runtime error
# C贸digo para diarizaci贸n de audio | |
import os | |
from pyannote.audio import Pipeline | |
import gradio as gr | |
# Cargamos el pipeline preentrenado para diarizaci贸n | |
try: | |
pipeline = Pipeline.from_pretrained("pyannote/speaker-diarization") | |
except Exception as e: | |
pipeline = None | |
print(f"Error cargando el pipeline: {e}") | |
# Funci贸n para realizar la diarizaci贸n de un archivo de audio | |
def diarize_audio(file_path): | |
if pipeline is None: | |
return "Error: El pipeline no se pudo cargar. Verifica las dependencias." | |
# Realizar la diarizaci贸n del audio | |
diarization = pipeline(file_path) | |
# 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 | |
def diarization_interface(file): | |
return diarize_audio(file.name) | |
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=diarization_interface, 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() | |