借助 Speech-to-Text API,可以轻松将 Google 语音识别技术集成到开发者应用中。向 Speech-to-Text API 服务发送音频,即可收到转写成的文字。
此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。我们会为您提供新的临时凭据,让您可以在实验规定的时间内用来登录和访问 Google Cloud。
注意
:如果您看见
选择帐号
对话框,请点击
使用其他帐号
。
如有必要,请从
实验详细信息
面板复制
用户名
,然后将其粘贴到
登录
对话框中。点击
下一步
。
请从
实验详细信息
面板复制
密码
,然后将其粘贴到
欢迎
对话框中。点击
下一步
。
重要提示
:您必须使用左侧面板中的凭据。请勿使用您的 Google Cloud Skills Boost 凭据。
注意
:在本次实验中使用您自己的 Google Cloud 帐号可能会产生额外费用。
继续在后续页面中点击以完成相应操作:
接受条款及条件。
由于该帐号为临时帐号,请勿添加帐号恢复选项或双重验证。
请勿注册免费试用。
片刻之后,系统会在此标签页中打开 Cloud 控制台。
注意
:您可以点击左上角的
导航菜单
来查看列有 Google Cloud 产品和服务的菜单。
任务 1. 创建 API 密钥
由于您将使用
curl
向 Speech-to-Text API 发送请求,因此需要生成 API 密钥来传入请求网址。
要创建 API 密钥,请依次点击
导航菜单
>
API 和服务
>
凭据
。
然后点击
创建凭据
。
在下拉菜单中选择
API 密钥
。
复制您刚刚生成的密钥,然后点击
关闭
。
点击
检查我的进度
以验证是否完成了以下目标:
创建 API 密钥
现在您已经有了 API 密钥,可以将其保存为一个环境变量,这样就不必在每个请求中都插入该 API 密钥的值。
要执行后续步骤,请使用 SSH 连接到为您预配的实例。
在
导航菜单
中,选择
Compute Engine
。您应该会看到
VM 实例
窗口中列出了
linux-instance
。
点击
linux-instance
所在行的
SSH
按钮。您将转跳至一个交互式 shell。
在命令行中,输入以下内容,并将
<YOUR_API_KEY>
替换为之前生成的 API 密钥:
export API_KEY=<YOUR_API_KEY>
在本实验的剩余步骤中请不要离开该 SSH 会话。
任务 2. 创建 Speech-to-Text API 请求
注意
:您会用到 Cloud Storage 中预先录制的文件:
gs://cloud-samples-tests/speech/brooklyn.flac
。
先听一听该音频文件,然后再将其发送到 Speech-to-Text API
。
在 SSH 命令行中创建
request.json
。您将使用此文件构建发送至 Speech-to-Text API 的请求:
touch request.json
打开
request.json
:
nano request.json
您可以使用自己首选的命令行编辑器(
nano
、
vim
、
emacs
)或
gcloud
。本实验提供的说明适用于
nano
。
将以下内容添加到
request.json
文件中,并使用原始音频样本文件的
uri
值:
"config": {
"encoding":"FLAC",
"languageCode": "en-US"
"audio": {
"uri":"gs://cloud-samples-tests/speech/brooklyn.flac"
按
control
+
x
,再按
y
保存,最后按
Enter
键关闭
request.json
文件。
请求正文包含
config
和
audio
对象。
config
用于告诉 Speech-to-Text API 如何处理请求。
encoding
参数的用途是在向 API 发送文件时,告诉 API 您使用的是哪种类型的音频编码。
FLAC
是 .raw 文件的编码类型。如需详细了解编码类型,请参阅
RecognitionConfig 指南
。
您还可以向
config
对象添加其他参数,但只有
encoding
是必须提供的。
audio
对象用于向 API 传递 Cloud Storage 中音频文件的 URI。
点击
检查我的进度
以验证是否完成了以下目标:
创建 Speech-to-Text API 请求
现在,您可以开始调用 Speech-to-Text API 了!
任务 3. 调用 Speech-to-Text API
使用以下
curl
命令(所有内容均包含在一个命令行中),将请求正文和 API 密钥环境变量传递给 Speech-to-Text API:
curl -s -X POST -H "Content-Type: application/json" --data-binary @request.json \
"https://speech.googleapis.com/v1/speech:recognize?key=${API_KEY}"
返回的内容应如下所示:
"results": [
"alternatives": [
"transcript": "how old is the Brooklyn Bridge",
"confidence": 0.98267895
transcript
值返回的是 Speech-to-Text API 将音频文件转写成的文字,而
confidence
值代表 API 对音频转写准确性的置信度。
您会发现,以上请求调用了
syncrecognize
方法。Speech-to-Text API 同时支持同步和异步语音转文字转写。本例中发送的是完整的音频文件,不过,您也可以使用
syncrecognize
方法,在用户讲话的同时进行流式语音转文字转写。
您创建了 Speech-to-Text API 请求,然后调用了 Speech-to-Text API。
运行以下命令,将返回的内容保存到
result.json
文件。
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
点击
检查我的进度
以验证是否完成了以下目标:
调用 Speech-to-Text API
您使用 Speech-to-Text API 检索了一个输入音频文件的转写内容
后续步骤/了解详情
本实验是 Qwik Starts 系列实验的其中一项。通过这些实验,您可以一窥 Google Cloud 的诸多功能。请在
实验目录
中搜索“Qwik Starts”,找到您要参与的下一项实验!
Google Cloud 培训和认证
…可帮助您充分利用 Google Cloud 技术。
我们的课程
会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项
认证
可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。
上次更新手册的时间:2024 年 2 月 13 日
上次测试实验的时间:2023 年 10 月 13 日