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. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Speech-to-Text APIs.

    Enable the APIs

  5. Make sure that you have the following role or roles on the project: Cloud Speech Administrator

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

    4. For all rows that specify or include you, check the Role colunn to see whether the list of roles includes the required roles.

    Grant the roles

    1. In the Google Cloud console, go to the IAM page.

      Acessar o IAM
    2. Selecionar um projeto.
    3. Clique em CONCEDER ACESSO.
    4. No campo Novos principais, insira seu identificador de usuário. Normalmente, é o endereço de e-mail de uma Conta do Google.

    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 Salvar.
    8. Install the Google Cloud CLI.
    9. To initialize the gcloud CLI, run the following command:

      gcloud init
    10. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

      Go to project selector

    11. Make sure that billing is enabled for your Google Cloud project.

    12. Enable the Speech-to-Text APIs.

      Enable the APIs

    13. Make sure that you have the following role or roles on the project: Cloud Speech Administrator

      Check for the roles

      1. In the Google Cloud console, go to the IAM page.

        Go to IAM
      2. Select the project.
      3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

      4. For all rows that specify or include you, check the Role colunn to see whether the list of roles includes the required roles.

      Grant the roles

      1. In the Google Cloud console, go to the IAM page.

        Acessar o IAM
      2. Selecionar um projeto.
      3. Clique em CONCEDER ACESSO.
      4. No campo Novos principais, insira seu identificador de usuário. Normalmente, é o endereço de e-mail de uma Conta do Google.

      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 Salvar.
      8. Install the Google Cloud CLI.
      9. To initialize the gcloud CLI, run the following command:

        gcloud init
      10. 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. Para mais informações, consulte Autenticar para usar bibliotecas de cliente.

      11. If you're using a local shell, then create local authentication credentials for your user account:

        gcloud auth application-default login

        You don't need to do this if you're using Cloud Shell.

      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

      import os
      
      from typing import List
      
      from google.cloud.speech_v2 import SpeechClient
      from google.cloud.speech_v2.types import cloud_speech
      
      PROJECT_ID = os.getenv("GOOGLE_CLOUD_PROJECT")
      
      
      def transcribe_multiple_languages_v2(
          audio_file: str,
          language_codes: List[str],
      ) -> cloud_speech.RecognizeResponse:
          """Transcribe an audio file using Google Cloud Speech-to-Text API with support for multiple languages.
          Args:
              audio_file (str): Path to the local audio file to be transcribed.
                  Example: "resources/audio.wav"
              language_codes (List[str]): A list of BCP-47 language codes to be used for transcription.
                  Example: ["en-US", "fr-FR"]
          Returns:
              cloud_speech.RecognizeResponse: The response from the Speech-to-Text API containing the
                  transcription results.
          """
          client = SpeechClient()
      
          # Reads a file as bytes
          with open(audio_file, "rb") as f:
              audio_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=audio_content,
          )
      
          # Transcribes the audio into text
          response = client.recognize(request=request)
          # Prints the transcription results
          for result in response.results:
              print(f"Transcript: {result.alternatives[0].transcript}")
      
          return response
      
      

      Limpar

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

      1. Optional: Revoke the authentication credentials that you created, and delete the local credential file.

        gcloud auth application-default revoke
      2. Optional: Revoke credentials from the gcloud CLI.

        gcloud auth revoke

      Console

    14. In the Google Cloud console, go to the Manage resources page.

      Go to Manage resources

    15. In the project list, select the project that you want to delete, and then click Delete.
    16. In the dialog, type the project ID, and then click Shut down to delete the project.
    17. gcloud

      Delete a Google Cloud project:

      gcloud projects delete PROJECT_ID

      A seguir