diff --git a/src/calibre/gui2/tts/piper.py b/src/calibre/gui2/tts/piper.py index 94b760dde6..2b0c386fb0 100644 --- a/src/calibre/gui2/tts/piper.py +++ b/src/calibre/gui2/tts/piper.py @@ -395,9 +395,10 @@ class Piper(TTSBackend): def _queue_current_utterance(self) -> None: if self._utterances_being_synthesized: u = self._utterances_being_synthesized[0] - global_piper_instance().synthesize(u.id, u.sentence) - u.started = True - debug(f'Utterance {u.id} synthesis queued') + if not u.started: + global_piper_instance().synthesize(u.id, u.sentence) + u.started = True + debug(f'Utterance {u.id} synthesis queued') def audio_sink_state_changed(self, state: QAudio.State) -> None: self._update_status()