Médias et périphériques
Mode Conversation
Le mode Conversation est une boucle de conversation vocale continue :
- Écoute de la parole
- Envoi de la transcription au modèle (session principale, chat.send)
- Attente de la réponse
- Lecture vocale via ElevenLabs (lecture en flux)
Comportement (macOS)
- Superposition toujours visible tant que le mode Conversation est activé.
- Transitions de phases : Écoute → Réflexion → Parole.
- Sur une courte pause (fenêtre de silence), la transcription en cours est envoyée.
- Les réponses sont écrites dans le WebChat (comme une saisie).
- Interrompre lors de la parole (activé par défaut) : si l'utilisateur commence à parler pendant que l'assistant parle, la lecture est arrêtée et l'horodatage de l'interruption est noté pour l'invite suivante.
Directives vocales dans les réponses
L'assistant peut préfixer sa réponse par une seule ligne JSON pour contrôler la voix :
{ "voice": "<voice-id>", "once": true }
Règles :
- Seulement la première ligne non vide.
- Les clés inconnues sont ignorées.
once: trues'applique uniquement à la réponse en cours.- Sans
once, la voix devient la nouvelle valeur par défaut pour le mode Conversation. - La ligne JSON est supprimée avant la lecture TTS.
Clés prises en charge :
voice/voice_id/voiceIdmodel/model_id/modelIdspeed,rate(Mots par minute),stability,similarity,style,speakerBoostseed,normalize,lang,output_format,latency_tieronce
Configuration (~/.openclaw/openclaw.json)
{
talk: {
voiceId: "elevenlabs_voice_id",
modelId: "eleven_v3",
outputFormat: "mp3_44100_128",
apiKey: "elevenlabs_api_key",
interruptOnSpeech: true,
},
}
Valeurs par défaut :
interruptOnSpeech: truevoiceId: utilise en secoursELEVENLABS_VOICE_ID/SAG_VOICE_ID(ou la première voix ElevenLabs si la clé API est disponible)modelId: par défauteleven_v3si non définiapiKey: utilise en secoursELEVENLABS_API_KEY(ou le profil du shell de la passerelle si disponible)outputFormat: par défautpcm_44100sur macOS/iOS etpcm_24000sur Android (définirmp3_*pour forcer la diffusion MP3)
Interface utilisateur macOS
- Bouton de la barre des menus : Conversation
- Onglet de configuration : groupe Mode Conversation (identifiant de voix + interrupteur d'interruption)
- Superposition :
- Écoute : nuage pulsant avec le niveau du micro
- Réflexion : animation d'enfoncement
- Parole : cercles rayonnants
- Cliquer sur le nuage : arrêter la parole
- Cliquer sur X : quitter le mode Conversation
Notes
- Nécessite les autorisations Reconnaissance vocale + Microphone.
- Utilise
chat.sendavec la clé de sessionmain. - La synthèse vocale utilise l'API de flux ElevenLabs avec
ELEVENLABS_API_KEYet une lecture incrémentale sur macOS/iOS/Android pour une latence réduite. stabilitypoureleven_v3est validée à0.0,0.5, ou1.0; les autres modèles acceptent0..1.latency_tierest validée à0..4si définie.- Android prend en charge les formats de sortie
pcm_16000,pcm_22050,pcm_24000, etpcm_44100pour une lecture en flux AudioTrack à faible latence.