Transcreva áudio

O serviço Speech-to-Text da Vertex AI no Google Distributed Cloud (GDC) air-gapped reconhece a voz de ficheiros de áudio. O Speech-to-Text converte o áudio detetado em transcrições de texto através da respetiva API pré-treinada.

Esta página mostra como transcrever ficheiros de áudio em texto através da API Speech-to-Text no Distributed Cloud.

Antes de começar

Antes de poder começar a usar a API Speech-to-Text, tem de ter um projeto com a API Speech-to-Text ativada e as credenciais adequadas. Também pode instalar bibliotecas de cliente para ajudar a fazer chamadas para a API. Para mais informações, consulte o artigo Configure um projeto de reconhecimento de voz.

Transcreva áudio com o modelo predefinido

O Speech-to-Text faz o reconhecimento de voz. Envia o ficheiro de áudio a partir do qual quer reconhecer a voz diretamente como conteúdo no pedido da API. O sistema devolve o texto transcrito resultante na resposta da API.

Tem de fornecer um objeto de configuração RecognitionConfig quando faz um pedido de reconhecimento de voz. Este objeto indica à API como tratar os seus dados de áudio e que tipo de saída espera. Se não for especificado explicitamente um modelo neste objeto de configuração, o Speech-to-Text seleciona um modelo predefinido.

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

O exemplo seguinte transcreve a voz de um ficheiro de áudio através do modelo Speech-to-Text predefinido:

Python

Siga estes passos para usar o serviço Speech-to-Text a partir de um script Python para transcrever a voz de um ficheiro de áudio:

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

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

  3. Autentique o pedido da API.

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

    import base64
    
    from google.cloud import speech_v1p1beta1
    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_v1p1beta1.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)
        print("Got token: ")
        print(creds.token)
      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_v1p1beta1.RecognitionAudio()
      audio.content = base64.standard_b64decode(content)
      config = speech_v1p1beta1.RecognitionConfig()
      config.encoding= speech_v1p1beta1.RecognitionConfig.AudioEncoding.ENCODING
      config.sample_rate_hertz=RATE_HERTZ
      config.language_code="LANGUAGE_CODE"
      config.audio_channel_count=CHANNEL_COUNT
    
      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 o seguinte:

    • ENDPOINT: o ponto final do Speech-to-Text que usa para a sua organização. Para mais informações, consulte o estado e os pontos finais dos serviços.
    • PROJECT_ID: o ID do projeto.
    • BASE64_ENCODED_AUDIO: os bytes de dados de áudio codificados numa representação Base64. Esta string começa com carateres semelhantes a ZkxhQwAAACIQABAAAAUJABtAA+gA8AB+W8FZndQvQAyjv. Para mais informações, consulte o artigo RecognitionAudio.
    • ENCODING: a codificação dos dados de áudio enviados no pedido, como LINEAR16. Para mais informações, consulte o artigo AudioEncoding.
    • RATE_HERTZ: a taxa de amostragem em Hertz dos dados de áudio enviados no pedido, como 16000. Para mais informações, consulte o artigo RecognitionConfig.
    • LANGUAGE_CODE: o idioma do áudio fornecido como uma etiqueta de idioma BCP-47. Consulte a lista de idiomas compatíveis e os respetivos códigos de idiomas.
    • CHANNEL_COUNT: o número de canais nos dados de áudio de entrada, como 1. Para mais informações, consulte o artigo RecognitionConfig.
  5. Guarde o script Python.

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

    python SCRIPT_NAME
    

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