Saltar al contenido principal

Medios y dispositivos

Modo Habla

El Modo Habla es un bucle de conversación de voz continua:

  1. Escuchar el habla
  2. Enviar la transcripción al modelo (sesión principal, chat.send)
  3. Esperar la respuesta
  4. Reproducirla mediante ElevenLabs (reproducción en streaming)

Comportamiento (macOS)​

  • Superposición siempre activa mientras el Modo Habla está habilitado.
  • Transiciones de fase: Escuchando → Pensando → Hablando.
  • Tras una pausa corta (ventana de silencio), se envía la transcripción actual.
  • Las respuestas se escriben en WebChat (igual que al escribir).
  • Interrumpir al hablar (activado por defecto): si el usuario comienza a hablar mientras el asistente está hablando, detenemos la reproducción y registramos la marca de tiempo de interrupción para el siguiente mensaje.

Directivas de voz en las respuestas​

El asistente puede prefijar su respuesta con una única línea JSON para controlar la voz:

{ "voice": "<voice-id>", "once": true }

Reglas:

  • Solo la primera línea no vacía.
  • Se ignoran las claves desconocidas.
  • once: true se aplica solo a la respuesta actual.
  • Sin once, la voz se convierte en la nueva predeterminada para el Modo Habla.
  • La línea JSON se elimina antes de la reproducción TTS.

Claves admitidas:

  • voice / voice_id / voiceId
  • model / model_id / modelId
  • speed, rate (PPM), stability, similarity, style, speakerBoost
  • seed, normalize, lang, output_format, latency_tier
  • once

Configuración (~/.openclaw/openclaw.json)​

{
talk: {
voiceId: "elevenlabs_voice_id",
modelId: "eleven_v3",
outputFormat: "mp3_44100_128",
apiKey: "elevenlabs_api_key",
interruptOnSpeech: true,
},
}

Valores predeterminados:

  • interruptOnSpeech: true
  • voiceId: recurre a ELEVENLABS_VOICE_ID / SAG_VOICE_ID (o a la primera voz de ElevenLabs cuando la clave API está disponible)
  • modelId: por defecto eleven_v3 cuando no está configurado
  • apiKey: recurre a ELEVENLABS_API_KEY (o al perfil de shell del gateway si está disponible)
  • outputFormat: por defecto pcm_44100 en macOS/iOS y pcm_24000 en Android (configura mp3_* para forzar streaming MP3)

Interfaz de usuario en macOS​

  • Alternar en la barra de menú: Hablar
  • Pestaña de configuración: grupo Modo Habla (id de voz + alternar interrupción)
  • Superposición:
    • Escuchando: nube pulsa con el nivel del micrófono
    • Pensando: animación de hundimiento
    • Hablando: anillos radiantes
    • Clic en la nube: dejar de hablar
    • Clic en X: salir del Modo Habla

Notas​

  • Requiere permisos de Voz + Micrófono.
  • Utiliza chat.send con la clave de sesión main.
  • TTS utiliza la API de streaming de ElevenLabs con ELEVENLABS_API_KEY y reproducción incremental en macOS/iOS/Android para menor latencia.
  • stability para eleven_v3 se valida a 0.0, 0.5, o 1.0; otros modelos aceptan 0..1.
  • latency_tier se valida a 0..4 cuando se configura.
  • Android admite los formatos de salida pcm_16000, pcm_22050, pcm_24000, y pcm_44100 para streaming de baja latencia con AudioTrack.

Captura de CámaraActivación por Voz