Skip to content

ProviderRole

Pipeline role a provider can fulfil.

type ProviderRole = "input" | "stt" | "llm" | "tts" | "output";

Defined in: src/core/types/roles.ts:43

Pipeline role a provider can fulfil.

Remarks

Each value corresponds to a stage in the CompositeVoice audio pipeline:

  • 'input' — captures audio from a source (e.g. microphone, buffer)
  • 'stt' — converts audio to text (speech-to-text)
  • 'llm' — generates a text response (large language model)
  • 'tts' — converts text to audio (text-to-speech)
  • 'output' — plays audio to a destination (e.g. speakers, null sink)

Providers declare which roles they cover via BaseProvider.roles. Multi-role providers list every role they handle (e.g. ['input', 'stt']).

See

ALL_PROVIDER_ROLES for the complete ordered list

© 2026 CompositeVoice. All rights reserved.

Font size
Contrast
Motion
Transparency