Merlintxu commited on
Commit
7b937ef
verified
1 Parent(s): 174a8ef

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +19 -19
app.py CHANGED
@@ -1,37 +1,37 @@
1
- # C贸digo para diarizaci贸n de audio
2
  import os
3
- from pyannote.audio import Pipeline
4
  import gradio as gr
 
5
 
6
- # Cargamos el pipeline preentrenado para diarizaci贸n
7
  try:
8
- pipeline = Pipeline.from_pretrained("pyannote/speaker-diarization")
9
  except Exception as e:
10
- pipeline = None
11
  print(f"Error cargando el pipeline: {e}")
12
 
13
- # Funci贸n para realizar la diarizaci贸n de un archivo de audio
14
  def diarize_audio(file_path):
15
- if pipeline is None:
16
  return "Error: El pipeline no se pudo cargar. Verifica las dependencias."
17
 
18
- # Realizar la diarizaci贸n del audio
19
- diarization = pipeline(file_path)
20
-
21
- # Crear un resultado legible con los segmentos de cada hablante
22
- result = ""
23
- for turn, _, speaker in diarization.itertracks(yield_label=True):
24
- start_time = turn.start
25
- end_time = turn.end
26
- result += f"Speaker {speaker} from {start_time:.1f}s to {end_time:.1f}s\n"
27
 
28
  return result
29
 
30
  # Interfaz de Gradio
31
  def diarization_interface(file):
32
- return diarize_audio(file.name)
33
 
34
  audio_input = gr.Audio(type="file", label="Sube tu archivo de audio")
35
- text_output = gr.Textbox(label="Resultados de la Diarizaci贸n")
36
 
37
- 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()
 
 
 
 
1
+ # C贸digo para diarizaci贸n de audio utilizando Transformers
2
  import os
 
3
  import gradio as gr
4
+ from transformers import pipeline
5
 
6
+ # Cargamos el pipeline preentrenado para diarizaci贸n de audio
7
  try:
8
+ diarization_pipeline = pipeline(task="automatic-speech-recognition", model="facebook/wav2vec2-large-960h-lv60-self")
9
  except Exception as e:
10
+ diarization_pipeline = None
11
  print(f"Error cargando el pipeline: {e}")
12
 
13
+ # Funci贸n para realizar la "diarizaci贸n" de un archivo de audio (en este caso, transcripci贸n b谩sica)
14
  def diarize_audio(file_path):
15
+ if diarization_pipeline is None:
16
  return "Error: El pipeline no se pudo cargar. Verifica las dependencias."
17
 
18
+ # Realizar la transcripci贸n del audio
19
+ try:
20
+ transcription = diarization_pipeline(file_path.name)
21
+ result = transcription['text'] if 'text' in transcription else "No se pudo obtener la transcripci贸n."
22
+ except Exception as e:
23
+ result = f"Error durante la transcripci贸n: {e}"
 
 
 
24
 
25
  return result
26
 
27
  # Interfaz de Gradio
28
  def diarization_interface(file):
29
+ return diarize_audio(file)
30
 
31
  audio_input = gr.Audio(type="file", label="Sube tu archivo de audio")
32
+ text_output = gr.Textbox(label="Resultados de la Transcripci贸n")
33
 
34
+ gr.Interface(fn=diarization_interface, inputs=audio_input, outputs=text_output,
35
+ title="Transcripci贸n de Audio",
36
+ description="Sube un archivo de audio para obtener la transcripci贸n de los hablantes."
37
+ ).launch()