Transcreva áudio

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

O Speech-to-Text inclui o Chirp, um modelo avançado de voz treinado em milhões de horas de dados de áudio e milhares de milhões de frases de texto. Este modelo contrasta com as técnicas de reconhecimento de voz convencionais, uma vez que se foca em grandes quantidades de dados supervisionados específicos do idioma. Estas técnicas oferecem aos utilizadores um reconhecimento e uma transcrição melhorados para idiomas e sotaques falados.

Esta página mostra como transcrever ficheiros de áudio em texto através da API Speech-to-Text na 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 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

A conversão de voz em texto realiza 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 processar os seus dados de áudio e que tipo de saída espera. Se um modelo não for especificado explicitamente neste objeto de configuração, o Speech-to-Text seleciona um modelo predefinido.

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

O exemplo seguinte transcreve a voz de um ficheiro de áudio através do modelo de conversão de voz em texto predefinido:

Python

Siga estes passos para usar o serviço de conversão de voz em texto a partir de um script Python para transcrever a voz de um ficheiro de áudio:

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

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

  3. Autentique o seu pedido de 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 de conversão de voz em texto que usa para a sua organização. Para mais informações, consulte o estado do serviço e os pontos finais.
    • PROJECT_ID: o ID do seu 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 RecognitionAudio.
    • ENCODING: a codificação dos dados de áudio enviados no pedido, como LINEAR16. Para mais informações, consulte AudioEncoding.
    • RATE_HERTZ: taxa de amostragem em Hertz dos dados de áudio enviados no pedido, como 16000. Para mais informações, consulte RecognitionConfig.
    • LANGUAGE_CODE: o idioma do áudio fornecido como uma etiqueta de idioma BCP-47. Consulte a lista de idiomas suportados e os respetivos códigos de idioma.
    • CHANNEL_COUNT: o número de canais nos dados de áudio de entrada, como 1. Para mais informações, consulte RecognitionConfig.
  5. Guarde o script Python.

  6. Execute o script Python para transcrever áudio:

    python SCRIPT_NAME
    

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

Transcreva áudio com o Chirp

Semelhante ao modelo predefinido de conversão de voz em texto, tem de fornecer um objeto de configuração RecognitionConfig quando fizer um pedido de reconhecimento de voz. Para usar o Chirp, tem de especificar explicitamente este modelo neste objeto de configuração definindo o valor chirp no campo model.

O exemplo seguinte transcreve a voz de um ficheiro de áudio através do modelo Chirp:

Python

Siga estes passos para usar o Chirp a partir de um script Python para transcrever a voz de um ficheiro de áudio:

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

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

  3. Autentique o seu pedido de API.

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

    import base64
    
    # Import the client library.
    from google.cloud import speech_v1p1beta1
    from google.cloud.speech_v1p1beta1.services.speech import client
    from google.api_core.client_options import ClientOptions
    
    api_endpoint="ENDPOINT:443"
    
    def get_client(creds):
      opts = ClientOptions(api_endpoint=api_endpoint)
      return client.SpeechClient(credentials=creds, client_options=opts)
    
    # Specify the audio to transcribe.
    tc = get_client(creds)
    content = "BASE64_ENCODED_AUDIO"
    
    audio = speech_v1p1beta1.RecognitionAudio()
    audio.content = base64.standard_b64decode(content)
    
    config = speech_v1p1beta1.RecognitionConfig(
        encoding=speech_v1p1beta1.RecognitionConfig.AudioEncoding.ENCODING,
        sample_rate_hertz=RATE_HERTZ,
        audio_channel_count=CHANNEL_COUNT,
        language_code="LANGUAGE_CODE",
        model="chirp"
    )
    
    # Detect speech in the audio file.
    metadata = (("x-goog-user-project", "projects/PROJECT_ID"),)
    response = tc.recognize(config=config, audio=audio, metadata=metadata)
    
    for result in response.results:
        print("Transcript: {}".format(result.alternatives[0].transcript))
    

    Substitua o seguinte:

    • ENDPOINT: o ponto final de conversão de voz em texto que usa para a sua organização. Para mais informações, consulte o estado do serviço e os pontos finais.
    • 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 RecognitionAudio.
    • ENCODING: a codificação dos dados de áudio enviados no pedido, como LINEAR16. Para mais informações, consulte AudioEncoding.
    • RATE_HERTZ: taxa de amostragem em Hertz dos dados de áudio enviados no pedido, como 16000. Para mais informações, consulte RecognitionConfig.
    • CHANNEL_COUNT: o número de canais nos dados de áudio de entrada, como 1. Para mais informações, consulte RecognitionConfig.
    • LANGUAGE_CODE: o idioma do áudio fornecido como uma etiqueta de idioma BCP-47. Consulte a lista de idiomas suportados e os respetivos códigos de idioma.
    • PROJECT_ID: o ID do seu projeto.
  5. Guarde o script Python.

  6. Execute o script Python para transcrever áudio:

    python SCRIPT_NAME
    

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