是否可以通过 ID(Python)获取语音转文本识别操作的结果?

是否可以通过 ID(Python)获取语音转文本识别操作的结果?

我正在尝试通过其 ID 获取成功执行的 long_running_recognize 请求 (speech_v1p1beta1) 的响应。我知道如何通过使用 SDK 从控制台完成这项工作

gcloud ml speech operations wait <operation ID>

但是我找不到任何使用 Python 来做到这一点的正确方法。到目前为止,我为解决这个问题所做的所有尝试都没有成功。我试图找出的是从 Google Speech to Text API 的语音中获取已经识别的文本的方法。假设我已经获得了该操作的 ID。识别完成,API 返回了它的 ID。几天后,我将运行 Python 脚本来处理该文本。我想要的是直接在我的 Python 代码中从 API 获取文本,而无需通过控制台发送请求。

类似的东西

operation_ID = 123456788923 #ID of successfully done recognition
text_raw = operations.get(operation_ID)# just an example, it does not work this way

任何帮助都将非常感激。

答案1

您可以使用两种不同的方法:

第一个是使用 Cloud Speech API 的 Python 客户端 [1],在 [2] 中,如果你向下滚动,你会发现使用此 Python 库实现 long_running_recognize 的第一个示例,在 [3] 中还有另一个示例。另一个示例是 [4],但这里他们使用了一个简单的识别。我分享它只是为了让你有更多的例子,使用对你来说更合适的那个。

我不知道这是否正是您所需要的,但我希望您能在这里找到解决方案。另请注意,此客户端库目前处于测试阶段 [5],我还没有尝试过,但它应该可以工作。

第二种方法是使用 Python 子进程模块调用特定的 Bash 命令,[4] 中有官方文档。当终端上有东西可以运行,而我在 Python 中找不到合适的实现时,我有时会使用这个技巧。

[1]https://googleapis.dev/python/speech/latest/index.html

[2]https://googleapis.dev/python/speech/latest/gapic/v1p1beta1/api.html

[3]https://googleapis.dev/python/speech/latest/index.html#asynchronous-recognition

[4]https://cloud.google.com/speech-to-text/docs/quickstart-client-libraries#make_an_audio_transcription_request

[5]https://cloud.google.com/speech-to-text/docs/release-notes#June_18_2019

[6]https://docs.python.org/2/library/subprocess.html

相关内容