google語音 API vs 國產 科大訊飛

來源:互聯網
上載者:User

GOOGLE 語音 API  參考文章地址:

http://blog.laobubu.net/546

iphone 4s 中的 siry  google android 手機上面的 語音搜尋。(我用的很少。。。 衰),  前段時間 在微博上看到 baidu 也在 做語音。。。當時還提到國產的 “科大訊飛”

我真的 很激動。。。  自己想做一款 語音方面的 遊戲,, 當做 iphone 練手項目。。

//----------------------------------------------------------------------------------------

[API]Google的語音辨識API,支援各種語言發表於 2011-08-21

沒好用的智能機的孩子你傷不起啊有木有!成天都是倒黴Symbian60啊有木有!上次超流量下載了Google Search for S60,裡面神奇的有“語音搜尋”……然後就是今天碰到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檔案的資料
  • 【URL裡選擇性參數】&maxresults=返回結果數

如果你人品大爆發,你成功了,可以得到類似這個的結果

{"status":0,"id":"54e1babccaa58682ffbb02ceb42aa47c-1","hypotheses":[{"utterance":"測試程式","confidence":0.8556527}]}

或者你的請求URL裡設定了maxresults(比如 http://www.google.com/speech-api/v1/recognize?xjerr=1&client=chromium&lang=zh-CN&maxresults=10 )你就會得到:

{"status":0,"id":"fbf23a887b9ac2bfb630aa40dd1a776c-1","hypotheses":[{"utterance":"歡迎訪問過的網址","confidence":0.7275984},{"utterance":"歡迎訪問我的網站"},{"utterance":"歡迎訪問我的網址"},{"utterance":"歡迎訪問過的網站"},{"utterance":"白雲訪問過的網址"},{"utterance":"懷孕訪問過的網址"},{"utterance":"歡迎訪問有的網址"},{"utterance":"歡迎訪問過的網址哦"},{"utterance":"白雲訪問我的網站"},{"utterance":"懷孕訪問我的網站"}]}

不過不簡單哦

執行個體
Python代碼
  1. #By laobubu.net
  2. import urllib2
  3. FILE='1.flac' #這裡假設在當前檔案夾下有一個叫1.flac的檔案被識別
  4. url = 'http://www.google.com/speech-api/v1/recognize?xjerr=1&client=chromium&lang=zh-CN'
  5. audio=open(FILE,'rb').read()
  6. headers = {'Content-Type' : 'audio/x-flac;
    rate=16000'}
  7. req = urllib2.Request(url, audio, headers)
  8. response = urllib2.urlopen(req)
  9. print response.read().decode('UTF-8')
PHP代碼
  1.  
  2. <?php
  3. $ch = curl_init();
  4. curl_setopt($ch, CURLOPT_URL, "http://www.google.com/speech-api/v1/recognize?xjerr=1&client=chromium&lang=zh-CN&maxresults=10");
  5. curl_setopt($ch, CURLOPT_VERBOSE, 0);
  6. curl_setopt($ch, CURLOPT_HEADER, 0);
  7. curl_setopt($ch, CURLOPT_POST, 1);
  8. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  9. curl_setopt($ch, CURLOPT_POSTFIELDS, file_get_contents('1.flac'));
  10. curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type:
    audio/x-flac; rate=16000"));
  11. $data = curl_exec($ch);
  12. curl_close($ch);
  13. if ($data=json_decode($data,true)) {
  14.  echo "<ul>";
  15.  foreach($data['hypotheses'] as $i) echo "<li>".$i['utterance']."</li>";
  16.  echo "</ul>";
  17. } else {
  18.  echo "<i>識別出錯</i>";
  19. }
  20. ?>
頭疼:FLAC檔案格式

這裡我長話短說,google的flac也有限制,22050 Hz+201kbps還正常,如果比這個大多了就不對了。

不過還有最要命的問題,怎麼產生FLAC檔案?

沒關係,這裡有救星:flac.exe包下載

http://datastorage.laobubu.net/FLAC.zip 

具體使用方法是【flac.exe 檔.wav】這樣在命令列調用即可,測試得知:不支援MP3等格式,但是支援基本的wav格式。

至於其他環境下(如linux裡)也有對應的flac下載。我沒有怎麼用過linux就不說啥了。

好了,你可以去製造你的app了,哈哈。

來自laobubu實驗室自動轉換API

為了方便,我寫了一個python程式,放在Google App Engine上面,只要提交一個音頻檔案的URL(支援MP3、wav等常見格式),且檔案不大,就可以得到結果了哦。

API入口:http://laobubumf.appspot.com/stt/
備用入口:http://glab.laobubu.net/stt/

喜歡的話記得+1哦,當然捐贈我最不介意 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.