Closed shikida closed 8 years ago
@germanattanasio , we need to fix this one. This seems like an error parsing the hypotheses, can you please take a look at that?
thank you
Dani
@shikida make sure that continuous = true
otherwise the recognition will stop if a half-second silence is detected. See the documentation
Continuous transmission
The continuous parameter accepts a Boolean value that indicates how the service is to handle silence. By default, the service stops transcription at the first pause, which is denoted by a half-second of non-speech (typically silence), or when the stream terminates. This is referred to as an end of speech (EOS) incident. By setting continuous to true, you instruct the service to transcribe the entire audio stream until the stream terminates. In this case, the results can include multiple transcript elements to indicate phrases separated by pauses. You can concatenate the transcript elements to assemble the complete transcription of the audio stream.
After updating to 2.9.0 also same issues is throwing IndexOutOfBounds exception.
java.lang.IndexOutOfBoundsException: Index: 1, Size: 1 at java.util.ArrayList.rangeCheck(Unknown Source) at java.util.ArrayList.get(Unknown Source) at com.ibm.watson.developer_cloud.speech_to_text.v1.model.SpeechResults.isFinal(SpeechResults.java:76) at com.uniphore.platform.voice.asr.phonetic.transcriber.ibm.model.RecognizeUsingWebSocketsExample$1.onMessage(RecognizeUsingWebSocketsExample.java:35) at com.ibm.watson.developer_cloud.speech_to_text.v1.websocket.WebSocketSpeechToTextClient$WebSocketListener.onTextMessage(WebSocketSpeechToTextClient.java:72) at com.neovisionaries.ws.client.ListenerManager.callOnTextMessage(ListenerManager.java:352) at com.neovisionaries.ws.client.ReadingThread.callOnTextMessage(ReadingThread.java:233) at com.neovisionaries.ws.client.ReadingThread.callOnTextMessage(ReadingThread.java:211) at com.neovisionaries.ws.client.ReadingThread.handleTextFrame(ReadingThread.java:910) at com.neovisionaries.ws.client.ReadingThread.handleFrame(ReadingThread.java:693) at com.neovisionaries.ws.client.ReadingThread.main(ReadingThread.java:102) at com.neovisionaries.ws.client.ReadingThread.run(ReadingThread.java:61)
java.lang.NullPointerException
at java.io.StringReader.
Error throwing while using web-socket jsoncom.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Unterminated array at line 39 column 38 path $.results[0].alternatives[0].timestamps[6][2] java.lang.RuntimeException: Error parsing the incoming message: {
mmmm I think I'm going to change the websocket library...
The current code:
public void onTextMessage(WebSocket websocket, String message) {
try {
JsonObject json = new JsonParser().parse(message).getAsJsonObject();
does not check whether message
is null or not before passing it to parse(String)
method.
How about adding the code like below?
if (message == null)
{
message = "";
}
is this change working for you ?
I am trying to transcript a long audio file (20 minutes - 7MB) but transcription ends in the first minute, no matter if I use http or websockets (I am trying the examples)
TIA
Leo
ps.
getting