Migre para a versão mais recente da Cloud Speech-to-Text API

A API Cloud Speech-to-Text V2 oferece o mais recente Google Cloud design de API para os clientes para cumprir os requisitos regulamentares e de segurança empresariais de imediato.

Estes requisitos são concretizados através do seguinte:

  • Residência de dados: o Cloud STT V2 oferece a vasta gama dos nossos modelos de transcrição existentes em Google Cloud regiões, como a Bélgica ou Singapura. Isto permite a invocação dos nossos modelos de transcrição através de um serviço totalmente regionalizado.

  • Engenhosidade do reconhecedor: os reconhecedores são configurações de reconhecimento reutilizáveis que podem conter uma combinação de modelo, idioma e funcionalidades.

  • Registo: a criação de recursos e as transcrições geram registos disponíveis na consola, o que permite uma melhor telemetria e depuração. Google Cloud

  • Encriptação: o Cloud Speech-to-Text V2 suporta chaves de encriptação geridas pelo cliente para todos os recursos, bem como a transcrição em lote.

  • Deteção automática de áudio: o Cloud Speech-to-Text V2 pode detetar automaticamente a taxa de amostragem, a contagem de canais e o formato dos seus ficheiros de áudio, sem necessidade de fornecer essas informações na configuração do pedido.

Migrar da V1 para a V2

A migração da API V1 para a API V2 não ocorre automaticamente. São necessárias alterações de implementação mínimas para tirar partido do conjunto de funcionalidades.

Migrar na API

Semelhante ao Cloud STT V1, para transcrever áudio, tem de criar um RecognitionConfig selecionando o idioma do áudio e o modelo de reconhecimento à sua escolha:

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

Se necessário, selecione uma região na qual quer usar a API Cloud Speech-to-Text e verifique a disponibilidade de idiomas e modelos nessa região:

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

Opcionalmente, crie um recurso de reconhecedor se precisar de reutilizar uma configuração de reconhecimento específica em vários pedidos de transcrição:

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

Existem outras diferenças nos pedidos e nas respostas na nova API V2. Para mais detalhes, consulte a documentação de referência.

Migração na IU

Para migrar através da consola Speech Google Cloud , siga estes passos:

  1. Aceda à consola Google Cloud do Speech.

  2. Navegue para a página Transcrição.

  3. Clique em Nova transcrição e selecione o áudio no separador Configuração de áudio.

  4. No separador Opções de transcrição, selecione V2.

O que se segue?

  • Use bibliotecas cliente para transcrever áudio com a sua linguagem de programação favorita.
  • Saiba como transcrever ficheiros de áudio curtos.
  • Saiba como transcrever áudio em streaming.
  • Saiba como transcrever ficheiros de áudio longos.