Chirp: modelo de voz universal

O Chirp é a próxima geração dos modelos de conversão de voz em texto da Google. Representando o culminar de anos de investigação, a primeira versão do Chirp já está disponível para a funcionalidade de conversão de voz em texto. Pretendemos melhorar e expandir o Chirp para mais idiomas e domínios. Para mais detalhes, consulte o nosso artigo Google USM.

Preparámos os modelos Chirp com uma arquitetura diferente da dos nossos modelos de voz atuais. Um único modelo unifica os dados de vários idiomas. No entanto, os utilizadores continuam a especificar o idioma no qual o modelo deve reconhecer a voz. O Chirp não é compatível com algumas das funcionalidades de voz da Google que outros modelos têm. Consulte a secção Suporte de funcionalidades e limitações para ver uma lista completa.

Identificadores do modelo

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

O identificador do modelo do Chirp é: chirp.

Pode especificar este modelo em pedidos de reconhecimento síncronos ou em lote.

Métodos da API disponíveis

O Chirp processa a voz em blocos muito maiores do que outros modelos. Isto significa que pode não ser adequado para uma utilização verdadeiramente em tempo real. O Chirp está disponível através dos seguintes métodos da API:

O Chirp não está disponível nos seguintes métodos da 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

Pode ver os idiomas suportados na lista completa de idiomas.

Suporte de funcionalidades e limitações

O Chirp não é compatível com algumas das funcionalidades da API STT:

  • Pontuações de confiança: a API devolve um valor, mas não é verdadeiramente uma pontuação de confiança.
  • Adaptação da voz: não são suportadas funcionalidades de adaptação.
  • Diarização: a diarização automática não é suportada.
  • Normalização forçada: não suportada.
  • Confiança ao nível da palavra: não suportada.
  • Deteção de idioma: não suportada.

O Chirp suporta as seguintes funcionalidades:

  • Pontuação automática: a pontuação é prevista pelo modelo. Pode ser desativada.
  • Tempo das palavras: devolvido opcionalmente.
  • Transcrição de áudio independente do idioma: o modelo infere automaticamente o idioma falado no seu ficheiro de áudio e adiciona-o 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. Verify 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 column 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.

      Aceder ao IAM
    2. Selecione o projeto.
    3. Clique em Conceder acesso.
    4. No campo Novos responsáveis, introduza o identificador do utilizador. Normalmente, este é o endereço de email de uma Conta Google.

    5. Na lista Selecionar uma função, selecione uma função.
    6. Para conceder funções adicionais, clique em Adicionar outra função e adicione cada função adicional.
    7. Clique em Guardar.
  6. Install the Google Cloud CLI.

  7. Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro, tem de iniciar sessão na CLI gcloud com a sua identidade federada.

  8. Para inicializar a CLI gcloud, execute o seguinte comando:

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

    Go to project selector

  10. Verify that billing is enabled for your Google Cloud project.

  11. Enable the Speech-to-Text APIs.

    Enable the APIs

  12. 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 column 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.

      Aceder ao IAM
    2. Selecione o projeto.
    3. Clique em Conceder acesso.
    4. No campo Novos responsáveis, introduza o identificador do utilizador. Normalmente, este é o endereço de email de uma Conta Google.

    5. Na lista Selecionar uma função, selecione uma função.
    6. Para conceder funções adicionais, clique em Adicionar outra função e adicione cada função adicional.
    7. Clique em Guardar.
  13. Install the Google Cloud CLI.

  14. Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro, tem de iniciar sessão na CLI gcloud com a sua identidade federada.

  15. Para inicializar a CLI gcloud, execute o seguinte comando:

    gcloud init
  16. As bibliotecas cliente podem usar as Credenciais padrão da aplicação para fazer a autenticação facilmente com as APIs Google e enviar pedidos para essas APIs. Com as credenciais predefinidas da aplicação, pode testar a sua aplicação localmente e implementá-la sem alterar o código subjacente. Para mais informações, consulte o artigo Autentique-se para usar bibliotecas de cliente.

  17. 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.

    If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

  18. Certifique-se também de que instalou a biblioteca de cliente.

    Realize o reconhecimento de voz síncrono com o Chirp

    Segue-se um exemplo de como realizar o reconhecimento de voz síncrono num ficheiro de áudio local através do 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
    
    

    Faça um pedido com a transcrição sem diálogo ativada

    Os exemplos de código seguintes demonstram como fazer um pedido com a transcrição independente do 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
    
    

    Comece a usar o Chirp na Google Cloud consola

    1. Certifique-se de que se inscreveu numa conta do Google Cloud e criou um projeto.
    2. Aceda a Speech na Google Cloud consola.
    3. Ative a API, caso ainda não esteja ativada.
    4. Aceda à subpágina Transcrição.
    5. Clique em Nova transcrição
    6. Certifique-se de que tem um espaço de trabalho do STT. Se não tiver, crie uma.

      1. Abra o menu pendente Espaço de trabalho e clique em Novo espaço de trabalho.

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

      3. Clique para criar um contentor.

      4. Introduza um nome para o seu contentor e clique em Continuar.

      5. Clique em Criar.

      6. Depois de criar o contentor, clique em Selecionar para selecionar o seu contentor.

      7. Clique em Criar para concluir a criação do espaço de trabalho para o Speech-to-Text.

    7. Fazer uma transcrição do seu áudio.

      A página de criação de transcrições de voz para texto, que mostra a seleção ou o carregamento de ficheiros.
      1. Na página Nova transcrição, escolha uma opção para selecionar o ficheiro de áudio:
        • Clique em Carregamento local para carregar.
        • Clique em Cloud Storage para especificar um ficheiro do Cloud Storage existente.
      1. Clique em Continuar.
      A página de criação de transcrição de voz em texto mostra a seleção do modelo Chirp e o envio de uma tarefa de transcrição.
      1. Na secção Opções de transcrição, selecione o idioma falado que planeia usar para o reconhecimento com o Chirp a partir do reconhecedor criado anteriormente.

      2. No menu pendente Modelo*, selecione Chirp.

      3. No menu pendente Região, selecione uma região, como us-central1.

      4. Clique em Continuar.

      5. Para executar o seu primeiro pedido de reconhecimento através do Chirp, na secção principal, clique em Enviar.

    8. Veja o resultado da transcrição do Chirp.

      1. Na página Transcrição, clique no nome da transcrição.

      2. Na página Detalhes da transcrição, veja o resultado da transcrição e, opcionalmente, ouça o áudio no navegador.

    Limpar

    Para evitar incorrer em cobranças na sua Google Cloud conta pelos recursos usados nesta página, siga estes passos.

    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

    Consola

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

    Go to Manage resources

  20. In the project list, select the project that you want to delete, and then click Delete.
  21. In the dialog, type the project ID, and then click Shut down to delete the project.
  22. gcloud

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

    Go to Manage resources

  24. In the project list, select the project that you want to delete, and then click Delete.
  25. In the dialog, type the project ID, and then click Shut down to delete the project.
  26. O que se segue?