Jigasi Transcription txt being saved with missing parts

So, I have managed to configured Jigasi and the transcription, it shows properly all the recognized speech into the conference view, but when it gets to be saved to the txt (or json), it simply does not contain all the text that was sent to the conference, sometimes missing some parts, sometimes missing almost the whole meeting. I honestly have no idea on what it could be, the logs show some errors, I don’t know if they are causing any problems.

I have looked but couldn’t find anyone with this same problem, so I believe it is some misconfiguration or something with the newest version of Jigasi.

Does anyone have an idea on what could be causing this?

Jigasi version: 1.1-101-g3b2a0e5-1
Jigasi logs: https://pastebin.com/raw/4qNTCdzi

Hi @gui-vieira
Just came across this question.
Although I’m not from the Jitsi community, I’ve been able to resolve this by making a few changes in the Jigasi code, rebuilding it into a custom Debian image and configuring that as part of the docker deployment.

Essentially, in the source code, as part of VoskTranscriptionService.java, you will notice the following code block:

@OnWebSocketMessage
        public void onMessage(String msg)
        {
            boolean partial = true;
            String result = "";
            if (logger.isDebugEnabled())
                logger.debug(debugName + "Recieved response: " + msg);
            JSONObject obj = new JSONObject(msg);
            if (obj.has("partial"))
            {
                result = obj.getString("partial");
            }
            else
            {
                partial = false;
                result = obj.getString("text");
            }
            if (!result.isEmpty() && !result.equals(lastResult))
            {
                lastResult = result;
                for (TranscriptionListener l : listeners)
                {
                    l.notify(new TranscriptionResult(
                            null,
                            UUID.randomUUID(),
                            partial,
                            "C",
                            1.0,
                            new TranscriptionAlternative(result)));
                }
            }
        }

The place where the text gets lost is the check !result.equals(lastResult).
I was using the Vosk transcription service. In a lot of cases, the last partial result sent back by Vosk is equal to the final result of the transcription. In those cases, since the last partial result equals the final result, it gets ignored and the write to file action is not performed.

Simply removing this check/code will solve your problem. It might have been introduced to fix another related bug where a user faced repetition of the same sentence in the final file. I, however, haven’t faced it after removing this check and I use Jitsi extensively.

I don’t have the bandwidth to test this properly to ensure there are no other issues due to this fix and hence haven’t been able to contribute to the GitHub repository.

It might not help you as your post is from a long time ago, but I hope it might give some clarity to anyone else facing this issue.

Cheers.