Trascrivi audio

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

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

Prima di iniziare

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 ulteriori informazioni, consulta Configurare un progetto di riconoscimento vocale.

Trascrivere l'audio con il modello predefinito

Speech-to-Text esegue il riconoscimento vocale. Invii il file audio da cui vuoi riconoscere la voce direttamente come contenuti nella richiesta API. Il sistema restituisce il testo trascritto risultante nella risposta API.

Quando effettui una richiesta di riconoscimento vocale, devi fornire un oggetto di configurazione RecognitionConfig. Questo oggetto indica all'API come elaborare i dati audio e che tipo di output ti aspetti. Se in questo oggetto di configurazione non viene specificato esplicitamente un modello, Speech-to-Text ne seleziona uno predefinito.

Per ulteriori informazioni, consulta la documentazione dell'API Speech.

L'esempio seguente trascrive la voce 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 la voce da un file audio:

  1. Installa l'ultima versione della libreria client 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
    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)
    

    Sostituisci quanto segue:

    • ENDPOINT: l'endpoint Speech-to-Text che utilizzi per la tua organizzazione. Per ulteriori informazioni, consulta Stato del servizio ed endpoint.
    • PROJECT_ID: il tuo ID progetto.
    • BASE64_ENCODED_AUDIO: i byte di dati audio codificati in una rappresentazione Base64. Questa stringa inizia con caratteri simili a ZkxhQwAAACIQABAAAAUJABtAA+gA8AB+W8FZndQvQAyjv. Per ulteriori informazioni, consulta RecognitionAudio.
    • ENCODING: la codifica dei dati audio inviati nella richiesta, ad esempio LINEAR16. Per ulteriori informazioni, consulta AudioEncoding.
    • RATE_HERTZ: frequenza di campionamento in hertz dei dati audio inviati nella richiesta, ad esempio 16000. Per ulteriori informazioni, consulta RecognitionConfig.
    • LANGUAGE_CODE: la lingua dell'audio fornito come tag di lingua BCP-47. Consulta l'elenco delle lingue supportate e i rispettivi codici lingua.
    • CHANNEL_COUNT: il numero di canali nei dati audio di input, ad esempio 1. Per ulteriori informazioni, 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.