Skip to content

Stemmerørledning

🚧Coming Soon — This feature is planned but not yet implemented.

STT- og TTS-leverandørene som er oppgitt nedenfor er bare grensesnitt-stubber.

Leverandørgrensesnittene er definert, men implementasjonene er ennå ikke koblet til faktiske taletjenester. :::

Triggerfish støtter taleinteraksjon med vekkeordoppdagelse, trykk-for-å-snakke og tekst-til-tale-svar på macOS, iOS og Android.

Arkitektur

Voice pipeline: Wake Word Detection → STT → Agent Processing → TTS → Voice Output

Lyd flyter gjennom den samme agentbehandlingsrørledningen som tekst. Stemmeinput transkriberes, går inn i sesjonen som en klassifisert melding, passerer gjennom policy-hooks, og svaret syntetiseres tilbake til tale.

Stemnemodi

ModusBeskrivelsePlattform
Voice WakeAlltid-på lytting etter et konfigurerbart vekkeordmacOS, iOS, Android
Push-to-TalkManuell aktivering via knapp eller tastatursnarveiermacOS (menyrad), iOS, Android
Talk ModeKontinuerlig samtaletaleAlle plattformer

STT-leverandører

Tale-til-tekst konverterer stemmen din til tekst for agenten å behandle.

LeverandørTypeMerknader
WhisperLokalStandard. Kjører på enheten, ingen skyavhengighet. Best for personvern.
DeepgramSkyLavforsinkelse strømmet transkripsjon.
OpenAI Whisper APISkyHøy nøyaktighet, krever API-nøkkel.

TTS-leverandører

Tekst-til-tale konverterer agentsvar til talt lyd.

LeverandørTypeMerknader
ElevenLabsSkyStandard. Naturlig klingende stemmer med stemmekloning-alternativer.
OpenAI TTSSkyHøy kvalitet, flere stemmealternativer.
System VoicesLokalOS-innebygde stemmer. Ingen skyavhengighet.

Leverandørregistret

Triggerfish bruker et leverandørregistermønster for både STT og TTS. Du kan koble til en hvilken som helst kompatibel leverandør ved å implementere det tilsvarende grensesnittet:

typescript
interface SttProvider {
  transcribe(audio: Uint8Array, options?: SttOptions): Promise<string>;
}

interface TtsProvider {
  synthesize(text: string, options?: TtsOptions): Promise<Uint8Array>;
}

Konfigurasjon

Konfigurer stemmeinnstillinger i triggerfish.yaml:

yaml
voice:
  stt:
    provider: whisper # whisper | deepgram | openai
    model: base # Whisper-modellstørrelse (tiny, base, small, medium, large)
  tts:
    provider: elevenlabs # elevenlabs | openai | system
    voice_id: "your-voice" # Leverandørspesifikk stemmeidentifikator
  wake_word: "triggerfish" # Egendefinert vekkeord
  push_to_talk:
    shortcut: "Ctrl+Space" # Tastatursnarveier (macOS)

Sikkerhetsintegrasjon

Stemmedata følger de samme klassifiseringsreglene som tekst:

  • Stemmeinput klassifiseres likt som tekstinput. Transkribert tale går inn i sesjonen og kan eskalere taint akkurat som en skrevet melding.
  • TTS-utdata passerer gjennom PRE_OUTPUT-hooken før syntese. Hvis policy-motoren blokkerer svaret, uttales det aldri.
  • Stemmesesjoner bærer taint akkurat som tekstsesjoner. Å bytte til tale midt i en sesjon tilbakestiller ikke taint.
  • Vekkeordoppdagelse kjøres lokalt. Ingen lyd sendes til skyen for vekkeordmatching.
  • Lydopptak (hvis beholdt) klassifiseres på sesjonens taint-nivå.

Stemmerørledningen vil integreres med Buoy følgeapp-er på iOS og

Android, noe som muliggjør trykk-for-å-snakke og stemmevekking fra mobile enheter. Buoy er ikke tilgjengelig ennå. :::