Detectar idioma automaticamente

Nesta página, você verá como configurar um reconhecedor para reconhecer automaticamente o idioma falado em um arquivo de áudio de uma lista predefinida de idiomas em potencial.

Em algumas situações, pode ser que você não saiba ao certo qual é o idioma contido na sua gravação de áudio. Por exemplo, caso seu serviço, aplicativo ou produto seja oferecido em um país com vários idiomas oficiais, você poderá receber entradas de áudio de usuários em idiomas diferentes. Isso pode dificultar muito a especificação de um único código de idioma para solicitações de transcrição.

Reconhecimento de vários idiomas

O Speech-to-Text oferece uma maneira de especificar um conjunto de idiomas que seus dados de áudio podem conter. Ao criar um Recognizer ou enviar uma solicitação de reconhecimento, é possível fornecer um ou mais idiomas que os dados de áudio podem incluir no campo language_codes. Em uma solicitação com vários idiomas, o Speech-to-Text tenta transcrever o áudio usando o idioma mais adequado da lista de alternativas que você forneceu. O Speech-to-Text rotula os resultados da transcrição com o código de idioma previsto.

Esse recurso é ideal para aplicativos que precisam transcrever frases curtas, como comandos de voz ou pesquisas. É possível listar até três idiomas para o reconhecimento automático de idiomas.

Antes de começar

  1. Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
  2. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  3. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  4. Ative as APIs Speech-to-Text.

    Ative as APIs

  5. Verifique se você tem os seguintes papéis no projeto: Cloud Speech Administrator

    Verificar os papéis

    1. No console do Google Cloud, abra a página IAM.

      Acessar IAM
    2. Selecionar um projeto.
    3. Na coluna Principal, encontre a linha que contém seu endereço de e-mail.

      Caso seu endereço de e-mail não esteja nessa coluna, isso significa que você não tem papéis.

    4. Na coluna Papel da linha com seu endereço de e-mail, verifique se a lista de papéis inclui os papéis necessários.

    Conceder os papéis

    1. No console do Google Cloud, abra a página IAM.

      Acesse o IAM
    2. Selecionar um projeto.
    3. Clique em CONCEDER ACESSO.
    4. No campo Novos participantes, digite seu endereço de e-mail.
    5. Na lista Selecionar um papel, escolha um.
    6. Para conceder outros papéis, clique em Adicionar outro papel e adicione cada papel adicional.
    7. Clique em Save.
  6. Instale a CLI do Google Cloud.
  7. Para inicializar a CLI gcloud, execute o seguinte comando:

    gcloud init
  8. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  9. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  10. Ative as APIs Speech-to-Text.

    Ative as APIs

  11. Verifique se você tem os seguintes papéis no projeto: Cloud Speech Administrator

    Verificar os papéis

    1. No console do Google Cloud, abra a página IAM.

      Acessar IAM
    2. Selecionar um projeto.
    3. Na coluna Principal, encontre a linha que contém seu endereço de e-mail.

      Caso seu endereço de e-mail não esteja nessa coluna, isso significa que você não tem papéis.

    4. Na coluna Papel da linha com seu endereço de e-mail, verifique se a lista de papéis inclui os papéis necessários.

    Conceder os papéis

    1. No console do Google Cloud, abra a página IAM.

      Acesse o IAM
    2. Selecionar um projeto.
    3. Clique em CONCEDER ACESSO.
    4. No campo Novos participantes, digite seu endereço de e-mail.
    5. Na lista Selecionar um papel, escolha um.
    6. Para conceder outros papéis, clique em Adicionar outro papel e adicione cada papel adicional.
    7. Clique em Save.
  12. Instale a CLI do Google Cloud.
  13. Para inicializar a CLI gcloud, execute o seguinte comando:

    gcloud init
  14. As bibliotecas de cliente podem usar o Application Default Credentials para autenticar facilmente com as APIs do Google e enviar solicitações para essas APIs. Com esse serviço, é possível testar seu aplicativo localmente e implantá-lo sem alterar o código subjacente. Par amais informações, consulte <atrack-type="commonincludes" l10n-attrs-original-order="href,track-type,track-name" l10n-encrypted-href="WDE63JFVMK0YqIWBqG8nCycgwkRfOeEqRvzYs1N+2tJUEhcZvE5VtDH5LoWw0lj/" track-name="referenceLink"> Faça a autenticação para usar as bibliotecas do cliente.</atrack-type="commonincludes">

  15. Crie as credenciais de autenticação para sua Conta do Google:

    gcloud auth application-default login

Verifique também se você instalou a biblioteca de cliente.

Ativar o reconhecimento de idioma em solicitações de transcrição de áudio

Veja um exemplo de reconhecimento de fala síncrono em um arquivo de áudio local com vários idiomas.

Python

from typing import List

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

def transcribe_multiple_languages_v2(
    project_id: str,
    language_codes: List[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=language_codes,
        model="latest_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

Limpeza

Para evitar cobranças na conta do Google Cloud pelos recursos usados nesta página, siga estas etapas.

  1. Opcional: revogue as credenciais de autenticação que você criou e exclua o arquivo de credenciais local:

    gcloud auth application-default revoke
  2. Opcional: revogar credenciais da CLI gcloud.

    gcloud auth revoke

Console

  • No Console do Google Cloud, acesse a página Gerenciar recursos.

    Acessar "Gerenciar recursos"

  • Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir .
  • Na caixa de diálogo, digite o ID do projeto e clique em Encerrar para excluí-lo.
  • gcloud

    Exclua um projeto do Google Cloud:

    gcloud projects delete PROJECT_ID

    A seguir