Merlintxu commited on
Commit
9275ddd
verified
1 Parent(s): 4af925a

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +34 -0
app.py ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Instalaci贸n de las dependencias necesarias
2
+ !pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cpu
3
+ !pip install pyannote.audio
4
+
5
+ # C贸digo para diarizaci贸n de audio
6
+ import os
7
+ from pyannote.audio import Pipeline
8
+ import gradio as gr
9
+
10
+ # Cargamos el pipeline preentrenado para diarizaci贸n
11
+ pipeline = Pipeline.from_pretrained("pyannote/speaker-diarization")
12
+
13
+ # Funci贸n para realizar la diarizaci贸n de un archivo de audio
14
+ def diarize_audio(file_path):
15
+ # Realizar la diarizaci贸n del audio
16
+ diarization = pipeline(file_path)
17
+
18
+ # Crear un resultado legible con los segmentos de cada hablante
19
+ result = ""
20
+ for turn, _, speaker in diarization.itertracks(yield_label=True):
21
+ start_time = turn.start
22
+ end_time = turn.end
23
+ result += f"Speaker {speaker} from {start_time:.1f}s to {end_time:.1f}s\n"
24
+
25
+ return result
26
+
27
+ # Interfaz de Gradio
28
+ def diarization_interface(file):
29
+ return diarize_audio(file.name)
30
+
31
+ audio_input = gr.inputs.Audio(type="file", label="Sube tu archivo de audio")
32
+ text_output = gr.outputs.Textbox(label="Resultados de la Diarizaci贸n")
33
+
34
+ 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()