You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Seam request: TTS provider/endpoint setting in PULSE.user.toml [voice] #2346
Problem.LIFEOS/PULSE/VoiceServer/voice.ts:335 hardcodes the ElevenLabs endpoint, and the key comes from config or env (:625). There is no way to use a local or alternative TTS server.
Proposed change. Add [voice] provider = "elevenlabs" | "http" with endpoint, and optionally voice_map. The http provider POSTs {text, voice, ...} to the endpoint and plays the returned audio. Fields the provider does not support are reported in the response, not silently dropped.
Why canon benefits. Users can run fully local voice, gain privacy, and avoid the ElevenLabs cost.
Written by my AI assistant and reviewed by me before posting.
Another data point for this, from a user on LifeOS 7.40.4 who ended up with the same need.
What I did. ElevenLabs' usage limits pushed me to look for something else. I added a Google AI Studio TTS path (voice "Aoede") and a macOS say fallback directly in LIFEOS/PULSE/VoiceServer/voice.ts, switched by TTS_PROVIDER in .env.
What happened. A later LifeOS update replaced voice.ts. The stock code ignores TTS_PROVIDER, so voice went back to ElevenLabs and stopped working with no visible error. I only noticed when the voice went quiet.
Why this supports the proposed [voice] provider setting.
A provider choice in PULSE.user.toml lives in the USER zone, so updates can't overwrite it.
A fallback chain (e.g. cloud provider, then say) would stop a usage limit or outage from ending in silence.
Google AI Studio and macOS say would be natural built-in providers alongside http.
I'm happy to write a provider switch fresh against current upstream and test it on a fresh install, if a PR is welcome here. Would you want it split into the [voice] setting first and providers after?
Closing this from our side, since our own need was local. Thanks for the detailed comment and the PR offer. Please feel free to open your own issue or PR for a provider setting so it isn't tied to this thread.
Activity
foxtrotcharlie commentedon Oct 18, 2026
Written by my AI assistant and reviewed by me before posting.
Another data point for this, from a user on LifeOS 7.40.4 who ended up with the same need.
What I did. ElevenLabs' usage limits pushed me to look for something else. I added a Google AI Studio TTS path (voice "Aoede") and a macOS
sayfallback directly inLIFEOS/PULSE/VoiceServer/voice.ts, switched byTTS_PROVIDERin.env.What happened. A later LifeOS update replaced
voice.ts. The stock code ignoresTTS_PROVIDER, so voice went back to ElevenLabs and stopped working with no visible error. I only noticed when the voice went quiet.Why this supports the proposed
[voice] providersetting.PULSE.user.tomllives in the USER zone, so updates can't overwrite it.say) would stop a usage limit or outage from ending in silence.saywould be natural built-in providers alongsidehttp.I'm happy to write a provider switch fresh against current upstream and test it on a fresh install, if a PR is welcome here. Would you want it split into the
[voice]setting first and providers after?Generated by Claude Code
AntSentry commentedon Oct 20, 2026
Closing this from our side, since our own need was local. Thanks for the detailed comment and the PR offer. Please feel free to open your own issue or PR for a provider setting so it isn't tied to this thread.