Chirp: modelo de fala universal

O Chirp é a próxima geração dos modelos de conversão de voz em texto do Google. Representando o auge da pesquisa, a primeira versão do Chirp está disponível agora para o Speech-to-Text. Pretendemos melhorar e expandir o Chirp para mais idiomas e domínios. Para mais detalhes, consulte nosso documento Google USM.

Treinamos modelos do Chirp com uma arquitetura diferente dos modelos de fala atuais. Um único modelo unifica dados de vários idiomas. No entanto, os usuários ainda especificam o idioma em que o modelo deve reconhecer a fala. O Chirp não é compatível com alguns recursos do Google Speech que outros modelos têm. Veja abaixo a lista completa.

Identificadores de modelo

O Chirp está disponível na API Speech-to-Text v2. É possível aproveitá-lo como qualquer outro modelo.

O identificador de modelo do Chirp é: chirp.

É possível especificar esse modelo ao criar um identificador ou inline em solicitações de reconhecimento síncronas ou em lote.

Métodos de API disponíveis

O Chirp processa a fala em blocos muito maiores do que outros modelos. Isso significa que ele pode não ser adequado para uso em tempo real. O Chirp está disponível pelos seguintes métodos de API:

O Chirp não está disponível nos seguintes métodos de API:

  • v2 Speech.StreamingRecognize
  • v1 Speech.StreamingRecognize
  • v1 Speech.Recognize
  • v1 Speech.LongRunningRecognize
  • v1p1beta1 Speech.StreamingRecognize
  • v1p1beta1 Speech.Recognize
  • v1p1beta1 Speech.LongRunningRecognize

Regiões

O Chirp está disponível nas seguintes regiões:

  • us-central1
  • europe-west4
  • asia-southeast1

Consulte a página de idiomas para mais informações.

Idiomas

Veja os idiomas compatíveis na lista completa de idiomas.

Suporte e limitações dos recursos

No momento, o Chirp não é compatível com muitos recursos da API STT. Confira abaixo as restrições específicas.

  • Pontuações de confiança: a API retorna um valor, mas não é um índice de confiança.
  • Adaptação de fala: não há suporte para recursos de adaptação.
  • Diarização: não há suporte para diarização automática.
  • Normalização forçada: incompatível.
  • Confiança da palavra: incompatível.
  • Detecção de idioma: não compatível.

