Migra a la versión más reciente de la API de Cloud Speech-to-Text

La API de Cloud Speech-to-Text V2 ofrece el diseño de Google Cloud API más reciente para que los clientes cumplan con los requisitos normativos y de seguridad empresarial con las funciones listas para usar.

Estos requisitos se cumplen a través de lo siguiente:

  • Residencia de datos: Cloud STT V2 ofrece la amplia gama de nuestros modelos de transcripción existentes en regiones como Bélgica o Singapur.Google CloudEsto permite la invocación de nuestros modelos de transcripción a través de un servicio completamente regionalizado.

  • Capacidad de reconocimiento: Los reconocedores son configuraciones de reconocimiento reutilizables que pueden contener una combinación de modelo, lenguaje y funciones.

  • Registro: La creación y las transcripciones de recursos generan registros disponibles en la Google Cloud consola, lo que permite una mejor telemetría y depuración.

  • Encriptación: Cloud Speech-to-Text V2 admite claves de encriptación administradas por el cliente para todos los recursos y la transcripción por lotes.

  • Detección automática de audio: Cloud Speech-to-Text V2 puede detectar de forma automática la tasa de muestreo, el recuento de canales y el formato de tus archivos de audio, sin necesidad de proporcionar esa información en la configuración de la solicitud.

Migra de la versión 1 a la versión 2

La migración de la API de V1 a la API de V2 no se realiza automáticamente. Se requieren cambios mínimos en la implementación para aprovechar el conjunto de atributos.

Migración en la API

Al igual que con Cloud STT V1, para transcribir audio, debes crear un RecognitionConfig seleccionando el idioma de tu audio y el modelo de reconocimiento que elijas:

Python

import os

from google.cloud.speech_v2 import SpeechClient
from google.cloud.speech_v2.types import cloud_speech

PROJECT_ID = os.getenv("GOOGLE_CLOUD_PROJECT")


def quickstart_v2(audio_file: str) -> cloud_speech.RecognizeResponse:
    """Transcribe an audio file.
    Args:
        audio_file (str): Path to the local audio file to be transcribed.
    Returns:
        cloud_speech.RecognizeResponse: The response from the recognize request, containing
        the transcription results
    """
    # Reads a file as bytes
    with open(audio_file, "rb") as f:
        audio_content = f.read()

    # Instantiates a client
    client = SpeechClient()

    config = cloud_speech.RecognitionConfig(
        auto_decoding_config=cloud_speech.AutoDetectDecodingConfig(),
        language_codes=["en-US"],
        model="long",
    )

    request = cloud_speech.RecognizeRequest(
        recognizer=f"projects/{PROJECT_ID}/locations/global/recognizers/_",
        config=config,
        content=audio_content,
    )

    # Transcribes the audio into text
    response = client.recognize(request=request)

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

    return response

Si es necesario, selecciona una región en la que deseas usar la API de Cloud Speech-to-Text y verifica la disponibilidad del idioma y el modelo en esa región:

Python

import os

from google.api_core.client_options import ClientOptions
from google.cloud.speech_v2 import SpeechClient
from google.cloud.speech_v2.types import cloud_speech

PROJECT_ID = os.getenv("GOOGLE_CLOUD_PROJECT")


def change_speech_v2_location(
    audio_file: str, location: str
) -> cloud_speech.RecognizeResponse:
    """Transcribe an audio file in a specific region. It allows for specifying the location
        to potentially reduce latency and meet data residency requirements.
    Args:
        audio_file (str): Path to the local audio file to be transcribed.
        location (str): The region where the Speech API will be accessed.
            E.g., "europe-west3"
    Returns:
        cloud_speech.RecognizeResponse: The full response object which includes the transcription results.
    """
    # Reads a file as bytes
    with open(audio_file, "rb") as f:
        audio_content = f.read()

    # Instantiates a client to a regionalized Speech endpoint.
    client = SpeechClient(
        client_options=ClientOptions(
            api_endpoint=f"{location}-speech.googleapis.com",
        )
    )

    config = cloud_speech.RecognitionConfig(
        auto_decoding_config=cloud_speech.AutoDetectDecodingConfig(),
        language_codes=["en-US"],
        model="long",
    )

    request = cloud_speech.RecognizeRequest(
        recognizer=f"projects/{PROJECT_ID}/locations/{location}/recognizers/_",
        config=config,
        content=audio_content,
    )

    # Transcribes the audio into text
    response = client.recognize(request=request)

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

De manera opcional, crea un recurso de reconocimiento si necesitas reutilizar una configuración de reconocimiento específica en muchas solicitudes de transcripción:

Python

import os

from google.cloud.speech_v2 import SpeechClient
from google.cloud.speech_v2.types import cloud_speech

PROJECT_ID = os.getenv("GOOGLE_CLOUD_PROJECT")


def create_recognizer(recognizer_id: str) -> cloud_speech.Recognizer:
    """Сreates a recognizer with an unique ID and default recognition configuration.
    Args:
        recognizer_id (str): The unique identifier for the recognizer to be created.
    Returns:
        cloud_speech.Recognizer: The created recognizer object with configuration.
    """
    # Instantiates a client
    client = SpeechClient()

    request = cloud_speech.CreateRecognizerRequest(
        parent=f"projects/{PROJECT_ID}/locations/global",
        recognizer_id=recognizer_id,
        recognizer=cloud_speech.Recognizer(
            default_recognition_config=cloud_speech.RecognitionConfig(
                language_codes=["en-US"], model="long"
            ),
        ),
    )
    # Sends the request to create a recognizer and waits for the operation to complete
    operation = client.create_recognizer(request=request)
    recognizer = operation.result()

    print("Created Recognizer:", recognizer.name)
    return recognizer

Existen otras diferencias en las solicitudes y respuestas de la nueva API V2. Para obtener más detalles, consulta la documentación de referencia.

Migración en la IU

Para migrar a través de la consola de Speech Google Cloud , sigue estos pasos:

  1. Ve a la consola de Speech Google Cloud .

  2. Navega a la página Transcripciones.

  3. Haz clic en Nueva transcripción y selecciona el audio en la pestaña Configuración de audio.

  4. En la pestaña Opciones de transcripción, selecciona V2.

¿Qué sigue?

  • Usa las bibliotecas cliente para transcribir audio con tu lenguaje de programación favorito.
  • Obtén más información para transcribir archivos de audio cortos.
  • Obtén más información sobre cómo transcribir audio con transmisión continua.
  • Obtén información sobre cómo transcribir archivos de audio largos.