SandraCLV commited on
Commit
5c5a283
·
1 Parent(s): c6c05a4

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +21 -18
app.py CHANGED
@@ -1,24 +1,27 @@
1
- from transformers import pipeline
2
- from PIL import Image
3
- import requests
4
- from io import BytesIO
5
 
6
- # Inicializa el modelo de OCR (Reconocimiento Óptico de Caracteres)
7
- ocr_model = pipeline('text-recognition', model='your-model-name')
 
8
 
9
- # Inicializa el modelo de TTS (Texto a Voz)
10
- tts_model = pipeline('text-to-speech', model='your-model-name')
 
11
 
12
- # Carga la imagen desde una URL
13
- response = requests.get('https://example.com/your-image.jpg')
14
- img = Image.open(BytesIO(response.content))
15
 
16
- # Convierte la imagen a texto
17
- text = ocr_model(img)
18
 
19
- # Convierte el texto a audio
20
- audio = tts_model(text)
 
21
 
22
- # Guarda el audio en un archivo
23
- with open('output.wav', 'wb') as f:
24
- f.write(audio)
 
 
 
1
+ import gradio as gr
2
+ from transformers import Wav2Vec2ForCTC, Wav2Vec2Processor
3
+ import torch
 
4
 
5
+ # Cargar el modelo y el procesador
6
+ model = Wav2Vec2ForCTC.from_pretrained("openai/whisper-large-v2")
7
+ processor = Wav2Vec2Processor.from_pretrained("openai/whisper-large-v2")
8
 
9
+ def asr(audio_file_path):
10
+ # Cargar archivo de audio
11
+ input_audio, _ = librosa.load(audio_file_path, sr=16000)
12
 
13
+ # Preprocesar audio
14
+ input_values = processor(input_audio, return_tensors="pt", sampling_rate=16000).input_values
 
15
 
16
+ # Realizar inferencia
17
+ logits = model(input_values).logits
18
 
19
+ # Decodificar los logits a texto
20
+ predicted_ids = torch.argmax(logits, dim=-1)
21
+ transcription = processor.decode(predicted_ids[0])
22
 
23
+ return transcription
24
+
25
+ # Crear interfaz de Gradio
26
+ iface = gr.Interface(fn=asr, inputs=gr.inputs.Audio(source="microphone", type="file"), outputs="text")
27
+ iface.launch()