arrow_back

使用 Cloud Speech API 进行语音转文字

登录 加入
访问 700 多个实验和课程

使用 Cloud Speech API 进行语音转文字

实验 30 分钟 universal_currency_alt 1 个积分 show_chart 入门级
info 此实验可能会提供 AI 工具来支持您学习。
访问 700 多个实验和课程

GSP048

Google Cloud 自学实验的徽标

概览

借助 Speech-to-Text API,您可以将音频语音文件转写为 80 多种语言的文本文件。

在本实验中,您将向 Speech API 发送音频文件以进行转写。

学习内容

在本实验中,您将:

  • 创建 Speech-to-Text API 请求,并使用 curl 调用该 API
  • 对不同语言的音频文件调用 Speech-to-Text API

设置和要求

点击“开始实验”按钮前的注意事项

请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 Google Cloud 资源可供您使用多长时间。

此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。为此,我们会向您提供新的临时凭据,您可以在该实验的规定时间内通过此凭据登录和访问 Google Cloud。

为完成此实验,您需要:

  • 能够使用标准的互联网浏览器(建议使用 Chrome 浏览器)。
注意:请使用无痕模式(推荐)或无痕浏览器窗口运行此实验。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。
  • 完成实验的时间 - 请注意,实验开始后无法暂停。
注意:请仅使用学生账号完成本实验。如果您使用其他 Google Cloud 账号,则可能会向该账号收取费用。

如何开始实验并登录 Google Cloud 控制台

  1. 点击开始实验按钮。如果该实验需要付费,系统会打开一个对话框供您选择支付方式。左侧是“实验详细信息”窗格,其中包含以下各项:

    • “打开 Google Cloud 控制台”按钮
    • 剩余时间
    • 进行该实验时必须使用的临时凭据
    • 帮助您逐步完成本实验所需的其他信息(如果需要)
  2. 点击打开 Google Cloud 控制台(如果您使用的是 Chrome 浏览器,请右键点击并选择在无痕式窗口中打开链接)。

    该实验会启动资源并打开另一个标签页,显示“登录”页面。

    提示:将这些标签页安排在不同的窗口中,并排显示。

    注意:如果您看见选择账号对话框,请点击使用其他账号
  3. 如有必要,请复制下方的用户名,然后将其粘贴到登录对话框中。

    {{{user_0.username | "<用户名>"}}}

    您也可以在“实验详细信息”窗格中找到“用户名”。

  4. 点击下一步

  5. 复制下面的密码,然后将其粘贴到欢迎对话框中。

    {{{user_0.password | "<密码>"}}}

    您也可以在“实验详细信息”窗格中找到“密码”。

  6. 点击下一步

    重要提示:您必须使用实验提供的凭据。请勿使用您的 Google Cloud 账号凭据。 注意:在本实验中使用您自己的 Google Cloud 账号可能会产生额外费用。
  7. 继续在后续页面中点击以完成相应操作:

    • 接受条款及条件。
    • 由于这是临时账号,请勿添加账号恢复选项或双重验证。
    • 请勿注册免费试用。

片刻之后,系统会在此标签页中打开 Google Cloud 控制台。

注意:如需访问 Google Cloud 产品和服务,请点击导航菜单,或在搜索字段中输入服务或产品的名称。 “导航菜单”图标和“搜索”字段

任务 1. 创建 API 密钥

由于您使用 curl 向 Speech-to-Text API 发送请求,因此需要生成 API 密钥,将其包含在请求网址中。

  1. 如需创建 API 密钥,请在导航菜单 (“导航菜单”图标) 中依次点击 API 和服务 > 凭据

  2. 点击创建凭据,然后选择 API 密钥

  3. 复制并记录您刚刚生成的密钥,以便稍后在本实验中使用。

  4. 点击关闭

点击检查我的进度以验证是否完成了以下目标:

创建 API 密钥

现在,将密钥保存为环境变量,这样就不必在每个请求中都插入该 API 密钥的值。

  1. 如需执行后续步骤,请通过 SSH 连接到为您预配的 linux-instance

导航菜单 (“导航菜单”图标) 中,点击 Compute Engine > 虚拟机实例

请注意,虚拟机实例列表中会显示 linux-instance 虚拟机。虚拟机详细信息位于虚拟机名称的右侧。

  1. 点击虚拟机名称 linux-instance 右侧的 SSH

系统会打开一个交互式 shell。使用此 shell 执行后续操作。

  1. 在 shell (SSH) 中运行以下命令,并将 <your_api_key> 替换为您刚刚复制的密钥:
export API_KEY=<YOUR_API_KEY>

任务 2. 创建 API 请求

注意:本实验使用 Cloud Storage 中预先录制的文件:gs://cloud-samples-data/speech/brooklyn_bridge.flac。您可以先听一听该录音文件,然后再将其发送到 Speech-to-Text API。
  1. request.json 文件中构建对 API 的请求。创建 request.json 文件:
