Especifica un extremo regional

Speech-to-Text ofrece extremos de la API regionales de EE.UU. y la UE. Si usas un extremo regional, tus datos en reposo y en uso permanecerán dentro de los límites continentales de Europa o EE.UU. Especificar un extremo es importante si se debe controlar la ubicación de tus datos para cumplir con los requisitos reglamentarios locales. No hay cambios funcionales en el comportamiento de la API.

Cuando uses un extremo regional, asegúrate de incluir la ubicación us o eu coincidente en la string parent. Consulta la documentación de RecognitionConfig para obtener más información sobre la configuración del cuerpo de la solicitud de reconocimiento.

Protocolo

Para realizar el reconocimiento de voz con un extremo regional, ejecuta el comando aplicable en la siguiente tabla a fin de configurar el extremo correcto:

Multirregión Anulación de extremos
UE $ export CLOUD_SPEECH_ENDPOINT=https://eu-speech.googleapis.com
EE.UU. $ export CLOUD_SPEECH_ENDPOINT=https://us-speech.googleapis.com

En la siguiente muestra de código, se indica cómo enviar un recognize request que mantiene todos los datos limitados a una región específica. Puedes sustituir el extremo regional EU o US por la variable CLOUD_SPEECH_ENDPOINT.

$ curl   -H "Content-Type: application/json"  \
         -H  "Authorization: Bearer "$(gcloud auth print-access-token)   \
          $CLOUD_SPEECH_ENDPOINT/v1/speech:recognize \
         --data "{
        'config': {
            'encoding': 'LINEAR16',
            'languageCode': 'en-US'
        },
        'audio': {
            'uri':'gs://speech-samples-00/commercial_mono.wav'
        }
    }"

En este ejemplo, se usa Google Cloud CLI para generar credenciales para tu cuenta de usuario. Para obtener información sobre cómo instalar y, luego, inicializar gcloud CLI, consulta la guía de inicio rápido.

El contenido de audio suministrado en el cuerpo de la solicitud está codificado en Base64. Para obtener más información sobre cómo codificar audio en Base64, consulta Contenido de audio con codificación Base64. Para obtener más información sobre el campo content, consulta RecognitionAudio.

gcloud

Con los siguientes comandos, se establece un extremo regional:

Multirregión Anulación de extremos
UE gcloud config set api_endpoint_overrides/speech https://eu-speech.googleapis.com/
EE.UU. gcloud config set api_endpoint_overrides/speech https://us-speech.googleapis.com/

Después de configurar el extremo regional, todos los datos se limitarán a la región especificada cuando envíes recognize requests posteriores. En el siguiente ejemplo, se muestra una solicitud de reconocimiento.

$ gcloud ml speech recognize gs://cloud-samples-tests/speech/brooklyn.flac \
    --language-code=en-US --log-http

Python

Para obtener información sobre cómo instalar y usar la biblioteca cliente de Speech-to-Text, consulta las bibliotecas cliente de Speech-to-Text. Para obtener más información, consulta la documentación de referencia de la API de Speech-to-Text de Python.

Para autenticar en Speech-to-Text, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.


# Imports the Google Cloud client library
from google.api_core import client_options
from google.cloud import speech


def sync_recognize_with_multi_region_gcs() -> speech.RecognizeResponse:
    """Recognizes speech synchronously in the GCS bucket."""

    # Instantiates a client

    # Pass an additional argument, ClientOptions, to specify the new endpoint.
    _client_options = client_options.ClientOptions(
        api_endpoint="eu-speech.googleapis.com"
    )

    client = speech.SpeechClient(client_options=_client_options)

    # The name of the audio file to transcribe
    gcs_uri = "gs://cloud-samples-data/speech/brooklyn_bridge.raw"

    audio = speech.RecognitionAudio(uri=gcs_uri)

    config = speech.RecognitionConfig(
        encoding=speech.RecognitionConfig.AudioEncoding.LINEAR16,
        sample_rate_hertz=16000,
        language_code="en-US",
    )

    # Detects speech in the audio file
    response = client.recognize(config=config, audio=audio)

    for result in response.results:
        print(f"Transcript: {result.alternatives[0].transcript}")

    return response.results