快速入门:使用命令行

本页面介绍了如何使用 REST 接口curl 命令向 Speech-to-Text 发送语音识别请求。

Speech-to-Text 能够将 Google 语音识别技术轻松集成到开发者应用中。您可以向 Speech-to-Text API 发送音频数据,然后该 API 会返回该音频文件的文字转录。如需详细了解该服务,请参阅 Speech-to-Text 基础知识

准备工作

  1. 登录您的 Google 帐号。

    如果您还没有 Google 帐号,请注册新帐号

  2. 设置 Cloud Console 项目。

    设置项目

    点击即可执行以下操作:

    • 创建或选择项目。
    • 为该项目启用 Speech-to-Text API。
    • 创建服务帐号。
    • 下载 JSON 格式的私钥。

    您可以随时在 Cloud Console 中查看和管理这些资源。

  3. 将环境变量 GOOGLE_APPLICATION_CREDENTIALS 设置为包含服务帐号密钥的 JSON 文件的路径。此变量仅适用于当前的 shell 会话,因此,如果您打开新的会话,请重新设置该变量。

  4. 安装并初始化 Cloud SDK

发出音频转录请求

现在您可以使用 Speech-to-Text 将音频文件转录为文字。请使用以下代码示例向 Speech-to-Text API 发送 recognize REST 请求。

  1. 创建包含以下文本的 JSON 请求文件,然后将其另存为 sync-request.json 纯文本文件:

    {
      "config": {
          "encoding":"FLAC",
          "sampleRateHertz": 16000,
          "languageCode": "en-US",
          "enableWordTimeOffsets": false
      },
      "audio": {
          "uri":"gs://cloud-samples-tests/speech/brooklyn.flac"
      }
    }
      

    此 JSON 片段表明,音频文件具有 FLAC 编码格式,采样率为 16000 Hz,以及音频文件存储在 Google Cloud Storage 中的给定 URI 处。该音频文件可公开访问,因此您不需要身份验证凭据即可访问该文件。

  2. 使用 curl 发出 speech:recognize 请求,并向其传递您在步骤 1 中设置的 JSON 请求的文件名:

    示例 curl 命令使用 gcloud auth application-default print-access-token 命令来获取身份验证令牌。

    curl -s -H "Content-Type: application/json" \
        -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
        https://speech.googleapis.com/v1/speech:recognize \
        -d @sync-request.json
      

    请注意,要将文件名传递给 curl,您可以使用 -d 选项(表示“数据”)并在文件名前面加上 @ 符号。此文件应该位于您执行 curl 命令所在的目录中。

    您应该会看到如下所示的响应:

    {
      "results": [
        {
          "alternatives": [
            {
              "transcript": "how old is the Brooklyn Bridge",
              "confidence": 0.98267895
            }
          ]
        }
      ]
    }
      

恭喜!您已向 Speech-to-Text 发送了您的第一个请求!

如果您收到来自 Speech-to-Text 的错误或空响应,请查看问题排查纠错步骤。

后续步骤