Artem Akymenko
a99cf58c79
refactor: consolidate voice formula building into voice_formulas.py
...
- voice_formulas.py: add pairs_to_formula() as canonical implementation
- webui/routes/utils/voice.py: formula_from_profile() and pairs_to_formula()
now delegate to voice_formulas.pairs_to_formula()
- pyqt/gui.py: get_voice_formula() now uses voice_formulas.pairs_to_formula()
instead of inline string formatting
- Eliminates 3 duplicate implementations of voice*weight formula building
- +9 tests
- 1178 tests pass
2026-07-19 10:02:14 +00:00
Artem Akymenko
d8fcfb1cce
chore: normalize line endings to LF, add .gitattributes
...
- Add .gitattributes with text=auto eol=lf for all text files
- Renormalize all files in index to LF line endings
- Fixes massive whitespace-only diffs between main and feature branch
2026-07-12 16:20:42 +03:00
Artem Akymenko
c094b94704
feat(tts-plugin): complete Plugin Architecture refactor
...
- Normalize Pipeline public API: create_pipeline(plugin_id, *, lang_code, device)
- EngineConfig: add lang_code field per Architecture Amendment #1
- Kokoro plugin reads config.lang_code (fixes functional regression)
- Static voice catalog in PluginManifest.voices (None = dynamic/VoiceLister)
- get_voices() reads from manifest without creating Engine
- Remove dead kwargs (sample_rate, auto_download, total_steps) from SuperTonic
- Clean up unused imports and dead code in engine implementations
- Fix test expectations for VoiceLister (mock overrides)
- Add clear_preview_pipelines() for resource management
2026-07-12 16:20:20 +03:00
Artem Akymenko
a76d338931
refactor: remove compatibility layer, use Plugin Architecture directly
...
- Delete abogen/tts_plugin/compat.py (CompatBackend, create_backend, get_metadata, etc.)
- Add abogen/tts_plugin/utils.py with direct Plugin Manager functions:
get_voices, get_default_voice, is_plugin_registered, resolve_voice_to_plugin, create_pipeline
- Update all 16 consumer files to import from utils instead of compat
- Update __init__.py to re-export utils instead of compat
- Update 5 test files and add TestNoCompatLayer regression tests
- All 493 tests pass
2026-07-12 16:20:06 +03:00
Artem Akymenko
985e16f1f8
feat: migrate remaining consumers to new Plugin Architecture
...
- Add compatibility functions to tts_plugin/compat.py:
- get_metadata(): returns TTSBackendMetadata with voices
- is_registered_backend(): checks if plugin is loaded
- resolve_backend_for_voice(): resolves backend for voice spec
- get_default_voice(): gets default voice for backend
- Update tts_plugin/__init__.py to export new functions
- Migrate all consumers from old tts_backend_registry:
- WebUI: conversion_runner, debug_tts_runner, routes/api, routes/utils/*
- PyQt UI: gui, predownload_gui, voice_formula_gui
- Voice utilities: voice_cache, voice_formulas, voice_profiles
- Other: subtitle_utils, utils, predownload_gui (root)
- Update tests to use new plugin architecture
Old architecture remains intact as fallback.
2026-07-12 16:20:06 +03:00
Artem Akymenko
1d50429b87
refactor: migrate core modules to use TTSBackendMetadata.voices via registry
...
Replace direct imports of VOICES_INTERNAL and DEFAULT_SUPERTONIC_VOICES
in voice_profiles, voice_formulas, and voice_cache with get_metadata()
from TTSBackendRegistry. Adds get_metadata() top-level function to
tts_backend_registry as symmetric counterpart to register_backend() and
create_backend().
2026-07-08 13:43:52 +00:00
JB
f0b6976d12
feat: Enhance voice formula parsing and validation, implement voice asset caching, and add tests for new functionality
2025-10-09 13:37:36 -07:00
Deniz Şafak
7a8df9b34e
v1.1.1
2025-07-11 11:51:41 +03:00
Deniz Şafak
6ede337658
Various improvements and modifications in code and documentation
2025-07-10 23:27:19 +03:00
Deniz Şafak
02b9990004
Added profile system to voice mixer, improvements in code
2025-05-02 12:10:08 +03:00
Deniz Şafak
854ad1adea
Improvements for vıice_formula gui, reformat with black
2025-04-30 06:57:34 +03:00
Deniz Şafak
7c55a6f6fa
Fix "split_with_sizes(): argument 'split_sizes' (position 2)" error when using cuda
2025-04-29 15:00:20 +03:00
Juraj Borza
be4a258589
normalizing the weight to 1.0 of the total weight of mixed voices
2025-04-29 09:01:27 +02:00
Juraj Borza
44e555c83e
added voice formulas for mixed text
2025-04-28 09:19:48 +02:00