Skip to content

צינור קול

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

ספקי STT ו-TTS המפורטים להלן הם stubs של ממשק בלבד. ממשקי

הספקים מוגדרים אך המימושים טרם חוברו לשירותי דיבור בפועל. :::

Triggerfish תומך באינטראקציית דיבור עם זיהוי מילת השכמה, לחיצה-לדיבור ותגובת טקסט-לדיבור על macOS, iOS ו-Android.

ארכיטקטורה

צינור קול: זיהוי מילת השכמה → STT → עיבוד סוכן → TTS → פלט קולי

אודיו זורם דרך אותו צינור עיבוד סוכן כמו טקסט. קלט קולי מתומלל, נכנס לסשן כהודעה מסווגת, עובר דרך ווי מדיניות, והתגובה מסונתזת חזרה לדיבור.

מצבי קול

מצבתיאורפלטפורמה
Voice Wakeהאזנה תמידית למילת השכמה ניתנת להגדרהmacOS, iOS, Android
Push-to-Talkהפעלה ידנית דרך כפתור או קיצור מקלדתmacOS (שורת תפריטים), iOS, Android
Talk Modeדיבור שיחתי רציףכל הפלטפורמות

ספקי STT

דיבור-לטקסט ממיר את הקול שלכם לטקסט לעיבוד הסוכן.

ספקסוגהערות
Whisperמקומיברירת מחדל. רץ על המכשיר, ללא תלות בענן. הטוב ביותר לפרטיות.
Deepgramענןתמלול streaming בהשהיה נמוכה.
OpenAI Whisper APIענןדיוק גבוה, דורש מפתח API.

ספקי TTS

טקסט-לדיבור ממיר תגובות סוכן לאודיו מדובר.

ספקסוגהערות
ElevenLabsענןברירת מחדל. קולות טבעיים עם אפשרויות שכפול קול.
OpenAI TTSענןאיכות גבוהה, אפשרויות קול מרובות.
System Voicesמקומיקולות מקוריים של מערכת ההפעלה. ללא תלות בענן.

מרשם ספקים

Triggerfish משתמש בדפוס מרשם ספקים הן ל-STT והן ל-TTS. ניתן לחבר כל ספק תואם על ידי מימוש הממשק המתאים:

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

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

תצורה

הגדירו הגדרות קול ב-triggerfish.yaml:

yaml
voice:
  stt:
    provider: whisper # whisper | deepgram | openai
    model: base # גודל מודל Whisper (tiny, base, small, medium, large)
  tts:
    provider: elevenlabs # elevenlabs | openai | system
    voice_id: "your-voice" # מזהה קול ספציפי לספק
  wake_word: "triggerfish" # מילת השכמה מותאמת
  push_to_talk:
    shortcut: "Ctrl+Space" # קיצור מקלדת (macOS)

שילוב אבטחה

נתוני קול עוקבים אחר אותם כללי סיווג כמו טקסט:

  • קלט קולי מסווג כמו קלט טקסט. דיבור מתומלל נכנס לסשן ועשוי להעלות את הזיהום בדיוק כמו הודעה מוקלדת.
  • פלט TTS עובר דרך וו PRE_OUTPUT לפני הסינתזה. אם מנוע המדיניות חוסם את התגובה, היא לעולם אינה נאמרת.
  • סשנים קוליים נושאים זיהום בדיוק כמו סשני טקסט. מעבר לקול באמצע סשן אינו מאפס את הזיהום.
  • זיהוי מילת השכמה רץ מקומית. שום אודיו אינו נשלח לענן להתאמת מילת השכמה.
  • הקלטות אודיו (אם נשמרות) מסווגות ברמת הזיהום של הסשן.

צינור הקול ישתלב עם אפליקציות Buoy המלוות על iOS ו-Android,

ויאפשר לחיצה-לדיבור והשכמה קולית ממכשירים ניידים. Buoy עדיין אינו זמין. :::