Media Translation 可将音频文件或语音流翻译为另一种语言的文本。本页面提供的代码示例展示了如何使用 Media Translation 客户端库将流式音频翻译成文本。
设置项目
在使用 Media Translation 之前,您需要先设置一个 Google Cloud 项目,并为该项目启用 Media Translation API。
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Media Translation API.
-
Create a service account:
-
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart
. - Click Create and continue.
-
Grant the Project > Owner role to the service account.
To grant the role, find the Select a role list, then select Project > Owner.
- Click Continue.
-
Click Done to finish creating the service account.
Do not close your browser window. You will use it in the next step.
-
-
Create a service account key:
- In the Google Cloud console, click the email address for the service account that you created.
- Click Keys.
- Click Add key, and then click Create new key.
- Click Create. A JSON key file is downloaded to your computer.
- Click Close.
-
Set the environment variable
GOOGLE_APPLICATION_CREDENTIALS
to the path of the JSON file that contains your credentials. This variable applies only to your current shell session, so if you open a new session, set the variable again. - Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Media Translation API.
-
Create a service account:
-
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart
. - Click Create and continue.
-
Grant the Project > Owner role to the service account.
To grant the role, find the Select a role list, then select Project > Owner.
- Click Continue.
-
Click Done to finish creating the service account.
Do not close your browser window. You will use it in the next step.
-
-
Create a service account key:
- In the Google Cloud console, click the email address for the service account that you created.
- Click Keys.
- Click Add key, and then click Create new key.
- Click Create. A JSON key file is downloaded to your computer.
- Click Close.
-
Set the environment variable
GOOGLE_APPLICATION_CREDENTIALS
to the path of the JSON file that contains your credentials. This variable applies only to your current shell session, so if you open a new session, set the variable again. - Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
- 根据您的首选语言安装客户端库。
翻译语音内容
以下代码示例展示了如何翻译通过包含最长五分钟音频的文件或直播麦克风采集到的语音。如需有关如何提供语音数据以取得最佳识别准确率的建议,请参阅最佳做法。
无论音频源如何,主要操作步骤都是相同的:
初始化一个
SpeechTranslationServiceClient
客户端,以用于向 Media Translation 发送请求。您可以使用同一个客户端重复发出多个请求。
创建一个
StreamingTranslateSpeechConfig
请求对象,以指定如何处理音频。StreamingTranslateSpeechConfig
对象包含一个TranslateSpeechConfig
对象(提供有关音频源文件的信息)和一个single_utterance
标志(用于指定在讲话人暂停讲话时,Media Translation 是否继续执行翻译)。TranslateSpeechConfig
对象提供音频源的技术规范(例如其编码和采样率)、设置翻译的源语言和目标语言(使用相应的 BCP-47 语言代码指定),并定义 Media Translation 使用何种翻译模型处理转录。发送一系列
StreamingTranslateSpeechRequest
请求对象。您需要为待翻译的每个音频文件发送一系列请求。 第一个请求提供请求的
StreamingTranslateSpeechConfig
对象,随后的请求则以流式传输方式提供音频内容。接收
StreamingTranslateSpeechResult
响应对象。虽然会接收
text_translation_result.is_final
值为false
的任何响应,但最新的翻译结果会覆盖上一个结果。当 Media Translation 生成最终结果时,
text_translation_result.is_final
字段设置为true
,后续收到的任何翻译结果都会附加到上一个结果之后。(在本例中不会覆盖上一个结果)。您可以输出完成的翻译,并从新的部分开始,处理下一部分转录和相应音频。当讲话人停止时,如果
single_utterance
请求对象中的StreamingTranslateSpeechConfig
字段设为 true,Media Translation 将为响应中的speech_event_type
事件返回END_OF_SINGLE_UTTERANCE
事件。客户端将停止发送请求,但仍会继续接收响应,直到翻译完成。流式传输的时长上限为 5 分钟。如果超出此上限,系统将返回 OUT_OF_RANGE 错误。
代码示例
翻译音频文件中的语音内容
Java
如需了解如何安装和使用 Media Translation 客户端库,请参阅 Media Translation 客户端库。 如需了解详情,请参阅 Media Translation Java API 参考文档。
如需向 Media Translation 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需了解如何安装和使用 Media Translation 客户端库,请参阅 Media Translation 客户端库。 如需了解详情,请参阅 Media Translation Node.js API 参考文档。
如需向 Media Translation 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需了解如何安装和使用 Media Translation 客户端库,请参阅 Media Translation 客户端库。 如需了解详情,请参阅 Media Translation Python API 参考文档。
如需向 Media Translation 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
翻译麦克风中的语音内容
Java
如需了解如何安装和使用 Media Translation 客户端库,请参阅 Media Translation 客户端库。 如需了解详情,请参阅 Media Translation Java API 参考文档。
如需向 Media Translation 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需了解如何安装和使用 Media Translation 客户端库,请参阅 Media Translation 客户端库。 如需了解详情,请参阅 Media Translation Node.js API 参考文档。
如需向 Media Translation 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需了解如何安装和使用 Media Translation 客户端库,请参阅 Media Translation 客户端库。 如需了解详情,请参阅 Media Translation Python API 参考文档。
如需向 Media Translation 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。