語音
概述
Neotask 透過多個系統支援語音互動:喚醒詞偵測、連續語音對話(通話模式),以及用於朗讀回應的文字轉語音。
喚醒詞
Swabble(macOS)
Swabble 是一個原生 macOS daemon,使用 Apple 的 Speech.framework 提供始終開啟的裝置端語音喚醒詞偵測。
功能:
- 純本機處理, , 在喚醒詞偵測期間,不會有任何音訊離開您的裝置
- 可自訂喚醒詞
- 連續音訊擷取和轉錄
- 鉤子執行, , 偵測到喚醒詞時觸發 shell 命令
- 檔案轉錄, , 將音訊檔案轉換為文字(TXT 或 SRT 格式)
- 可設定的冷卻時間、最少字元數和超時
工作原理:
- Swabble 使用系統麥克風持續監聽
- 當它在語音文字中偵測到喚醒詞時,它擷取後續的語音
- 擷取的文字透過設定的鉤子命令傳送至您的代理程式
- 代理程式處理語音命令並回應
節點喚醒詞
在 iOS 和 Android 伴侶應用程式上,語音喚醒由原生處理:
- 喚醒詞設定由 Gateway 擁有
- 節點在連接時接收喚醒詞設定
- 偵測使用平台原生語音辨識
通話模式
通話模式支援連續語音對話, , 自然說話並聆聽代理程式回應。
工作原理
- 語音轉文字, 您的語音即時轉錄(Deepgram 串流或平台原生 STT)
- 代理程式處理, 轉錄的文字作為普通訊息傳送至您的代理程式
- 文字轉語音, 代理程式的回應朗讀給您
語音狀態機
通話模式在四個狀態之間轉換:
| 狀態 | 說明 |
|---|---|
| Idle | 未主動監聽 |
| Listening | 擷取並轉錄您的語音 |
| Thinking | 代理程式正在處理您的請求 |
| Speaking | 代理程式的回應正在朗讀 |
文字轉語音提供者
| 提供者 | 說明 |
|---|---|
| ElevenLabs | 高品質語音合成,支援聲音選擇 |
| OpenAI TTS | OpenAI 的文字轉語音 API |
語音偏好
- 聲音選擇, 從可用的 TTS 聲音中選擇
- 自訂系統提示, 為語音模式覆蓋代理程式的個性
- 自訂回應格式, 控制代理程式如何格式化口語回應
- 語言支援, 語音字串已針對 18 種以上語言本地化
語音命令
多意圖偵測
代理程式可以偵測並執行多步驟語音命令:
「Create a calendar event for tomorrow at 3 PM, then send an email to the team about it, and post a reminder in Slack」
這自動解析為一系列命令,每個命令按順序執行,結果流向下一步。
工具執行
在語音對話期間,代理程式可以像在文字對話中一樣執行工具, , 瀏覽網頁、執行程式碼、管理檔案、控制裝置等。結果被摘要並朗讀回來。
動作真相執行
語音模式包括驗證,確保代理程式的聲明與實際工具結果相符。如果代理程式說「我已傳送電子郵件」但電子郵件工具失敗,系統會捕捉到不一致並報告實際結果。
語音通話(外掛)
語音通話外掛添加 SIP 電話支援:
- 入站通話處理
- 出站通話(取決於提供者)
- 即時雙向音訊(PCM 串流)
- 注入通話音訊的 TTS 合成
配額管理
語音服務可能有使用量配額:
- TTS + STT 的每月分鐘分配
- 每工作階段追蹤
- 使用量達 80% 時發出警告
- 達到配額限制時自動截止