Talk Mode
Talk mode एक continuous voice conversation loop है:
- Speech के लिए listen करें
- Transcript को model (main session, chat.send) में भेजें
- Response की प्रतीक्षा करें
- ElevenLabs (streaming playback) के माध्यम से इसे speak करें
व्यवहार (macOS)
- Talk mode enabled होने पर Always-on overlay।
- Listening → Thinking → Speaking phase transitions।
- एक short pause (silence window) पर, वर्तमान transcript भेजा जाता है।
- Replies WebChat में लिखे जाते हैं (typing के समान)।
- Interrupt on speech (डिफ़ॉल्ट on): यदि assistant बोल रहा है तो user बोलना शुरू करता है, तो हम playback रोकते हैं और अगले prompt के लिए interruption timestamp note करते हैं।
Replies में voice directives
Assistant अपने reply को voice control करने के लिए single JSON line के साथ prefix कर सकता है:
json{ "voice": "<voice-id>", "once": true }
नियम:
- केवल पहली non-empty line।
- अज्ञात keys को ignore किया जाता है।
once: trueकेवल वर्तमान reply पर apply होता है।onceके बिना, voice Talk mode के लिए नया डिफ़ॉल्ट बन जाता है।- JSON line को TTS playback से पहले stripped किया जाता है।
समर्थित keys:
voice/voice_id/voiceIdmodel/model_id/modelIdspeed,rate(WPM),stability,similarity,style,speakerBoostseed,normalize,lang,output_format,latency_tieronce
Config (~/.mayros/mayros.json)
json5{ talk: { voiceId: "elevenlabs_voice_id", modelId: "eleven_v3", outputFormat: "mp3_44100_128", apiKey: "elevenlabs_api_key", interruptOnSpeech: true, }, }
Defaults:
interruptOnSpeech: truevoiceId:ELEVENLABS_VOICE_ID/SAG_VOICE_IDपर वापस आता है (या पहला ElevenLabs voice जब API key उपलब्ध हो)modelId: unset होने परeleven_v3को default करता हैapiKey:ELEVENLABS_API_KEYपर वापस आता है (या gateway shell profile यदि उपलब्ध हो)outputFormat: macOS/iOS परpcm_44100और Android परpcm_24000को default करता है (MP3 streaming force करने के लिएmp3_*सेट करें)
macOS UI
- Menu bar toggle: Talk
- Config tab: Talk Mode group (voice id + interrupt toggle)
- Overlay:
- Listening: mic level के साथ cloud pulses
- Thinking: sinking animation
- Speaking: radiating rings
- Cloud click करें: speaking stop करें
- X click करें: Talk mode exit करें
नोट्स
- Speech + Microphone permissions की आवश्यकता है।
- Session key
mainके खिलाफchat.sendका उपयोग करता है। - TTS lower latency के लिए macOS/iOS/Android पर
ELEVENLABS_API_KEYऔर incremental playback के साथ ElevenLabs streaming API का उपयोग करता है।