Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 谷歌语音到文本API不适用于超过一分钟的音频文件_Python_Google Speech Api - Fatal编程技术网

Python 谷歌语音到文本API不适用于超过一分钟的音频文件

Python 谷歌语音到文本API不适用于超过一分钟的音频文件,python,google-speech-api,Python,Google Speech Api,我正在尝试使用GoogleSpeech-to-Text API转换具有以下属性的音频文件 1) 原始文件 2) 抽样率:16000 3) 比特率:16 4) 音频类型:单声道 我使用以下Python代码来获取文本文件 service_request = service.speech().asyncrecognize( body={ 'config': { 'encoding': 'LINEAR16', # raw 16-b

我正在尝试使用GoogleSpeech-to-Text API转换具有以下属性的音频文件

1) 原始文件 2) 抽样率:16000 3) 比特率:16 4) 音频类型:单声道

我使用以下Python代码来获取文本文件

service_request = service.speech().asyncrecognize(
        body={
            'config': {
                'encoding': 'LINEAR16',  # raw 16-bit signed LE samples
                'sampleRate': 16000,  # 16 khz
                'languageCode': 'en-US',  # a BCP-47 language tag
            },
            'audio': {
                'uri':'gs://xxxxxxxxx/english.raw'
                }
            })
    response = service_request.execute()
    print(json.dumps(response))
这种逻辑运作良好,但出于某种原因,转录只返回一分钟的记录,而忽略了其余部分


为什么会发生这种情况,有人能帮我吗?

很难从您的代码中分辨出来,但您必须提交一个同步请求。根据,长度限制为约60秒。异步请求最多可接受约80分钟。通读文档,了解如何正确组织您对所使用API的请求。

我对这个问题的发现如下

1) GoogleSpeech-to-Text API是为识别短音频文件而构建的。 2) 它在给定时间内可以处理的“音频数据”数量是有限的。推得太多,谷歌就会忽略它
3) 如果你真的想进入这个领域,你必须弄清楚如何预处理你的音频文件,并将音频文件“分割”成可消费的块

嗨,Matt,我很担心这一点,但我正在使用“AsyncRecognite”方法进行api调用。我还将等待响应收到“完成”,然后再发布结果。