Transcrever áudio

O serviço Speech-to-Text da Vertex AI no Google Distributed Cloud (GDC) com isolamento físico reconhece a fala de arquivos de áudio. A Speech-to-Text converte o áudio detectado em transcrições de texto usando a API pré-treinada.

Nesta página, mostramos como transcrever arquivos de áudio em texto usando a API Speech-to-Text no Distributed Cloud.

Antes de começar

Para transcrever arquivos de áudio, peça as permissões necessárias ao administrador.

Solicitar papéis do IAM

Para transcrever áudio usando o modelo padrão da Speech-to-Text, entre em contato com o administrador do projeto do IAM para solicitar o papel de Desenvolvedor da AI Speech (ai-speech-developer) no namespace do projeto.

Para mais informações sobre esse papel, consulte Preparar permissões do IAM.

Antes de começar a usar a API Speech-to-Text, é preciso ter um projeto com a API Speech-to-Text ativada e as credenciais apropriadas. Também é possível instalar bibliotecas de cliente para ajudar você a fazer chamadas para a API. Para mais informações, consulte Configurar um projeto de reconhecimento de fala.

Transcrever áudio com o modelo padrão

A Speech-to-Text realiza o reconhecimento de fala. Você envia o arquivo de áudio em que quer reconhecer a fala diretamente como conteúdo na solicitação de API. O sistema retorna o texto transcrito na resposta da API.

É preciso fornecer um objeto de configuração RecognitionConfig ao fazer uma solicitação de reconhecimento de fala. Esse objeto informa à API como processar seus dados de áudio e que tipo de saída você espera. Se um modelo não for especificado explicitamente nesse objeto de configuração, a Speech-to-Text vai selecionar um modelo padrão.

Para mais informações, consulte a documentação da API Speech.

O exemplo a seguir transcreve a fala de um arquivo de áudio usando o modelo padrão da Speech-to-Text:

Python

Siga estas etapas para usar o serviço Speech-to-Text de um script Python para transcrever a fala de um arquivo de áudio:

  1. Instale a versão mais recente da biblioteca de cliente da Speech-to-Text.

  2. Defina as variáveis de ambiente necessárias em um script Python.

  3. Autentique sua solicitação de API.

  4. Adicione o seguinte código ao script Python que você criou:

    import base64
    
    from google.cloud import speech_v1p1beta1 as speech
    import google.auth
    from google.auth.transport import requests
    from google.api_core.client_options import ClientOptions
    
    audience="https://ENDPOINT:443"
    api_endpoint="ENDPOINT:443"
    
    def get_client(creds):
      opts = ClientOptions(api_endpoint=api_endpoint)
      return speech.SpeechClient(credentials=creds, client_options=opts)
    
    def main():
      creds = None
      try:
        creds, project_id = google.auth.default()
        creds = creds.with_gdch_audience(audience)
        req = requests.Request()
        creds.refresh(req)
      except Exception as e:
        print("Caught exception" + str(e))
        raise e
      return creds
    
    def speech_func(creds):
      tc = get_client(creds)
    
      content="BASE64_ENCODED_AUDIO"
    
      audio = speech.RecognitionAudio(
          content=base64.standard_b64decode(content)
      )
      config = speech.RecognitionConfig(
          encoding=speech.RecognitionConfig.AudioEncoding.ENCODING,
          sample_rate_hertz=RATE_HERTZ,
          audio_channel_count=CHANNEL_COUNT,
          language_code="LANGUAGE_CODE",
      )
    
      metadata = [("x-goog-user-project", "projects/PROJECT_ID")]
      resp = tc.recognize(config=config, audio=audio, metadata=metadata)
      print(resp)
    
    if __name__=="__main__":
      creds = main()
      speech_func(creds)
    

    Substitua:

    • ENDPOINT: o endpoint da Speech-to-Text que você usa para sua organização. Para mais informações, confira o status e os endpoints do serviço.
    • PROJECT_ID: o ID do projeto.
    • BASE64_ENCODED_AUDIO: os bytes de dados de áudio codificados em uma representação Base64. Essa string começa com caracteres semelhantes a ZkxhQwAAACIQABAAAAUJABtAA+gA8AB+W8FZndQvQAyjv. Para mais informações, consulte RecognitionAudio.
    • ENCODING: a codificação dos dados de áudio enviados na solicitação, como LINEAR16. Para mais informações, consulte AudioEncoding.
    • RATE_HERTZ: a taxa de amostragem em Hertz (8000-48000) dos dados de áudio enviados na solicitação, como 16000. Obrigatório para as codificações LINEAR16, FLAC e MULAW (incluindo arquivos WAV). Confira mais informações em RecognitionConfig.
    • LANGUAGE_CODE: o idioma do áudio fornecido como uma tag de idioma BCP-47, como en-US. Consulte a lista de idiomas compatíveis e os respectivos códigos de idioma.
    • CHANNEL_COUNT: o número de canais nos dados de áudio de entrada (1-8), como 1 para áudio mono. A configuração audio_channel_count é necessária para as codificações LINEAR16, FLAC e MULAW. Para mais informações, consulte RecognitionConfig.
  5. Salve o script em Python.

  6. Execute o script Python para transcrever o áudio:

    python SCRIPT_NAME
    

    Substitua SCRIPT_NAME pelo nome que você deu ao script do Python, por exemplo, speech.py.