El servicio de Speech-to-Text de Vertex AI en el dispositivo aislado de Google Distributed Cloud (GDC) te permite convertir la voz de los archivos de audio en transcripciones de texto. Puedes usar la API de Speech-to-Text previamente entrenada y la biblioteca cliente de Python para procesar el audio grabado con el modelo predeterminado.
Antes de comenzar
Antes de comenzar a usar la API de Speech-to-Text, debes tener un proyecto con esta API habilitada y las credenciales adecuadas. También puedes instalar bibliotecas cliente para ayudarte a realizar llamadas a la API. Para obtener más información, consulta Configura un proyecto de reconocimiento de voz.
Transcribe audio con el modelo predeterminado
Speech-to-Text realiza el reconocimiento de voz. Envías el archivo de audio del que quieres reconocer la voz directamente como contenido en la solicitud a la API. El sistema devuelve el texto transcrito resultante en la respuesta de la API.
Debes proporcionar un objeto de configuración RecognitionConfig cuando realices una solicitud de reconocimiento de voz. Este objeto le indica a la API cómo procesar tus datos de audio
y qué tipo de resultado esperas. Si no se especifica un modelo de forma explícita en
este objeto de configuración, Speech-to-Text selecciona un modelo predeterminado.
Speech-to-Text en el dispositivo de GDC aislado solo admite el modelo predeterminado.
Sigue estos pasos para usar el servicio de Speech-to-Text desde una secuencia de comandos de Python y transcribir la voz de un archivo de audio:
Instala la versión más reciente de la biblioteca cliente de Speech-to-Text.
Establece las variables de entorno necesarias en una secuencia de comandos de Python.
Agrega el siguiente código a la secuencia de comandos de Python que creaste:
import base64 from google.cloud import speech_v1p1beta1 import google.auth from google.auth.transport import requests from google.api_core.client_options import ClientOptions audience="https://ENDPOINT:443" api_endpoint="ENDPOINT:443" def get_client(creds): opts = ClientOptions(api_endpoint=api_endpoint) return speech_v1p1beta1.SpeechClient(credentials=creds, client_options=opts) def main(): creds = None try: creds, project_id = google.auth.default() creds = creds.with_gdch_audience(audience) req = requests.Request() creds.refresh(req) except Exception as e: print("Caught exception" + str(e)) raise e return creds def speech_func(creds): tc = get_client(creds) content="BASE64_ENCODED_AUDIO" audio = speech_v1p1beta1.RecognitionAudio() audio.content = base64.standard_b64decode(content) config = speech_v1p1beta1.RecognitionConfig() config.encoding= speech_v1p1beta1.RecognitionConfig.AudioEncoding.ENCODING config.sample_rate_hertz=RATE_HERTZ config.language_code="LANGUAGE_CODE" config.audio_channel_count=CHANNEL_COUNT metadata = [("x-goog-user-project", "projects/PROJECT_ID")] resp = tc.recognize(config=config, audio=audio, metadata=metadata) print(resp) if __name__=="__main__": creds = main() speech_func(creds)Reemplaza lo siguiente:
ENDPOINT: Es el extremo de Speech-to-Text que usas para tu organización. Para obtener más información, consulta el estado y los extremos del servicio.PROJECT_ID: Es el ID del proyecto.BASE64_ENCODED_AUDIO: Son los bytes de datos de audio codificados en una representación en Base64. Esta cadena comienza con caracteres que se parecen aZkxhQwAAACIQABAAAAUJABtAA+gA8AB+W8FZndQvQAyjv.ENCODING: Es la codificación de los datos de audio que se envían en la solicitud, comoLINEAR16.RATE_HERTZ: Es la tasa de muestreo expresada en hercios de los datos de audio que se envían en la solicitud, como16000.LANGUAGE_CODE: Es el idioma del audio proporcionado como una etiqueta de idioma BCP-47. Consulta la lista de idiomas admitidos y sus respectivos códigos de idioma.CHANNEL_COUNT: Es la cantidad de canales en los datos de audio de entrada, como1.
Guarda la secuencia de comandos de Python.
Ejecuta la secuencia de comandos de Python para transcribir audio:
python SCRIPT_NAMEReemplaza
SCRIPT_NAMEpor el nombre que le diste a tu secuencia de comandos de Python, por ejemplo,speech.py.