O Chirp é compatível com os seguintes recursos:

  • Pontuação automática: a pontuação é prevista pelo modelo. Ela pode ser desativado.
  • Marcação de tempo de palavra: opcionalmente retornada.
  • Transcrição de áudio independente de idioma: o modelo infere automaticamente o idioma falado no arquivo de áudio e o adiciona aos resultados.

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.

      Executar reconhecimento de fala síncrono com o Chirp

      Veja um exemplo de reconhecimento de fala síncrono em um arquivo de áudio local usando o Chirp:

      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 transcribe_chirp(
          audio_file: str,
      ) -> cloud_speech.RecognizeResponse:
          """Transcribes an audio file using the Chirp model of Google Cloud Speech-to-Text API.
          Args:
              audio_file (str): Path to the local audio file to be transcribed.
                  Example: "resources/audio.wav"
          Returns:
              cloud_speech.RecognizeResponse: The response from the Speech-to-Text API containing
              the transcription results.
      
          """
          # Instantiates a client
          client = SpeechClient(
              client_options=ClientOptions(
                  api_endpoint="us-central1-speech.googleapis.com",
              )
          )
      
          # 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=["en-US"],
              model="chirp",
          )
      
          request = cloud_speech.RecognizeRequest(
              recognizer=f"projects/{PROJECT_ID}/locations/us-central1/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
      
      

      Fazer uma solicitação com a transcrição independente de idioma ativada

      Os exemplos de código a seguir demonstram como fazer uma solicitação com a transcrição independente de idioma ativada.

      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 transcribe_chirp_auto_detect_language(
          audio_file: str,
          region: str = "us-central1",
      ) -> cloud_speech.RecognizeResponse:
          """Transcribe an audio file and auto-detect spoken language using Chirp.
          Please see https://cloud.google.com/speech-to-text/v2/docs/encoding for more
          information on which audio encodings are supported.
          Args:
              audio_file (str): Path to the local audio file to be transcribed.
              region (str): The region for the API endpoint.
          Returns:
              cloud_speech.RecognizeResponse: The response containing the transcription results.
          """
          # Instantiates a client
          client = SpeechClient(
              client_options=ClientOptions(
                  api_endpoint=f"{region}-speech.googleapis.com",
              )
          )
      
          # 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=["auto"],  # Set language code to auto to detect language.
              model="chirp",
          )
      
          request = cloud_speech.RecognizeRequest(
              recognizer=f"projects/{PROJECT_ID}/locations/{region}/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}")
              print(f"Detected Language: {result.language_code}")
      
          return response
      
      

      Primeiros passos com o Chirp no console do Google Cloud

      1. Verifique se você se inscreveu em uma conta do Google Cloud e criou um projeto.
      2. Acesse Speech no console do Google Cloud.
      3. Ative a API, se ainda não tiver feito isso.
      4. Crie um reconhecedor STT que usa o Chirp. a. Acesse a guia Reconhecedores e clique em Criar.

        Captura de tela da lista de reconhecedores de Speech-to-text.

        b. Na página Criar reconhecedor, digite os campos necessários para o Chirp.

        Captura de tela da página "Criar transcrição" do Speech-to-Text.

        i. Dê um nome ao reconhecedor.

        ii. Selecione chirp como o modelo.

        iii. Selecione o idioma que você quer usar. Use um reconhecedor por idioma que você pretende testar.

        iv. Não selecione outros recursos.

      5. Verifique se você tem um espaço de trabalho de interface do STT. Crie um espaço de trabalho, caso ainda não tenha um. a. Acesse a página de transcrições e clique em Nova transcrição.

        b. Abra a lista suspensa Espaço de trabalho e clique em Novo espaço de trabalho para criar um espaço de trabalho para transcrição.

        c. Na barra lateral de navegação Criar um novo espaço de trabalho, clique em Procurar.

        d. Clique para criar um novo bucket.

        e. Digite um nome para o bucket e clique em Continuar.

        f. Clique em Criar para criar um bucket do Cloud Storage.

        g. Depois que o bucket for criado, clique em Selecionar para selecionar o bucket a ser usado.

        h. Clique em Criar para concluir a criação do espaço de trabalho para a interface da conversão de voz em texto.

      6. Faça uma transcrição no áudio.

        Captura de tela da página de criação da transcrição da Conversão de voz em texto, que mostra a seleção ou o upload de arquivos.

        a. Na página Nova transcrição, selecione seu arquivo de áudio por meio de upload (Upload local) ou especificando um arquivo do Cloud Storage (Cloud Storage). Observação: a interface tenta avaliar os parâmetros do arquivo de áudio automaticamente.

        b. Clique em Continuar para acessar as Opções de transcrição.

        Captura de tela da página de criação da transcrição da Conversão de voz em texto mostrando a seleção do modelo do Chirp e o envio de um job de transcrição.

        c. Selecione o Idioma falado que você pretende usar para reconhecimento com o Chirp a partir do seu reconhecedor criado anteriormente.

        d. Na lista suspensa do modelo, selecione Chirp: modelo de fala universal.

        e. No menu suspenso Reconhecedor, selecione o reconhecedor recém-criado.

        f. Clique em Enviar para executar sua primeira solicitação de reconhecimento usando o Chirp.

      7. Veja o resultado da transcrição do Chirp. a. Na página Transcrições, clique no nome da transcrição para ver o resultado.

        b. Na página Detalhes da transcrição, veja o resultado da transcrição e, se quiser, reproduza o áudio no navegador.

      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