From 9f86dcda1778532dde3f21d639481a6b476fb030 Mon Sep 17 00:00:00 2001 From: RazvanP Date: Tue, 4 Feb 2025 10:50:00 +0200 Subject: [PATCH] Add OCI transcriber silence threshold properties --- README.md | 14 +++++++++++++ .../OracleTranscriptionService.java | 21 ++++++++++++++++++- 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index ae2e745d..d5014040 100644 --- a/README.md +++ b/README.md @@ -413,6 +413,20 @@ XMPP account must also be set to make Jigasi be able to join a conference room. transcription service. + + org.jitsi.jigasi.transcription.oci.finalThresholdMs + 500 + + The time in milliseconds after which the final transcript will be sent. + + + + org.jitsi.jigasi.transcription.oci.interimThresholdMs + 500 + + The time in milliseconds after which the interim transcript will be sent. + + Call control MUCs (brewery) diff --git a/src/main/java/org/jitsi/jigasi/transcription/OracleTranscriptionService.java b/src/main/java/org/jitsi/jigasi/transcription/OracleTranscriptionService.java index ff4193e9..7f1abf68 100644 --- a/src/main/java/org/jitsi/jigasi/transcription/OracleTranscriptionService.java +++ b/src/main/java/org/jitsi/jigasi/transcription/OracleTranscriptionService.java @@ -86,6 +86,12 @@ public AudioMixerMediaDevice getMediaDevice(ReceiveStreamBufferListener listener public final static String COMPARTMENT_ID = "org.jitsi.jigasi.transcription.oci.compartmentId"; + public final static String OCI_FINAL_THRESHOLD_MS + = "org.jitsi.jigasi.transcription.oci.finalThresholdMs"; + + public final static String OCI_INTERIM_THRESHOLD_MS + = "org.jitsi.jigasi.transcription.oci.interimThresholdMs"; + public final static String DEFAULT_WEBSOCKET_URL = "ws://localhost:8000/ws"; private BasicAuthenticationDetailsProvider authProvider; @@ -99,6 +105,18 @@ public AudioMixerMediaDevice getMediaDevice(ReceiveStreamBufferListener listener */ private final String websocketUrlConfig; + /** + * The final threshold in milliseconds + */ + private final int finalThresholdMs = JigasiBundleActivator.getConfigurationService() + .getInt(OCI_FINAL_THRESHOLD_MS, 500); + + /** + * The interim threshold in milliseconds + */ + private final int interimThresholdMs = JigasiBundleActivator.getConfigurationService() + .getInt(OCI_INTERIM_THRESHOLD_MS, 500); + /** * Create a TranscriptionService which will send audio to the OCI service @@ -232,7 +250,8 @@ private void connect(TranscriptionRequest request) final RealtimeParameters realtimeClientParameters = RealtimeParameters.builder() .isAckEnabled(false) .languageCode(languageCode) - .finalSilenceThresholdInMs(1000) + .partialSilenceThresholdInMs(interimThresholdMs) + .finalSilenceThresholdInMs(finalThresholdMs) .build(); try {