Skip to content

v25.12.20#1380

Merged
ROBERT-MCDOWELL merged 28 commits intoDrewThomasson:v25from
ROBERT-MCDOWELL:v25
Dec 20, 2025
Merged

v25.12.20#1380
ROBERT-MCDOWELL merged 28 commits intoDrewThomasson:v25from
ROBERT-MCDOWELL:v25

Conversation

@ROBERT-MCDOWELL
Copy link
Copy Markdown
Collaborator

No description provided.

Copilot AI review requested due to automatic review settings December 20, 2025 15:20
@ROBERT-MCDOWELL ROBERT-MCDOWELL merged commit c96eb33 into DrewThomasson:v25 Dec 20, 2025
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the project to version 25.12.20 and refactors the TTS engine architecture. The primary purpose is to implement a registry pattern for TTS engines, replacing the previous conditional instantiation logic with a cleaner, more maintainable approach.

Key changes:

  • Introduced TTSRegistry base class enabling automatic TTS engine registration
  • Migrated TTS engine implementations from coqui.py to dedicated engine-specific modules
  • Enhanced shell script robustness with improved error handling and variable initialization

Reviewed changes

Copilot reviewed 15 out of 16 changed files in this pull request and generated 23 comments.

Show a summary per file
File Description
lib/classes/tts_registry.py New registry base class for automatic TTS engine registration
lib/classes/tts_manager.py Refactored to use registry pattern instead of conditional logic
lib/classes/tts_engines/*.py New dedicated modules for each TTS engine (XTTSv2, Bark, Vits, etc.)
lib/classes/tts_engines/coqui.py Removed deprecated deepspeed parameter and fixed typo in error message
lib/classes/tts_engines/common/utils.py Added load_xtts_builtin_list function for speaker data loading
lib/models.py Changed xtts_builtin_speakers_list from list to dict type
ebook2audiobook.sh Enhanced with safer variable handling and improved portability
VERSION.txt Version bump to 25.12.20
README.md Updated language count and reformatted installation instructions

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

waveform = resampler(waveform)
wav_tensor = waveform.squeeze(0)
wav_numpy = wav_tensor.cpu().numpy()
os.path.join(self.session['process_dir'], 'tmp')
Copy link

Copilot AI Dec 20, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The result of os.path.join is not assigned to any variable. This line computes a path but does nothing with it, causing tmp_dir on line 309 to be undefined, which will result in a NameError.

Copilot uses AI. Check for mistakes.
waveform = resampler(waveform)
wav_tensor = waveform.squeeze(0)
wav_numpy = wav_tensor.cpu().numpy()
os.path.join(self.session['process_dir'], 'tmp')
Copy link

Copilot AI Dec 20, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The result of os.path.join is not assigned to any variable. This line computes a path but does nothing with it, causing tmp_dir on line 319 to be undefined, which will result in a NameError.

Copilot uses AI. Check for mistakes.
waveform = resampler(waveform)
wav_tensor = waveform.squeeze(0)
wav_numpy = wav_tensor.cpu().numpy()
os.path.join(self.session['process_dir'], 'tmp')
Copy link

Copilot AI Dec 20, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The result of os.path.join is not assigned to any variable. This line computes a path but does nothing with it, causing tmp_dir on line 318 to be undefined, which will result in a NameError.

Copilot uses AI. Check for mistakes.
waveform = resampler(waveform)
wav_tensor = waveform.squeeze(0)
wav_numpy = wav_tensor.cpu().numpy()
os.path.join(self.session['process_dir'], 'tmp')
Copy link

Copilot AI Dec 20, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The result of os.path.join is not assigned to any variable. This line computes a path but does nothing with it, causing tmp_dir on line 336 to be undefined, which will result in a NameError.

Copilot uses AI. Check for mistakes.
waveform = resampler(waveform)
wav_tensor = waveform.squeeze(0)
wav_numpy = wav_tensor.cpu().numpy()
os.path.join(self.session['process_dir'], 'tmp')
Copy link

Copilot AI Dec 20, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The result of os.path.join is not assigned to any variable. This line computes a path but does nothing with it, causing tmp_dir on line 310 to be undefined, which will result in a NameError.

Copilot uses AI. Check for mistakes.
print(error)
return False
else:
error = f"audio_sentence not valide"
Copy link

Copilot AI Dec 20, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Corrected spelling of 'valide' to 'valid'.

Suggested change
error = f"audio_sentence not valide"
error = f"audio_sentence not valid"

Copilot uses AI. Check for mistakes.
print(error)
return False
else:
error = f"audio_sentence not valide"
Copy link

Copilot AI Dec 20, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Corrected spelling of 'valide' to 'valid'.

Suggested change
error = f"audio_sentence not valide"
error = f"audio_sentence not valid"

Copilot uses AI. Check for mistakes.
print(error)
return False
else:
error = f"audio_sentence not valide"
Copy link

Copilot AI Dec 20, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Corrected spelling of 'valide' to 'valid'.

Suggested change
error = f"audio_sentence not valide"
error = f"audio_sentence not valid"

Copilot uses AI. Check for mistakes.
print(error)
return False
else:
error = f"audio_sentence not valide"
Copy link

Copilot AI Dec 20, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Corrected spelling of 'valide' to 'valid'.

Suggested change
error = f"audio_sentence not valide"
error = f"audio_sentence not valid"

Copilot uses AI. Check for mistakes.
print(error)
return False
else:
error = f"audio_sentence not valide"
Copy link

Copilot AI Dec 20, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Corrected spelling of 'valide' to 'valid'.

Suggested change
error = f"audio_sentence not valide"
error = f"audio_sentence not valid"

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants