speech-to-text / app.py
fcernafukuzaki's picture
Update app.py
a295231 verified
raw
history blame
1.3 kB
import gradio as gr
import numpy as np
from google.cloud import speech_v1
from google.protobuf import timestamp_pb2
def transcribe(stream, audio_bytes):
"""Transcribe audio bytes to text using Google Cloud Speech to Text."""
sr, y = audio_bytes
y = y.astype(np.float32)
y /= np.max(np.abs(y))
if stream is not None:
# Crea un cliente de Speech to Text
client = speech_v1.SpeechClient()
# Configura la configuración de la solicitud
config = speech_v1.RecognitionConfig()
config.language_code = "es-ES"
config.encoding = speech_v1.RecognitionConfig.Encoding.LINEAR16
config.sample_rate_hertz = 16000
# Crea una solicitud de reconocimiento de audio
audio = speech_v1.RecognitionAudio(content=audio_bytes)
request = speech_v1.RecognizeSpeechRequest(config=config, audio=audio)
# Realiza la transcripción
response = client.recognize_speech(request)
# Extrae el texto transcrito
transcript = response.results[0].alternatives[0].transcript
else:
stream = y
return stream, transcript
demo = gr.Interface(
transcribe,
["state", gr.Audio(sources=["microphone"], streaming=True)],
["state", "text"],
live=True,
)
demo.launch()