2017-05-31 187 views
0

我正嘗試使用Bing Speech API構建基於PHP的應用程序。Bing語音API cURL> 408請求超時(> 14000毫秒)

繼這個鏈接的示例(https://docs.microsoft.com/en-us/azure/cognitive-services/speech/getstarted/getstarted-curl)後,我嘗試將它調整爲一個PHP請求。 獲取JWT訪問令牌非常簡單,我設法將原始cURL請求調整爲基於PHP的cURL請求。

但是,識別音頻文件被證明是頭痛的事情。 起初,我嘗試了幾種將代碼轉換爲基於cURL請求的方法,但都沒有工作。他們最終返回「408請求超時(> 14000毫秒)」錯誤。我認爲這與我的PHP腳本有關。然而,使用示例URL進行進一步的測試(顯然替換爲正確的id和全部),也給了我相同的「408請求超時(> 14000 ms)」錯誤。

我試圖通過網絡搜索周圍的答案,但沒有運氣。有這個鏈接(408 Request timed out Microsoft Speech to Text),但似乎是使用舊版本的API,當我嘗試只導致「403 Forbidden」錯誤。

直捲曲我嘗試是:

捲曲-v -X POST 「https://speech.platform.bing.com/speech/recognition/interactive/cognitiveservices/v1?language=en-US&locale=en-US&format=detailed&requestid=d8d3c0ed-fca2-4418-b12a-9526ffefa729」 -H '授權:承載[_token_id_obscured_]' -H「內容類型:音頻/ WAV;編解碼器= 「音頻/ PCM」; samplerate = 16000'--data-binary @ [_ wav_filename_obscured_]

我試了幾個文件,所有文件都不到10秒。使用Audacity導出文件,項目速率設置爲16000Hz,文件格式爲「WAV(微軟)簽名的16位PCM」。

對此的任何輸入將不勝感激。

回答

0

爲了避免這個問題,你還需要添加下面的請求頭中的命令:

-H 'Transfer-Encoding: chunked' 
+0

感謝您的輸入,這是確實需要的是什麼。討厭官方文件沒有這樣說。 順便提一下如何提高檢測的準確性的建議?到目前爲止,我得到的準確性非常令人震驚,而不是我給API提供的一個文件生成的東西接近於所說的。我試過改變語言環境,但目前爲止還沒有運氣,有沒有其他隱藏的設置? – Tirto