File size: 1,471 Bytes
7b937ef
174a8ef
9275ddd
7b937ef
9275ddd
7b937ef
174a8ef
7b937ef
174a8ef
7b937ef
174a8ef
9275ddd
7b937ef
9275ddd
7b937ef
174a8ef
 
7b937ef
 
 
 
 
 
9275ddd
 
 
 
174a8ef
7b937ef
174a8ef
a74cfe9
7b937ef
9275ddd
7b937ef
 
 
 
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 utilizando Transformers
import os
import gradio as gr
from transformers import pipeline

# Cargamos el pipeline preentrenado para diarizaci贸n de audio
try:
    diarization_pipeline = pipeline(task="automatic-speech-recognition", model="facebook/wav2vec2-large-960h-lv60-self")
except Exception as e:
    diarization_pipeline = None
    print(f"Error cargando el pipeline: {e}")

# Funci贸n para realizar la "diarizaci贸n" de un archivo de audio (en este caso, transcripci贸n b谩sica)
def diarize_audio(file_path):
    if diarization_pipeline is None:
        return "Error: El pipeline no se pudo cargar. Verifica las dependencias."
    
    # Realizar la transcripci贸n del audio
    try:
        transcription = diarization_pipeline(file_path.name)
        result = transcription['text'] if 'text' in transcription else "No se pudo obtener la transcripci贸n."
    except Exception as e:
        result = f"Error durante la transcripci贸n: {e}"
    
    return result

# Interfaz de Gradio
def diarization_interface(file):
    return diarize_audio(file)

audio_input = gr.Audio(type="file", label="Sube tu archivo de audio")
text_output = gr.Textbox(label="Resultados de la Transcripci贸n")

gr.Interface(fn=diarization_interface, inputs=audio_input, outputs=text_output, 
             title="Transcripci贸n de Audio", 
             description="Sube un archivo de audio para obtener la transcripci贸n de los hablantes."
).launch()