Librerie client di Speech-to-Text

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.
}

Questa pagina mostra come iniziare a utilizzare le librerie client di Cloud per l'API Speech-to-Text. Scopri di più sulle librerie client per le API Cloud, incluse le librerie client delle API Google precedenti, in Spiegazione delle librerie client.

Installare la libreria client

C#

Per ulteriori informazioni, consulta la sezione Configurare un ambiente di sviluppo C# .

Se utilizzi Visual Studio 2017 o versioni successive, apri la finestra di gestione dei pacchetti nuget e digita quanto segue:

Install-Package Google.Apis

Se utilizzi strumenti di interfaccia a riga di comando .NET Core per installare le dipendenze, esegui il comando seguente:

dotnet add package Google.Apis

Go

Per saperne di più, vedi Configurazione di un ambiente di sviluppo Go.

go get cloud.google.com/go/speech/apiv1

Java

Per ulteriori informazioni, consulta la sezione Configurare un ambiente di sviluppo Java.

Se utilizzi Maven, aggiungi quanto segue al file pom.xml. Per ulteriori informazioni sui BOM, consulta la pagina BOM delle librerie Google Cloud Platform.

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>com.google.cloud</groupId>
      <artifactId>libraries-bom</artifactId>
      <version>26.0.0</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

<dependencies>
  <dependency>
      <groupId>org.json</groupId>
      <artifactId>json</artifactId>
      <version>20220320</version>
  </dependency>
  <dependency>
    <groupId>com.google.cloud</groupId>
    <artifactId>google-cloud-speech</artifactId>
  </dependency>
</dependencies>

Se utilizzi Gradle, aggiungi quanto segue alle dipendenze:

implementation platform('com.google.cloud:libraries-bom:26.0.0')

implementation 'com.google.cloud:google-cloud-speech'

Se utilizzi sbt, aggiungi quanto segue alle dipendenze:

libraryDependencies += "com.google.cloud" % "google-cloud-speech" % "2.5.2"

Se utilizzi Visual Studio Code, IntelliJ o Eclipse, puoi aggiungere librerie client al progetto utilizzando i seguenti plug-in IDE:

I plug-in offrono funzionalità aggiuntive, come la gestione delle chiavi per gli account di servizio. Per informazioni dettagliate, consulta la documentazione di ogni plug-in.

Node.js

Per ulteriori informazioni, consulta la sezione Configurare un ambiente di sviluppo Node.js.

npm install --save @google-cloud/speech

PHP

Per saperne di più, vedi Utilizzare PHP su Google Cloud.

composer require google/apiclient

Python

Per ulteriori informazioni, consulta la sezione Configurare un ambiente di sviluppo Python.

pip install --upgrade google-cloud-speech

Ruby

Per ulteriori informazioni, consulta la sezione Configurare un ambiente di sviluppo Ruby.

gem install google-api-client

Configurazione dell'autenticazione

Per eseguire la libreria client, devi prima configurare l'autenticazione. Un modo per farlo è creare un account di servizio e impostare una variabile di ambiente, come mostrato nei passaggi seguenti. Per altri metodi di autenticazione, consulta l'articolo sull'autenticazione come account di servizio.

Console

Crea un account di servizio:

  1. In Google Cloud Console, vai alla pagina Crea account di servizio.

    Vai a Crea account di servizio
  2. Seleziona il progetto.
  3. Nel campo Nome account di servizio, inserisci un nome. Google Cloud Console compila il campo ID account di servizio in base a questo nome.

    Nel campo Descrizione account di servizio, inserisci una descrizione. Ad esempio: Service account for quickstart.

  4. Fai clic su Crea e continua.
  5. Per fornire l'accesso al progetto, concedi i seguenti ruoli al tuo account di servizio: Progetto > Proprietario.

    Nell'elenco Seleziona un ruolo, seleziona un ruolo.

    Per i ruoli aggiuntivi, fai clic su Aggiungi un altro ruolo e aggiungi ogni ruolo aggiuntivo.

  6. Fai clic su Continua.
  7. Fai clic su Fine per completare la creazione dell'account di servizio.

    Non chiudere la finestra del browser. Lo utilizzerai nel passaggio successivo.

Crea una chiave dell'account di servizio:

  1. Nella console Google Cloud, fai clic sull'indirizzo email dell'account di servizio che hai creato.
  2. Fai clic su Chiavi.
  3. Fai clic su Aggiungi chiave, quindi su Crea nuova chiave.
  4. Fai clic su Crea. Il file di una chiave JSON viene scaricato sul computer.
  5. Fai clic su Chiudi.

gcloud

Configurare l'autenticazione:

  1. Crea l'account di servizio:

    gcloud iam service-accounts create NAME

    Sostituisci NAME con un nome per l'account di servizio.

  2. Concedi i ruoli all'account di servizio. Esegui il comando seguente una volta per ciascuno dei seguenti ruoli IAM: roles/owner:

    gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=ROLE

    Sostituisci quanto segue:

    • SERVICE_ACCOUNT_NAME: il nome dell'account di servizio
    • PROJECT_ID: l'ID progetto in cui hai creato l'account di servizio
    • ROLE: il ruolo da concedere
  3. Genera il file della chiave:

    gcloud iam service-accounts keys create FILE_NAME.json --iam-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com

    Sostituisci quanto segue:

    • FILE_NAME: un nome per il file della chiave
    • SERVICE_ACCOUNT_NAME: il nome dell'account di servizio
    • PROJECT_ID: l'ID progetto in cui hai creato l'account di servizio

Fornisci le credenziali di autenticazione al codice della tua applicazione impostando la variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS. Questa variabile si applica solo alla sessione shell corrente. Se vuoi che la variabile venga applicata alle sessioni shell future, impostala nel file di avvio della shell, ad esempio nel file ~/.bashrc o ~/.profile.

