Speech-to-Text 客户端库

本页面介绍了如何开始使用 Speech-to-Text API 的 Cloud 客户端库。通过客户端库,您可以更轻松地使用支持的语言访问Google Cloud API。虽然您可以通过向服务器发出原始请求来直接使用Google Cloud API,但客户端库可实现简化,从而显著减少您需要编写的代码量。

请参阅客户端库说明,详细了解 Cloud 客户端库和旧版 Google API 客户端库。

安装客户端库

C#

如果您使用的是 Visual Studio 2017 或更高版本,请打开 nuget 软件包管理器窗口并输入以下内容:

Install-Package Google.Apis

如果您使用 .NET Core 命令行界面工具来安装依赖项,请运行以下命令:

dotnet add package Google.Apis

如需了解详情,请参阅设置 C# 开发环境

Go

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

如需了解详情,请参阅设置 Go 开发环境

Java

If you are using Maven, add the following to your pom.xml file. For more information about BOMs, see The Google Cloud Platform Libraries BOM.

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

If you are using Gradle, add the following to your dependencies:

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

If you are using sbt, add the following to your dependencies:

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

If you're using Visual Studio Code, IntelliJ, or Eclipse, you can add client libraries to your project using the following IDE plugins:

The plugins provide additional functionality, such as key management for service accounts. Refer to each plugin's documentation for details.

如需了解详情,请参阅设置 Java 开发环境

Node.js

npm install @google-cloud/speech

如需了解详情,请参阅设置 Node.js 开发环境

PHP

composer require google/apiclient

如需了解详情,请参阅在 Google Cloud 上使用 PHP

Python

pip install --upgrade google-cloud-speech

如需了解详情,请参阅设置 Python 开发环境

Ruby

gem install google-api-client

如需了解详情,请参阅设置 Ruby 开发环境

设置身份验证

为了对 Google Cloud API 的调用进行身份验证,客户端库支持应用默认凭证 (ADC);这些库会在一组指定的位置查找凭证,并使用这些凭证对发送到 API 的请求进行身份验证。借助 ADC,您可以在各种环境(例如本地开发或生产环境)中为您的应用提供凭据,而无需修改应用代码。

对于生产环境,设置 ADC 的方式取决于服务和上下文。如需了解详情,请参阅设置应用默认凭证

对于本地开发环境,您可以使用与您的 Google 账号关联的凭据设置 ADC:

  1. Install the Google Cloud CLI. After installation, initialize the Google Cloud CLI by running the following command:

    gcloud init

    If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  2. 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.

    If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

    登录屏幕随即出现。在您登录后,您的凭据会存储在 ADC 使用的本地凭据文件中。

使用客户端库

以下示例展示了如何使用客户端库。

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" 	"cloud.google.com/go/speech/apiv1/speechpb" )  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    def run_quickstart() -> speech.RecognizeResponse:     # 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(f"Transcript: {result.alternatives[0].transcript}")

其他资源

C#

以下列表包含与 C# 版客户端库相关的更多资源的链接:

Go

以下列表包含与 Go 版客户端库相关的更多资源的链接:

Java

以下列表包含与 Java 版客户端库相关的更多资源的链接:

Node.js

以下列表包含与 Node.js 版客户端库相关的更多资源的链接:

PHP

以下列表包含与 PHP 版客户端库相关的更多资源的链接:

Python

以下列表包含与 Python 版客户端库相关的更多资源的链接:

Ruby

以下列表包含与 Ruby 版客户端库相关的更多资源的链接: