Skip to content

Stempijplijn ​

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

De hieronder vermelde STT- en TTS-providers zijn interface-only stubs. De providerinterfaces zijn gedefinieerd maar de implementaties zijn nog niet verbonden met werkelijke spraakservices. :::

Triggerfish ondersteunt spraakinteractie met wekwoorddetectie, push-to-talk en tekst-naar-spraak-antwoorden op macOS, iOS en Android.

Architectuur ​

Stempijplijn: Wekwoorddetectie → STT → Agentverwerking → TTS → Spraakuitvoer

Audio stroomt door dezelfde agentpijplijn als tekst. Spraakinvoer wordt getranscribeerd, treedt de sessie in als een geclassificeerd bericht, doorloopt beleidshooks en het antwoord wordt teruggesynthetiseerd naar spraak.

Spraakmodi ​

ModusBeschrijvingPlatform
Voice WakeAltijd aan luisteren voor een configureerbaar wekwoordmacOS, iOS, Android
Push-to-TalkHandmatige activering via knop of sneltoetsmacOS (menubalk), iOS, Android
Talk ModeContinue conversationele spraakAlle platforms

STT-providers ​

Spraak-naar-tekst zet uw stem om in tekst voor de agent om te verwerken.

ProviderTypeOpmerkingen
WhisperLokaalStandaard. Draait op het apparaat, geen cloudafhankelijkheid. Best voor privacy.
DeepgramCloudLaag-latentie streamingtranscriptie.
OpenAI Whisper APICloudHoge nauwkeurigheid, vereist API-sleutel.

TTS-providers ​

Tekst-naar-spraak zet agentantwoorden om in gesproken audio.

ProviderTypeOpmerkingen
ElevenLabsCloudStandaard. Natuurlijk klinkende stemmen met stemkloningsopties.
OpenAI TTSCloudHoge kwaliteit, meerdere stemopties.
System VoicesLokaalOS-native stemmen. Geen cloudafhankelijkheid.

Providerregister ​

Triggerfish gebruikt een providerregisterpatroon voor zowel STT als TTS. U kunt elke compatibele provider koppelen door de overeenkomstige interface te implementeren:

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

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

Configuratie ​

Configureer spraakinstellingen in triggerfish.yaml:

yaml
voice:
  stt:
    provider: whisper # whisper | deepgram | openai
    model: base # Whisper-modelgrootte (tiny, base, small, medium, large)
  tts:
    provider: elevenlabs # elevenlabs | openai | system
    voice_id: "uw-stem" # Providerspecifieke stemidentificatie
  wake_word: "triggerfish" # Aangepast wekwoord
  push_to_talk:
    shortcut: "Ctrl+Space" # Sneltoets (macOS)

Beveiligingsintegratie ​

Spraakgegevens volgen dezelfde classificatieregels als tekst:

  • Spraakinvoer wordt hetzelfde geclassificeerd als tekstinvoer. Getranscribeerde spraak treedt de sessie in en kan taint escaleren net als een getypt bericht.
  • TTS-uitvoer doorloopt de PRE_OUTPUT-hook vóór synthese. Als de beleidsengine het antwoord blokkeert, wordt het nooit uitgesproken.
  • Spraaксessies dragen taint net als textsessies. Omschakelen naar spraak midden in een sessie reset taint niet.
  • Wekwoorddetectie draait lokaal. Er wordt geen audio naar de cloud gestuurd voor wekwoordherkenning.
  • Geluidsopnamen (indien bewaard) worden geclassificeerd op het taint-niveau van de sessie.

De stempijplijn zal integreren met Buoy-companion-apps op iOS en Android, waardoor push-to-talk en spraakwek van mobiele apparaten mogelijk worden. Buoy is nog niet beschikbaar. :::