【问题标题】:Cloud Speech API streaming mode recognition more than 1 minCloud Speech API 流模式识别超过 1 分钟
【发布时间】:2018-11-29 06:51:43
【问题描述】:

我正在尝试使用 Cloud Speech API 进行超过 1 分钟的实时语音识别,但同步语音识别的限制仅为每个请求 1 分钟。我试过运行https://github.com/GoogleCloudPlatform/python-docs-samples/blob/speech-continuous/speech/cloud-client/transcribe_streaming_indefinite.py 正如这个问题Multiple StreamingRecognizeRequest的回答所建议的那样,但我收到了这个错误:

File "transcribe_streaming_indefinite.py", line 30, in __init__ 
self._bytes_per_sample = 2 * self._num_channels AttributeError: 
'ResumableMicrophoneStream' object has no attribute '_num_channels''

有人知道如何做到这一点吗?提前谢谢你。

【问题讨论】:

    标签: python speech-recognition google-speech-api google-cloud-speech


    【解决方案1】:

    注意:您运行的代码属于非 master 的 Github 分支,因此可能不会更新。


    three Speech-to-Text main methods进行语音识别:

    同步识别:将音频数据发送到 Speech-to-Text API,对该数据执行识别,并在处理完所有音频后返回结果。请求仅限于时长为 1 分钟或更短的音频数据。

    异步识别:将音频数据发送到 Speech-to-Text API 并启动长时间运行的操作。对最长 180 分钟的任何持续时间的音频数据使用异步请求。

    流识别:对 gRPC 双向流中提供的音频数据执行识别。流式传输请求旨在用于实时识别目的,例如从麦克风捕获实时音频。流式识别在捕获音频时提供临时结果,例如,当用户仍在说话时,结果会出现。

    如果您尝试进行实时语音识别,您最好的选择是流式识别。这是demo file,你可以试试。

    如果你想测试其他两种方法有other demos in the repository for them

    关于音频files with more than 1 minute in duration。同步识别只能处理不到一分钟的音频文件。异步识别可以处理长达 180 分钟的音频文件,但您必须从 GCS 提供它们。对于流式识别,如果要处理持续时间超过一分钟的音频文件,则需要分批进行。

    Google 提供了一些用于测试目的的音频样本,它们存储在 cloud-samples-test 存储桶中。您可以使用以下命令显示它们的列表:

    gsutil ls gs://cloud-samples-tests/speech
    

    【讨论】:

    • 你知道如何创建这些批次吗?我正在使用流式识别,并且由于重新启动,句子经常被切成两半。因此,口语的上下文丢失了,结果错误。我认为在使用异步识别进行批处理时也是如此。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多