refactor: voice resolution on ConversionRequest, PipelinePool without job param

- Added speakers field to ConversionRequest
- Rewrote collect_required_voice_ids(), initialize_voice_cache(),
  job_voice_fallback(), chapter_voice_spec(), chunk_voice_spec()
  to accept ConversionRequest instead of job
- PipelinePool.get() now takes request= instead of job=
- Updated all tests to use ConversionRequest interface
- 1493 tests passing
This commit is contained in:
Artem Akymenko
2026-07-26 14:11:55 +03:00
parent 73f42e9563
commit 713abdfd73
6 changed files with 141 additions and 92 deletions
+3 -3
View File
@@ -124,11 +124,11 @@ class TestPipelinePool:
mock_create.return_value = MagicMock()
pool = PipelinePool()
job = MagicMock()
pool.get("kokoro", "en", use_gpu=True, job=job)
request = MagicMock()
pool.get("kokoro", "en", use_gpu=True, request=request)
assert mock_cache.call_count == 1
pool.get("kokoro", "en", use_gpu=True, job=job)
pool.get("kokoro", "en", use_gpu=True, request=request)
assert mock_cache.call_count == 1
@patch("abogen.domain.pipeline_factory.initialize_voice_cache")