From 957c6778f6c0c547deed4fd55be585f686343aa8 Mon Sep 17 00:00:00 2001 From: Artem Akymenko Date: Sat, 18 Jul 2026 09:10:57 +0000 Subject: [PATCH] refactor(pyt): dedup voice formula resolution in PyQt Replace 2 inline 'if * in voice: get_new_voice(...)' patterns with resolve_voice() from domain/voice_loader.py. Removes unused import of get_new_voice. --- abogen/pyqt/conversion.py | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/abogen/pyqt/conversion.py b/abogen/pyqt/conversion.py index 852e164..14eb6db 100644 --- a/abogen/pyqt/conversion.py +++ b/abogen/pyqt/conversion.py @@ -21,7 +21,6 @@ from abogen.constants import ( SUPPORTED_SOUND_FORMATS, SUPPORTED_SUBTITLE_FORMATS, ) -from abogen.voice_formulas import get_new_voice from abogen.infrastructure.subtitle_writer import _format_timestamp from abogen.domain.split_pattern import get_split_pattern from abogen.domain.output_paths import ( @@ -39,7 +38,7 @@ from abogen.domain.audio_buffer import ( SAMPLE_RATE, ) from abogen.domain.subtitle_generation import process_subtitle_tokens -from abogen.domain.voice_loader import load_voice_cached +from abogen.domain.voice_loader import load_voice_cached, resolve_voice from abogen.domain.progress import calc_etr_str from abogen.domain.normalization import prepare_text_for_tts from abogen.domain.pronunciation import ( @@ -1462,11 +1461,7 @@ class ConversionThread(QThread): alignment = "{\\an5}" if is_centered else "" # Load voice - loaded_voice = ( - get_new_voice(tts, self.voice, self.use_gpu) - if "*" in self.voice - else self.voice - ) + loaded_voice = resolve_voice(self.voice, tts, self.use_gpu) # Calculate initial audio buffer size from timed subtitles only max_end_time = max( @@ -1920,10 +1915,7 @@ class VoicePreviewThread(QThread): try: # Enable voice formula support for preview - if "*" in self.voice: - loaded_voice = get_new_voice(self.backend, self.voice, self.use_gpu) - else: - loaded_voice = self.voice + loaded_voice = resolve_voice(self.voice, self.backend, self.use_gpu) sample_text = get_sample_voice_text(self.lang_code) audio_segments = [] for result in self.backend(