Trascrivi audio

Il servizio Speech-to-Text di Vertex AI su Google Distributed Cloud (GDC) con air gap riconosce il parlato dai file audio. Speech-to-Text converte l'audio rilevato in trascrizioni di testo utilizzando la sua API preaddestrata.

Questa pagina mostra come trascrivere file audio in testo utilizzando l'API Speech-to-Text su Distributed Cloud.

Prima di iniziare

Per trascrivere i file audio, richiedi le autorizzazioni necessarie all'amministratore.

Richiedi ruoli IAM

Per trascrivere l'audio utilizzando il modello Speech-to-Text predefinito, contatta l'amministratore del progetto IAM per richiedere il ruolo AI Speech Developer (ai-speech-developer) nello spazio dei nomi del progetto.

Per saperne di più su questo ruolo, consulta Prepara le autorizzazioni IAM.

Prima di poter iniziare a utilizzare l'API Speech-to-Text, devi avere un progetto con l'API Speech-to-Text abilitata e le credenziali appropriate. Puoi anche installare librerie client per facilitare le chiamate all'API. Per saperne di più, consulta Configura un progetto di riconoscimento vocale.

Trascrivi l'audio con il modello predefinito

Speech-to-Text esegue il riconoscimento vocale. Invia il file audio da cui vuoi riconoscere il parlato direttamente come contenuto nella richiesta API. Il sistema restituisce il testo trascritto risultante nella risposta dell'API.

Devi fornire un oggetto di configurazione RecognitionConfig quando effettui una richiesta di riconoscimento vocale. Questo oggetto indica all'API come elaborare i dati audio e il tipo di output previsto. Se un modello non viene specificato esplicitamente in questo oggetto di configurazione, Speech-to-Text seleziona un modello predefinito.

Per saperne di più, consulta la documentazione dell'API Speech.

L'esempio seguente trascrive il parlato da un file audio utilizzando il modello Speech-to-Text predefinito:

Python

Segui questi passaggi per utilizzare il servizio Speech-to-Text da uno script Python per trascrivere il parlato da un file audio:

  1. Installa l'ultima versione della libreria client di Speech-to-Text.

  2. Imposta le variabili di ambiente richieste in uno script Python.

  3. Autentica la richiesta API.

  4. Aggiungi il seguente codice allo script Python che hai creato:

    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)
    

    Sostituisci quanto segue:

    • ENDPOINT: l'endpoint Speech-to-Text che utilizzi per la tua organizzazione. Per saperne di più, visualizza lo stato del servizio e gli endpoint.
    • PROJECT_ID: il tuo ID progetto.
    • BASE64_ENCODED_AUDIO: i byte dei dati audio codificati in una rappresentazione Base64. Questa stringa inizia con caratteri simili a ZkxhQwAAACIQABAAAAUJABtAA+gA8AB+W8FZndQvQAyjv. Per saperne di più, consulta RecognitionAudio.
    • ENCODING: la codifica dei dati audio inviati nella richiesta, ad esempio LINEAR16. Per saperne di più, consulta AudioEncoding.
    • RATE_HERTZ: la frequenza di campionamento in hertz (8000-48000) dei dati audio inviati nella richiesta, ad esempio 16000. Obbligatorio per le codifiche LINEAR16, FLAC e MULAW (inclusi i file WAV). Per saperne di più, consulta RecognitionConfig.
    • LANGUAGE_CODE: la lingua dell'audio fornito come tag di lingua BCP-47, ad esempio en-US. Consulta l'elenco delle lingue supportate e i relativi codici lingua.
    • CHANNEL_COUNT: il numero di canali nei dati audio di input (1-8), ad esempio 1 per l'audio mono. L'impostazione audio_channel_count è obbligatoria per le codifiche LINEAR16, FLAC e MULAW. Per saperne di più, consulta RecognitionConfig.
  5. Salva lo script Python.

  6. Esegui lo script Python per trascrivere l'audio:

    python SCRIPT_NAME
    

    Sostituisci SCRIPT_NAME con il nome che hai assegnato allo script Python, ad esempio speech.py.