问题标签 [google-speech-to-text-api]

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 投票
1 回答
376 浏览

python - 如何处理从谷歌语音到文本 API 的结果

我正在使用谷歌语音到文本 API。它返回 google.cloud.speech_v1.types.RecognizeResponse 类型的对象。我发现这在 Python 中几乎无法使用,因为我无法遍历它来返回多个文本字符串。

经过大量搜索使其在 Python 中可用的解决方案后,我在 Stack Overflow 中找到了一个可以从 google.protobuf.json_format.MessageToJson() 使用的解决方案。但是,当我运行以下功能时...

...我得到以下输出:

如您所见,运行 google MessageToJson 函数的结果实际上是一个字符串,我必须使用 json.loads 函数将其加载到 Dict 中。

  • 为什么 MessageToJson 函数会返回一个字符串,而不是一个 Dict / json 对象?
  • 是否有另一种方法可以使用 Python 中的 google.cloud.speech_v1.types.RecognizeResponse 对象来获取转录文本?

我不明白为什么谷歌会返回这个很难使用的对象。

0 投票
1 回答
178 浏览

speech-to-text - .opus 音频文件的谷歌语音到文本配置是什么样的

我正在将一个 .opus 音频文件传递给谷歌的语音到文本 api 以进行转录。我正在使用以下配置:

  • encoding = enums.RecognitionConfig.AudioEncoding.OGG_OPUS
  • language_code = "en-US"
  • sample_rate_hertz = 16000

我收到以下错误:

google.api_core.exceptions.GoogleAPICallError: None Unable to recognize speech, possible error in encoding or channel config. Please correct the config and retry the request.

我尝试了其他编码,如 FLAC 和 LINEAR16,并得到 None 作为输出。

opus 音频文件是否需要额外的配置字段,配置文件应该是什么样子?

0 投票
1 回答
3034 浏览

python-3.x - 用于语音识别的 Vosk-api python。类似谷歌的语音适应功能?

所以 Vosk-api 是一个出色的离线语音识别器,具有出色的支持,但在本文发布时(2020 年 8 月 14 日)文档非常差(或巧妙地隐藏)

问题是:是否有任何替代google-speech-recognizer功能,允许通过语音适应进行额外的转录改进?

例如

对于谷歌来说,这个配置意味着短语天气将具有更高的优先级,例如,哪个听起来相同。

还是类令牌?我知道它可能不会在 Vosk for python3 中实现,但仍然......

以下是参考资料:

https://cloud.google.com/speech-to-text/docs/class-tokens


https://cloud.google.com/speech-to-text/docs/speech-adaptation

0 投票
0 回答
21 浏览

twilio - 使用谷歌语音到文本 API 覆盖文本

在服务器端代码中,当客户端从服务器端接收转录文本时,我们尝试使用 Web 套接字连接将转录文本传递给客户端(Angular)。它会覆盖文本,或者有时会多次写入相同的文本我尝试使用 .isFinal 但问题仍然相同。下面是它的代码片段。

服务端代码:

客户端代码:-

参考网址:- https://www.twilio.com/blog/live-trancribing-phone-calls-using-twilio-media-streams-and-google-speech-text

注意:来自服务器端和客户端的 Nodejs 和 express js:- Angular 8

任何帮助将不胜感激。

0 投票
1 回答
121 浏览

google-cloud-platform - 获取 TTS 的单词时间戳

我有一个日文文本,我正在使用 Google Cloud Text to Speech 功能将其转换为 mp3。

我还想为谷歌返回的 mp3 提供单词时间戳。

Google Speech to Text 提供了此功能,但是当我将我从 TTS 获得的文件提交到 STT 时,结果并不总是很好。

获取 TTS mp3 单词时间戳的最佳方法是什么?

0 投票
0 回答
14 浏览

google-speech-to-text-api - Google Speech API 语音转文本只打印一个单词

我正在做一个项目,并且在我的以下代码中,当我按下运行时它只工作一个词它并没有写下我所有的演讲

我的代码:

在此处输入图像描述

0 投票
2 回答
180 浏览

google-cloud-storage - 你如何从谷歌云存储桶中获取字节对象

我在 Github https://github.com/googleapis/python-speech/issues/52上的问题 已经活跃了 9 天,仅有的两个尝试回答的人都失败了,但现在我认为有人可能会这样做回答这个问题,即使他们不了解 Google 的 Speech Api 的工作原理,谁也了解 Google Cloud Buckets 的工作原理。为了将长音频文件转换为文本,首先必须将它们上传到云端。我使用的一些语法现在似乎被破坏了,以下语法可能有效,只是谷歌没有解释如何使用此代码与上传到云的文件协调。因此,在下面发布的代码中:

https://cloud.google.com/speech-to-text/docs/async-recognize#speech_transcribe_async-python

content对象必须位于云上,并且必须是字节对象。假设对象的地址是:gs://audio_files/cool_audio

我将使用什么语法使内容对象引用字节对象?

0 投票
1 回答
64 浏览

google-cloud-platform - 谷歌云 SDK 外壳不显示正确的转录文本

我使用 Google Cloud SDK Shell 用越南语转录了一段音频。它返回一个成绩单,但文本如下所示。我是否必须启用其他命令或设置才能获得正确的转录文本?

0 投票
1 回答
494 浏览

node.js - 从 nodejs 中的 Opus 缓冲区创建 Ogg 数据包

几天来,我一直在这个问题上陷入困境,祈祷有人能够指出我正确的方向。

我有一个由https://github.com/discordjs/opus编码的 Opus 缓冲区流

我想将这些发送到谷歌语音到文本 api,需要将它们封装在 ogg 容器中:https://cloud.google.com/speech-to-text/docs/reference/rpc/google.cloud.speech。 v1#音频编码

我正在尝试使用这个库: https ://github.com/TooTallNate/node-ogg

这是我正在尝试的:

我还尝试使用ogg-packet库将缓冲区包装在 ogg_packet 结构中,然后再发送到oggStream.write. 这也导致没有数据事件被发出。我很确定这是错误的方法,因为 ogg-packet 说:

您很可能不需要将此模块用于任何实际目的

但我想我还是会试试的。

我试过的

在音频编码方面,我是一个真正的新手,所以我可能误解了这个过程的某些部分 - 如果这是微不足道的事情,我深表歉意,但我已经这样做了大约一个星期了

如果有更好的地方可以寻求帮助,请随时带我去 - 谢谢 :)

还尝试了类似node-opus 的这个例子,但没有运气


好的,进一步挖掘:

我下载了node-opus,它被记录为可以与node-ogg一起使用

我注意到Encoder.encodenode-opus 和 @discordjs/opus 的结果不一样。似乎 node-opus 吐出了我认为是 ogg_packet 的内容,而 discordjs/opus 提供了一个缓冲区。

即:作品流 -> discord/opus.decode -> node-opus.encode -> 日志:

与 opus 流 -> discord/opus.decode -> discord/opus.encode -> log 相比:

所以这将是我的问题。我需要从这些缓冲区创建 ogg 数据包是我的猜测......

我很好奇为什么这两个作品编码库如此不同,除非我把事情搞砸了

0 投票
0 回答
69 浏览

python - Python:当用户点击停止按钮时停止谷歌录音

我使用谷歌语音 API

该系统应按以下方式工作:

1-当用户单击“开始”按钮时,系统将开始录制

2-当用户单击“停止”按钮时,系统将停止记录并显示结果

她是我的“开始”按钮定义

我的问题是,当用户想要停止录制并单击“停止”按钮时,如何调用另一个定义?