python语音到文本使用谷歌api返回空数组?

时间:2014-09-16 08:20:42

标签: python-2.7 google-api ubuntu-14.04

我正在尝试创建一个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。

我该怎么办?

1 个答案:

答案 0 :(得分:0)

你发送了一个wav文件,但你的POST说这是一个FLAC? (音频/ X-后手)

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