From fb4971d8e911d2dc166f77cbd53d5ada03f6eae1 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 25 Dec 2025 04:48:33 -0800 Subject: [PATCH 01/12] ... --- lib/classes/tts_engines/bark.py | 7 +++++-- lib/classes/tts_engines/fairseq.py | 7 +++++-- lib/classes/tts_engines/tacotron.py | 7 +++++-- lib/classes/tts_engines/vits.py | 7 +++++-- lib/classes/tts_engines/xtts.py | 10 +++++----- lib/classes/tts_engines/yourtts.py | 7 +++++-- 6 files changed, 30 insertions(+), 15 deletions(-) diff --git a/lib/classes/tts_engines/bark.py b/lib/classes/tts_engines/bark.py index 92c5f294..358e19ac 100644 --- a/lib/classes/tts_engines/bark.py +++ b/lib/classes/tts_engines/bark.py @@ -197,8 +197,11 @@ class Bark(TTSUtils, TTSRegistry, name='bark'): #if is_audio_data_valid(audio_sentence): # audio_sentence = audio_sentence.tolist() if is_audio_data_valid(audio_sentence): - sourceTensor = self._tensor_type(audio_sentence) - audio_tensor = sourceTensor.clone().detach().unsqueeze(0).cpu() + if not isinstance(audio_sentence, torch.Tensor): + error = 'XTTSv2 inference did not return a torch.Tensor' + print(error) + return False + audio_tensor = audio_sentence.detach().cpu().unsqueeze(0) if sentence[-1].isalnum() or sentence[-1] == '—': audio_tensor = trim_audio(audio_tensor.squeeze(), self.params['samplerate'], 0.001, trim_audio_buffer).unsqueeze(0) if audio_tensor is not None and audio_tensor.numel() > 0: diff --git a/lib/classes/tts_engines/fairseq.py b/lib/classes/tts_engines/fairseq.py index 91637f42..e5cb1562 100644 --- a/lib/classes/tts_engines/fairseq.py +++ b/lib/classes/tts_engines/fairseq.py @@ -166,8 +166,11 @@ class Fairseq(TTSUtils, TTSRegistry, name='fairseq'): **speaker_argument ) if is_audio_data_valid(audio_sentence): - sourceTensor = self._tensor_type(audio_sentence) - audio_tensor = sourceTensor.clone().detach().unsqueeze(0).cpu() + if not isinstance(audio_sentence, torch.Tensor): + error = 'XTTSv2 inference did not return a torch.Tensor' + print(error) + return False + audio_tensor = audio_sentence.detach().cpu().unsqueeze(0) if sentence[-1].isalnum() or sentence[-1] == '—': audio_tensor = trim_audio(audio_tensor.squeeze(), self.params['samplerate'], 0.001, trim_audio_buffer).unsqueeze(0) if audio_tensor is not None and audio_tensor.numel() > 0: diff --git a/lib/classes/tts_engines/tacotron.py b/lib/classes/tts_engines/tacotron.py index 3238de37..5156f88f 100644 --- a/lib/classes/tts_engines/tacotron.py +++ b/lib/classes/tts_engines/tacotron.py @@ -194,8 +194,11 @@ class Tacotron2(TTSUtils, TTSRegistry, name='tacotron'): **speaker_argument ) if is_audio_data_valid(audio_sentence): - sourceTensor = self._tensor_type(audio_sentence) - audio_tensor = sourceTensor.clone().detach().unsqueeze(0).cpu() + if not isinstance(audio_sentence, torch.Tensor): + error = 'XTTSv2 inference did not return a torch.Tensor' + print(error) + return False + audio_tensor = audio_sentence.detach().cpu().unsqueeze(0) if sentence[-1].isalnum() or sentence[-1] == '—': audio_tensor = trim_audio(audio_tensor.squeeze(), self.params['samplerate'], 0.001, trim_audio_buffer).unsqueeze(0) if audio_tensor is not None and audio_tensor.numel() > 0: diff --git a/lib/classes/tts_engines/vits.py b/lib/classes/tts_engines/vits.py index 7d6654b7..ec7b40b2 100644 --- a/lib/classes/tts_engines/vits.py +++ b/lib/classes/tts_engines/vits.py @@ -179,8 +179,11 @@ class Vits(TTSUtils, TTSRegistry, name='vits'): **speaker_argument ) if is_audio_data_valid(audio_sentence): - sourceTensor = self._tensor_type(audio_sentence) - audio_tensor = sourceTensor.clone().detach().unsqueeze(0).cpu() + if not isinstance(audio_sentence, torch.Tensor): + error = 'XTTSv2 inference did not return a torch.Tensor' + print(error) + return False + audio_tensor = audio_sentence.detach().cpu().unsqueeze(0) if sentence[-1].isalnum() or sentence[-1] == '—': audio_tensor = trim_audio(audio_tensor.squeeze(), self.params['samplerate'], 0.001, trim_audio_buffer).unsqueeze(0) if audio_tensor is not None and audio_tensor.numel() > 0: diff --git a/lib/classes/tts_engines/xtts.py b/lib/classes/tts_engines/xtts.py index 0c9beaa7..9f0fe864 100644 --- a/lib/classes/tts_engines/xtts.py +++ b/lib/classes/tts_engines/xtts.py @@ -140,11 +140,11 @@ class XTTSv2(TTSUtils, TTSRegistry, name='xtts'): **fine_tuned_params ) audio_sentence = result.get('wav') - if is_audio_data_valid(audio_sentence): - audio_sentence = audio_sentence.tolist() - if is_audio_data_valid(audio_sentence): - sourceTensor = self._tensor_type(audio_sentence) - audio_tensor = sourceTensor.clone().detach().unsqueeze(0).cpu() + if not isinstance(audio_sentence, torch.Tensor): + error = 'XTTSv2 inference did not return a torch.Tensor' + print(error) + return False + audio_tensor = audio_sentence.detach().cpu().unsqueeze(0) if sentence[-1].isalnum() or sentence[-1] == '—': audio_tensor = trim_audio(audio_tensor.squeeze(), self.params['samplerate'], 0.001, trim_audio_buffer).unsqueeze(0) if audio_tensor is not None and audio_tensor.numel() > 0: diff --git a/lib/classes/tts_engines/yourtts.py b/lib/classes/tts_engines/yourtts.py index e185e5d4..713d9352 100644 --- a/lib/classes/tts_engines/yourtts.py +++ b/lib/classes/tts_engines/yourtts.py @@ -109,8 +109,11 @@ class YourTTS(TTSUtils, TTSRegistry, name='yourtts'): **speaker_argument ) if is_audio_data_valid(audio_sentence): - sourceTensor = self._tensor_type(audio_sentence) - audio_tensor = sourceTensor.clone().detach().unsqueeze(0).cpu() + if not isinstance(audio_sentence, torch.Tensor): + error = 'XTTSv2 inference did not return a torch.Tensor' + print(error) + return False + audio_tensor = audio_sentence.detach().cpu().unsqueeze(0) if sentence[-1].isalnum() or sentence[-1] == '—': audio_tensor = trim_audio(audio_tensor.squeeze(), self.params['samplerate'], 0.001, trim_audio_buffer).unsqueeze(0) if audio_tensor is not None and audio_tensor.numel() > 0: From cac7cab38e0ca0269b93e35f5a85768b9dfa092a Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 25 Dec 2025 04:54:40 -0800 Subject: [PATCH 02/12] ... --- lib/classes/tts_engines/xtts.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/lib/classes/tts_engines/xtts.py b/lib/classes/tts_engines/xtts.py index 9f0fe864..ea20f44c 100644 --- a/lib/classes/tts_engines/xtts.py +++ b/lib/classes/tts_engines/xtts.py @@ -140,13 +140,14 @@ class XTTSv2(TTSUtils, TTSRegistry, name='xtts'): **fine_tuned_params ) audio_sentence = result.get('wav') - if not isinstance(audio_sentence, torch.Tensor): - error = 'XTTSv2 inference did not return a torch.Tensor' - print(error) - return False - audio_tensor = audio_sentence.detach().cpu().unsqueeze(0) - if sentence[-1].isalnum() or sentence[-1] == '—': - audio_tensor = trim_audio(audio_tensor.squeeze(), self.params['samplerate'], 0.001, trim_audio_buffer).unsqueeze(0) + if is_audio_data_valid(audio_sentence): + if not isinstance(audio_sentence, torch.Tensor): + error = 'XTTSv2 inference did not return a torch.Tensor' + print(error) + return False + audio_tensor = audio_sentence.detach().cpu().unsqueeze(0) + if sentence[-1].isalnum() or sentence[-1] == '—': + audio_tensor = trim_audio(audio_tensor.squeeze(), self.params['samplerate'], 0.001, trim_audio_buffer).unsqueeze(0) if audio_tensor is not None and audio_tensor.numel() > 0: self.audio_segments.append(audio_tensor) if not re.search(r'\w$', sentence, flags=re.UNICODE) and sentence[-1] != '—': From 263e018792ff667fa0ba58a3261edec6721b375e Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 25 Dec 2025 04:56:31 -0800 Subject: [PATCH 03/12] ... --- lib/classes/tts_engines/xtts.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/classes/tts_engines/xtts.py b/lib/classes/tts_engines/xtts.py index ea20f44c..5de98832 100644 --- a/lib/classes/tts_engines/xtts.py +++ b/lib/classes/tts_engines/xtts.py @@ -178,6 +178,10 @@ class XTTSv2(TTSUtils, TTSRegistry, name='xtts'): error = f"Cannot create {final_sentence_file}" print(error) return False + else: + error = f"audio_tensor not valid" + print(error) + return False else: error = f"audio_sentence not valid" print(error) From a0191f9b6cbb73a784f4525d762f3bb73c0a2108 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 25 Dec 2025 04:58:58 -0800 Subject: [PATCH 04/12] ... --- lib/classes/tts_engines/bark.py | 4 ++++ lib/classes/tts_engines/fairseq.py | 4 ++++ lib/classes/tts_engines/tacotron.py | 4 ++++ lib/classes/tts_engines/vits.py | 4 ++++ lib/classes/tts_engines/xtts.py | 4 ++-- lib/classes/tts_engines/yourtts.py | 4 ++++ 6 files changed, 22 insertions(+), 2 deletions(-) diff --git a/lib/classes/tts_engines/bark.py b/lib/classes/tts_engines/bark.py index 358e19ac..6a85b27f 100644 --- a/lib/classes/tts_engines/bark.py +++ b/lib/classes/tts_engines/bark.py @@ -234,6 +234,10 @@ class Bark(TTSUtils, TTSRegistry, name='bark'): error = f"Cannot create {final_sentence_file}" print(error) return False + else: + error = f"audio_tensor not valid" + print(error) + return False else: error = f"audio_sentence not valid" print(error) diff --git a/lib/classes/tts_engines/fairseq.py b/lib/classes/tts_engines/fairseq.py index e5cb1562..c9759f7f 100644 --- a/lib/classes/tts_engines/fairseq.py +++ b/lib/classes/tts_engines/fairseq.py @@ -203,6 +203,10 @@ class Fairseq(TTSUtils, TTSRegistry, name='fairseq'): error = f"Cannot create {final_sentence_file}" print(error) return False + else: + error = f"audio_tensor not valid" + print(error) + return False else: error = f"audio_sentence not valid" print(error) diff --git a/lib/classes/tts_engines/tacotron.py b/lib/classes/tts_engines/tacotron.py index 5156f88f..3285a9b3 100644 --- a/lib/classes/tts_engines/tacotron.py +++ b/lib/classes/tts_engines/tacotron.py @@ -231,6 +231,10 @@ class Tacotron2(TTSUtils, TTSRegistry, name='tacotron'): error = f"Cannot create {final_sentence_file}" print(error) return False + else: + error = f"audio_tensor not valid" + print(error) + return False else: error = f"audio_sentence not valid" print(error) diff --git a/lib/classes/tts_engines/vits.py b/lib/classes/tts_engines/vits.py index ec7b40b2..09cd7f79 100644 --- a/lib/classes/tts_engines/vits.py +++ b/lib/classes/tts_engines/vits.py @@ -216,6 +216,10 @@ class Vits(TTSUtils, TTSRegistry, name='vits'): error = f"Cannot create {final_sentence_file}" print(error) return False + else: + error = f"audio_tensor not valid" + print(error) + return False else: error = f"audio_sentence not valid" print(error) diff --git a/lib/classes/tts_engines/xtts.py b/lib/classes/tts_engines/xtts.py index 5de98832..9eec3348 100644 --- a/lib/classes/tts_engines/xtts.py +++ b/lib/classes/tts_engines/xtts.py @@ -146,8 +146,8 @@ class XTTSv2(TTSUtils, TTSRegistry, name='xtts'): print(error) return False audio_tensor = audio_sentence.detach().cpu().unsqueeze(0) - if sentence[-1].isalnum() or sentence[-1] == '—': - audio_tensor = trim_audio(audio_tensor.squeeze(), self.params['samplerate'], 0.001, trim_audio_buffer).unsqueeze(0) + if sentence[-1].isalnum() or sentence[-1] == '—': + audio_tensor = trim_audio(audio_tensor.squeeze(), self.params['samplerate'], 0.001, trim_audio_buffer).unsqueeze(0) if audio_tensor is not None and audio_tensor.numel() > 0: self.audio_segments.append(audio_tensor) if not re.search(r'\w$', sentence, flags=re.UNICODE) and sentence[-1] != '—': diff --git a/lib/classes/tts_engines/yourtts.py b/lib/classes/tts_engines/yourtts.py index 713d9352..b049f07f 100644 --- a/lib/classes/tts_engines/yourtts.py +++ b/lib/classes/tts_engines/yourtts.py @@ -146,6 +146,10 @@ class YourTTS(TTSUtils, TTSRegistry, name='yourtts'): error = f"Cannot create {final_sentence_file}" print(error) return False + else: + error = f"audio_tensor not valid" + print(error) + return False else: error = f"audio_sentence not valid" print(error) From 002e4f415b9d6e0487b88455e1890b5f626a75c8 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 25 Dec 2025 10:39:47 -0800 Subject: [PATCH 05/12] ... --- lib/classes/tts_engines/xtts.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/classes/tts_engines/xtts.py b/lib/classes/tts_engines/xtts.py index 9eec3348..fc8a4b21 100644 --- a/lib/classes/tts_engines/xtts.py +++ b/lib/classes/tts_engines/xtts.py @@ -141,11 +141,16 @@ class XTTSv2(TTSUtils, TTSRegistry, name='xtts'): ) audio_sentence = result.get('wav') if is_audio_data_valid(audio_sentence): - if not isinstance(audio_sentence, torch.Tensor): - error = 'XTTSv2 inference did not return a torch.Tensor' + if isinstance(audio_sentence, torch.Tensor): + audio_tensor = audio_sentence.detach().cpu().unsqueeze(0) + elif isinstance(audio_sentence, np.ndarray): + audio_tensor = torch.from_numpy(audio_sentence).unsqueeze(0) + elif isinstance(audio_sentence, (list, tuple)): + audio_tensor = torch.tensor(audio_sentence, dtype=torch.float32).unsqueeze(0) + else: + error = f"Unsupported XTTSv2 wav type: {type(audio_sentence)}" print(error) return False - audio_tensor = audio_sentence.detach().cpu().unsqueeze(0) if sentence[-1].isalnum() or sentence[-1] == '—': audio_tensor = trim_audio(audio_tensor.squeeze(), self.params['samplerate'], 0.001, trim_audio_buffer).unsqueeze(0) if audio_tensor is not None and audio_tensor.numel() > 0: From b00bf24782200cbdc6a3b93674b1392b292b2471 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 25 Dec 2025 10:41:23 -0800 Subject: [PATCH 06/12] ... --- lib/classes/tts_engines/common/utils.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/classes/tts_engines/common/utils.py b/lib/classes/tts_engines/common/utils.py index a297ddb6..4fae9aaf 100644 --- a/lib/classes/tts_engines/common/utils.py +++ b/lib/classes/tts_engines/common/utils.py @@ -207,7 +207,16 @@ class TTSUtils: speaker_embedding=speaker_embedding, **fine_tuned_params, ) - audio_sentence = result.get('wav') if isinstance(result, dict) else None + if isinstance(audio_sentence, torch.Tensor): + audio_tensor = audio_sentence.detach().cpu().unsqueeze(0) + elif isinstance(audio_sentence, np.ndarray): + audio_tensor = torch.from_numpy(audio_sentence).unsqueeze(0) + elif isinstance(audio_sentence, (list, tuple)): + audio_tensor = torch.tensor(audio_sentence, dtype=torch.float32).unsqueeze(0) + else: + error = f"Unsupported XTTSv2 wav type: {type(audio_sentence)}" + print(error) + return False if audio_sentence is not None: audio_sentence = audio_sentence.tolist() sourceTensor = self._tensor_type(audio_sentence) From 5ad336b279c1c9d17639900a896cb146e1f3a5b3 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 25 Dec 2025 12:11:17 -0800 Subject: [PATCH 07/12] ... --- lib/classes/tts_engines/bark.py | 10 ++++++++-- lib/classes/tts_engines/fairseq.py | 11 ++++++++--- lib/classes/tts_engines/tacotron.py | 11 ++++++++--- lib/classes/tts_engines/vits.py | 11 ++++++++--- lib/classes/tts_engines/yourtts.py | 11 ++++++++--- 5 files changed, 40 insertions(+), 14 deletions(-) diff --git a/lib/classes/tts_engines/bark.py b/lib/classes/tts_engines/bark.py index 6a85b27f..a149c88f 100644 --- a/lib/classes/tts_engines/bark.py +++ b/lib/classes/tts_engines/bark.py @@ -198,10 +198,16 @@ class Bark(TTSUtils, TTSRegistry, name='bark'): # audio_sentence = audio_sentence.tolist() if is_audio_data_valid(audio_sentence): if not isinstance(audio_sentence, torch.Tensor): - error = 'XTTSv2 inference did not return a torch.Tensor' + if isinstance(audio_sentence, torch.Tensor): + audio_tensor = audio_sentence.detach().cpu().unsqueeze(0) + elif isinstance(audio_sentence, np.ndarray): + audio_tensor = torch.from_numpy(audio_sentence).unsqueeze(0) + elif isinstance(audio_sentence, (list, tuple)): + audio_tensor = torch.tensor(audio_sentence, dtype=torch.float32).unsqueeze(0) + else: + error = f"Unsupported Bark wav type: {type(audio_sentence)}" print(error) return False - audio_tensor = audio_sentence.detach().cpu().unsqueeze(0) if sentence[-1].isalnum() or sentence[-1] == '—': audio_tensor = trim_audio(audio_tensor.squeeze(), self.params['samplerate'], 0.001, trim_audio_buffer).unsqueeze(0) if audio_tensor is not None and audio_tensor.numel() > 0: diff --git a/lib/classes/tts_engines/fairseq.py b/lib/classes/tts_engines/fairseq.py index c9759f7f..9ae232d9 100644 --- a/lib/classes/tts_engines/fairseq.py +++ b/lib/classes/tts_engines/fairseq.py @@ -166,11 +166,16 @@ class Fairseq(TTSUtils, TTSRegistry, name='fairseq'): **speaker_argument ) if is_audio_data_valid(audio_sentence): - if not isinstance(audio_sentence, torch.Tensor): - error = 'XTTSv2 inference did not return a torch.Tensor' + if isinstance(audio_sentence, torch.Tensor): + audio_tensor = audio_sentence.detach().cpu().unsqueeze(0) + elif isinstance(audio_sentence, np.ndarray): + audio_tensor = torch.from_numpy(audio_sentence).unsqueeze(0) + elif isinstance(audio_sentence, (list, tuple)): + audio_tensor = torch.tensor(audio_sentence, dtype=torch.float32).unsqueeze(0) + else: + error = f"Unsupported Fairseq wav type: {type(audio_sentence)}" print(error) return False - audio_tensor = audio_sentence.detach().cpu().unsqueeze(0) if sentence[-1].isalnum() or sentence[-1] == '—': audio_tensor = trim_audio(audio_tensor.squeeze(), self.params['samplerate'], 0.001, trim_audio_buffer).unsqueeze(0) if audio_tensor is not None and audio_tensor.numel() > 0: diff --git a/lib/classes/tts_engines/tacotron.py b/lib/classes/tts_engines/tacotron.py index 3285a9b3..0b9a15ca 100644 --- a/lib/classes/tts_engines/tacotron.py +++ b/lib/classes/tts_engines/tacotron.py @@ -194,11 +194,16 @@ class Tacotron2(TTSUtils, TTSRegistry, name='tacotron'): **speaker_argument ) if is_audio_data_valid(audio_sentence): - if not isinstance(audio_sentence, torch.Tensor): - error = 'XTTSv2 inference did not return a torch.Tensor' + if isinstance(audio_sentence, torch.Tensor): + audio_tensor = audio_sentence.detach().cpu().unsqueeze(0) + elif isinstance(audio_sentence, np.ndarray): + audio_tensor = torch.from_numpy(audio_sentence).unsqueeze(0) + elif isinstance(audio_sentence, (list, tuple)): + audio_tensor = torch.tensor(audio_sentence, dtype=torch.float32).unsqueeze(0) + else: + error = f"Unsupported Tacotron2 wav type: {type(audio_sentence)}" print(error) return False - audio_tensor = audio_sentence.detach().cpu().unsqueeze(0) if sentence[-1].isalnum() or sentence[-1] == '—': audio_tensor = trim_audio(audio_tensor.squeeze(), self.params['samplerate'], 0.001, trim_audio_buffer).unsqueeze(0) if audio_tensor is not None and audio_tensor.numel() > 0: diff --git a/lib/classes/tts_engines/vits.py b/lib/classes/tts_engines/vits.py index 09cd7f79..e902c525 100644 --- a/lib/classes/tts_engines/vits.py +++ b/lib/classes/tts_engines/vits.py @@ -179,11 +179,16 @@ class Vits(TTSUtils, TTSRegistry, name='vits'): **speaker_argument ) if is_audio_data_valid(audio_sentence): - if not isinstance(audio_sentence, torch.Tensor): - error = 'XTTSv2 inference did not return a torch.Tensor' + if isinstance(audio_sentence, torch.Tensor): + audio_tensor = audio_sentence.detach().cpu().unsqueeze(0) + elif isinstance(audio_sentence, np.ndarray): + audio_tensor = torch.from_numpy(audio_sentence).unsqueeze(0) + elif isinstance(audio_sentence, (list, tuple)): + audio_tensor = torch.tensor(audio_sentence, dtype=torch.float32).unsqueeze(0) + else: + error = f"Unsupported Vits wav type: {type(audio_sentence)}" print(error) return False - audio_tensor = audio_sentence.detach().cpu().unsqueeze(0) if sentence[-1].isalnum() or sentence[-1] == '—': audio_tensor = trim_audio(audio_tensor.squeeze(), self.params['samplerate'], 0.001, trim_audio_buffer).unsqueeze(0) if audio_tensor is not None and audio_tensor.numel() > 0: diff --git a/lib/classes/tts_engines/yourtts.py b/lib/classes/tts_engines/yourtts.py index b049f07f..6caaff59 100644 --- a/lib/classes/tts_engines/yourtts.py +++ b/lib/classes/tts_engines/yourtts.py @@ -109,11 +109,16 @@ class YourTTS(TTSUtils, TTSRegistry, name='yourtts'): **speaker_argument ) if is_audio_data_valid(audio_sentence): - if not isinstance(audio_sentence, torch.Tensor): - error = 'XTTSv2 inference did not return a torch.Tensor' + if isinstance(audio_sentence, torch.Tensor): + audio_tensor = audio_sentence.detach().cpu().unsqueeze(0) + elif isinstance(audio_sentence, np.ndarray): + audio_tensor = torch.from_numpy(audio_sentence).unsqueeze(0) + elif isinstance(audio_sentence, (list, tuple)): + audio_tensor = torch.tensor(audio_sentence, dtype=torch.float32).unsqueeze(0) + else: + error = f"Unsupported YourTTS wav type: {type(audio_sentence)}" print(error) return False - audio_tensor = audio_sentence.detach().cpu().unsqueeze(0) if sentence[-1].isalnum() or sentence[-1] == '—': audio_tensor = trim_audio(audio_tensor.squeeze(), self.params['samplerate'], 0.001, trim_audio_buffer).unsqueeze(0) if audio_tensor is not None and audio_tensor.numel() > 0: From e06ab173b510f92f3bc6d344b174f70534ba7567 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 25 Dec 2025 12:15:37 -0800 Subject: [PATCH 08/12] ... --- lib/classes/tts_engines/bark.py | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/classes/tts_engines/bark.py b/lib/classes/tts_engines/bark.py index a149c88f..38ab0074 100644 --- a/lib/classes/tts_engines/bark.py +++ b/lib/classes/tts_engines/bark.py @@ -197,7 +197,6 @@ class Bark(TTSUtils, TTSRegistry, name='bark'): #if is_audio_data_valid(audio_sentence): # audio_sentence = audio_sentence.tolist() if is_audio_data_valid(audio_sentence): - if not isinstance(audio_sentence, torch.Tensor): if isinstance(audio_sentence, torch.Tensor): audio_tensor = audio_sentence.detach().cpu().unsqueeze(0) elif isinstance(audio_sentence, np.ndarray): From f51a6516ff2aa9586408a6dd62e60ff92ddf6029 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 25 Dec 2025 12:51:43 -0800 Subject: [PATCH 09/12] ... --- lib/classes/tts_engines/bark.py | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/classes/tts_engines/bark.py b/lib/classes/tts_engines/bark.py index 38ab0074..b8c67b89 100644 --- a/lib/classes/tts_engines/bark.py +++ b/lib/classes/tts_engines/bark.py @@ -165,6 +165,7 @@ class Bark(TTSUtils, TTSRegistry, name='bark'): """ pth_voice_dir = os.path.join(bark_dir, speaker) pth_voice_file = os.path.join(bark_dir, speaker, f'{speaker}.pth') + self.engine.synthesizer.voice_dir = pth_voice_dir tts_dyn_params = {} if not os.path.exists(pth_voice_file) or speaker not in self.engine.speakers: tts_dyn_params['speaker_wav'] = self.params['voice_path'] From 3e19df406669686f264829a93c5d869df886f1f2 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 25 Dec 2025 14:01:59 -0800 Subject: [PATCH 10/12] ... --- lib/conf.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/conf.py b/lib/conf.py index 3d8cf4d7..bc7fa93f 100644 --- a/lib/conf.py +++ b/lib/conf.py @@ -45,6 +45,8 @@ os.environ['MPLCONFIGDIR'] = f'{models_dir}/matplotlib' os.environ['TESSDATA_PREFIX'] = f'{models_dir}/tessdata' os.environ['STANZA_RESOURCES_DIR'] = os.path.join(models_dir, 'stanza') os.environ['ARGOS_TRANSLATE_PACKAGE_PATH'] = os.path.join(models_dir, 'argostranslate') +os.environ['MallocStackLogging'] = 0 +os.environ['MallocStackLoggingNoCompact'] = 0 os.environ['TORCH_FORCE_NO_WEIGHTS_ONLY_LOAD'] = '1' os.environ['PYTORCH_ENABLE_MPS_FALLBACK'] = '1' os.environ['PYTORCH_NO_CUDA_MEMORY_CACHING'] = '1' From e7cd966e31e20d54b24ae77114e1247bf94e0598 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 25 Dec 2025 15:28:24 -0800 Subject: [PATCH 11/12] ... --- lib/conf.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/conf.py b/lib/conf.py index bc7fa93f..f92a9555 100644 --- a/lib/conf.py +++ b/lib/conf.py @@ -52,9 +52,9 @@ os.environ['PYTORCH_ENABLE_MPS_FALLBACK'] = '1' os.environ['PYTORCH_NO_CUDA_MEMORY_CACHING'] = '1' os.environ['TORCH_CUDA_ENABLE_CUDA_GRAPH'] = '0' os.environ['PYTORCH_CUDA_ALLOC_CONF'] = 'max_split_size_mb:128,garbage_collection_threshold:0.6,expandable_segments:True' -os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID" -os.environ["CUDA_LAUNCH_BLOCKING"] = "1" -os.environ["CUDA_CACHE_MAXSIZE"] = "2147483648" +os.environ['CUDA_DEVICE_ORDER'] = 'PCI_BUS_ID' +os.environ['CUDA_LAUNCH_BLOCKING'] = '1' +os.environ['CUDA_CACHE_MAXSIZE'] = '2147483648' os.environ['SUNO_OFFLOAD_CPU'] = 'False' os.environ['SUNO_USE_SMALL_MODELS'] = 'False' if platform.system() == 'Windows': From ca9f4073b6ba12f712b12e12873c3baf4fc20f6f Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 25 Dec 2025 15:36:54 -0800 Subject: [PATCH 12/12] ... --- lib/conf.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/conf.py b/lib/conf.py index f92a9555..e61c5a7f 100644 --- a/lib/conf.py +++ b/lib/conf.py @@ -45,8 +45,8 @@ os.environ['MPLCONFIGDIR'] = f'{models_dir}/matplotlib' os.environ['TESSDATA_PREFIX'] = f'{models_dir}/tessdata' os.environ['STANZA_RESOURCES_DIR'] = os.path.join(models_dir, 'stanza') os.environ['ARGOS_TRANSLATE_PACKAGE_PATH'] = os.path.join(models_dir, 'argostranslate') -os.environ['MallocStackLogging'] = 0 -os.environ['MallocStackLoggingNoCompact'] = 0 +os.environ['MallocStackLogging'] = '0' +os.environ['MallocStackLoggingNoCompact'] = '0' os.environ['TORCH_FORCE_NO_WEIGHTS_ONLY_LOAD'] = '1' os.environ['PYTORCH_ENABLE_MPS_FALLBACK'] = '1' os.environ['PYTORCH_NO_CUDA_MEMORY_CACHING'] = '1'