Linux o macOS

export GOOGLE_APPLICATION_CREDENTIALS="KEY_PATH"

Sostituisci KEY_PATH con il percorso del file JSON che contiene la chiave dell'account di servizio.

Ad esempio:

export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/service-account-file.json"

Windows

Per PowerShell:

$env:GOOGLE_APPLICATION_CREDENTIALS="KEY_PATH"

Sostituisci KEY_PATH con il percorso del file JSON che contiene la chiave dell'account di servizio.

Ad esempio:

$env:GOOGLE_APPLICATION_CREDENTIALS="C:\Users\username\Downloads\service-account-file.json"

Per il prompt dei comandi:

set GOOGLE_APPLICATION_CREDENTIALS=KEY_PATH

Sostituisci KEY_PATH con il percorso del file JSON che contiene la chiave dell'account di servizio.

Utilizzare la libreria client

L'esempio seguente mostra come utilizzare la libreria client.

Go


// Sample speech-quickstart uses the Google Cloud Speech API to transcribe
// audio.
package main

import (
	"context"
	"fmt"
	"log"

	speech "cloud.google.com/go/speech/apiv1"
	speechpb "google.golang.org/genproto/googleapis/cloud/speech/v1"
)

func main() {
	ctx := context.Background()

	// Creates a client.
	client, err := speech.NewClient(ctx)
	if err != nil {
		log.Fatalf("Failed to create client: %v", err)
	}
	defer client.Close()

	// The path to the remote audio file to transcribe.
	fileURI := "gs://cloud-samples-data/speech/brooklyn_bridge.raw"

	// Detects speech in the audio file.
	resp, err := client.Recognize(ctx, &speechpb.RecognizeRequest{
		Config: &speechpb.RecognitionConfig{
			Encoding:        speechpb.RecognitionConfig_LINEAR16,
			SampleRateHertz: 16000,
			LanguageCode:    "en-US",
		},
		Audio: &speechpb.RecognitionAudio{
			AudioSource: &speechpb.RecognitionAudio_Uri{Uri: fileURI},
		},
	})
	if err != nil {
		log.Fatalf("failed to recognize: %v", err)
	}

	// Prints the results.
	for _, result := range resp.Results {
		for _, alt := range result.Alternatives {
			fmt.Printf("\"%v\" (confidence=%3f)\n", alt.Transcript, alt.Confidence)
		}
	}
}

Java

// Imports the Google Cloud client library
import com.google.cloud.speech.v1.RecognitionAudio;
import com.google.cloud.speech.v1.RecognitionConfig;
import com.google.cloud.speech.v1.RecognitionConfig.AudioEncoding;
import com.google.cloud.speech.v1.RecognizeResponse;
import com.google.cloud.speech.v1.SpeechClient;
import com.google.cloud.speech.v1.SpeechRecognitionAlternative;
import com.google.cloud.speech.v1.SpeechRecognitionResult;
import java.util.List;

public class QuickstartSample {

  /** Demonstrates using the Speech API to transcribe an audio file. */
  public static void main(String... args) throws Exception {
    // Instantiates a client
    try (SpeechClient speechClient = SpeechClient.create()) {

      // The path to the audio file to transcribe
      String gcsUri = "gs://cloud-samples-data/speech/brooklyn_bridge.raw";

      // Builds the sync recognize request
      RecognitionConfig config =
          RecognitionConfig.newBuilder()
              .setEncoding(AudioEncoding.LINEAR16)
              .setSampleRateHertz(16000)
              .setLanguageCode("en-US")
              .build();
      RecognitionAudio audio = RecognitionAudio.newBuilder().setUri(gcsUri).build();

      // Performs speech recognition on the audio file
      RecognizeResponse response = speechClient.recognize(config, audio);
      List<SpeechRecognitionResult> results = response.getResultsList();

      for (SpeechRecognitionResult result : results) {
        // There can be several alternative transcripts for a given chunk of speech. Just use the
        // first (most likely) one here.
        SpeechRecognitionAlternative alternative = result.getAlternativesList().get(0);
        System.out.printf("Transcription: %s%n", alternative.getTranscript());
      }
    }
  }
}

Node.js

// Imports the Google Cloud client library
const speech = require('@google-cloud/speech');

// Creates a client
const client = new speech.SpeechClient();

async function quickstart() {
  // The path to the remote LINEAR16 file
  const gcsUri = 'gs://cloud-samples-data/speech/brooklyn_bridge.raw';

  // The audio file's encoding, sample rate in hertz, and BCP-47 language code
  const audio = {
    uri: gcsUri,
  };
  const config = {
    encoding: 'LINEAR16',
    sampleRateHertz: 16000,
    languageCode: 'en-US',
  };
  const request = {
    audio: audio,
    config: config,
  };

  // Detects speech in the audio file
  const [response] = await client.recognize(request);
  const transcription = response.results
    .map(result => result.alternatives[0].transcript)
    .join('\n');
  console.log(`Transcription: ${transcription}`);
}
quickstart();

Python


# Imports the Google Cloud client library
from google.cloud import speech

# Instantiates a client
client = speech.SpeechClient()

# The name of the audio file to transcribe
gcs_uri = "gs://cloud-samples-data/speech/brooklyn_bridge.raw"

audio = speech.RecognitionAudio(uri=gcs_uri)

config = speech.RecognitionConfig(
    encoding=speech.RecognitionConfig.AudioEncoding.LINEAR16,
    sample_rate_hertz=16000,
    language_code="en-US",
)

# Detects speech in the audio file
response = client.recognize(config=config, audio=audio)

for result in response.results:
    print("Transcript: {}".format(result.alternatives[0].transcript))

Risorse aggiuntive