צינור קול
ספקי STT ו-TTS המפורטים להלן הם stubs של ממשק בלבד. ממשקי
הספקים מוגדרים אך המימושים טרם חוברו לשירותי דיבור בפועל. :::
Triggerfish תומך באינטראקציית דיבור עם זיהוי מילת השכמה, לחיצה-לדיבור ותגובת טקסט-לדיבור על macOS, iOS ו-Android.
ארכיטקטורה
אודיו זורם דרך אותו צינור עיבוד סוכן כמו טקסט. קלט קולי מתומלל, נכנס לסשן כהודעה מסווגת, עובר דרך ווי מדיניות, והתגובה מסונתזת חזרה לדיבור.
מצבי קול
| מצב | תיאור | פלטפורמה |
|---|---|---|
| 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 עדיין אינו זמין. :::
