Trascrizione di file audio corti

Questa pagina mostra come trascrivere un breve file audio in testo utilizzando il riconoscimento vocale sincrono.

Il riconoscimento vocale sincrono restituisce il testo riconosciuto per audio brevi (meno di 60 secondi).

I contenuti audio possono essere inviati direttamente a Speech-to-Text da un file locale oppure Speech-to-Text può elaborare i contenuti audio archiviati in un Bucket Cloud Storage. Consulta la pagina Quote e limiti per informazioni sui limiti relativi alle richieste di riconoscimento vocale sincrono.

Prima di iniziare

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Speech-to-Text APIs.

    Enable the APIs

  5. Make sure that you have the following role or roles on the project: Cloud Speech Administrator

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

    4. For all rows that specify or include you, check the Role colunn to see whether the list of roles includes the required roles.

    Grant the roles

    1. In the Google Cloud console, go to the IAM page.

      Vai a IAM
    2. Seleziona il progetto.
    3. Fai clic su Concedi accesso.
    4. Nel campo Nuove entità, inserisci il tuo identificatore utente. In genere si tratta dell'indirizzo email di un Account Google.

    5. Nell'elenco Seleziona un ruolo, seleziona un ruolo.
    6. Per concedere altri ruoli, fai clic su Aggiungi un altro ruolo e aggiungi ogni ruolo aggiuntivo.
    7. Fai clic su Salva.
    8. Install the Google Cloud CLI.
    9. To initialize the gcloud CLI, run the following command:

      gcloud init
    10. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

      Go to project selector

    11. Make sure that billing is enabled for your Google Cloud project.

    12. Enable the Speech-to-Text APIs.

      Enable the APIs

    13. Make sure that you have the following role or roles on the project: Cloud Speech Administrator

      Check for the roles

      1. In the Google Cloud console, go to the IAM page.

        Go to IAM
      2. Select the project.
      3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

      4. For all rows that specify or include you, check the Role colunn to see whether the list of roles includes the required roles.

      Grant the roles

      1. In the Google Cloud console, go to the IAM page.

        Vai a IAM
      2. Seleziona il progetto.
      3. Fai clic su Concedi accesso.
      4. Nel campo Nuove entità, inserisci il tuo identificatore utente. In genere si tratta dell'indirizzo email di un Account Google.

      5. Nell'elenco Seleziona un ruolo, seleziona un ruolo.
      6. Per concedere altri ruoli, fai clic su Aggiungi un altro ruolo e aggiungi ogni ruolo aggiuntivo.
      7. Fai clic su Salva.
      8. Install the Google Cloud CLI.
      9. To initialize the gcloud CLI, run the following command:

        gcloud init
      10. Le librerie client possono utilizzare le credenziali predefinite dell'applicazione per autenticarsi facilmente con le API di Google e inviare richieste a queste API. Con Credenziali predefinite dell'applicazione, puoi testare l'applicazione in locale ed eseguirne il deployment senza modificare il codice sottostante. Per ulteriori informazioni, consulta Autentica per l'utilizzo delle librerie client.

      11. If you're using a local shell, then create local authentication credentials for your user account:

        gcloud auth application-default login

        You don't need to do this if you're using Cloud Shell.

      Assicurati inoltre di aver installato la libreria client.

      Esecuzione del riconoscimento vocale sincrono su un file locale

      Ecco un esempio di esecuzione del riconoscimento vocale sincrono su un file audio locale:

      Python

      
      from google.cloud.speech_v2 import SpeechClient
      from google.cloud.speech_v2.types import cloud_speech
      
      # TODO(developer): Update and un-comment below line
      # PROJECT_ID = "your-project-id"
      
      # Instantiates a client
      client = SpeechClient()
      
      # Reads a file as bytes
      with open("resources/audio.wav", "rb") as f:
          audio_content = f.read()
      
      config = cloud_speech.RecognitionConfig(
          auto_decoding_config=cloud_speech.AutoDetectDecodingConfig(),
          language_codes=["en-US"],
          model="long",
      )
      
      request = cloud_speech.RecognizeRequest(
          recognizer=f"projects/{PROJECT_ID}/locations/global/recognizers/_",
          config=config,
          content=audio_content,
      )
      
      # Transcribes the audio into text
      response = client.recognize(request=request)
      
      for result in response.results:
          print(f"Transcript: {result.alternatives[0].transcript}")
      

      Eseguire il riconoscimento vocale sincrono su un file remoto

      Per comodità, l'API Speech-to-Text può eseguire il riconoscimento vocale direttamente su un file audio in Cloud Storage, senza dover inviare i contenuti del file audio nel corpo del richiesta.

      Speech-to-Text utilizza un account di servizio per accedere ai tuoi file in Cloud Storage. Per impostazione predefinita, l'account di servizio ha accesso ai file Cloud Storage nello stesso progetto.

      L'indirizzo email dell'account di servizio è il seguente:

      service-PROJECT_NUMBER@gcp-sa-speech.iam.gserviceaccount.com
      

      Per trascrivere i file di Cloud Storage in un altro progetto, puoi assegnare a questo account di servizio il ruolo Agente di servizio Speech-to-Text nell'altro progetto:

      gcloud projects add-iam-policy-binding PROJECT_ID \
          --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-speech.iam.gserviceaccount.com \
          --role=roles/speech.serviceAgent

      Per saperne di più sul criterio IAM del progetto, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.

      Puoi anche concedere all'account di servizio un accesso più granulare assegnandogli per uno specifico bucket Cloud Storage:

      gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \
          --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-speech.iam.gserviceaccount.com \
          --role=roles/storage.admin

      Ulteriori informazioni sulla gestione dell'accesso a Cloud Storage sono disponibili nella sezione Creare e gestire gli elenchi di controllo dell'accesso della documentazione di Cloud Storage.

      Ecco un esempio di esecuzione del riconoscimento vocale sincrono su un file in Cloud Storage:

      Python

      
      from google.cloud.speech_v2 import SpeechClient
      from google.cloud.speech_v2.types import cloud_speech
      
      # Instantiates a client
      client = SpeechClient()
      
      # TODO(developer): Update and un-comment below line
      # PROJECT_ID = "your-project-id"
      
      config = cloud_speech.RecognitionConfig(
          auto_decoding_config=cloud_speech.AutoDetectDecodingConfig(),
          language_codes=["en-US"],
          model="long",
      )
      
      request = cloud_speech.RecognizeRequest(
          recognizer=f"projects/{PROJECT_ID}/locations/global/recognizers/_",
          config=config,
          uri="gs://cloud-samples-data/speech/audio.flac",  # URI of the audio file in GCS
      )
      
      # Transcribes the audio into text
      response = client.recognize(request=request)
      
      for result in response.results:
          print(f"Transcript: {result.alternatives[0].transcript}")
      

      Esegui la pulizia

      Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questa pagina, segui questi passaggi.

      1. Optional: Revoke the authentication credentials that you created, and delete the local credential file.

        gcloud auth application-default revoke
      2. Optional: Revoke credentials from the gcloud CLI.

        gcloud auth revoke

      Console

    14. In the Google Cloud console, go to the Manage resources page.

      Go to Manage resources

    15. In the project list, select the project that you want to delete, and then click Delete.
    16. In the dialog, type the project ID, and then click Shut down to delete the project.
    17. gcloud

      Delete a Google Cloud project:

      gcloud projects delete PROJECT_ID

      Passaggi successivi