Trascrivi audio

Questa pagina mostra come trascrivere file audio in testo utilizzando l'API Speech-to-Text sull'appliance air-gapped Google Distributed Cloud (GDC).

Il servizio Speech-to-Text di Vertex AI sull'appliance 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.

Prima di iniziare

Prima di poter iniziare a utilizzare l'API Speech-to-Text, devi disporre di un progetto con l'API Speech-to-Text abilitata e delle credenziali appropriate. Puoi anche installare librerie client per facilitare le chiamate all'API. Per saperne di più, 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 il parlato direttamente come contenuti nella richiesta API. Il sistema restituisce il testo trascritto risultante nella risposta dell'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 un modello non è specificato esplicitamente in questo oggetto di configurazione, Speech-to-Text ne seleziona uno predefinito. Speech-to-Text sull'appliance GDC air-gapped supporta solo il modello predefinito.

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 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 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.
    • ENCODING: la codifica dei dati audio inviati nella richiesta, ad esempio LINEAR16.
    • RATE_HERTZ: frequenza di campionamento in hertz dei dati audio inviati nella richiesta, ad esempio 16000.
    • LANGUAGE_CODE: la lingua dell'audio fornito come tag di lingua BCP-47. Consulta l'elenco delle lingue supportate e i relativi codici lingua.
    • CHANNEL_COUNT: il numero di canali nei dati audio di input, ad esempio 1.
  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.