Como migrar do Speech-to-Text v1 para v2

A API Speech-to-Text v2 oferece o design mais recente da API Google Cloud para que os clientes atendam aos requisitos regulamentares e de segurança empresarial.

Esses requisitos são atendidos por meio do seguinte:

  • Residência dos dados: o Speech-to-Text v2 oferece uma ampla variedade de nossos modelos de transcrição existentes em Regiões do Google Cloud como Bélgica ou Cingapura. Isso permite a invocação dos modelos de transcrição por meio de um serviço totalmente regionalizado.

  • Recursos do reconhecedor: os reconhecedores são configurações de reconhecimento reutilizáveis que podem conter uma combinação de modelo, linguagem e recursos. Essa implementação com recursos elimina a necessidade de contas de serviço dedicadas para autenticação e autorização.

  • Geração de registros: a criação de recursos e as transcrições geram registros disponíveis no console do Google Cloud, o que permite melhor telemetria e depuração.

  • Criptografia: a Speech-to-Text v2 é compatível com chaves de criptografia gerenciadas pelo cliente para todos os recursos, bem como para a transcrição em lote.

  • Detecção automática de áudio: a Speech-to-Text v2 pode detectar automaticamente a taxa de amostragem, a contagem de canais e o formato dos arquivos de áudio, sem a necessidade de fornecer essas informações na configuração da solicitação.

Como migrar de v1 para v2

A migração da API v1 para a API v2 não acontece automaticamente. São necessárias alterações mínimas na implementação para aproveitar o conjunto de recursos.

Como migrar na API

Assim como na Speech-to-Text v1, para transcrever o áudio, você precisa criar um RecognitionConfig selecionando o idioma do áudio e o modelo de reconhecimento de sua escolha:

Python

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

def quickstart_v2(
    project_id: str,
    audio_file: str,
) -> cloud_speech.RecognizeResponse:
    """Transcribe an audio file."""
    # Instantiates a client
    client = SpeechClient()

    # Reads a file as bytes
    with open(audio_file, "rb") as f:
        content = f.read()

    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=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 em que você quer usar a API Speech-to-Text e verifique a disponibilidade de idioma e modelo nessa região:

Python

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

def change_speech_v2_location(
    project_id: str,
    location: str,
    audio_file: str,
) -> cloud_speech.RecognizeResponse:
    """Transcribe an audio file in a specific region."""
    # Instantiates a client to a regionalized Speech endpoint.
    client = SpeechClient(
        client_options=ClientOptions(
            api_endpoint=f"{location}-speech.googleapis.com",
        )
    )

    # Reads a file as bytes
    with open(audio_file, "rb") as f:
        content = f.read()

    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=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

Como opção, crie um recurso reconhecedor se precisar reutilizar uma configuração de reconhecimento específica em muitas solicitações de transcrição:

Python

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

def create_recognizer(project_id: str, recognizer_id: str) -> cloud_speech.Recognizer:
    # 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"
            ),
        ),
    )

    operation = client.create_recognizer(request=request)
    recognizer = operation.result()

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

Há outras diferenças nas solicitações e respostas na nova API v2. Para mais detalhes, consulte a documentação de referência.

Como migrar na IU

Para migrar usando o console do Google Cloud Speech, siga estas etapas:

  1. Acesse o console do Google Cloud Speech.

  2. Navegue até a página Transcrições.

  3. Clique em Nova transcrição e selecione seu áudio na guia Configuração de áudio.

  4. Na guia Opções de transcrição, selecione V2.