File size: 1,378 Bytes
174a8ef
 
9275ddd
 
 
 
174a8ef
 
 
 
 
9275ddd
 
 
174a8ef
 
 
9275ddd
174a8ef
9275ddd
 
 
 
 
 
 
 
 
 
 
174a8ef
 
 
a74cfe9
 
9275ddd
174a8ef
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# 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()