touch request.json
  1. 使用您首选的命令行编辑器(nanovimemacs)或 gcloud 打开该文件,然后将以下内容添加到 request.json 文件中,并使用原始音频样本文件的 uri 值:
{ "config": { "encoding":"FLAC", "languageCode": "en-US" }, "audio": { "uri":"gs://cloud-samples-data/speech/brooklyn_bridge.flac" } }
  1. 根据需要保存文件。

请求正文包含 configaudio 对象。

config 用于告诉 Speech-to-Text API 如何处理请求:

  • encoding 参数的用途是在向 API 发送文件时,告诉 API 您使用的是哪种类型的音频编码。FLAC 是 .raw 文件的编码类型(如需详细了解编码类型,请参阅 RecognitionConfig 参考文档)。
  • 如果没有填写请求的 languageCode,则默认为英语。

您还可以向 config 对象添加其他参数,但只有 encoding 是必须提供的。

audio 对象用于向 API 传递音频文件的 URI,该文件存储在本实验的 Cloud Storage 中。

点击检查我的进度以验证是否完成了以下目标:

创建 Speech API 请求

现在,您可以开始调用 Speech-to-Text API 了!

任务 3. 调用 Speech-to-Text API

  1. 使用以下 curl 命令(所有内容均包含在一个命令行中),将请求正文和 API 密钥环境变量传递给该 API:
curl -s -X POST -H "Content-Type: application/json" --data-binary @request.json \ "https://speech.googleapis.com/v1/speech:recognize?key=${API_KEY}" > result.json

响应存储在名为 result.json 的文件中。

  1. 如需查看文件的内容,您可以使用以下命令:
cat result.json

curl 命令返回的响应如下所示:

{ "results": [ { "alternatives": [ { "transcript": "how old is the Brooklyn Bridge", "confidence": 0.98216057 } ], "resultEndTime": "1.770s", "languageCode": "en-us" } ], "totalBilledTime": "15s" }

transcript 值返回的是 Speech API 将音频文件转写成的文字,而 confidence 值代表 API 对音频转写准确性的置信度。

请注意,以上请求调用了 syncrecognize 方法。Speech-to-Text API 支持同步及异步语音转文字。

本例中使用的是完整的音频文件,不过,您也可以使用 syncrecognize 方法,在用户讲话的同时进行流式语音转文字。

点击检查我的进度以验证是否完成了以下目标:

调用 Speech API 来转写英语音频

任务 4. 将不同语言的语音转写成文字

您是否通晓多种语言?Speech-to-Text API 支持将 100 多种语言的语音转写成文字!

您可以更改 request.json 中的 language_code 参数。您可以在语言支持指南中找到支持的语言列表。

尝试转写一个法语音频文件(如需预先听一听,请点击此处)。

  1. 修改 request.json,对内容做以下更改:
{ "config": { "encoding":"FLAC", "languageCode": "fr" }, "audio": { "uri":"gs://cloud-samples-data/speech/corbeau_renard.flac" } }
  1. 再次运行 curl 命令,调用 Speech-to-Text。

  2. 查看结果:

cat result.json

您应该会看到以下响应:

{ "results": [ { "alternatives": [ { "transcript": "maître corbeau sur un arbre perché Tenait dans son bec un fromage maître Renard par l'odeur alléché lui tint à peu près ce langage et bonjour monsieur du corbeau", "confidence": 0.93855613 } ], "resultEndTime": "12.630s", "languageCode": "fr-fr" } ], "totalBilledTime": "15s" }

这句话来自一个广受欢迎的法国儿童故事,作者是让·德·拉封丹。如果您有其他语言的音频文件,也可以尝试将其添加到 Cloud Storage 中,并更改请求中的 languageCode 参数。

注意:Cloud Speech-to-Text 的 API 限制和用量限额已在“配额和限制”资源中记录。 调用 Speech API 来转写法语音频

恭喜!

您使用 Speech API 执行了语音转文字。您将音频文件的 Cloud Storage URI 传递给了 API,并了解了另一种方法,也就是将音频内容进行 base64 编码,并将编码后的字符串直接传递给 API。

后续步骤/了解详情

Google Cloud 培训和认证

…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。

本手册的最后更新时间:2024 年 11 月 4 日

本实验的最后测试时间:2024 年 11 月 4 日

版权所有 2025 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。

准备工作

  1. 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
  2. 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
  3. 在屏幕左上角,点击开始实验即可开始

使用无痕浏览模式

  1. 复制系统为实验提供的用户名密码
  2. 在无痕浏览模式下,点击打开控制台

登录控制台

  1. 使用您的实验凭证登录。使用其他凭证可能会导致错误或产生费用。
  2. 接受条款,并跳过恢复资源页面
  3. 除非您已完成此实验或想要重新开始,否则请勿点击结束实验,因为点击后系统会清除您的工作并移除该项目

此内容目前不可用

一旦可用,我们会通过电子邮件告知您

太好了!

一旦可用,我们会通过电子邮件告知您

一次一个实验

确认结束所有现有实验并开始此实验

使用无痕浏览模式运行实验

请使用无痕模式或无痕式浏览器窗口运行此实验。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。