问题标签 [google-cloud-speech]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3237 浏览

php - 使用 php 的谷歌云语音 API

我正在尝试使用 PHP 调用 Google Cloud Speech API 并遇到问题。

结果表明它是无效的 JSON PAYLOAD。

{ "error": { "code": 400, "message": "收到无效的 JSON 有效负载。未知名称 \"content\" at 'audio': 找不到字段。", "status": "INVALID_ARGUMENT", "details ": [ { "@type": "type.googleapis.com/google.rpc.BadRequest", "fieldViolations": [ { "field": "audio", "description": "收到无效的 JSON 有效负载。未知名称 \ “音频”处的“内容”:找不到字段。” } ] } ] } } "

我认为这是因为 $upload 配置不正确。根据 Google Cloud Speech API,它应该是“A base64-encoded string”。 https://cloud.google.com/speech/reference/rest/v1beta1/RecognitionAudio

这就是我使用base64_encode函数的原因,但似乎 JSON 没有正确处理这个值。有什么想法吗?

0 投票
2 回答
6908 浏览

flac - Google cloud speech syncrecognize "INVALID_ARGUMENT"

I have managed the "overview tutorial" : https://cloud.google.com/speech/docs/getting-started Then I tried to use my own audio file . I uploaded a .flac file with a sample rate of 16000Hz.

I only changed the sync-request.json file below with my own audio file hosted on google cloud storage (gs://my-bucket/test4.flac)

The file is well recognized but the request return an "INVALID_ARGUMENT" error

0 投票
3 回答
3126 浏览

google-cloud-platform - 谷歌云语音 api 返回空结果

我一直在使用 Chromium Google Speech API,最近改用了 Google Cloud Speech API。自从谷歌云语音 API 发布以来,在识别准确率方面,性能似乎有所下降。我还看到有越来越多的“空结果”返回用于流式传输的音频。

我将音频同时流式传输到多个不同的服务,Google Cloud Speech API 返回空结果,而其他一些服务返回转录文本。让我想知道 Chromium Speech API 和 Google Cloud Speech API 的工作方式是否有任何变化?

我验证了音频的正确标题,并验证了我正在将音频流式传输到 Google。

有没有人遇到过谷歌有时(更像是大多数时候)返回空结果?

0 投票
1 回答
782 浏览

android - Google Cloud Speech API 提供 UNAVAILABLE: Channel in TRANSIENT_FAILURE state in Android

我使用Google Cloud Speech API已经有一段时间了。我专门关注谷歌提供的谷歌语音演示。它在 5.0 及更高版本的设备中运行效率非常高。

但是当我在低于 5.0 的 Android 版本中运行它时,它总是给我

UNAVAILABLE:通道处于 TRANSIENT_FAILURE 状态

我搜索了它,发现了一些Google APIs 的规范错误代码,其中指定,

UNAVAILABLE 该服务当前不可用。这很可能是一种瞬态情况,可以通过回退重试来纠正。

有关在 FAILED_PRECONDITION、ABORTED 和 UNAVAILABLE 之间做出决定的信息,请参阅上面的指南。

HTTP 映射:503 服务不可用

那么这是否意味着低于 Android 5.0 的 Android 设备不支持云语音服务?有什么解决方法吗?

0 投票
1 回答
1609 浏览

java - Cloud Speech API 返回码 = UNAUTHENTICATED,原因 =java.io.IOException:获取服务帐户的访问令牌时出错:

我在我的应用程序中使用 Google Cloud Speech API(通过 gRPC 的 StreamingRecognize)进行语音识别。我遇到了在 Android 设备 API 级别 < 23 上进行身份验证的问题。

我不会每次都收到此错误,但仅限于特定情况。我有两个活动。让我们命名 A 和 B。

Activity A 有一个按钮,用于启动 Activity B。Activity B 与 Google Cloud Speech API 通信并在 TextView 中显示结果。

执行以下步骤后出现此错误(在三星 GT-P5110 (Android 4.2.2) 上):

  1. 启动 Activity A -> 按 Button 启动 Activity B。

// 第一次一切正常。我从服务器接收结果并显示这个。

  1. 关闭活动 B(按返回按​​钮或调用 onBackPressed 或完成)。

  2. 按下按钮开始活动 B。

// 此时我得到错误,如上所示。

我在 Lenovo A1000 (API 5.0.1) 和 Xiaomi Mi4c (5.0.1) 上收到此错误后:

  1. 启动 Activity A -> 按 Button 启动 Activity B。

  2. 关闭活动 B(按返回按​​钮或调用 onBackPressed 或完成)。

  3. 按下按钮开始活动 B。

// 一切正常

  1. 关闭活动 B(按返回按​​钮或调用 onBackPressed 或完成)。

  2. 最小化应用程序。

  3. 5-6 分钟或更长时间后回到活动 A。

  4. 开始活动 B。

// 在这一刻我总是得到这个错误。

重新启动应用程序后一切正常,但重新打开 Activity B 后出现错误。

谁知道我该如何解决这个问题?

我使用 Play Services Dynamic Security Provider(gRPC 需要它)。我安装了最新版本的 Google Play 服务(9.6.83)。它不能解决问题。

我通过以下代码创建 ManagedChannel:

创建 SpeechGrpc.SpeechStub :

build.gradle(模块:app)

build.gradle (项目)

感谢您的时间 :)

0 投票
1 回答
3549 浏览

python - Pycharm:为谷歌服务帐户密钥设置环境变量(json凭证)

我想在我的 pycharm 中运行谷歌云语音 python 示例。

但是遇到了

ApplicationDefaultCredentialsError:应用程序默认凭据不可用。如果在 Google Compute Engine 中运行,它们就可用。否则,必须定义环境变量 GOOGLE_APPLICATION_CREDENTIALS 指向定义凭据的文件。有关详细信息,请参阅https://developers.google.com/accounts/docs/application-default-credentials

我尝试了这个解决方案,但它不起作用。谁能帮我?谢谢!

PS:google示例可以在终端很好的运行。

0 投票
0 回答
242 浏览

python - Python 获取视频脚本,重命名视频文件脚本中的内容是什么?

我有数千个非常短的一个句子或一个词长的视频剪辑,我需要根据命名约定重命名它们(面向 ESL 学习)。

这是视频文件中所说内容的一个小例子:

我想创建一个循环遍历每个剪辑的脚本,获取脚本,然后将文件重命名为脚本的前 200 个字符。如果成绩单没有标点符号,而不是空格,而是用“_”代替,那就太好了。

继续上面的 Python 示例,将输出以下内容:

成绩单不需要精确,我只是不想点击其中的每一个......

我已经在 Coursera 上学习了几个 Python 课程并理解了循环,并使用 twitter 完成了一个简单的 API,但这个真的超出了我的范围。我知道这是可能的,而且我已经看到了我需要做的一些事情,但我真的很难在精神上把它放在一起。

0 投票
2 回答
1021 浏览

google-speech-api - Google Speech API 如何获取我的 asyncrecognize 请求的结果

我执行了以下

返回

我尝试使用此处提供的交互式 GET ` 传入上面的名称值,(大约 12 小时后),

在此处输入图像描述

但回来了

我错过了什么吗?比如,如何正确执行此操作,或者我的语音识别响应?它在云端的某个地方吗?

0 投票
1 回答
861 浏览

curl - 用于同步识别 curl 请求的 json 负载无效

我关注了https://cloud.google.com/speech/docs/getting-started并成功运行

得到预期的输出。但是,现在我试图做基本上相同的事情,但对于本地 flac 文件,所以我改为运行:

我得到了回应

google api 开发者控制台显示了进来的消息,但没有给我更多信息来帮助我。我也试过

并且还收到 400 Bad Request 错误。

有没有人成功地实现了我的目标?我能找到的所有示例都是使用 api 上传文件或使用一些库,而不是简约的 curl 或 wget 请求。

0 投票
4 回答
1371 浏览

android - 使用 API 密钥在 Android 上通过 GRPC 对 Google Cloud Speech 进行身份验证

我已经设法通过 GRPC 使用流模式下的服务帐户让 Google Cloud Speech 为我的 Android 应用程序工作。但是,根据我所阅读的内容,出于安全原因,我不应该在其中部署带有这些凭据的 Android 应用程序(当前存储为资源中的 JSON 文件)。正确的做法是创建一个 API 密钥,如下所述:https ://cloud.google.com/speech/docs/common/auth

这允许我限制对我的特定 Android 应用程序的访问。但是,我一直无法从 GRPC 中找到如何使用 API 密钥。我目前正在GoogleCredentials从 JSON 文件创建一个实例,这工作正常。如何从 API 密钥中获取凭证对象?