使用Google语音识别引擎(Google Speech API)

该博客介绍了如何在Qt应用中使用Google语音识别API,通过分析Chromium源码找到接口并进行测试,展示了音频编码格式和请求流程,强调其高识别率和便利性。
摘要由CSDN通过智能技术生成

文章来源:http://blog.csdn.net/dlangu0393/article/details/7214728

最近在使用Qt编写一个客户端程序的时候需要增加语音识别输入的功能。起初尝试使用SAPI来完成这个任务,但是发现SAPI不仅使用起来超级复杂,而且识别效果也很惨烈。于是就需要寻找一个更加便捷优秀的方案。

    自从Chrome 11开始,Chrome开始支持HTML5的语音输入API,QQ紧接着也推出了语音识别输入(可以看做跟风么:D)。显然这些识别操作不可能在本地完成,那么我们就有直接利用接口的可能。

 

    对Chromium的repo进行搜索之后,终于找到了Chromium对语音识别的实现代码:

 

http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/speech/

 

    分析过程就算了,直接上成果。

    Chromium先从mic获取音频,然后使用flac或者speex进行编码,直接通过HTTPS POST到服务器。接口地址如下:

 

    https://www.google.com/speech-api/v1/recognize

 

    Chromium在请求时还会拼上很多参数:

 

    xjerr=1&client=chromium&lang=en-US&maxresults=1

 

    注:参数解释

        xjerr=1    # 不详,猜测为错误的标准

        client=chromium    # 客户端类型,这里是Chromium,猜测Chrome也应该可行,估计是作为统计用的。

        lang=en-US    # 语言类型,这里是英文,中文为zh-CN,其余语言代码参考:http://msdn.microsoft.com/en-us/library/ms533052(v=vs.85).aspx

        maxresults=1    # 最大返回结果数量,多个结果在hypotheses列表中保存。

 

    参数很明了,这给我们提供了很多便利。我们对参数进行调整,得到如下的接口地址:

 

    http://www.google.com/speech-api/v1/recognize?xjerr=1&client=chromium&lang=zh-CN&maxresults=1

 

    

    接下来祭出wget,对已经发现的接口进行测试:

 

[plain]  view plain copy
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值