Diarization / app.py
Merlintxu's picture
Update app.py
a74cfe9 verified
raw
history blame
1.08 kB
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()