没真的智能机的孩子你伤不 起啊有木有!成天都是倒霉Symbian60啊有木有!上次超流量下载了Google Search forS60,里面神奇的有“语音搜索”……然后就是今天碰到android手机了,自带一个语音输入法啊!这准确率杆杆地!不过根据我多秒经验,S60 的废柴API库绝对没有这么完美的语音识别(玩过诺基亚的应该都知道,待机状态长按右软件那个出来的是自带的识别功能),所以肯定Google留了一手!
(软件见http://www.google.com/intl/zh-CN_ALL/mobile/google-mobile-app/)
废话多了,现在看看Google的猥琐API之STT!(属于speech-api v1的recognize)
http://www.google.com/speech-api/v1/recognize?xjerr=1&client=chromium&lang=zh-CN
不过使用不是那么简单的哦……
如何调用要使用这个API,你得先有一些心理素质:面对倒霉的FLAC格式,因为这个API只支持FLAC格式的数据,杯具啊。
不过你找到了我的博客,那么你是幸福的,因为我已经为你准备了不少好东西了。(顺便说一句,如果要转载记得清楚地标注“来自http://blog.laobubu.net”,我信任你。)
现在看看如何请求数据:
- 【URL】http://www.google.com/speech-api/v1/recognize?xjerr=1&client=chromium&lang=zh-CN
- 【方式】POST
- 【请求头】Content-Type:audio/x-flac; rate=16000
- 【POST】flac文件的数据
- importurllib2
- FILE='1.flac'#这里假设在当前文件夹下有一个叫1.flac的文件被识别
- url = 'http://www.google.com/speech-api/v1/recognize?xjerr=1&client=chromium&lang=zh-CN'
- audio=open(FILE,'rb').read()
- headers = {'Content-Type' : 'audio/x-flac; rate=16000'}
- req = urllib2.Request(url, audio, headers)
- response = urllib2.urlopen(req)
- print response.read().decode('UTF-8')