Skip to content

Feature Request: Native macOS TTS (NSSpeechSynthesizer) support for Talk Mode #9160

@Clawdiuscodes

Description

@Clawdiuscodes

Summary

Talk Mode currently only supports ElevenLabs for TTS output. This feature request asks for native macOS TTS support using NSSpeechSynthesizer, which would enable:

  • Free, unlimited voice conversations (no API costs)
  • Zero latency (on-device processing)
  • High-quality Siri neural voices (Voice 1-4 in multiple languages)
  • Privacy (no cloud processing)

Proposed Implementation

Add a provider option to the talk config:

{
  "talk": {
    "provider": "macos",  // "macos" | "elevenlabs" | "openai"
    "macos": {
      "voice": "com.apple.siri.natural.en-GB-D",
      "rate": 1.0
    },
    "elevenlabs": { ... },
    "interruptOnSpeech": true
  }
}

In the Mac app's Talk Mode, check the provider and use NSSpeechSynthesizer for macOS:

switch config.talk.provider {
case "macos":
    let synthesizer = NSSpeechSynthesizer()
    synthesizer.setVoice(NSSpeechSynthesizer.VoiceName(config.talk.macos.voice))
    synthesizer.startSpeaking(responseText)
case "elevenlabs":
    // existing code
}

Benefits

Feature ElevenLabs macOS Native
Cost $5-99/mo Free
Latency 200-500ms <50ms
Privacy Cloud On-device
Limit 30K-500K chars Unlimited

Workaround

I've built a Voice Bridge daemon that watches session files and speaks responses via osascript say, but native integration would be cleaner.

Environment

  • macOS 15+ (Sequoia)
  • OpenClaw Mac app 2026.2.2
  • Siri neural voices available via System Settings > Accessibility > Spoken Content

Thank you for considering this feature!

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions