diff --git a/controller.py b/controller.py index 054f0d6c..f00dafbd 100644 --- a/controller.py +++ b/controller.py @@ -69,6 +69,8 @@ def sendMicMessage(message): if model.checkKeywords(message): view.printToTextbox_DetectedByWordFilter(detected_message=message) return + elif model.detectRepeatSendMessage(message): + return elif config.ENABLE_TRANSLATION is False: pass else: @@ -134,7 +136,9 @@ def stopThreadingTranscriptionSendMessageOnOpenConfigWindow(): def receiveSpeakerMessage(message): if len(message) > 0: translation = "" - if config.ENABLE_TRANSLATION is False: + if model.detectRepeatReceiveMessage(message): + return + elif config.ENABLE_TRANSLATION is False: pass else: translation, success = model.getOutputTranslate(message) diff --git a/model.py b/model.py index 0f844182..c223444b 100644 --- a/model.py +++ b/model.py @@ -65,6 +65,8 @@ class Model: self.speaker_audio_recorder = None self.speaker_energy_recorder = None self.speaker_energy_plot_progressbar = None + self.previous_send_message = "" + self.previous_receive_message = "" self.translator = Translator() self.keyword_processor = KeywordProcessor() @@ -197,6 +199,20 @@ class Model: def checkKeywords(self, message): return len(self.keyword_processor.extract_keywords(message)) != 0 + def detectRepeatSendMessage(self, message): + repeat_flag = False + if self.previous_send_message == message: + repeat_flag = True + self.previous_send_message = message + return repeat_flag + + def detectRepeatReceiveMessage(self, message): + repeat_flag = False + if self.previous_receive_message == message: + repeat_flag = True + self.previous_receive_message = message + return repeat_flag + @staticmethod def oscStartSendTyping(): sendTyping(True, config.OSC_IP_ADDRESS, config.OSC_PORT)