APP下载

GCP机器学习(1)–CloudSpeechAPI应用实例

消息来源:baojiabao.com 作者: 发布时间:2026-07-18

报价宝综合消息GCP机器学习(1)–CloudSpeechAPI应用实例

作者:没一村
本文转载自:没一村生活点滴

最近用信用卡开通了 Google Cloud Platform 的账户,一共得到了 300 美元的免费使用额度,和 12 个月的免费试用期。里面的 API 相当的多 (连结)。里头关于机器学习的 API罗列如下:
• Cloud Vision API
• Cloud Speech APi
• Natural Language API
• Translation API

而这次要介绍的是第二项, Cloud Speech API(连结)。准备好了吗,开始啰!

快速测试

由于没一村待的实验室,时常需要 train 各种 model 来解决各种研究上会遇到的问题,因此我深知,要 train 一个可以用的语音辨识模型,对于没有大量和有品质的资料的小公司或小团队而言,是一件相当麻烦的事。更何况如果软件服务是要面对多国语言,并处理各种糟杂的情况,那就更麻烦了。

Google 提供的 Cloud Speech  API,旨在解决这个问题。 在 Cloud Speech API 的介绍页面上,也提供了按钮可以快速让大家体验这个 API的强大,图片如下,选好语言,然后按下蓝色按钮就可以了!

快速测试一下的结果如下:

虽然 Cloud Speech API 目前的强度能转换 80 种语言,但可惜的是,没一村只会说中文和英文,不能帮各位测试更多的可能性 XD,就请会说各种语言的各位自行测试啰!

测试真正的语音档

测试完我的实际语音后,我们来测试真正的语音档,看看他到底会回传我们什么东西 XD。Google API 的一大好处就是 document 写得很清楚,关于 Cloud Speech API,则可以参考这一篇。在开始之前,首先我们需要先在 Google console 上建立一个专案,按下 SET UP A PROJECT 的蓝色按钮,然后输入 project 的名称。所有在 Google Cloud Platform 上运行的 project,都会放在这个网址。

输入 project 名称后,会自动下载一个 private key。我们之后会使用到这个 private key 来存取 Cloud Speech API,如下:

接着,要把 google cloud sdk 装在本机上, Linux / OSX 的用户,可以在 terminal 使用以下指令来做安装。Windows 10 的用户,也可以在 Ubuntu bash shell 输入以下指令。(教学连结)

curl https://sdk.cloud.google.com | bash

以上事情都搞定后,我们要来产生 REST API Header 的 access token。有这个 access token 就可以存取 API。输入以下指令,而 XXX则是刚拿下来的 private  key。

gcloud auth activate-service-account --key-file=XXX.json

接着,我们还需要让我们的 google 账户能够拥有 Google Cloud Platform 的完整存取权。输入以下指令:

gcloud auth application-default login

最后输入以下这行指令拿到 access token

gcloud auth application-default print-access-token

接着,要来产生 REST API 的 request body。产生一个 json 档如下。里头的 brooklyn.flac 是 Google 提供的范例。

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

最后在 command line 上输入以下指令就可以了,ACCESS_TOKEN 要换成刚刚拿到的 access token。

curl -s -H "Content-Type: application/json" \
    -H "Authorization: Bearer ACCESS_TOKEN" \
    https://speech.googleapis.com/v1/speech:recognize \
    -d @sync-request.json

那么拿回来的 result 应该会是长这个样子:

换个自己的语音档

接着我们尝试使用自己的一个语音档。进入 Google console,并在上方选择我们刚刚建立的专案。然后点选选单,下拉点选 Storage 的“浏览器”选项。

接着,建立一个 bucket ,这个 bucket 要放我们的音乐档。如果是 MP3 的音乐,那请用  ffmpeg 转成 FLAC 档,输入以下指令,然后上传这个档案,并选择公开连结。

ffmpeg -i test.mp3 -ac 1 -ar 16000 test2.flac

点进去公开连结后,拿到网址,更改 sync-request.json 的 languageCode 到 zh-TW,然后 audio 也要更改。例如网址为 https://storage.googleapis.com/A/B.flac ,就要改成 gs://A/B.flac 。如下:

接着输入以下指令。如果 FLAC 档长度超过1分钟,记得要更改红色字的部分,。

curl -s -H "Content-Type: application/json" \
    -H "Authorization: Bearer ACCESS_TOKEN" \
    https://speech.googleapis.com/v1/speech:longrunningrecognize \
    -d @sync-request.json

回传应该会如下

{
 "name": "1294243978595186795"
}

然后再 curl 一次

curl -H "Content-Type: application/json" \
   -H "Authorization: Bearer ACCESS_TOKEN" \
   https://speech.googleapis.com/v1/operations/1294243978595186795

就可以拿回资料,如下:

大功告成!不过可能是因为歌手一直唱的关系,断词没有断的很好 XD

计价方式


前 60 分钟是免费的,而 61 分钟以上每15秒钟 0.006 美元,换算起来,300 美元大概可以玩个 200 个小时左右。

结语

以上就是这次的教学啦。首先,我先提到如何快速体验 Cloud Speech API 的威力。接着我们使用 command line 了解如何使用 Clooud Speech API。最后,我们结合 Google 自己提供的 Cloud Storage API,辨识一首歌的歌词。Google Cloud API 是个非常好用的服务,可以在 APP,网站做任何形式的搭配来增进服务品质。

2018-05-18 16:33:00

相关文章