File size: 1,355 Bytes
9275ddd
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
# Instalaci贸n de las dependencias necesarias
!pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cpu
!pip install pyannote.audio

# 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
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)
    
    # 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.inputs.Audio(type="file", label="Sube tu archivo de audio")
text_output = gr.outputs.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()