Langsung ke konten utama

Mode Talk

Mode talk adalah loop percakapan suara berkelanjutan:
  1. Mendengarkan ucapan
  2. Mengirim transkrip ke model (sesi utama, chat.send)
  3. Menunggu respons
  4. Mengucapkannya melalui provider Talk yang dikonfigurasi (talk.speak)

Perilaku (macOS)

  • Overlay selalu aktif saat mode Talk diaktifkan.
  • Transisi fase Mendengarkan → Berpikir → Berbicara.
  • Saat terjadi jeda singkat (jendela hening), transkrip saat ini dikirim.
  • Balasan ditulis ke WebChat (sama seperti mengetik).
  • Interupsi saat ada ucapan (default aktif): jika pengguna mulai berbicara saat asisten sedang berbicara, kami menghentikan pemutaran dan mencatat stempel waktu interupsi untuk prompt berikutnya.

Direktif suara dalam balasan

Asisten dapat memberi awalan pada balasannya dengan satu baris JSON untuk mengontrol suara:
{ "voice": "<voice-id>", "once": true }
Aturan:
  • Hanya baris pertama yang tidak kosong.
  • Key yang tidak dikenal diabaikan.
  • once: true hanya berlaku untuk balasan saat ini.
  • Tanpa once, suara tersebut menjadi default baru untuk mode Talk.
  • Baris JSON dihapus sebelum pemutaran TTS.
Key yang didukung:
  • voice / voice_id / voiceId
  • model / model_id / modelId
  • speed, rate (WPM), stability, similarity, style, speakerBoost
  • seed, normalize, lang, output_format, latency_tier
  • once

Konfigurasi (~/.openclaw/openclaw.json)

{
  talk: {
    voiceId: "elevenlabs_voice_id",
    modelId: "eleven_v3",
    outputFormat: "mp3_44100_128",
    apiKey: "elevenlabs_api_key",
    silenceTimeoutMs: 1500,
    interruptOnSpeech: true,
  },
}
Default:
  • interruptOnSpeech: true
  • silenceTimeoutMs: jika tidak disetel, Talk mempertahankan jendela jeda default platform sebelum mengirim transkrip (700 ms di macOS dan Android, 900 ms di iOS)
  • voiceId: menggunakan fallback ke ELEVENLABS_VOICE_ID / SAG_VOICE_ID (atau suara ElevenLabs pertama saat kunci API tersedia)
  • modelId: default ke eleven_v3 jika tidak disetel
  • apiKey: menggunakan fallback ke ELEVENLABS_API_KEY (atau profil shell gateway jika tersedia)
  • outputFormat: default ke pcm_44100 di macOS/iOS dan pcm_24000 di Android (setel mp3_* untuk memaksa streaming MP3)

UI macOS

  • Toggle bilah menu: Talk
  • Tab konfigurasi: grup Mode Talk (voice id + toggle interupsi)
  • Overlay:
    • Mendengarkan: awan berdenyut dengan level mic
    • Berpikir: animasi tenggelam
    • Berbicara: cincin yang memancar
    • Klik awan: hentikan berbicara
    • Klik X: keluar dari mode Talk

Catatan

  • Memerlukan izin Speech + Microphone.
  • Menggunakan chat.send terhadap key sesi main.
  • Gateway menyelesaikan pemutaran Talk melalui talk.speak menggunakan provider Talk aktif. Android menggunakan fallback ke TTS sistem lokal hanya saat RPC tersebut tidak tersedia.
  • stability untuk eleven_v3 divalidasi ke 0.0, 0.5, atau 1.0; model lain menerima 0..1.
  • latency_tier divalidasi ke 0..4 saat disetel.
  • Android mendukung format output pcm_16000, pcm_22050, pcm_24000, dan pcm_44100 untuk streaming AudioTrack berlatensi rendah.