Trascrizione di file audio corti

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

Il riconoscimento vocale sincrono restituisce il testo riconosciuto per l'audio breve. (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 relativa a quote e limiti per informazioni sui limiti per la voce sincrona richieste di riconoscimento.

Prima di iniziare

  1. Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  4. Abilita le API Speech-to-Text.

    Abilita le API

  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 l'accesso.
    4. Nel campo Nuove entità, inserisci l'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 aggiungiamo ogni altro ruolo.
    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. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

    12. Abilita le API Speech-to-Text.

      Abilita le API

    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 l'accesso.
      4. Nel campo Nuove entità, inserisci l'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 aggiungiamo ogni altro ruolo.
      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 <atrack-type="common generate" l10n-attrs-original-order="href,track-type,track-name" l10n-encrypted-href="WDE63JFVMK0YqIWBqG8nCycgwkRfOeEqRvzYs1N+2tJUEhcZvE5WLink-reference for AuthenticatehcZvE5WLink-reference for Authenticate

      11. Create local authentication credentials for your user account:

        gcloud auth application-default login

      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 audio locale file:

      Python

      from google.cloud.speech_v2 import SpeechClient
      from google.cloud.speech_v2.types import cloud_speech
      
      
      def transcribe_file_v2(
          project_id: str,
          audio_file: str,
      ) -> cloud_speech.RecognizeResponse:
          # Instantiates a client
          client = SpeechClient()
      
          # Reads a file as bytes
          with open(audio_file, "rb") as f:
              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=content,
          )
      
          # Transcribes the audio into text
          response = client.recognize(request=request)
      
          for result in response.results:
              print(f"Transcript: {result.alternatives[0].transcript}")
      
          return response
      
      

      Esecuzione del 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 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 Cloud Storage in un altro progetto, puoi fornire l'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
      

      Ulteriori informazioni sul criterio IAM del progetto sono disponibili all'indirizzo 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 all'indirizzo Creare e gestire elenchi di controllo dell'accesso disponibile nella 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
      
      
      def transcribe_gcs_v2(
          project_id: str,
          gcs_uri: str,
      ) -> cloud_speech.RecognizeResponse:
          """Transcribes audio from a Google Cloud Storage URI.
      
          Args:
              project_id: The GCP project ID.
              gcs_uri: The Google Cloud Storage URI.
      
          Returns:
              The RecognizeResponse.
          """
          # Instantiates a client
          client = SpeechClient()
      
          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=gcs_uri,
          )
      
          # Transcribes the audio into text
          response = client.recognize(request=request)
      
          for result in response.results:
              print(f"Transcript: {result.alternatives[0].transcript}")
      
          return response
      
      

      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. Facoltativo: revoca le credenziali di autenticazione che hai creato ed elimina il file delle credenziali locale.

        gcloud auth application-default revoke
      2. Facoltativo: revoca le credenziali dallgcloud CLI.

        gcloud auth revoke

      Console

    14. Nella console Google Cloud, vai alla pagina Gestisci risorse.

      Vai a Gestisci risorse

    15. Nell'elenco dei progetti, seleziona il progetto che vuoi eliminare, quindi fai clic su Elimina.
    16. Nella finestra di dialogo, digita l'ID del progetto e fai clic su Chiudi per eliminare il progetto.
    17. gcloud

      Elimina un progetto Google Cloud:

      gcloud projects delete PROJECT_ID

      Passaggi successivi