[英]IBM Watson Speech to Text using WebSockets
我正在嘗試使用Watson Developer Cloud java SDK來轉錄大型音頻文件。 我嘗試了Sessionless方法並且工作正常,但是當我嘗試WebSockets方法時,事情變得不可靠。
大多數情況下,該方法只返回沒有將SpeechResult
傳遞給委托者; 它很少有效,但它只能轉錄前幾秒。
這就是我的代碼:
static SpeechResults transcript = null;
private static String SpeechToText(String audioFile) throws FileNotFoundException {
SpeechToText service = new SpeechToText();
service.setUsernameAndPassword("<!!USERNAME!!>", "<!!PASSWORD!!>");
service.setEndPoint("https://stream.watsonplatform.net/speech-to-text/api");
RecognizeOptions options = new RecognizeOptions();
options.contentType("audio/ogg;codecs=opus");
options.continuous(Boolean.TRUE);
options.inactivityTimeout(-1);
options.model(Models.GetModelName(Models.SpeechModelEnums.ArabicBroadband));
options.timestamps(Boolean.TRUE);
options.wordAlternativesThreshold(0.5);
options.wordConfidence(Boolean.TRUE);
options.interimResults(Boolean.FALSE);
File audio = new File(audioFile);
//This is my sessionless call
//SpeechResults transcript = service.recognize(audio, options);
service.recognizeUsingWebSockets(new FileInputStream(audio), options, new BaseRecognizeDelegate()
{
@Override
public void onMessage(SpeechResults speechResults){
System.out.println(speechResults);
}
}
);
return "";//transcript.toString();
}
我已經連續啟用了。 我試圖擺弄interimResults但是沒有用。
我究竟做錯了什么?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.