Skip to content

Add Soniox STT and TTS provider support - #211

Merged
parthamukherjeesnow merged 4 commits into
mainfrom
scratch/soniox_support
Aug 12, 2026
Merged

Add Soniox STT and TTS provider support#211
parthamukherjeesnow merged 4 commits into
mainfrom
scratch/soniox_support

Conversation

@parthamukherjeesnow

Copy link
Copy Markdown
Collaborator

Wires up pipecat's SonioxSTTService/SonioxTTSService in the service factories, documents worked examples in .env.example, and clarifies in llm_configuration.md that STT/TTS providers (Soniox included) are configured via EVA_MODEL__STT/TTS, not EVA_MODEL_LIST.

Feature added — Soniox STT/TTS support, committed as f743bf4 "Add Soniox STT and TTS provider support":

  • src/eva/assistant/pipeline/services.py
    • Imported SonioxSTTService/SonioxTTSService from pipecat.
    • New "soniox" branch in create_stt_service: forwards Settings fields present in params, converts language_hints from raw BCP-47 strings to pipecat Language enums (required by Soniox's dataclass).
    • New "soniox" branch in create_tts_service: same forwarding pattern, maps EVA's voice_id → Soniox's voice, omitted when unset so pipecat's default ("Adrian") applies.
    • Updated both "Unknown model" error messages to list soniox.
  • .env.example
    • Added soniox to the STT and TTS provider enum lists.
    • Added worked example EVA_MODEL__STT_PARAMS/EVA_MODEL__TTS_PARAMS blocks for Soniox.
  • docs/llm_configuration.md
    • Added a note clarifying EVA_MODEL_LIST is LLM-only and STT/TTS providers (Soniox included) go through EVA_MODEL__STT/EVA_MODEL__TTS instead — to prevent the same misconfiguration recurring.
  • tests/unit/assistant/test_services.py
    • Added STT tests: service creation, optional-settings forwarding, language-hint enum conversion.
    • Added TTS tests: service creation, voice_id forwarding, default-voice fallback.
    • Full suite verified: 2028 passed, 0 failed; ruff check clean.

Wires up pipecat's SonioxSTTService/SonioxTTSService in the service
factories, documents worked examples in .env.example, and clarifies
in llm_configuration.md that STT/TTS providers (Soniox included)
are configured via EVA_MODEL__STT/TTS, not EVA_MODEL_LIST.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Comment thread src/eva/assistant/pipeline/services.py Outdated
Comment thread .env.example Outdated
parthamukherjeesnow and others added 3 commits August 12, 2026 12:44
Co-authored-by: Katrina Stankiewicz <katrina.stankiewicz@servicenow.com>
Co-authored-by: Katrina Stankiewicz <katrina.stankiewicz@servicenow.com>
@parthamukherjeesnow
parthamukherjeesnow added this pull request to the merge queue Aug 12, 2026
Merged via the queue into main with commit 9f509f4 Aug 12, 2026
2 checks passed
@parthamukherjeesnow
parthamukherjeesnow deleted the scratch/soniox_support branch August 12, 2026 19:57
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