From 3fff1d1da09e72eb09356e44b9b9903bfeb12009 Mon Sep 17 00:00:00 2001
From: Andres Marafioti <andimarafioti@gmail.com>
Date: Thu, 29 Aug 2024 10:50:18 +0200
Subject: [PATCH] catch exception if language is not supported

---
 TTS/melo_handler.py | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/TTS/melo_handler.py b/TTS/melo_handler.py
index 0a86881..f05545a 100644
--- a/TTS/melo_handler.py
+++ b/TTS/melo_handler.py
@@ -62,9 +62,12 @@ class MeloTTSHandler(BaseHandler):
         console.print(f"[green]ASSISTANT: {llm_sentence}")
 
         if language_id is not None and self.language != language_id:
-            self.language = language_id
-            self.model = TTS(language=WHISPER_LANGUAGE_TO_MELO_LANGUAGE[self.language], device=self.device)
-            self.speaker_id = self.model.hps.data.spk2id[WHISPER_LANGUAGE_TO_MELO_SPEAKER[self.language]]
+            try:
+                self.model = TTS(language=WHISPER_LANGUAGE_TO_MELO_LANGUAGE[language_id], device=self.device)
+                self.speaker_id = self.model.hps.data.spk2id[WHISPER_LANGUAGE_TO_MELO_SPEAKER[language_id]]
+                self.language = language_id
+            except KeyError:
+                console.print(f"[red]Language {language_id} not supported by Melo. Using {self.language} instead.")
 
         if self.device == "mps":
             import time
-- 
GitLab