python语音到文本使用googleapi返回空数组



我正在尝试制作一个python脚本,它接受一个".wav"文件并返回文本。所以我做了这个:

import httplib
import json
import sys

def speech_to_text(audio):
    url = 'www.google.com'
    path = '/speech-api/v2/recognize?client=chromium&maxresults=1&pfilter=2&xjerr=1&lang=en-US&key=AIzaSyBdMw04YuFYZAqaUbOlp_85PZWXFTyoz10'
    # path = '/tag/?client=chromium&xjerr=1&lang=en-US&key=AIzaSyAovcASpSCspTHTRXAF5pSzIl4BrBILOSY'
    headers = {"Content-type": "audio/x-flac; rate=16000"}
    # params = {"": "1", "client": "chromium"}
    conn = httplib.HTTPSConnection(url)
    conn.request("POST", path, audio, headers)
    response = conn.getresponse()
    print (response)
    data = response.read()
    print (data)
    jsdata = json.loads(data)
    # return jsdata["hypotheses"][0]["utterance"]
    # return jsdata["hypotheses"][0]["utterance"]
    return jsdata

但每次它返回这个:

{"result":[]}

我在Ubuntu 14.04上使用python2.7。

我该怎么办?

你发送了一个wav文件,但你的POST说它是FLAC?(音频/x-flac)

在请求谷歌转录之前,您需要将.WAV转换为.FLAC。

相关内容

  • 没有找到相关文章

最新更新