Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Provider matrix is three inconsistent sources of truth; STT_PROVIDER is never used and most listed TTS options yield silent calls #70

Description

@jaylfc

The advertised provider matrix vastly exceeds what's implemented, and three independent copies disagree:

  • STT_PROVIDER is read (server.py:150) and never used to select an engine. The live call path is hardwired to Deepgram (server.py:766-776); voicemail transcription is local-voice-then-Deepgram (server.py:712-719). Selecting assemblyai/google/azure/groq/vosk/etc. does nothing.
  • TTS implements exactly three paths: local voice engine, MiMo, and an OpenAI fallback (server.py:486-537). Picking ElevenLabs, Cartesia, Azure, Google, Edge, Piper, Coqui, Bark… in settings yields silent calls with no error surfaced.
  • The three lists disagree: server.py:936-978 offers 14 STT / 20 TTS options (including vosk, wav2vec2, canary, tortoise, styletts2 — implemented nowhere); provider_registry.py has an overlapping-but-mismatched set (UI id whisper vs registry whisper-api; UI TTS id openai collides with the registry's agent entry openai, so the dashboard install button installs the wrong thing); README.md:94-122 advertises "9 STT providers, 10+ TTS providers" as shipped (README.md:415).

This is the repo's biggest credibility and maintenance liability — every tester who picks a listed provider and gets a silent call is lost.

Fix direction:

  1. Merge STT_PROVIDERS/TTS_PROVIDERS into provider_registry.py as the single source of truth, with a status: implemented | planned field; settings UI renders from it and greys out planned.
  2. Extend the tests/test_all_settings_editable.py invariant pattern: UI ids ⊆ registry ids.
  3. Rewrite the README tables to the implemented set.
  4. Longer term: extract a voice/ provider layer mirroring the clean agents/ ABC+factory pattern so the matrix can become real incrementally (Feature: pluggable premium TTS (ElevenLabs, etc.) with quality selection #49 is the feature side of this).

Related: #32 (Polly voice list duplication is a subset of this), #49.

Full context: AUDIT.md (A1, Theme 1).

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1-highHigh prioritytech-debtCode quality / maintainability

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions